/* =======================================
   Base Styles
   =====================================*/
html {
    font-family: Roboto;
}
   
body {

	margin: 0px;
	}

header {
    width: 100%;
	padding: 10px 0px 20px 0px;
    background-color: #5090b4;
}


h3 {
	padding: 30px;
	background-color: rgba(178, 198, 213, 0.7);
	text-align: center;
	font-size: 1.4em;
	font-style: italic;
	font-weight: normal;
}

h4 {
	display: block;
	margin: 30px auto;
	text-align: center;
	font-size: 1.2em;
	padding: 10px 0 20px;
	border-width: 1px 0;
	line-height: 1.2em;
	color: white;
	background: rgba(52,96,121,1) url('../img/h4_bg.jpg') no-repeat bottom center;
}

p {
    font-size: .85em;
    padding: 10px;
}

#container {
    margin: 0px auto 100px auto;
}


ul, ol {
    font-size: .95em;
    margin: 10px auto;
    padding: 10px;
	max-width: 1024px;
}

ol li {
    line-height: 1.15em;
    list-style-position: inside;
}



ul li {
    list-style-type: none;
    padding: 5px;
    text-align: center;
}

ul h5 {
font-size: 1em;
text-align: center;
border-bottom: 1px solid dotted;
padding-bottom: 5px;
margin: 0px;
}

ul li:nth-child(odd) {
    background-color: #b3d4fc;
}


main {
	position: relative;
	z-index: 0;
}

@media screen and (max-width: 600px) {
	

}

@media screen and (max-width: 450px) {
	
	h3 {
		font-size: .85em;
	}
}

/* =======================================
	Header
	=====================================*/

header h1 {
	display: block;
	float: left;
	width: 150px;

}

header h2 {
	font-size: 1em;
	font-family: sans-serif;
	margin: 0 0 10px 0;
	display: block;
	color: white;
}

header h2 em {
	font-size: .8em;
	margin-bottom: 5px;
	display: block;
}


#site-logo {
	width: 200px;
	margin: 0;
	float: left;
	position: absolute;
	top: 10px;
	z-index: 200;
	}
	
#site-logo img {
	width: 200px;
}

header #site-description {
	float: right;
	margin-right: 10px;
}

header #site-contact {
	margin: 0px 0px 0px 20%; 
	background-color: none;
}

header #site-contact h3 {
	color: rgba(255,255,255,0.8);
	background-color: rgba(000,000,000,0.0);
	margin: 0;
	padding: 0px;
}



@media screen and (max-width: 1025px) {

header #site-contact{
		
}

header #site-contact h3  {
	font-size: 1.2em;
}

}

@media screen and (max-width: 800px) {

header #site-contact{
	border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}
}

@media screen and (max-width: 600px) {

header {
	padding: 20px 0 10px 0;
}

header #site-description {
	font-size: .75em;
}

header #site-logo img {
	width: 150px;
}



}

@media screen and (max-width: 800px) {

header #site-description {
	font-size: .60em;
}

header #site-logo img {
	width: 125px;
}


}

/* =======================================
	Navigation
	=====================================*/
nav {
    width: 100%;
	padding: 0;
	margin: 0;
	text-align: center;
	position: relative;
	z-index: 100;
} 	

nav #v-nav-toggle {
	display: none;
}

nav #v-nav-toggle a {
	display: block;
	background-color: #346079;
	border-bottom: 2px solid #6995b2;
	height: 40px;
	width: 100%;
}


nav #v-nav-toggle a img {
	float: left;
	height: 90%;
	margin-top: 2px;
}

nav #v-nav-toggle a p {
	display: block;
	float: left;
	color: white;
	padding: 10px;
	margin: 0;
	
}

nav #links {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	z-index: 300;
}

nav #links a, nav#links a:active, nav#links a:visited {
	display: block;
	color: white;
	text-decoration: none;
	text-transform: uppercase;
	padding: 1em;
	width: 20%;
	letter-spacing: 4px;
	font-weight: bold;
	border: none;
	
}

nav #links a:hover {
	background-color: rgba(81,142,180,0.8);
	-webkit-box-shadow: -1px 1px 20px 0px rgba(0,0,0,0.75);
	-moz-box-shadow: -1px 1px 20px 0px rgba(0,0,0,0.75);
	box-shadow: -1px 1px 20px 0px rgba(0,0,0,0.75);
}

a#plumbing {
	order: 2;
}

a#hvac {
	order: 1;
}

a#about {
	order: 3;
}

a#contact {
	order: 4;
}

@media screen and (min-width: 1400px) {

nav #links a {
	padding: 1.5em;
	font-size: 1em;

}

}




@media screen and (max-width: 750px) {

	
	nav #links {
		position: relative;
	}

	nav #links a {
	    width: 95%;
		text-align: left;
	}		
	
	nav #v-nav-toggle {
		display: initial;
	}
	
	nav #links {
		display: none;
	}

	#links.active {
		display: block !important;
        background-color: rgba(81,142,180,0.8);
	}
	
	nav.sticky {
		position: fixed;
		top: 0;
		left: 0;
	}

}

@media screen and (max-width: 890px) {

nav #links  a {
	font-size: .85em;
}

}

/* =========================================================================
    Main Img
   ========================================================================= */

#main-img {
    position: relative;
    width: 100%;
	z-index: 0;
}

#main-img img {
    width: 100%;
}


#main-img article {
    background-color: rgba(178, 198, 213, 0.7);
    bottom: 30%;
    box-sizing: border-box;
    right: 3%;
    position: absolute;
    width: 35%;
}

#main-img article p {
	font-family: Economica;
    color: rgba(73,1,21,1);
	text-shadow: 1px 1px 4px #ffffff;
    font-weight: 700;
    font-size: 1.7em;
    margin:0;
	padding: 20px;
    background-color: transparent;
}

@media screen and (max-width: 800px) {
	#main-img {
		height: auto;
	}

	
	
	#main-img article  {
		padding: 0;
        width: 100%;
        background-color: #5090b4;
		bottom: 0;
		left: 0;
        margin-top: -5px;
		height: auto;
        position: relative !important;	
	}

    #main-img article p {
        color: white !important;
        text-shadow: none !important;
    }

}

@media screen and (max-width: 450px) {

	#main-img article p {
		font-size: .85em;
        padding: 5px;
	}
}

/* ==========================================================================
#Contact 
   ========================================================================== */

#contact h5 {
text-align:center;
}

#contact article {
    float: left;
    margin-left: 8%;
}



#maps {
    max-width: 450px;
    margin: 20px auto;
    text-align: center;
}

#maps img {
    width: 150px;
    display: block;
    margin: 10px auto;
	float: left;

}

#maps #details {
	float: left;
	text-align: left;
	margin: 20px 0px 0px 15px;
	vertical-align: middle
}

#maps #details li {
    list-style-type: none;
    font-size: .95em;
    font-style: italic;
	margin: 5px 0px;
}

@media screen and (max-width: 1024px) {
    
    #contact article {
        margin-left: 3%;
    }
}


@media screen and (max-width: 800px) {


#contact article.badge {
   width: 320px;
   float: none;
   margin: 10px auto 10px auto;
}

#maps #details  {
	width: 100%;
	text-align: center;
	float: none !important;
    margin: 0px 0px 0px 0px !important;
	}

#maps #details li {
	width: 100%;
} 

#maps img {
	float: none;
}

    article div.porch-psumm-widget {
        margin: 0 auto;
    }

    article#seal-of-approval-badge {
        width: 150px;
    }

    article#seal-of-approval-badge div#soab-container {
        margin: 0 auto;
    }
}

/* ==================================================================
    Content
   ================================================================ */

article {

}

article p {
	max-width: 1024px;
	margin: 10px auto;

}

@media screen and (max-width: 800px) {

	article img {
		width: 100%;
	}



}

@media screen and (min-width: 600px) {
	
	article p {
		font-size: 1.1em;
	}
	
	article img  {
		display:  block;
		width: 35%;
		margin-right: 10px;
		float: left;
	}

   article#seal-of-approval-badge img {
        width: inherit;
   }

}



/*===============================================================
  Footer
  ===============================================================*/
  
footer {
	margin: 10px 0 0;
	position: fixed;
	z-index: 200;
	bottom: 0;
	left: 0;
	background-color: white;
	padding: 15px 0;
	text-align: center;
	width: 100%;
	-webkit-box-shadow: 0px -3px 21px -4px rgba(0,0,0,0.75);
	-moz-box-shadow: 0px -3px 21px -4px rgba(0,0,0,0.75);
	box-shadow: 0px -3px 21px -4px rgba(0,0,0,0.75);
}


footer p {
	padding: 0px;
	margin: 0px 10px;
	font-size: .75em;
	display: inline-block;
	vertical-align: middle;
	width: 115px;
}

footer img {
	width: 100px;
}

@media screen and (max-width: 450px) {
	
	footer p {
	font-size: .65em;
	margin: 0px 5px;
	}
	
	footer #logo {
		display: inline;
	}

    footer #copyright, footer #phone {
        margin-top: -15px;
    }

	.four-fifty-hide {
		display: none;
	}

}

/* ==========================================================================
   Helper classes
   ========================================================================== */


   
   
/*
 * Hide visually and from screen readers:
 */

.hidden {
    display: none !important;
}

/*
 * Hide only visually, but have it available for screen readers:
 * http://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 */

.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

/*
 * Extends the .visuallyhidden class to allow the element
 * to be focusable when navigated to via the keyboard:
 * https://www.drupal.org/node/897638
 */

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
}

/*
 * Hide visually and from screen readers, but maintain layout
 */

.invisible {
    visibility: hidden;
}

.clear {
	clear: both;
}

/*
 * Clearfix: contain floats
 *
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *    `contenteditable` attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of elements
 *    that receive the `clearfix` class.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
 */

.clearfix:before,
.clearfix:after {
    content: " "; /* 1 */
    display: table; /* 2 */
}

.clearfix:after {
    clear: both;
}

.clearfix {
    *zoom: 1;
}

