*{box-sizing: border-box;}
html{width:100%; height:100%; padding:0px; margin:0px;}
body{width:100%; min-height: 100%; overflow-x: hidden; padding:0px; margin:0px; font-family: 'Lato', sans-serif; font-size: 18px; background-color:#FFF;}
a{color:#319096;}


header{width:100%; height:75px; position: fixed; top:0px; left:0px; z-index: 999; background-color:rgba(198,51,43,0.8); box-shadow:rgba(0,0,0,0.5) 0px 0px 4px 1px; border-bottom:1px solid #111; }
header .title{ color: rgba(255,255,255,0.9); text-transform: uppercase; font-size: 32px; line-height: 75px;letter-spacing:1px;}

header nav{position: absolute; top:0px; right:-500px; width:50%; max-width: 500px; height:100vh; padding-top:75px; transition: all 0.3s ease-in;}
header nav ul{list-style: none;background-color:rgba(69, 69, 69,0.95); width:100%; margin:0px; padding:48px 0px 75px; height:100%; box-shadow: rgba(0,0,0,0.0) 0px 7px 0px 0px;transition: all 0.3s ease-in; }
header nav a{font-size:18px; display: block; padding:24px 64px; color:#FFF; text-decoration: none; font-weight: 700; border-bottom:1px solid #fff; transition: all 0.3s ease-in;}
header nav a:hover{background-color:rgba(255,255,255,0.2);}
header:before{content:'MENU'; display: block; width: 53px; text-align: center; color:rgba(255,255,255,0.9); cursor: pointer; position: absolute; top:15px; right:35px; font-size: 18px; border-bottom:2px solid rgba(255,255,255,0.9); padding-bottom: 6px; opacity: 1; transition:all 0.3s ease;}
header:after{content:''; display: block; width:53px; border-bottom:2px solid rgba(255,255,255,0.9); position: absolute; top:37px; right:35px; cursor: pointer;transition:all 0.3s ease;}
header .content-wrap:after{content:''; display: block; width:53px; border-bottom:2px solid rgba(255,255,255,0.9); position: absolute; top:49px; right:35px; cursor: pointer; transition:all 0.3s ease;}
header.on nav{right:0px;}
header.on:before{opacity: 0;}
header.on:after{transform:rotate(45deg); width:30px; right:45px;}
header.on .content-wrap:after{transform:rotate(-45deg); width:30px; right:45px; top:38px;}
header.on nav ul{ box-shadow: rgba(0,0,0,0.5) 0px 7px 8px 1px;}
.home .hero{height: 100vh; width:50%; position: absolute; background-attachment: fixed;top:0px; left:0px;background-repeat: no-repeat; background-image:url(../images16/HomeImage.jpg);background-size: auto 100%; background-position: -150px top; }


.content-wrap{width:100%; max-width: 1200px; margin:0px auto;}

.content-wrap:after{content:''; display: block; clear: both;}
.home #Content{min-height: 100vh; width:50%; margin-left:50%; padding:75px 0px 250px 0px; background-image: url(../images/home-content3.jpg); background-size: contain; background-repeat: no-repeat; background-position: top left;}
.home h1{font-size:72px; font-weight: 300; font-family: "Raleway", sans-serif; margin:105px 50px 90px 150px; max-width: 500px; line-height: 1em; color:#212121;}

.home-buttons{margin:48px 75px; text-align: center;}
.home-buttons:after{display: block; content:''; clear: both;}
.home-buttons a.button{ display: inline-block; float:left; width:48%; margin-right:2%; padding:16px 16px; border:1px solid #333; border-radius: 2px; background-color:#fff; color:#333; text-transform: uppercase; text-decoration: none; font-size:16px; font-weight: 500; transition:all 0.3s ease; cursor:pointer;}
.home-buttons a.button:nth-child(2){margin-right:0px;}
.home-buttons a.button:hover{background-color:#319096; color:#fff;}

.interior a.button {
	display: inline-block;
	
	padding: 16px 16px;
	border: 2px solid #fbcb2a;
	border-radius: 2px;
	background-color: rgba(144, 0, 0,0);
	color: #111;
	text-transform: uppercase;
	text-decoration: none;
	font-size: 14px;
	font-weight: 500;
	transition: all 0.3s ease;
	cursor: pointer;
    min-height: 70px;
}
.interior a.button:first-child{padding-top:24px;}
.interior a.button:hover{background-color:rgba(144, 0, 0,1); color:#fff;}
h3 {font-size:1.4em; font-weight:400}
.home .content{margin:75px;}
.interior .hero{width:100%; position: relative; height: auto; padding-top:75px; padding-bottom: 220px; background-repeat: no-repeat; background-position: center;background-size: cover; background-attachment: scroll;box-shadow: -1px 7px 7px -7px rgba(0,0,0,0.48); border-bottom: 3px solid #fbcb2a;}
.contact .hero{background-image: url(../images/GrilledPeaches.jpg);}
.graphics .hero{background-image: url(../images/watermelon.jpg);}
.development .hero{background-image: url(../images16/HomeImage.jpg); background-position: center center;}
.designbuild .hero{background-image: url(../images16/DesignBuild.jpg);}
.safety .hero{background-image: url(../images16/Safety.jpg);}

.interior .hero h1{font-size:64px; font-family: 'Raleway'; margin:48px 0px; line-height: 1em;}
p{line-height: 1.5em;}
p.expanded{ line-height: 1.8em;}
p.larger{font-size: 22px;}
p.smaller{font-size: 14px;}

.interior #Main{padding-top:24px; position: relative;}
.interior #Main .content-wrap{position: relative;}
.development #Main{min-height:720px; }
.development #Main h4{margin-bottom:72px;}
.development .right p{margin:1.4em 0px;}
#Main .aside{position: absolute; top:0px; left:0px; width: 350px; padding:24px; border-right:1px solid #bbb; margin:0px 56px 24px 0px; font-family: 'Raleway';font-size:.8em; line-height:1.4em;padding-top: 0px;}
#Main .aside.right{float:right; margin:0px 0px 24px 36px;}
#Main .aside img{width: 100%; max-width:200px;  display: block; margin:0px auto;}

.interior #Main h1{font-size:56px; font-weight: 300; color:#333;  margin-top:0px; line-height: 1.2em;}
.development #Main h1 span:before{content:'/'; display: inline-block;}
#Main h2{ font-size:36px;}
#Main h2.highlight{font-size:64px; font-weight: 300; color:#333; padding:0px 64px;}
#Main h3.highlight{font-size:32px; font-weight: 300; color:#319096; padding:0px 64px; margin:48px 0px;}

.interior .testimonial{ width:100%; margin:48px 0px 0px; background-color:#319096; padding:48px 0px; color:#fff;}
.quote {
	font-size: 13px;
	font-style: italic;
	font-family: 'Raleway';
	font-weight: 400;
	position: relative;
	margin: 0px;
	line-height: 1.3em;
	margin-top: 32px;
	color: #666;
	border: 1px dotted #dcdcdc;
	padding: 10px;
	background-color: rgba(234,222,236,0.1);
}
.author{ display: block; margin-top:16px;}


/*footer{width:100%; background-color:#121212; color:#fff; padding:32px 0px 64px; margin-top:75px;}
footer:after{content:''; display: block; clear: both;}
footer a{color:#fff; text-decoration: none;}
footer .logo{width:150px; height:150px; background-image: url(../images16/Logo-LI.jpg); background-size: contain; background-position: top left; background-repeat: no-repeat; float:left; margin-right:32px;}
footer .address{width:75%; float:left; font-size:.8em}
footer .contact{float:left;}
footer h5 {font-size:1.1em; font-weight:500;}
#Main .right{width:50%; float: right; vertical-align: top; padding-left:35px; }
#Main .left{width:50%; float:left; vertical-align: top; padding-right: 35px;}
*/
#Main .right{margin-left:380px;}
.contact label{display: none;}
.contact input[type="text"]{display: block; width:100%; font-size:18px; padding:8px 12px; border:1px solid #999; border-radius: 3px; margin:4px 0px 12px 0px; }
.contact textarea{display: block; width:100%; height:250px; font-size:18px; padding:8px 12px; border:1px solid #999; border-radius: 3px; margin:4px 0px 12px 0px;}
.contact .radio label{display: inline-block; margin-right:12px;}
.contact input[type="radio"]{margin-right:12px;}
.contact fieldset{border:1px solid #666; margin-bottom:24px;}
.contact input[type="submit"]{padding:8px 56px 8px 12px; font-size: 18px; background-color:#FFF; border:1px solid #999; border-radius: 3px;  cursor: pointer; transition:all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55); position: relative;}
.contact .submit-wrap:hover:after{animation: submit-hover 0.3s linear infinite;}
.contact .submit-wrap{display: inline-block; position: relative;}
.contact .submit-wrap:after{z-index: 1; content:''; display: block; background-image:url(../images/plane.svg); background-size:contain; background-position: center; background-repeat: no-repeat; width:30px; height: 30px; position: absolute; top:3px; right:6px;}
.contact.send .submit-wrap:after{animation: submit-send 1s linear;}
.contact.success .submit-wrap:after{background-image:url(../images/check.svg);}
@keyframes submit-hover {
    0%,100% {right: 6px; top:3px;}    
    
    50% { right:8px; top:3px; }
    
}

@keyframes submit-send{
    0%{right:6px; top:3px; height: 30px; width:30px; }
    20%{right:44px; top:1px; height: 50px; width:50px; }
    50%{right:30px; top:3px; height: 24px; width:24px;}
    70%{right:15px; top:10px; height: 15px; width:15px;}
    100%{right:6px; top:15px; height: 0px; width:0px;}
}

a.email{ display: inline-block; background-image:url(../images/envelope2.svg); background-size:1.5em auto; background-position: center left; background-repeat: no-repeat; padding-left:2em; line-height: 2em; color:#319096}
a.phone{display: inline-block; background-image:url(../images/phone-call-3.svg); background-size:1.5em auto; background-position: center left; background-repeat: no-repeat; padding-left:2em; line-height: 2em;color:#319096}
.fax{display: inline-block; background-image:url(../images/print.svg); background-size:1.5em auto; background-position: center left; background-repeat: no-repeat; padding-left:2em; line-height: 2em; color:#319096}

footer a.email{background-image:url(../images/envelope.svg); color:#fff;}
footer a.phone{background-image:url(../images/phone-call-4.svg);color:#fff;}
footer .fax{background-image:url(../images/print2.svg);color:#fff;}

.contact .right h4:nth-child(1){margin-top:0px;}



.icon-wrap{margin:48px 0px;}
.icon-wrap:after{content:''; display: block; clear: both;}
.icon-wrap .value{width:22.75%;  margin-right:3%; float:left;}
.icon-wrap .value:nth-child(4n){margin-right:0px;}
.icon-wrap .value h5{text-align: center; margin:16px 0px 16px 0px;}
.icon-wrap .value p{font-size:16px; line-height: 1.2em;}
.icon-wrap .value:before{display: block; content:''; width:100px; height:100px; border-radius: 50%; background-color:#319096; margin:0px auto; background-repeat: no-repeat; background-position: center;}
.icon-wrap .value:nth-child(1):before{background-image:url(../images/puzzle1.png);}
.icon-wrap .value:nth-child(2):before{background-image:url(../images/puzzle2.png);}
.icon-wrap .value:nth-child(3):before{background-image:url(../images/puzzle3.png);}
.icon-wrap .value:nth-child(4):before{background-image:url(../images/puzzle4.png);}

.location {
	width:49%;
	float:left;
	padding:0px 15px 35px 0px;
	
}
.location:nth-child(2n+1){clear:left;}

footer{background-color:#891913; color:#fff; padding:24px 0px 24px 0px; margin-top:64px;}
footer .logo{width:100%; float:none;  text-align: center; margin-bottom:0px;  padding-bottom:24px;}
footer .logo img{display: inline-block; width:90px; height: auto;}
footer .address{width:33%; float:left; text-align: right; padding-right:48px; border-top:1px solid #999; padding-top:24px; font-size:.85em;}
footer h5 {font-size:1.1em;}
footer div.phone{width:50%; float:right; padding-left:48px; padding-top:24px;}
a.email{ display: block; background-image:url(../images16/envelope2.svg); background-size:1.5em auto; background-position: center left; background-repeat: no-repeat; padding-left:2em; line-height: 2em; color:#319096}
a.phone{display: block; background-image:url(../images16/phone-call-3.svg); background-size:1.5em auto; background-position: center left; background-repeat: no-repeat; padding-left:2em; line-height: 2em;color:#319096}
.fax{display: block; background-image:url(../images/print.svg); background-size:1.5em auto; background-position: center left; background-repeat: no-repeat; padding-left:2em; line-height: 2em; color:#319096}

footer a.email{background-image:url(../images16/envelope.svg); color:#fff; display: inline-block;}
footer a.phone{background-image:url(../images16/phone-call-4.svg);color:#fff; display:  inline-block; margin-right:24px;}


.largeinfo {
	font-size:1.5em;
	font-weight:600;
	color:#c6332b;
	border-bottom:1px solid #c6332b;
	margin-bottom:23px;
}
.clear {
	clear:both;
}

@media screen and (max-width:1250px){
    
    .content-wrap{width:auto; padding-left:25px; padding-right: 25px;}
    .home-buttons{margin:0px 25px;}
    
}

@media screen and (max-width:1125px){
    .development #Main h1 span:before{content:' '; display: block; line-height: 0px;}
    .interior a.button{padding:16px 8px;}
}

@media screen and (max-width:1020px){
    #Main .right{
        margin-left:0px;
    }
    #Main .aside{position: static; width:auto; border:none; margin:24px auto;}
    
    header nav{
        width:95%;
    }
    
}
@media screen and (max-width:767px){
    .interior .hero{
        padding-bottom: 125px;
    }
    header{height:55px;}
    header nav{padding-top:55px;}
    header:before{font-size:16px;top:10px; width:48px; }
    header:after{top:30px; width:48px;}
    header .content-wrap:after{top:40px; width:48px;}
    header.on .content-wrap:after{top:27px;}
    header.on:after{top:27px;}
    header .title{line-height: 55px; font-size: 24px;}
    
    body{font-size:16px;}
    .interior #Main h1{font-size:32px;}
    
    
}
@media screen and (max-width:646px){
    .interior a.button{
        display: block;
        width:80%;
        margin:25px auto;
        float: none;
    }
    .home-buttons a.button:nth-child(2){margin-right:auto;}
    
    footer .address{
        width:auto; float:none; margin:24px 50px; padding:24px; text-align: left;
    }
    #naics_codes{
        width:auto;
       
    }
    #naics_codes tr{display: inline;}
    #naics_codes td{display: inline-block; width:50%; text-align: center;}
    #naics_codes td.empty-cell{display:none; height:0px;}
    
    .location{width:auto; float:none;}
    
    .development #Main h4{margin-bottom:32px;}
}

@media screen and (max-width:485px){
    header .title{font-size:16px;}
}
@media screen and (max-width:335px){
    header .title{font-size:14px;}
}