@font-face {
    font-family: 'Lato-Black';
    src: url('fonts/lato-black-webfont.eot');
    src: url('fonts/lato-black-webfont.eot?#iefix') format('embedded-opentype'),
         url('fonts/lato-black-webfont.svg#Lato-Black') format('svg'),
         url('fonts/lato-black-webfont.woff') format('woff'),
         url('fonts/lato-black-webfont.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

* { margin: 0; padding: 0; outline: 0; }

body, html { height: 100%; }

body {
    font-size: 16px;
    line-height: 23px;
    font-family: "Roboto Slab", "Rockwell", "Courier Bold", Courier, Georgia, Times, "Times New Roman", serif;
    color: #545454;
    background: #f9f9f9;
    -webkit-text-size-adjust: none;
}

.shell {
	width:990px;
	margin: 0 auto;
}

.wrapper {
	border-top:6px solid #da433b;
}

a { color: #da433b; text-decoration: none; cursor: pointer; }
a:hover { text-decoration: underline; }
a img { border: 0; }

input, textarea, select { font-size: 12px; font-family: arial, sans-serif; }
textarea { overflow: auto; }

.cl { display: block; height: 0; font-size: 0; line-height: 0; text-indent: -4000px; clear: both; }
.notext { font-size: 0; line-height: 0; text-indent: -4000px; }
.left, .alignleft { float: left; display: inline; }
.right, .alignright { float: right; display: inline; }

.clearfix:before, .clearfix:after { display: table; content: ' '; }
.clearfix:after { clear: both; }
.clearfix { *zoom: 1 }

h2, h3, h4 { font-weight:normal; }
h2 { font-size:36px; line-height:40px; }
h3 { font-size:26px; line-height:30px; }
h4 { font-size:18px; line-height:22px; }

/* Header */
.header { padding: 52px 0 20px; border-bottom:1px solid #737373; }

.logo { float:left; }
.logo a, .logo img { display:block; }

.utilities { float:right; padding-top:22px; color:#5d6f80; font-size:22px; }
.utilities a { color:#5d6f80; }
.utilities span { padding: 0 12px; }

/* Main */
.holder { border-bottom:1px solid #737373; padding: 21px 0 29px; }

.intro { width:640px; float:left; }
.intro h2 { font-family: "Adelle", "Baskerville", "Baskerville Old Face", "Hoefler Text", Garamond, "Times New Roman", serif; font-size:48px; line-height:58px; padding-bottom:28px; }
.intro p + p { padding-top:23px; }

.contact-box { padding-top:59px; font-family: 'Lato-Black', Arial, "Helvetica Neue", Helvetica, sans-serif; line-height:19px; color:#000; width:279px; float:right; }
.contact-box li { padding-left:38px; margin-bottom:10px; list-style:none outside none; text-transform:uppercase; }
.address-info { background:url(images/icon-location.png) no-repeat 0 center; padding-top:2px; padding-bottom:3px; }
.phone-info { background:url(images/icon-phone.png) no-repeat 0 0; padding-top: 8px; padding-bottom: 9px; }
.email-info { background:url(images/icon-email.png) no-repeat 0 0; padding-top:3px; padding-bottom:4px; }

.banner { padding: 31px 0 33px; border-bottom:1px solid #737373; }
.banner img { width:100%; }
.banner .banner-mobile { display:none; }

.areas { padding: 24px 0 35px; border-bottom:1px solid #737373; }
.areas h2 { padding-bottom:16px; }
.areas .col { width:310px; float:left; padding-left:15px; background:url(images/col-sep.png) repeat-y 0 0; margin-left:14px; }
.areas .col:first-child { margin-left:0; padding-left:0; background:none; }
.areas .col-btn { font-family: "Lato", Arial, "Helvetica Neue", Helvetica, sans-serif; color:#fff; font-size:22px; line-height:26px; }
.areas .col-btn { text-transform:uppercase; background:#bf3b34; padding: 12px 0 13px; border-radius: 3px; text-align:center; display:none; }
.areas .col-btn:hover { text-decoration:none; opacity: 0.7; }
.areas .col p + p { padding-top:23px; }

.contact { padding: 13px 0 14px; border-bottom:1px solid #737373; }
.contact-entry { width:302px; float:left; padding-top:11px; }
.contact-entry h2 { padding-bottom:15px; }
.contact-entry p { padding-bottom:23px; }

.contact-map { width:653px; height:653px; position:relative; float:right; }
#map_canvas { width:100%; height:100%; }
.map-overlay { width:100%; height:100%; background:url(images/map-overlay.png) no-repeat 0 0; text-indent: 100%; white-space:nowrap; overflow: hidden; display:block; position:absolute; top: 0; left: 0; pointer-events: none;  }
.no-pointer-events .map-overlay { display:none; }

.about { padding: 24px 0 52px; }
.about h2 { padding-bottom:16px; }

.section { float:right; width:481px; }
.section:first-child { float:left; }
.section p + p { padding-top:23px; }

/* Footer */
.footer { font-family: "Lato", Arial, "Helvetica Neue", Helvetica, sans-serif; }

.block { background: #da433b; color:#fff; padding: 33px 0 38px; }
.block-entry { width:650px; float:left; font-size:13px; line-height:20px; }

.copyrights { font-size:14px; padding-bottom:23px; }
.copyrights a { color:#fff; }
.copyrights span { padding: 0 6px; }
.copyrights span.copy-sep { padding: 0 9px; }
.copyrights br { display:none; }

.back-to-top-btn { font-size:22px; line-height:26px; text-transform:uppercase; color:#fff; width:312px; padding: 10px 0 15px; }
.back-to-top-btn { background:#bf3b34; margin-top:74px; text-align:center; position:relative; float:right; border-radius: 3px; }
.back-to-top-btn:hover { text-decoration:none; opacity: 0.7; }
.back-to-top-btn span { position:absolute;  bottom:100%;  left:50%; margin-left:-13px;  font-style:0;  line-height:0; border-width:0 13px 13px; border-style:none outset solid; border-color:transparent transparent #bf3b34;  }

.design-wrap { background:#44535f; text-align:center; color:#f9f9f9; padding: 15px 0 14px; }
.design-wrap a { color:#f9f9f9; }

/* Media Queries */
@media (max-width : 1004px) {
    .shell { width: auto; padding: 0 25px; }

    .intro { width:65%; }
    .contact-box { width:220px; }

    .areas .col { width:30%; }

    .contact-entry { width:32%; }
    .contact-map { width:68%; }
    .map-overlay { background-size: 100% 100%; }

    .section { width:48%; }

    .block-entry { width:65%; }
    .back-to-top-btn { width:34%; }
}

@media (max-width : 990px) {
    .logo { width:48%; }
    .logo img { width:100%; }

    .utilities { font-size:18px; }
}

@media (max-width : 840px) {
    .utilities { font-size:15px; }
    .utilities span { padding: 0 5px; }

    .intro { width:55%; }

    .areas .col { width:29%; }
}

@media (max-width : 640px) {
    .header { padding: 49px 0 30px; }

    .logo { float:none; width:471px; }
    
    .utilities { display:none; }

    .intro { width:100%; }

    .contact-box { display:none; }

    .banner img { display:none; }
    .banner .banner-mobile { display:block; }

    .areas h2 { padding-bottom:21px; }
    .areas .col { float:none; width:100%; margin-left:0; padding-left:0; background:none; padding-top:8px; }
    .areas .col:first-child { padding-top:0; }
    .areas .col-btn { display:block; }
    .areas .col-body { padding: 15px 0; display:none; }

    .contact { padding-bottom:7px; }
    .contact-entry { width:302px; }
    .contact-map { display:none; }

    .section, .section:first-child { float:none; }
    .section { width:100%; display:none; }
    .section:first-child { display:block; }

    .block { padding-bottom:23px; }

    .block-entry { width:100%; float:none; }

    .copyrights { line-height:23px; }
    .copyrights .bull-sep { display:none; }
    .copyrights br { display:block; }

    .back-to-top-btn { width:312px; float:none; display:block; margin: 68px auto 0; }
}

@media (max-width : 540px) {
    .logo { width:100%; }
    .intro h2 { word-spacing: -2px; }
}

@media (max-width : 410px) {
    .contact-entry { width:100%; }
    .back-to-top-btn { width:100%; }
}