/* =============================================================================
   MODULES
   ========================================================================== */

.module { background-position: center center; background-repeat: no-repeat; background-size: cover; }
.module .wrapper { padding-bottom: 40px; padding-top: 55px; position: relative; }

/* BANNER
   ========================================================================== */

#banner { background-position: center center; background-repeat: no-repeat; -moz-background-size: cover; -ms-background-size: cover; -o-background-size: cover; -webkit-background-size: cover; background-size: cover; position: relative; }
#banner:before { background: -moz-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 100%); background: -webkit-linear-gradient(top, rgba(0,0,0,0) 0%,rgba(0,0,0,1) 100%); background: linear-gradient(to bottom, rgba(0,0,0,0) 0%,rgba(0,0,0,1) 100%); bottom: 0; display: block; height: 100%; position: absolute; left: 0; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#000000',GradientType=0); opacity: 0.8; width: 100%; }   
#banner #banner-content { padding-bottom: 0; padding-top: 44px; }  
#banner #banner-content .box { background: #58585a; border: 2px solid #ffffff; border-top-right-radius: 20px; color: #ffffff; font-size: 1.5rem; line-height: 2rem; margin-bottom: -35px; max-width: 500px; min-height: 360px; position: relative; }
#banner #banner-content .box:before,
#banner #banner-content .box:after { background: rgba(255,255,255,0.2); border-top-right-radius: 20px; display: block; height: 20px; left: 0; position: absolute; top: -20px; width: 100%; }
#banner #banner-content .box:after { bottom: 0; top: auto; }
#banner #banner-content .box .inner { padding: 30px; }
#banner #banner-content .box h1,
#banner #banner-content .box h2,
#banner #banner-content .box h3,
#banner #banner-content .box h4,
#banner #banner-content .box h5 { color: #ffffff; margin-bottom: 10px; }
#banner #banner-content .box h6 { color: #f7816d; margin-bottom: 20px; text-transform: uppercase; }
#banner #banner-content .box ul > li:before { content: "\f00c"; display: block; font-family: "fontAwesome"; font-size: 1.3rem; line-height: 1.75rem; left: 0; position: absolute; top: 0; }
#banner #banner-content .box ul > li + li { padding-top: 20px; }
#banner #banner-content .box ul > li + li:before { top: 20px; }
#banner #banner-content .buttons { float: right; margin-top: 100px; text-align: center; width: 75%; }
#banner #banner-content .buttons .button { margin-bottom: 15px; }

#banner.content-banner { background-image: url("/wp-content/uploads/2017/09/homepage-hero-banner.jpg"); min-height: 420px; width: 100%; }
#banner.content-banner .entry-header { position: absolute; top: 100%; -moz-transform: translateY(-100%); -ms-transform: translateY(-100%); -o-transform: translateY(-100%); -webkit-transform: translateY(-100%); transform: translateY(-100%); }
#banner.content-banner .entry-header h1 { color: #ffffff; }

/* CONTACT STRAPLINE
   ========================================================================== */

.module.contact-strapline .wrapper { padding: 28px 20px; } 
.module.contact-strapline .wrapper p { font-size: 2.4rem; font-style: italic; font-weight: 700; letter-spacing: -0.02em; line-height: 2.5rem; margin: 0; padding: 0; } 
 
/* RICH TEXT
   ========================================================================== */
   
.module.rich-text[style*="background-image"],
.module.rich-text[style*="background-image"] h1 { color: #ffffff; }
.module.rich-text .wrapper { padding-right: 178px; }
 
.module .wrapper.lpa-steps { padding-right: 40px; }
.module.rich-text .steps .step-row { display: -ms-flex; display: -webkit-flex; display: flex; height: 100%; max-height: 100%; min-height: 100px; text-align: center; width: 100%; }
.module.rich-text .steps .step-row:first-child { border-bottom: 1px solid #ffffff; }
.module.rich-text .steps .step-row .step-column { -ms-flex: 0 1 50%; -webkit-flex: 0 1 50%; flex: 0 1 50%; min-height: 100%; max-width: 50%; }
.module.rich-text .steps .step-row .step-column:first-child { border-right: 1px solid #ffffff; }
.module.rich-text .steps .step-row .step-column .inner { padding: 40px 40px 5px; }
.module.rich-text .steps .step-row .step-column .inner figure { background: #ffffff; -moz-border-radius: 50%; -webkit-border-radius: 50%; border-radius: 50%; height: 100px; margin: 0 auto 20px; width: 100px; }
.module.rich-text .steps .step-row .step-column .inner figure > img { position: relative; top: 50%; -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); -o-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%); width: 60px; }
.module.rich-text .steps .step-row .step-column .inner h4 { margin-bottom: 20px; }
.module.rich-text .steps .step-row + .step-row .step-column { padding-bottom: 30px; } 

/* TESTIMONIALS
   ========================================================================== */

.module.testimonials .wrapper { font-family: Georgia, Times, "Times New Roman", serif; font-size: 2rem; line-height: 2.7rem; padding-bottom: 190px; padding-top: 190px; }
.module.testimonials .wrapper:before,
.module.testimonials .wrapper:after { color: #ffffff; display: block; font-family: "Lora", serif; font-size: 30rem; font-style: italic; line-height: 15rem; position: absolute; text-shadow: 3px 4px 0 rgba(255,255,255,0.3); width: auto; }
.module.testimonials .wrapper:before { content: "“"; left: 0; top: 97px; }
.module.testimonials .wrapper:after { bottom: -42px; content: "”"; right: 20px; }

/* RESPONSIVE
   ========================================================================== */
	
@media screen and (max-width: 880px) {
	#banner #banner-content .box { max-width: 320px; }
	#banner #banner-content .buttons { width: 100%; }
	
	/* Testimonials */
	.module.testimonials .wrapper { padding-bottom: 120px; padding-top: 120px; }
	.module.testimonials .wrapper:before, 
	.module.testimonials .wrapper:after { font-size: 18rem; line-height: 6rem; }
	.module.testimonials .wrapper:before { top: 87px; }
	.module.testimonials .wrapper:after { bottom: 0; }
	}

@media screen and (max-width: 736px) {
	
	/* Banner */
	#banner #banner-content .box { float: none; margin: 0 auto; min-height: 0; }
	#banner #banner-content .buttons { float: none; margin: 30px auto; }
	#banner.content-banner { min-height: 280px; }
	
	/* Contact Strapline */
	.module.contact-strapline .wrapper { padding: 20px; }
	.module.contact-strapline .wrapper .right { float: none; text-align: center; }
	.module.contact-strapline .wrapper p { font-size: 1.6rem; line-height: 2.2rem; }
	
	/* Rich Text */
	.module.rich-text .wrapper { padding-right: 20px; }
	
	.module.rich-text .steps .step-row { -moz-flex-flow: column; -ms-flex-flow: column; -o-flex-flow: column; -webkit-flex-flow: column; flex-flow: column; }
	.module.rich-text .steps .step-row:first-child,
	.module.rich-text .steps .step-row .step-column:first-child { border-right: none; }
	.module.rich-text .steps .step-row .step-column { border-bottom: 1px solid #ffffff; -ms-flex: 0 1 100%; -webkit-flex: 0 1 100%; flex: 0 1 100%; max-width: 100%; }
	.module.rich-text .steps .step-row .step-column .inner { padding-left: 20px; padding-right: 20px; }
	.module.rich-text .steps .step-row + .step-row .step-column { padding-bottom: 0; }
	.module.rich-text .steps .step-row + .step-row { padding-bottom: 30px; }
}