#dimensions
{ display: none; position: fixed; bottom: 0; left:0; margin: 5px; background-color: #b22222; color: #fff; padding:8px; z-index: 999999; font-size: 10px; opacity: 0.4; }
#dimensions:hover
{ opacity: 1; }

html
{ font-size: 62.5%; }
body
{ background-color: #fff; color: #424242; font-family: 'Nunito Sans', sans-serif; line-height: 1.5; }
a
{ color: #20479E; }
ul
{ margin-left: 0; }
h1, h2, h3, h4, h5, h6
{ margin: 0; font-weight: normal; line-height: 1.3; }
h1, .homeCarousel h2
{ font-size: 6rem; font-weight: 300; color: #20479E; padding-bottom: 0; }
h2
{ font-size: 3.8rem; color: #007DC3; padding-bottom: 15px; }
h3
{ font-size: 2.4rem; text-transform: uppercase; color: #007DC3; padding-bottom: 15px; }
h4
{ font-size: 2.2rem; }
p
{ margin: 0 0 25px 0; }
strong
{ font-weight: 700; }


.clear
{ clear: both; }
.float-right
{ float: right; }
.text-right
{ text-align: right; }
.container
{ max-width: 1230px; padding: 0 20px; margin: 0 auto; }
.subPageLeft
{ float: left; width: 65.3062%; }
.load-more
{ display: none; }
.generic-button
{ display: inline-block; padding: 18px 45px; margin-top: 15px; background-color: #54B848; color: #fff; border-radius: 5px; font-size: 1.6rem; cursor: pointer; }
#main
{ background-color: #fff; font-size: 2rem; }
.blueGradient
{ background: #1c3f90; /* Old browsers */
background: -moz-linear-gradient(left,  #1c3f90 0%, #007dc3 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(left,  #1c3f90 0%,#007dc3 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to right,  #1c3f90 0%,#007dc3 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#1c3f90', endColorstr='#007dc3',GradientType=1 ); /* IE6-9 */ }

/* header stuff */

.site-header a.logo
{ float: left; }
.site-header .header-right
{ text-align: right; width: 100px; }
.site-header > .container
{ padding-top: 27px; padding-bottom: 27px; }

.main-navigation
{ float: right; padding-top: 24px; }
	.main-navigation li a
	{ text-decoration: none; color: #fff; display: inline-block; height: 34px; line-height: 34px; margin: 0 14px;  font-size: 1.6rem; text-transform: uppercase;  -webkit-transition:all .4s ease-in-out 0s;transition:all .4s ease-in-out 0s }
	.main-navigation li:last-child a
	{ margin-right: 0; }
	.main-navigation > div > ul > li > a
	{ border-bottom: 6px solid transparent; font-weight: 700; }
	.main-navigation li li a
	{ color: #424242; margin: 0; padding: 12px 20px 12px 24px; font-weight: 600; }
	.main-navigation ul.nav-menu > li:hover > a
	{ border-bottom: 6px solid #54B848; }
	.main-navigation li.nav-overview-link
	{ display: none; }
	.tablet .main-navigation li.nav-overview-link, .mobile .main-navigation li.nav-overview-link
	{ display: list-item; }
	.main-navigation ul ul
	{ border:1px solid #424242; width: 200px; top: 40px; left: 13px; }
	.main-navigation ul ul ul
	{ top: -2px; left: auto; right: 100%; }
	.main-navigation ul li ul a:hover, .main-navigation ul.nav-menu > li > ul.sub-menu > li:hover > a
	{ background-color: #f4f4f4; color: #424242; text-decoration: none; }
	.main-navigation ul li ul li.menu-item-has-children > a:before
	{ content: ""; width: 0; height: 0; border-top: 5px solid transparent; border-bottom: 5px solid transparent; border-right: 10px solid #54B848; position: absolute; left: 8px; top: 19px; }
	#menu-item-431 > ul, #menu-item-423 > ul, #menu-item-417 > ul, #menu-item-454 > ul, #menu-item-463 > ul
	{ width: 260px; }
	#menu-item-417 > ul
	{ left: auto; right: 13px; }

#burger
{ display: none; vertical-align: middle; cursor: pointer; }
#burger div
{ margin-bottom: 6px; background-color: #fff; height: 6px; width: 44px; -moz-transition: all 0.2s ease-in-out; -webkit-transition: all 0.2s ease-in-out; -o-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out; position: relative; }
#burger div.bottom
{ margin: 0; }
.noscroll #burger div.top
{ transform: rotate(-135deg); top: 12px; }
.noscroll #burger div.middle
{ opacity: 0; }
.noscroll #burger div.bottom
{ transform: rotate(135deg); top: -12px; }

#masthead
{ background-color: #fff; width: 100%; z-index: 99; -moz-transition: top 0.5s ease-out; -webkit-transition: top 0.5s ease-out; -o-transition: top 0.5s ease-out; transition: top 0.5s ease-out; }
.navFixed #masthead, .navSticky #masthead, .noscroll #masthead
{ position: fixed; }
.navFixed #masthead
{ top: -110px; }
.navSticky #masthead, .noscroll #masthead
{ top: 0; }
.navFixed #main, .navSticky #main
{ padding-top: 106px; }

/* end header stuff */

.formStyleContainer
{ background-color: #aaa; padding: 3% 0 4%; margin-bottom: 3%; }
.formStyleContainer h1
{ color: #fff; padding-bottom: 5px; }
.formStyle p
{ display: inline; float: left; margin: 0; padding: 0 1% 0 0; width: 24.2%; }
.formStyle p:last-of-type
{ padding: 0 !important; }
.formStyle select, .formStyle input[type="text"]
{ border: none; padding: 10px 20px; width: 100%; height: 40px; box-sizing: border-box; }
.formStyle .formStyleSelect
{ position: relative; }
.formStyle .formStyleSelect:before
{ font-family: "icons-font"; line-height: 1; position: absolute; right: 2px; top: 5px; content: "\69"; font-size: 30px; pointer-events: none; color: #000; }
.formStyle select
{ padding: 8px 30px 8px 10px; border-radius: 0; -webkit-appearance: none !important; -moz-appearance: none !important; }

.optionalImageLayout article
{ border-bottom: 1px solid #bbb; padding-bottom: 20px; }
.optionalImageLayout .featured-image
{ float: left; width: 24%; padding: 8px 2% 0 0; margin: 0; }
.optionalImageLayout .featured-image + .articleInfo
{ float: left; width: 74%; }
.optionalImageLayout .articleInfo .entry-meta
{ font-size: 1.6rem; padding-bottom: 3px; }

.lightsliderContainer li div
{ height: 185px; }

#accordion h2
{ font-size: 2.4rem; outline: none; cursor: pointer; }
#accordion .plus-minus
{ border: 3px solid #0081a4; display: inline-block; float: right; height: 27px; width: 27px; line-height: 1; border-radius: 20px; -moz-border-radius: 20px; -webkit-border-radius: 20px; }
#accordion .plus-minus:after
{ content: "+"; padding-left: 4px; }
#accordion .ui-accordion-header-active .plus-minus:after
{ content: "\2013"; }

#map
{ height:400px }

/* overriding default form styles */
body .gform_wrapper .gform_body ul.gform_fields li.gfield, body .gform_wrapper.gform_validation_error .gform_body ul.gform_fields li.gfield.gfield_error:not(.gf_left_half):not(.gf_right_half)
{ padding: 0 10px 6px 10px; margin-top: 8px; }
body .gform_wrapper .top_label .gfield div.ginput_container, body .gform_wrapper li.gfield.gfield_error.gfield_contains_required div.ginput_container
{ margin-top: 2px; }
body .gform_wrapper .field_description_below .gfield_description
{ padding-top: 0; }
body .gform_wrapper .gform_footer
{ margin: 0 10px; width: auto; }
input[type="text"], input[type="email"], input[type="password"], textarea
{ border: 1px solid rgba(0,0,0,0.3); border-radius: 0; margin: 0; font-family: 'Nunito Sans', sans-serif; }
body .gform_wrapper input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]):not([type="image"]):not([type="file"])
{ font-size: 1.8rem; padding: 13px; }
.gform_wrapper .top_label .gfield_label
{ font-weight: 400; font-size: 1.4rem; cursor: text; -webkit-transform: scale(1.3) translateY(30px) translateX(9px); transform: scale(1.3) translateY(30px) translateX(9px); -webkit-transform-origin: 0; transform-origin: 0; -moz-transition: all 0.4s ease-in-out; -webkit-transition: all 0.4s ease-in-out; -o-transition: all 0.4s ease-in-out; transition: all 0.4s ease-in-out; }
.gform_wrapper .top_label .gfield_label.focus, .gform_wrapper .top_label .gfield_label.filledIn, .gform_wrapper .top_label .fileInput .gfield_label
{ -webkit-transform: scale(1) translateY(0); transform: scale(1) translateY(0); }
body .gform_wrapper select
{ font-family: 'Nunito Sans', sans-serif; font-size: 1.8rem; padding: 2px 12px 2px 2px;  border-radius: 0; box-sizing: border-box; border: none; border-bottom: 1px solid rgba(0,0,0,0.3); background-color: #fff; -webkit-appearance: none !important; -moz-appearance: none !important; }
.gform_wrapper .ginput_container_select
{ position: relative; }
.gform_wrapper .ginput_container_select:before
{ font-family: "icons-font"; line-height: 1; position: absolute; right: 2px; top: 5px; content: "\69"; font-size: 30px; pointer-events: none; color: rgba(0,0,0,0.3); }
.gform_wrapper input::-webkit-input-placeholder, .gform_wrapper textarea::-webkit-input-placeholder
{ color: transparent; }
.gform_wrapper input:-moz-placeholder, .gform_wrapper textarea:-moz-placeholder
{ color: transparent; }
.gform_wrapper input::-moz-placeholder, .gform_wrapper textarea::-moz-placeholder
{ color: transparent; }
.gform_wrapper input:-ms-input-placeholder, .gform_wrapper textarea:-ms-input-placeholder
{ color: transparent; }
.gform_wrapper input::placeholder, .gform_wrapper textarea::placeholder
{ color: transparent; }
.gform_wrapper input.focus::-webkit-input-placeholder, .gform_wrapper textarea.focus::-webkit-input-placeholder
{ color: #777; }
.gform_wrapper input.focus:-moz-placeholder, .gform_wrapper textarea.focus:-moz-placeholder
{ color: #777; }
.gform_wrapper input.focus::-moz-placeholder, .gform_wrapper textarea.focus::-moz-placeholder
{ color: #777; }
.gform_wrapper input.focus:-ms-input-placeholder, .gform_wrapper textarea.focus:-ms-input-placeholder
{ color: #777; }
.gform_wrapper input.focus::placeholder, .gform_wrapper textarea.focus::placeholder
{ color: #777; }
.gform_wrapper input.focus, .gform_wrapper textarea.focus
{ outline: 0; }
input[type="button"], input[type="reset"], input[type="submit"]
{ padding: 18px 25px; margin-right: 0 !important; background-color: #54B848; color: #fff; border-radius: 5px; font-size: 1.6rem !important; }
body .gform_wrapper li.gfield.gfield_error.gfield_contains_required label.gfield_label
{ margin-top: 0; }
.gform_wrapper.gform_validation_error .top_label select
{ border: 1px solid #790000; }
#field_4_5 .gfield_label
{ -webkit-transform: scale(1.3) translateY(3px) translateX(2px); transform: scale(1.3) translateY(3px) translateX(2px); }

/* hide gravity form labels */
.gform_wrapper .sendToFriendForm .top_label .gfield_label
{ display: none; }

/* flexible content */
.imageHeader
{ padding: 3.5% 0; }
.imageHeader .container
{ display: flex; justify-content: space-between; align-items: center; }
.imageHeader .image
{ background-size: contain; background-repeat: no-repeat; background-position: center right; width: 58%; order:2; padding-top: 36.7%; }
.imageHeader .text
{ width: 39%; }
.imageHeader h1
{ max-width: 458px; }
.imageHeader p
{ color: #727272; font-weight: 300; font-size: 3.8rem; margin: 0; padding-top: 5%; }

.genericContent
{ padding: 5% 0; }
.genericContent.grey
{ background-color: #F4F4F4; }

.quoteCarousel
{ text-align: center; padding: 5% 0 6%; }
.quoteCarousel .lSSlideOuter
{ padding: 4% 0 2%; }
.quoteCarousel .lSSlideOuter .lSAction a:before, .quoteCarousel .lSSlideOuter .lSAction a:hover:before
{ color: #0a1744; background-color: transparent; }
.quoteCarousel .lslide
{ padding: 0px 4%; box-sizing: border-box; line-height: 1.5; }
.quoteCarousel .sources
{ display: flex; justify-content: center; position: relative; -moz-transition: all 0.4s ease; -webkit-transition: all 0.4s ease; -o-transition: all 0.4s ease; transition: all 0.4s ease; }
.quoteCarousel .source
{ padding: 0 2%; display: block; color: #0a1744; opacity: 0.6; -moz-transition: all 0.3s ease-in-out; -webkit-transition: all 0.3s ease-in-out; -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; }
.quoteCarousel .source:hover, .quoteCarousel .source.active
{ opacity: 1; }
.quoteCarousel .source img
{ max-width: 100px; }
.lSAction > a
{ color: #333; font-size: 6rem; }
.lSAction > a:hover
{ text-decoration: none; }
.quoteCarousel .lSPrev:after
{ content: "\67";  }
.quoteCarousel .lSNext:after
{ content: "\66"; }

.emailSignup
{ background-color: #007DC3; padding: 5.5% 0; }
.emailSignup h2, .emailSignup p
{ color: #fff; }
.emailSignup .left
{ float: left; width: 45%; padding-top: 12px; }
.emailSignup .right
{ float: right; width: 53%; }
.emailSignup .right .gform_body
{ width: 61%; display: inline-block; }
.emailSignup .right .gform_footer
{ width: 36%; margin: 0; display: inline-block; text-align: right; }
.emailSignup .right .gform_validation_error .gform_footer
{ vertical-align: top; }
.emailSignup .right input[type="text"]
{ border: 2px solid #1C3F90; }
.emailSignup .right input[type="submit"]
{ padding: 18px 30%; width: auto !important; }
.emailSignup .gform_wrapper .top_label .gfield_label
{ display: none; }
.emailSignup .validation_error
{ display: none; }
.emailSignup .gform_wrapper li.gfield.gfield_error, .emailSignup .gform_wrapper li.gfield.gfield_error.gfield_contains_required.gfield_creditcard_warning
{ background: transparent; border: none; }
.emailSignup .gform_wrapper input:not([type="radio"]):not([type="checkbox"]):not([type="image"]):not([type="file"])
{ line-height: 1; }
.emailSignup .gform_wrapper .validation_message
{ color: #fff; }
.emailSignup .gform_confirmation_wrapper
{ color: #fff; padding-top: 7%; }
body .emailSignup .gform_wrapper .gform_body ul.gform_fields li.gfield
{ padding: 0; }
.emailSignup .gform_wrapper input::-webkit-input-placeholder, .emailSignup .gform_wrapper textarea::-webkit-input-placeholder
{ color: #777; }
.emailSignup .gform_wrapper input:-moz-placeholder, .emailSignup .gform_wrapper textarea:-moz-placeholder
{ color: #777; }
.emailSignup .gform_wrapper input::-moz-placeholder, .emailSignup .gform_wrapper textarea::-moz-placeholder
{ color: #777; }
.emailSignup .gform_wrapper input:-ms-input-placeholder, .emailSignup .gform_wrapper textarea:-ms-input-placeholder
{ color: #777; }
.emailSignup .gform_wrapper input::placeholder, .emailSignup .gform_wrapper textarea::placeholder
{ color: #777; }

/* end flexible content */

.landingPageIntro
{ float: left; width: 60%; }
.landingPageForm
{ float: right; width: 40%; }
.landingPageContent
{ float: left; width: 60%; }


.post-type-archive .featured-image
{ float: left; padding-right: 20px; }


#secondary .widget.sidebarFeatured .image
{ display: block; height: 150px; }

.grecaptcha-badge
{ visibility: hidden; }

.site-footer
{ color: #fff; background-color: #1C3F90; font-size: 1.8rem; padding: 3% 0; clear: both; }
.site-footer p
{ margin-bottom: 25px; }
.site-footer a
{ color: #fff; display: block; }
.site-footer .container
{ display: flex; justify-content: space-between; flex-wrap:wrap; }
.site-footer .col
{ width: 22.7%; }
#footer-navigation
{ text-align: left; }
#footer-navigation li
{ margin: 0; display: block; text-transform: uppercase; font-size: 1.6rem; padding-bottom: 22px; }
.social-navigation
{ display: inline-block; float: none; width: auto; padding:0; margin: 0; }
	.social-links a
	{ margin: 0 0 0 2px; background-color: #fff; }
	.social-links [class*=" icon-"]:before,.social-links [class^=icon-]:before
	{ display:inline-block; color:#1C3F90; line-height:24px; }

@media only all and (max-width: 1200px)
{
	.main-navigation ul ul
	{ left: 8px; }
	#menu-item-417 > ul
	{ right: 8px; }
	.main-navigation li a
	{ margin: 0 9px; }
}

@media only all and (max-width: 1130px)
{
	.main-navigation ul ul
	{ left: 6px; }
	#menu-item-417 > ul
	{ right: 6px; }
	.main-navigation li a
	{ margin: 0 7px; }
}

@media only all and (max-width: 1110px)
{
	/* height in calc substraction doesn't match top value because mobile browsers show their own interface (bottom bar) when nav is open. Add 75 to top value */
	.navScroller
	{ height: calc(100vh - 183px); top: 108px; left: 0; overflow-y: scroll; position: fixed; width: 100%; opacity: 0; visibility: hidden; -moz-transition: all 0.4s ease-in-out; -webkit-transition: all 0.4s ease-in-out; -o-transition: all 0.4s ease-in-out; transition: all 0.4s ease-in-out; }
	.noscroll .navScroller
	{ opacity: 1; visibility: visible; }
	.noscroll #main
	{ position: fixed; width: 100%; top: 0; }
	.noscroll .site-footer
	{ position: fixed; width: 100%; bottom: 0; }
	
	.site-header > .container
	{ padding-top: 16px; padding-bottom: 16px; }
	#burger
	{ display: inline-block; padding-top: 23px; }
	.main-navigation
	{ display: none; float: none; padding-top: 0; }
	.main-navigation .container
	{ padding: 0; }
	.main-navigation ul
	{ background-color: #fff; }
	.main-navigation ul li, .main-navigation ul ul li, .main-navigation ul ul li:first-child
	{ border-top: 1px solid #424242; }
	.main-navigation li a, .main-navigation div > ul > li > a:hover
	{ color: #424242; }
	.main-navigation li a, .main-navigation > div > ul > li > a, .main-navigation ul.nav-menu > li:hover > a
	{ border-bottom: none; }
	.main-navigation > div > ul > li.menu-item-has-children > a:before, .main-navigation > div > ul > li > ul > li.menu-item-has-children > a:before
	{ content: ""; width: 0; height: 0; border-top: 5px solid transparent; border-bottom: 5px solid transparent; border-right:none; border-left: 10px solid #54B848; position: absolute; right: 20px; top: 19px; left: auto; }
	.main-navigation a.leftTriangle:before
	{ border-right: 10px solid #54B848 !important; border-left: none !important; }
	.noscroll .main-navigation
	{ display: block; }
	.noscroll .main-navigation ul ul li a
	{ padding-left: 35px; }
	.noscroll .main-navigation ul ul ul li a
	{ padding-left: 55px; }
}

@media only all and (max-width: 1023px)
{
	.subPageLeft
	{ float: none; }

	#main
	{ font-size: 1.6rem; }
	h2
	{ font-size: 3rem; }
	h3
	{ font-size: 2rem; }
	
	.imageHeader .text
	{ width: 40% }
	.imageHeader h1
	{ font-size: 5rem; }
	.imageHeader p
	{ font-size: 3.2rem; }
}

@media only all and (max-width: 900px)
{
	.imageHeader h1
	{ font-size: 4rem; }
	.imageHeader p
	{ font-size: 2.6rem; }

	.site-footer .col
	{ width: 48%; }
	.site-footer .col:first-child
	{ padding-bottom: 2%; }
	#footer-navigation, .site-footer .col:last-child
	{ text-align: right; }
}

@media only all and (max-width: 767px)
{
	.imageHeader
	{ padding: 30px 0; }
	.imageHeader h1
	{ font-size: 3.2rem; }
	.imageHeader p
	{ font-size: 2.2rem; }
	
	.formStyle p
	{ display: block; float: none; margin: 0; padding: 0 0 15px 0; width: 100%; }
	
	.emailSignup .left
	{ float: none; width: 100%; padding-top: 0; }
	.emailSignup .right
	{ float: none; width: 100%; }
}

@media only all and (max-width: 600px)
{
	p
	{ margin: 0 0 15px 0; }
	
	.imageHeader .container
	{ display: block; }
	.imageHeader .image
	{ width: 100%; padding-top: 64%; }
	.imageHeader .text
	{ width: 100%; padding: 7% 0 0; }
	
	.site-footer .container
	{ display: block; }
	.site-footer .col, .site-footer .col:first-child
	{ width: 100%; padding: 4% 0; }
	.site-footer, #footer-navigation, .site-footer .col:last-child
	{ text-align: center; }
	.site-footer p
	{ margin-bottom: 15px; }
	#footer-navigation li
	{ padding-bottom: 15px; }
}

@media only all and (max-width: 550px)
{
	.genericContent
	{ padding: 10% 0; }
}

@media only all and (max-width: 450px)
{
	.quoteCarousel .source
	{ padding: 0; opacity: 1; }
	
	.emailSignup .right input[type="submit"]
	{ padding: 18px 20%; }
}

