html,body { height: 100%; }

body { margin: 0;padding: 0;min-height: 100%;font-family: 'Lato',arial,tahoma,verdana;font-size: 16px;font-weight: 300;background: #fff;color: #000;overflow-x: hidden; } 

#outer_container { min-height: 100%;position: relative; }

#page_wrapper { width: 100%; }

.footer_clear { padding-bottom: 100px; }

strong { font-weight: 700; }

a { outline: none;color: #3b5998;text-decoration: none; }

.clear:after { content: ".";display: block;height: 0;clear: both;visibility: hidden; }

* { -webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box; }

.page_width { max-width: 1282px;margin-left: auto;margin-right: auto;padding-left: 20px;padding-right: 20px; }
.page_width_wide { max-width: 1500px;margin-left: auto;margin-right: auto; }

input, textarea { border-radius: 0; }

h1,h2,h3,h4,h5,h6 { font-family: 'Open Sans'; }

.cfont { font-family: 'Open Sans'; } 
.lfont { font-family: 'lato'; } 

.w400 { font-weight: 400; }

.blue { color: #035386; }
.lblue { color: #6cb2df; }
.grey { color: #55595b; }

.blue_bg { background-color: #035386;color: #fff; }
.lblue_bg { background-color: #6cb2df;color: #fff; }
.grey_bg { background-color: #55595b;color: #fff; }


p { line-height: 30px;margin-bottom: 20px;letter-spacing: 0.5px; }

.mb_small { margin-bottom: 10px; }
.mb_med { margin-bottom: 20px; }
.mb_large { margin-bottom: 30px; }
.mb_vlarge { margin-bottom: 50px; }

.tac { text-align: center; }
.un { text-decoration: underline; }

.large { font-size: 14px;line-height: 20px; }

img { max-width: 100%; }
.block { display: block; }
.iblock { display: inline-block; }

hr { margin-left: auto;margin-right: auto;max-width: 360px;border: 0;height: 3px;background: #035386; }

.relative { position: relative; }


/* links / buttons */

.sspc { margin-left: 5px;margin-right: 5px; }

.standard { border: 0;display: inline-block;background-color: #55595b;color: #fff;padding: 20px 40px 22px;transition: all 0.2s ease; }
.standard:hover { background-color: #6cb2df; }

.standardbutton { border: 0;display: inline-block;background-color: #55595b;color: #fff;padding: 16px 40px 18px;transition: all 0.2s ease;font-size: 16px; }
.standardbutton:hover { background-color: #6cb2df; }

.outlined { border: 1px solid #fff;display: inline-block;color: #fff;padding: 20px 40px 22px;transition: all 0.2s ease;opacity: 1; }
.outlined:hover { opacity: 0.8; }


::-webkit-input-placeholder {
   color: #888;opacity: 1;
}

:-moz-placeholder { /* Firefox 18- */
   color: #888;opacity: 1;
}

::-moz-placeholder {  /* Firefox 19+ */
   color: #888;opacity: 1;
}

:-ms-input-placeholder {  
   color: #888;opacity: 1;
}


/* misc */

.large_left { float: left;width: 65%; }

.small_right { float: right;width: 30%; }



/* headers */

h1 { font-size: 48px;line-height: 54px;font-weight: 300; }
h2 { font-size: 36px;line-height: 42px;font-weight: 400; }
h3 { font-size: 30px;line-height: 36px; }
h4 { font-size: 24px;line-height: 30px;font-weight: 400; }
h5 { font-size: 18px;line-height: 24px; }
h6 { font-size: 14px;line-height: 22px; }

.header_image { width: 100%;height: 350px;background-size: cover;background-position: center;background-repeat: no-repeat; }

/* cms */

.cms h1 { margin-bottom: 20px; }
.cms h2 { margin-bottom: 20px; }
.cms h3 { margin-bottom: 20px; }
.cms h4 { font-weight: 400;margin-bottom: 20px; }
.cms h5 { margin-bottom: 18px; }
.cms h6 { margin-bottom: 15px; }
.cms p strong { font-weight: 400; }
.cms ul { line-height: 30px;margin-bottom: 30px;letter-spacing: 0.5px;margin-left: 20px;list-style: disc; }

.cms ul li strong { font-weight: 400; }

.cms hr { margin-bottom: 30px; }

.cms .outlined { border: 1px solid #333;display: inline-block;color: #333;padding: 20px 40px 22px;transition: all 0.2s ease;opacity: 1; }
.cms .outlined:hover { opacity: 0.8; }

.cms .imgright { float: right;max-width: 30%;margin: 0 0 20px 25px; }
.cms .imgleft { float: left;max-width: 30%;margin: 0 25px 20px 0; }

.cms .clear_float { height: 0;overflow: hidden;clear: both; }



/* top */

#top_wrapper { border-top: 7px solid #035386;padding: 25px 0 30px; }

#top_logo { float: left;width: 18%; }

#top_nav { float: right;width: 75%;text-align: right;padding-top: 10px; }
#top_contact { margin-bottom: 40px;font-weight: 400; }

#top_contact a { display: inline-block;font-size: 30px;color: #55595b;margin-left: 20px; }
#top_contact a i { margin-right: 8px; }

/* slider */

.slide { position: relative; }
.slide .background { width: 100%;height: 580px;background-position: center;background-repeat: no-repeat;background-size: cover; }
.slide .overlay { position: absolute;bottom: 20px;left: 0;width: 100%;padding: 20px;text-align: center;background: url('../img/misc/overlay80.png');color: #fff;text-transform: uppercase; }
.slide .overlay h1 { font-weight: 700; }


/* home */

#home_intro { background-image: url('../img/misc/faint_bg.png');background-repeat: no-repeat;background-position: center 30px;padding: 50px 0 80px; }
#home_intro p { padding: 0 10%; }

#home_portfolio { padding: 80px 0 20px; }

ul.portfolio li { padding: 2px;float: left;width: 16.66%; }
ul.portfolio li a { display: block;width: 100%;padding-top: 100%;background-size: cover;background-position: center;background-repeat: no-repeat;position: relative;overflow: hidden; }
ul.portfolio li a i { position: absolute;right: 12px;bottom: -10px;transition: all 0.2s ease;opacity: 0;font-size: 24px;color: #fff; }
ul.portfolio li a:hover i { bottom: 12px;opacity: 1; }


ul.portfolio_small li { padding: 1px;float: left;width: 33.33%; }
ul.portfolio_small li a { display: block;width: 100%;padding-top: 100%;background-size: cover;background-position: center;background-repeat: no-repeat;position: relative;overflow: hidden; }
ul.portfolio_small li a i { position: absolute;right: 12px;bottom: -10px;transition: all 0.2s ease;opacity: 0;font-size: 20px;color: #fff; }
ul.portfolio_small li a:hover i { bottom: 12px;opacity: 1; }


/* about */

ul.why li { position: relative;padding: 6px 0 0 54px;margin-bottom: 7px;line-height: 24px;min-height: 40px; }
ul.why li span { display: block;width: 40px;height: 40px;line-height: 40px;text-align: center;color: #fff;position: absolute;left: 0;top: 0; }
ul.why li span i { font-size: 20px; }
ul.why li:nth-child(odd) span { background: #035386; }
ul.why li:nth-child(even) span{ background: #035386; }


/* layouts */

.block_left { float: left;width: 50%; }
.block_right { float: right;width: 50%; }

.block_bg { background-size: cover;background-position: center;background-repeat: no-repeat; }

.left_text { padding: 80px 6% 100px 8%; }
.right_text { padding: 80px 8% 100px 6%; }

.left_text .outlined,.right_text .outlined { margin-right: 18px; }


/* services */


.service_row .left { float: left;width: 30%; }
.service_row .left .thumb { display: block;width: 100%;background-size: cover;background-position: center;background-repeat: no-repeat; }

.service_row .right { float: right;width: 70%;padding: 35px 50px 40px; }
.service_row .right p { font-size: 14px;line-height: 24px; }


/* form */

.hours_left { float:left;width: 50%;font-size: 14px; }
.hours_right { float:right;text-align: right;width: 50%;font-size: 14px;font-weight: 700; }

.formrow { display: flex;align-items: center; }
.formrow .left { width: 36%;padding-right: 20px;font-size: 16px;line-height: 22px; }
.formrow .right { width: 64%; }
.formrow .rightsmall { width: 32%; }
.formrow .rightsmall:first-child { padding-right: 6px; }
.formrow .rightsmall:last-child { padding-left: 6px; }

.formrow .textbox { width: 100%;padding: 15px;font-family: 'Lato';font-weight: 300;font-size: 14px;border: 1px solid #e7e7e7;background: #fff;transition: all 0.2s ease; }
.formrow p { margin: 0; }
.formrow .textbox:hover { border: 1px solid #555; }
.formrow .textbox:focus { border: 1px solid #555; }

.sb_ml { padding-left: 36%; }


.errors { margin-left: 25px;list-style: disc;color: #f33333;font-size: 16px;font-weight: 400;line-height: 24px; }

.contact_block {  }
.contact_block h5 { font-weight: 400;letter-spacing: 2px;border-bottom: 1px dotted #ddd;padding-bottom: 5px; }

span.pi { width: 100px;display: inline-block; }



#survey_form_container { padding: 0 15%; }

hr.divider { margin-left: auto;margin-right: auto;max-width: 360px;border: 0;height: 1px;background: #ddd; }


/* navigation */

ul#navigation { z-index: 10;font-weight: 300;letter-spacing: 0.5px; }
ul#navigation li { display: inline-block;position: relative; }
ul#navigation li a { padding: 10px 20px;color: #55595b;display: block;border-bottom: 2px solid #fff;white-space: nowrap; }

ul#navigation li:hover > a { border-bottom: 2px solid #035386; }
ul#navigation li a.on { border-bottom: 2px solid #035386; }

ul#navigation li ul { position: absolute;left: 0;display: none;z-index: 999;text-align: left; }

ul#navigation li ul li { display: block;width: auto;background: none; }

ul#navigation li ul li a { background: #fafafa;display: block;padding: 20px; }
ul#navigation li ul li a:hover { background: #035386;color: #fff; }

a#mobile_menu { display: none; }

.close_mobile_menu { display: none;position: absolute;right: 15px;top: 15px;color: #fff;font-size: 40px;text-decoration: none; }

.fw_open { margin-left: 0 !important; }


.crumb_outer { background: #f9f9f9;font-size: 14px;letter-spacing: 1px; }
.crumb_left { float: left; }
.crumb_left ul { padding-top: 13px; }
.crumb_left ul li { float: left;margin-right: 12px; }
.crumb_left ul li a { color: #606060; }
.crumb_left ul li i { margin-top: 1px; }

.crumb_left ul li:last-child { white-space: nowrap;overflow: hidden;text-overflow: ellipsis; }

.crumb_right { float: right; }
.crumb_right a { display: block;white-space: nowrap;background: #86c162;color: #fff;letter-spacing: 2px;text-transform: uppercase;padding: 14px 32px 16px;transition: all 0.2s ease; }
.crumb_right a:hover { background: #444; }
.crumb_right a.hidden { visibility: hidden; }



.pagenav { text-align: center;font-weight: 400; }
.pagenav li { display: inline-block;margin: 0 5px; }
.pagenav li a { display: block;width: 32px;height: 32px;border: 1px solid #333;line-height: 30px;font-size: 14px;text-align: center;color: #333; }
.pagenav li a.on { border: 1px solid #035386;background: #035386;color: #fff; }


/* testimonials */

.t_outer { padding-left: 280px;position: relative; }
.t_about { position: absolute;left: 0;top: 18px;width: 290px;padding: 20px 25px;color: #fff;z-index: 10; }
.t_about i { font-size: 24px;margin-right: 4px; }

.testimonial { background: #f8f8f8;padding: 32px 40px;position: relative; }
.testimonial p { margin: 0;background-image: url('../img/misc/line_30.png'); }

.tape { width: 144px;height: 38px;background: #f7f5dd;top: -16px;left: 50%;margin-left: -72px;position: absolute;opacity: 0.5; }

.r1 { transform: rotate(-1deg); }
.r2 { transform: rotate(1deg); }
.r3 { transform: rotate(-2deg); }
.r4 { transform: rotate(2deg); }


/* footer */

#footer_clear { padding-top: 100px; }

#footer_wrapper { width: 100%;padding: 50px 0;color: #fff;position: absolute;bottom: 0;left: 0; }
#footer_wrapper a { color: #fff; }
#footer_wrapper a.email { color: #6cb2df; }

#footer_left { float: left;width: 65%; }
#footer_left .nav { float: left;padding-right: 75px;margin-bottom: 25px; }
#footer_left .nav:last-child { padding-right: 0; }
#footer_left .nav h6 { text-transform: uppercase;letter-spacing: 1px; }
#footer_left .nav ul { font-size: 14px;line-height: 24px; }


#footer_right { float: right;width: 35%;text-align: right; }
#footer_right img { max-width: 180px; }
#footer_right p { font-size: 14px;line-height: 24px; }

.footer_logos { text-align: center; }
.footer_logos img { padding: 0 10px 20px;display: inline-block;vertical-align: middle;max-width: 150px;max-height: 128px; }

.footer_copyright { font-size: 14px;color: #76abcd; }

#cookie_warning { background: #222;position: fixed;bottom: 0;left: 0;width: 100%;z-index: 100;color: #fff; }
#cookie_inner { display: flex;align-items: center; }
.cookie_left { float: left;width: 75%;padding: 15px 0 17px; }
.cookie_left a { color: #fff;text-decoration: underline; }
.cookie_right { float: right;width: 25%;text-align: right;padding: 8px 0 8px 20px; }
.cookie_right a { display: inline-block;border: 1px solid #fff;padding: 10px 20px;font-family: 'Open Sans';font-size: 12px;color: #fff;text-transform: uppercase; }
.cookie_right a i { color: #6cb2df;margin-right: 7px; }

/* gradients */

.grad1 { background: #0d3650;
background: -moz-linear-gradient(-45deg, #0d3650 0%, #0d3650 50%, #032235 50%, #032235 100%);
background: -webkit-linear-gradient(-45deg, #0d3650 0%,#0d3650 50%,#032235 50%,#032235 100%);
background: linear-gradient(135deg, #0d3650 0%,#0d3650 50%,#032235 50%,#032235 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0d3650', endColorstr='#032235',GradientType=1 ); }
