*{
	font-family: open_sansregular,open_sanslight, Verdana, Arial, Helvetica,sans-serif;
}
nav,
section,
aside,
header,
footer {
	display: block;
}
a {
	-webkit-transition: background-color 300ms ease-out 10ms;
	-moz-transition: background-color 300ms ease-out 10ms;
	-o-transition: background-color 300ms ease-out 10ms;
	transition: background-color 300ms ease-out 10ms;
	text-decoration : none;
	color: #222200;
}
a:HOVER {
	color : #555533;
}
dl {
	-webkit-margin-before: 0;
	-webkit-margin-after: 0;
	-webkit-margin-start: 0;
	-webkit-margin-end: 0;
}
fieldset {
	border: none;
	padding: 0;
	margin: 1em 0;
}
header {
	position: relative;
}
body {
	margin: 0;
	padding: 0;
	background: #666644;
	font-size: 100%;
	font-family: open_sanslight, Verdana, Arial, Helvetica,sans-serif;
}
.wrong_answer {
	border: 1px solid Red;
}
#fall_ad {
	text-align: center;
	display: table-cell;
	border: 1px solid rgba(0,0,0, .5);
	background-color: rgba(255,255,255, 1);
	border-radius: .5rem;
	padding: 1rem 2rem 1.5rem 2rem;
	box-shadow: 2px 2px 6px rgba(0,0,0, .2);
	max-width: 30rem;
}
#fall_ad h2 {
	font-family: open_sansbold, Verdana, Arial, Helvetica,sans-serif;
	font-weight: normal;
	margin: 0;
	padding: 0;
	padding-bottom: .5rem;
	font-size: 1.45rem;
	color: rgba(0,0,0, .6);
	text-shadow: 1px 1px 2px rgba(0,0,0, .2);
}
#fall_ad h3 {
	margin: 0;
	padding: 0;
	font-weight: bold;
	font-size: 1.75rem;
	color: rgba(0,0,0, 1);
}
#fall_ad h4 {
	margin: 0;
	padding: .5rem 0;
	padding-bottom: 1rem;
	font-size: 1rem;
}
#wrongwrongwrong {
	padding-left: 1rem;
	color: Maroon;
}
.required_fields_container {
	font-size: .9rem;
}
.required {
	color: Red;
}
.hide {
	display: none;
}
#mainHeader {
	background: #231f20;
	position: relative;
}
#mainContainer {
	font-weight: normal;
	font-size: 1em;
	background-color: #666644;
	margin: 0;
	padding: 0;
}
#mainContainer #infoContainer {
	border:1px solid #555533;
	border-top: 0;
	background:  #aaaa88 url("/graphics/home_main_hires.jpg") no-repeat 45% 0%;
	background-size: 105% auto;
}
#hero {
	position: relative;
	border-top: 1px solid rgba(0,0,0, .65);
}
#hero .hero-image {
	width: calc(105% + 2px);
	margin-left: -1px;
}
#home_hero {
	position: relative;
	border-top: 1px solid rgba(0,0,0, .65);
}
#home_hero .hero-image {
	display: block;
	width: calc(105% + 2px);
	margin-left: -1px;
	z-index: 0;
}
#home_hero #hero-content{
	width: 100%;
	margin: 0 auto;
	position: absolute;
	top: -1px;
	left: -1px;
	z-index: 100;
}
#hero a.hero_calltoaction:link,
#hero a.hero_calltoaction:active,
#hero a.hero_calltoaction:visited {
	font-family: open_sansbold, Verdana, Helvetica, sans-serif;
	font-size: 2.5vw;
	text-transform: uppercase;
	color: rgba(255,255,255, 1);
	position: absolute;
	top: 3vw;
	right: 4vw;
	display: inline-block;
	background-color: rgba(10,200,10, .8);
	padding: 1vw 3vw;
	box-shadow: 0 0 8px rgba(255,255,255, .2);
}
#hero a.hero_calltoaction:link:HOVER,
#hero a.hero_calltoaction:active:HOVER,
#hero a.hero_calltoaction:visited:HOVER {
	background-color: rgba(10,200,10, 1);
	box-shadow: 0 0 8px rgba(255,255,255, .8);
}
#hero .hero-title {
	font-family: open_sanslight, Verdana, Helvetica, sans-serif;
	text-transform: uppercase;
	position: absolute;
	bottom: 0;
	left: 0;
	font-size: 4vw;
	font-weight: normal;
	color: rgba(255,255,255, 1);
	padding: .5rem 1rem;
	background-color: rgba(0,0,0, .4);
	width: calc(100% - 2rem);
	text-shadow: 0 0 8px rgba(0,0,0, .65);
}
.hook_text {
	font-size: 3vw;
	font-family: open_sanslight_italic, Verdana, Verdana, Helvetica, sans-serif;
	margin: 1rem 0 2rem 0;
}
.main_links {
	list-style: none;
	margin: 0;
	padding: .25rem;
}
.main_links li {
	display: inline-block;
	padding: 0;
	margin: .25rem;
}
.main_links a:link, .main_links a:active, .main_links a:visited {
	-webkit-transition: background-color 300ms ease-out 10ms,
						box-shadow 200ms ease-out 10ms;
	-moz-transition: background-color 300ms ease-out 10ms,
						box-shadow 200ms ease-out 10ms;
	-o-transition: background-color 300ms ease-out 10ms,
						box-shadow 200ms ease-out 10ms;
	transition: background-color 300ms ease-out 10ms,
						box-shadow 200ms ease-out 10ms;
	padding: 2px .65rem;
	margin: 0;
	font-weight: bold;
	font-family: open_sanslight, Verdana,Arial,Helvetica,sans-serif;
	font-size: .9em;
	color: #bbbb99;
	display: inline-block;
	border: 1px solid rgba(63,63,29, .5);
	background-color: rgba(255,255,255, .035);
	text-transform: uppercase;
}
.main_links a:link:HOVER, .main_links a:active:HOVER, .main_links a:visited:HOVER {
	background: #333322;
	color:#ddddbb;
	-moz-box-shadow: 0 0 6px rgba(0,0,0, .2);
	-webkit-box-shadow: 0 0 6px rgba(0,0,0, .2);
	box-shadow: 0 0 6px rgba(0,0,0, .2);
}
.main_links a.hot:link, .main_links a.hot:active, .main_links a.hot:visited {
	padding: 2px .65rem;
	background-color: rgba(255,255,255, 1);
	color: rgba(0,0,0, .8);
}

a.button:link, a.button:active, a.button:visited {
	padding:2px 10px;
	margin: 0;
	font-weight:bold;
	font-family:open_sansbold, Verdana,Arial,Helvetica,sans-serif;
	font-size: 1.25em;
	color:#331;
	background-color:#ccccaa;
	border:1px solid #555533;
	border-top-left-radius: 1em;
	border-top-right-radius: 1em;
	border-bottom-left-radius: 1em;
	border-bottom-right-radius: 1em;
}
a.button:link:HOVER, a.button:active:HOVER, a.button:visited:HOVER {
	color:#000;
	background-color:#888866;
	border:1px solid #555533;
}
a.underlined {
	text-decoration: underline;
}
.shadow {
	-moz-box-shadow: 2px 2px 3px #555533;
	-webkit-box-shadow: 2px 2px 3px #555533;
	box-shadow: 2px 2px 3px #555533;
	/* For IE 8 */
	-ms-filter: "progid:DXImageTransform.Microsoft.Shadow(Strength=2, Direction=135, Color='#555533')";
	/* For IE 5.5 - 7 */
	filter: progid:DXImageTransform.Microsoft.Shadow(Strength=2, Direction=135, Color='#555533');
}

ul.pad_height li {
	margin: 0;
	padding: 0;
	padding-bottom: 10px;
}
.pic_container {
	border: 1px solid Grey;
	display: inline-block;
	padding: .5em;
	margin: 5px;
	-moz-box-shadow: 2px 2px 3px #888866;
	-webkit-box-shadow: 2px 2px 3px #888866;
	box-shadow: 2px 2px 3px #888866;
	background-color: white;
}
.pic_container a:link,
.pic_container a:visited,
.pic_container a:active {
	border: none;
	outline: none;
}

.pic_container img {
	border:none;
	max-width: 300px;
	max-height: 225px;
	min-width: 237px;
}
#home_logo {
	margin: 1em auto;
	margin-bottom: .5em;
	max-width: 95%;
	max-height: 95%;
	width: 100%;
}
#infoContainer .about_minnesota_decks {
	text-align: center;
}
h2 {
	font-size: 1.5em;
	color: #eeeecc;
	padding: 0;
	margin: .5em 0;
}
h2.subtitle {
	font-size: calc( 16px * 2vw );
	line-height: 110%;
	font-family: open_sansbold, open_sanslight, Verdana,Arial,Helvetica,sans-serif;
	max-width: 1024px;
	margin: 0 auto;
	color: rgba(255,255,255, 1);
	text-shadow: 1px 1px 3px rgba(0,0,0, 1);
	padding-top: 0;
}
h3 {
	font-size: 1.25em;
	font-style: italic;
	font-weight: bold;
	color: #000;
}
#see_projects {
	font-size: 1.3em;
	white-space: nowrap;
}
.tight_leading {
	padding: 0;
	margin: 1em 0;
}
#please_contact_us {
	margin-bottom: .5em;
}
dl.minnesota_decks_contact_info dt,
dl.minnesota_decks_contact_info dd {
	font-size: .85em;
	font-style: italic;
	font-weight: bold;
	color: #000;
	text-align: left;
}
dl.minnesota_decks_contact_info {
	width: auto;
	max-width: 350px;
	margin: 0 auto;
	margin-bottom: 2em;
}
dl.minnesota_decks_contact_info dt {
	float: left;
}
dl.minnesota_decks_contact_info #please_contact_us {
	display: block;
	float:none;
	font-size: 1.25em;
	font-style: italic;
	font-weight: bold;
	color: #000;
	border-bottom: 1.5px dashed #666644;
}
dl.minnesota_decks_contact_info dd {
	padding-left: 0;
	color: #eeeecc;
	margin: 0 0 .5em 5em;
}
.more_contact {
	display: block;
}
footer {
	min-height: 70px;
	padding: 1rem;
}
footer.homefooter {
	position: absolute;
	bottom: 0;
	left: 0;
}
.quickContact {
	text-align: left;
	font-family:open_sanslight, Verdana, Arial, Helvetica,sans-serif;
	font-size:11px;
	color:#444422;
	padding:5px 0 5px 5px;
	font-size: 1em;
}
.logo_quickContact {
	width: 100%;
	max-width: 20%;
	min-width: 9em;
}
.icon_quickContact {
	max-width: 10%;
	max-height: 10%;
	min-width: 5em;
	width: 100%;
}
.quickContact span {
	white-space: nowrap;
}
.quickContact .phone {
	font-weight: bold;
}
.quickContact .label {
	font-weight: bold;
	display: none;
}
#builders_license .label {
	display: inline-block;
}
.houzz-and-bbb {
	display:none;
	float:right;
	width: 8em;
	padding: 0;
	padding-right: 15px;
}
.houzz-and-bbb .left {
	float: left;
}
.houzz-and-bbb .right {
	float: right;
}
img.houzz {
	height:69px;
	width:60px;
	border:none;
	outline:none;
}
#sublinks {
	font-size:.8em;
	color: #000;
	padding: 0;
	margin: 0 auto;
	list-style: none;
	text-align: center;
}
#sublinks li {
	display: inline-block;
	margin-bottom: .25em;
}
#sublinks li a:link,
#sublinks li a:active,
#sublinks li a:visited {
	white-space: nowrap !important;
	color: rgba(0,0,0, .8);
}
#sublinks li::before {
	content: "| "
}
#sublinks li:first-child::before {
	content: ""
}
.black {
	color: #000;
}
.pad_extra {
	padding: 1em 2rem;
}
aside {
	float: right;
	margin-bottom: 1em;
	margin-left: 1em;
	clear: both;
}
aside img {
	border: none;
	max-width: 100%;
	max-height: 100%;
}
aside div {
	text-align: center;
	margin: .25em;
}
.sub_header {
	font-weight: bold;
}
input {
}
input,
textarea,
select {
	border: 1px solid #666644;
	font-size: 1em;
	padding: .35em;
	outline: none;
	border: 1px solid #666644;
	border-radius: .25em;
}
input:focus,
textarea:focus,
select:focus {
	box-shadow: 0 0 6px rgba(255,255,255, 1);
}
input[type="submit"]{
	font-size: 1.25em;
	padding: .25em .5em;
}
fieldset .title {
	font-weight: bold;
}
#frm_contact input[type="text"] {
	width: 100%;
	max-width: 30rem;
}
textarea#comments {
	width: 100%;
	max-width: 100%;
	height: 20em;
}
.phone,
.address {
	margin-bottom: 2em;
}
.project_subheader {
	margin-top: 1.25em;
	font-weight: bold;
	text-decoration: underline;
}
#cboxTitle {
	font-size: .8em;
}

@media only screen and (orientation: portrait) {
	#mainContainer #infoContainer {
		background-size: auto 100%;
	}

	#infoContainer aside {
		float: none;
		text-align: center;
	}

	#infoContainer aside #fall_ad {
		margin: 0 auto;
	}
}

@media only screen and (max-width: 800px) {
	#home_hero .hero-image {
		width: 100%;
		height: auto;
	}

	#home_hero h2.subtitle {
		font-size: 140%;
		line-height: 110%;
		padding: 0 .25rem;
	}

	#home_hero h3 {
		font-size: 140%;
		line-height: 110%;
	}

	#hero a.hero_calltoaction:link,
	#hero a.hero_calltoaction:active,
	#hero a.hero_calltoaction:visited {
		font-size: 4vw;
	}

	.hook_text {
		font-size: 2rem;
	}
}

@media only screen and (max-width: 640px) {

	#hero a.hero_calltoaction:link,
	#hero a.hero_calltoaction:active,
	#hero a.hero_calltoaction:visited {
		font-size: 6vw;
	}

}


@media only screen and (max-width: 360px) {
	#home_hero .hero-image {
		width: 100%;
		min-width: 800px;
		height: auto;
	}

}
