/*
Theme Name: Heavens Best Modern
Theme URI: https://github.com/stevenmonson/HeavensBestTemplate
Author: EZ-NetTools (Steve Monson)
Author URI: http://eznettools.com/
Github Theme URI: https://github.com/stevenmonson/HeavensBestTemplate-2-0
Description: A specialized theme made just for Heaven's Best operators 
Version: 1.3.8
License: GNU General Public License
License URI: https://www.gnu.org/licenses/gpl.html
Tags: custom-menu, featured-images, microformats, carpet cleaners
Text Domain: heavens-best-modern
*/

body {
background:#a0cef5;
margin:0;
font-family: 'Roboto', sans-serif;
}

html {box-sizing: border-box;}
*, *:before, *:after { box-sizing: inherit;}

.mainWrapper {
width:98%;
width:calc(100% - 14px);
max-width:1300px;
margin:0 auto;
background:white;
box-shadow:0 0 8px rgba(0,0,0,.25);
}

#wrapper {
padding-bottom: 10px;
}

.sticky-call-action {
position:fixed;
bottom:0; right:10px;
z-index:999;
overflow:hidden;
text-align:center;
perspective:900px;
pointer-events: none;
}
.sticky-call-action.active {pointer-events: all;}
.sticky-call-action .popup {
color:#333;
padding:0 4px 4px;
transform:translate(0%, 115%) rotateY(-180deg);
transition: transform 0.6s 0.0s cubic-bezier(.23,1,.32,1);
}
.sticky-call-action.active .popup{
transform:translate(0%, 0%) rotateY(0deg);
transition: transform 0.8s 0.4s cubic-bezier(.23,1,.32,1);
}
.popup p {margin:.2em 0; font-weight:bold;}
.page-template-template-estimate-php .sticky-call-action {display:none;}

@media (max-width:500px){.sticky-call-action { left:0; right:0; }
	.sticky-call-action .popup { padding:2px; }
	.sticky-call-action .popup a {width:100%;}
	.popup p {display:inline-block;}}

/*----------------------------------------- General Formatting ------------------------------------------*/
h1, h2, h3, h4, h5, h6 {
margin:.2em auto .3em;
text-rendering: optimizeLegibility;
line-height:1.15;
}

h1 { font-size:2.2em; font-family: 'Oswald', sans-serif; }

h2 { font-size:1.8em; font-family: 'Oswald', sans-serif; }

h3 { font-size:1.4em; }

p { line-height:1.5; }

.entry-content li {margin:.8em 0;}

a { color:#0963b4; }

.button {
display:inline-block;
background:#345;
background:linear-gradient(#456,#23292f);
color:white;
padding:.6em 0.7em;
font-weight:bold;
line-height:1;
text-decoration:none;
border-radius:4px;
position: relative;
z-index: 99;
cursor:pointer;
}

.button:hover {background:#234; background:linear-gradient(#4c6072,#283139); }

.button:after {content:" \00bb"; display:inline-block; padding-left:.2em; transition:.15s cubic-bezier(.22,.61,.36,1); transform-origin:bottom; transform:translate(0,-1px); }
.button:hover:after {transform:translate(.2em,-1px);   }

.primary.button {
background:#d3391f;
background:linear-gradient(#d94123, #ca2e19);
font-size:1.35em;
border:solid .1em #ffc786;
}
.primary.button:hover {
  background:#e8391f;
  border-color:#ffdd88;
}

.secondary.button {
border:solid 2px;
padding:8px;
background:none;
}
.secondary.button:hover {
background:rgba(200,200,200,.2);
}

.mobile-only {display:none;}
.primary.button.mobile-only {display:none;}

.video-container { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; }
.video-container iframe, .video-container object, .video-container embed, .video-container video { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

blockquote {
font-size:1.25em;
font-style:italic;
margin:2em;
}

.review-wrapper {display:flex; flex-wrap:wrap; text-align:center;}
.h-review {display:inline-block; position:relative; border:solid 1px #eee; flex: 1 1 400px;}
.h-review .post-edit-link {position:absolute; top:0; right:0; display:block; padding:.5em; text-decoration:none; background:rgba(90,190,255,.2); }
.dt-published { display:block; color:#999; font-size:.8em; margin:.3em 0; }
.e-content{display:block; line-height:1.2; font-size:.95em; }
.e-content p {line-height:1.2; max-width:380px; margin:auto; }

cite {font-style:normal; font-size:1.1em; font-weight:bold; margin:4px; }
cite .city-label {font-weight:normal;}
blockquote p {margin:.5em 0;}

img {max-width:100%; height:auto;}

figure {margin:0; padding:0;}
figcaption {}

.alignright{ float:right; margin-left:15px; clear:right; margin-top:.25em; max-width:50%;}
.alignleft{ float:left; margin-right:15px; clear:left; margin-top:.25em; }
.aligncenter{ display:block; margin:auto; }

.maxwidth { max-width:960px; margin-left:auto !important; margin-right:auto !important;  }

article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section {display:block}
.clear{clear:both}

.wp-caption { margin-bottom:1em; text-align: center;}
.wp-caption-text {margin:.1em 0; font-size:.75em; line-height: 1.3; color:#555; }
.gallery-caption{}

.margin {margin:10px;}

.coupons + .margin {margin-top:0;}

.screen-reader-text { clip:rect(1px, 1px, 1px, 1px); position:absolute !important }


/*------------------------------------------- Header ------------------------------------------------------*/

.header {
display:flex;
justify-content: space-between;
flex-wrap:wrap;
padding:5px 0;
}

.logo {
float:left;
margin-left:5px;
margin-bottom: -80px;
position: relative;
z-index: 99;
width:136px;
}

.header-aside {
text-align:right;
flex:1 1 0;
order:3;
float:right;
line-height:1;
}

.header-aside .phone{
padding-right:8px;
font-size:1.6em;
font-weight:bold;
color:#2a2a2a;
white-space: nowrap;
}
.phone .phone-icon { animation:1.1s tada 1.6s ease-in-out; width:.93em; margin:0 -2px -0.1em;  }
.phone:hover .phone-icon { animation:1.2s tada  ease-in-out infinite; }
@keyframes tada {
  from {transform: scale3d(1, 1, 1);}
  10%, 20% {transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);}
  30%, 50%, 70%, 90% {transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 4deg);}
  40%, 60%, 80% {transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -4deg);}
  to { transform: scale3d(1, 1, 1);}
}

.dry-ribbon { display:inline-block; margin-right:-12px; max-width:230px; }

.sticky-header {
position:fixed; top:-250px; left:0; right:0;
transition: .4s ease-out;
z-index:999;
font-size:80%;
}
.sticky-header .header { background:rgba(255,255,255,.94); box-shadow:0 1px 2px rgba(0,0,0,.25); padding:0; }
.sticky-header .topnav { padding:0; width:auto;}
.sticky-header .logo { width:68px;}
.sticky-header .header-aside {padding-top:.6em;}
.sticky-header .header-aside .phone {font-weight:bold; font-size:1.75em;}

@media screen and (min-width:500px) and (min-height:360px){.sticky-header.active {  top:0; }
	.admin-bar .sticky-header.active { top:32px; }}

/*------------------------------------------ Top Navigation -------------------------------------------------*/

nav ul {list-style:none; margin:0; padding:0;}

.topnav {
float:left;
flex: 1 1 auto;
display:flex;
align-items: center;
padding:8px 6px;
line-height:1;
}

.topnav li {
display:inline-block;
position:relative;
}
.topnav li.current-menu-item > a, .topnav li.current-menu-ancestor > a {
background: #edf6ff;
border: solid 1px #def;
}

.topnav li a {
display:inline-block;
padding:.8em;
color:#123;
font-size:1.1em;
text-decoration:none;
}
.topnav li:hover {
background: #edf6ff;
}
.topnav li.menu-item-has-children > a:after {
content:""; 
display:inline-block;
border:solid .14em transparent;
border-top:solid .24em;
border-bottom:solid .4em transparent;
vertical-align:bottom;
line-height:1;
margin-left:4px;
opacity:.8;
}

.topnav .sub-menu {
display:none;
position:absolute;
top:100%; left:0;
background:transparent;
font-size:85%;
min-width:14em;
box-shadow:0 2px 4px rgba(0,15,45,.4);
z-index:999;
overflow: hidden;
transform-origin: top;
}

.topnav li:hover .sub-menu, .topnav li:focus .sub-menu {display:block; animation:dropdown .3s cubic-bezier(.22,.61,.36,1) both; }

.topnav li:hover li {  }

@keyframes dropdown {
	0%{ opacity: 0; transform:scaleY(0); }
	100% {opacity: 1;}
}



.topnav li .sub-menu li, .topnav li .sub-menu li a { display:block; line-height:1.15; }

.topnav li .sub-menu li a{border-bottom:solid 1px #d4d8de; background:#fff; background:rgba(255,255,255,.96);}

.topnav li .sub-menu li a:hover{ background: #edf6ff;}


.topnav li:last-child .sub-menu{left:auto; right:0;}

/*--------------------------------------- Layout Elements ----------------------------------------------*/
.post, .entry-content {
padding:0.5em 10px;
}

.section-header {
text-align:center; 
padding:10px 4px 10px; 
}


.section-footer { 
text-align:center; 
padding:5px; 
}

.blue-header {
background:#2a79c0;
color:white;
border-radius: 3px 3px 0 0 ;
margin:10px 10px 0;
padding:.5em 1em;
}
.header-toggle {cursor:pointer;}
.header-toggle > *:before {
content:' '; 
display:inline-block; 
border:solid .3em transparent;
border-left:solid .3em; border-right:solid 0;
vertical-align:middle;
margin-right:.3em;
transition:.2s ease-out;
}
.header-toggle.open {background:#3586cf;}

.header-toggle.open > *:before { transform:rotate(90deg); }

.maxwidth .blue-header {margin:20px 0 0;}
.blue-box {
background:#eef7ff;
padding:1em;
margin:0 10px 0;
box-shadow:inset 0 1px 6px rgba(0,10,60,.08);
}


/*========================================= Homepage ====================================================*/

/*---------------- Homepage Banner ------------*/
.banner {
background-color:#222;
position:relative;
margin:5px 10px;
min-height:19em;
overflow:hidden;
}
.banner video { vertical-align:top; max-width:100%;  }
.banner img {width:100%;}
.clouds {
position:absolute;
bottom:-1px; left:0;
z-index:30;
pointer-events: none;
}
.banner .image-box {
position:absolute; top:0; left:0; right:0; bottom:0;
background-size:cover;
}


/*--- Wallop Slideshow -----*/
.slideshow {
    padding-bottom: 32.3%;
    background: #2e3e69;
    position: relative;
}
.Wallop { position:absolute; top:0; left:0; right:0; bottom:0; }
.Wallop-item {
  /*visibility: hidden;*/
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size:cover;
}
.Wallop-list {
margin:0; padding:0;
position: absolute;
width: 100%;
height: 100%;
}
.Wallop-item--current {
  visibility: visible;
  position: relative;
}
.Wallop-buttonPrevious, .Wallop-buttonNext {
position:absolute; top:0%; 
background:rgba(255,255,255,.05);
color:rgba(0,0,0,.6);
font-size:2em;
height:100%;
border:none; 
z-index:99;
}
.Wallop-buttonPrevious:hover, .Wallop-buttonNext:hover { color:#111; background:rgba(255,255,255,.15); }
.Wallop-buttonPrevious {left:0;}
.Wallop-buttonNext {right:0;}



.banner .textbox {
position:absolute;
right:0; top:0; bottom:0;
width:100%;
padding-top:2em;
padding-right:3em;
padding-bottom:6em;
line-height:1.15;
color:white;
text-align:right;
text-shadow: 0 2px 24px rgba(0,0,0,.25), 0 2px 4px rgba(62,86,123, .75);
background: linear-gradient( 90deg , rgba(90,30,0,0) , rgba(9,30,0,.15) );
z-index:20;
}
.banner .textbox big {
display:block;
font-size:190%;
}

/*------------ Unique Selling Point Icons (USP) --------------*/

.usp-icons { display:flex; max-width:840px; margin:2.5% auto 1.25%; }

.usp-icons figure { 
	flex:1 1 auto; 
	text-align:center; 
	display:flex;
	flex-direction:column; 
	justify-content: flex-end;
	min-width:20%;
}
.usp-icons figure img { padding:0 1.5vw; }
.usp-icons figcaption { line-height:1; font-size:0.95em; padding:.15rem; color:#444; }


/*----------------------------------- Featured Services ---------------------------------------------*/
.featured-services {margin:5px;}

.featured-services .inner {
display:flex;
justify-content:space-between;
flex-wrap:wrap;
}

.featured-services .inner:after {content:' '; flex:1 1 22%;}

.featured-services figure {
background-size:cover;
position:relative;
color:white;
font-family: 'Oswald', sans-serif;
font-size:1.35em;
flex:1 1 22%;
margin:5px;
line-height:1.25;
width:100%;
}
.featured-services figure:after {
display: block;
content: " ";
padding-bottom: 70%;
}

.featured-services figcaption {
position:absolute;
display:flex;
align-items:center;
justify-content:center;
padding:6px;
left:0; top:0; right:0; bottom:0;
text-align:center;
text-shadow:1px 2px 2px rgba(20,40,60,.45);
color:white; 
transition:0.35s cubic-bezier(.17,.84,.44,1);
}
.featured-services a figcaption  { background:rgba(0,35,95,.25); transform:scale(1); outline:solid 1px transparent; }
.featured-services figure img { vertical-align:top; }

.featured-services a:hover figcaption {background:rgba(0,35,95,.1); transform:scale(1.1); }

.featured-services .button {text-align:center;}

.service-form {
background:#eee;
padding:20px 10px 20px;
margin:10px 0;
}
.service-form h2{padding-bottom:4px;}


/*-------------- homepage summary  ----------------*/

.homepage-summary {
background: linear-gradient( 185deg,  #fff, #fdfdfd, #f8f8f8);
border-bottom:solid 1px #e9e9e9;
margin: 40px 10px 20px;
padding:8px 0 0;
overflow:hidden;
}


/*----------------------------------- Coupons ----------------------------------------*/

.coupons .inner {
display:flex;
flex-wrap:wrap;
padding:10px 10px 0 0;
}

.coupon {
font-size:125%;
background:linear-gradient( #2A79C0, #599AD1 );
display:flex;
flex:1 1 325px;
margin-left:10px; margin-bottom:10px;
box-shadow:0 2px 4px rgba(0,0,0,.18);
overflow:hidden;
position:relative;
text-shadow:1px -1px rgba(10,30,60,.3);
text-decoration:none;
transition:.35s cubic-bezier(.39,.58,.57,1);
}

.coupon.see-all {color:white; display:flex; align-items: center;}

.coupon:hover { filter:saturate(1.06) ; }
.shine {
position: absolute;
top: 0; left: 0; right: 0; bottom: 0;
background:radial-gradient(farthest-side at 20% 130% , rgba(255,255,255,.3) 0%,rgba(255,255,255,0) 90%);
z-index: 1;
}

.coupon-text {
padding:1em 1.5em;
display:flex;
flex:1 1 100%;
flex-direction:column;
width:auto;
color:white;
border: dashed 2px rgba(255,255,255,.3);
margin: 12px;
z-index:3;
}
.coupon-text h2, .coupon-text h3{
line-height:1.1;
margin:.1em 0;
}


.coupon-text h2 {font-size:2.0em; text-transform:uppercase; text-align:center; }
.coupon-text h3 {font-size:1.3em;}
.coupon-text p { font-size:0.7em; margin:.5em 0;}
.expiration-date {
font-weight:bold;
text-align:right;
flex:1 1 auto;
display:flex;
justify-content: flex-end;
align-items: flex-end;
}
.expiration-date p { font-size:13px;}

@media print{#header, .blue-header { display:none; }
 	.sticky-header { position:static; }
 	.sticky-header .header {box-shadow:none;}
	.banner, .featured-services, .background-box, form {-webkit-print-color-adjust:exact;}
	.homepage-summary {margin-top:10px;}
 
	.coupons, .coupon, .accolade-bar, .homepage-summary, form { page-break-inside:avoid; position:relative; }
	.coupon { border:dashed 1px #000; box-shadow:none; }
	.coupon-text { border:dashed 1.5px #ccc; color:#000; }}

/*------------- Logos, Icons (BBB, Angies List, etc) ------------------*/
.accolade-bar {
display:flex;
justify-content:space-around;
align-items: center;
flex-wrap:wrap;
padding:0px 1.5%;
margin:0px 0;
}

.accolade-bar figure {margin:8px 0;}

.grayscale img { 
filter: grayscale(100%) brightness(1.1);
transition:.35s cubic-bezier(.39,.58,.57,1);
max-height:90px; 
width:auto;
}
.grayscale img:hover { 
filter: grayscale(0%) brightness(1.05);
}
 

/*-------------- Leave Google Review -----------------------*/
.leave-google-review {
text-align:center; 
background:#3183cf; 
color:white; 
padding: 12px 10px 90px; 
position:relative;
}
.leave-google-review a{color:white;}


/*---------- pagination ------------*/
.pagination { text-align:center; padding:4px; }

.page-numbers {padding:.5em; display:inline-block; border:solid 1px #ccc; text-decoration:none; line-height:1; }

.page-numbers.current {background:#2A79C0; color:#eee; }

/*------------------- Service Areas ---------------------*/

.service-areas { text-align:center; padding:10px 0;  }

.leave-google-review + .service-areas {margin-top:-7.6%; position:relative; z-index:99;}

.service-areas ul {margin:0; padding:0; display:block; }

.service-areas li {margin:0; display:inline-block;  }

.service-areas a {
display:inline-block;
padding:7px 10px;
background:#c1e3ff;
margin:3px 1px;
color:#111;
border-radius:2px;
font-size:.8em;
text-decoration:none;
box-shadow:1px 1px 2px rgba(0,30,90,.3) , inset 1px 1px 0px 1px rgba(255,255,255,.1);
}
.service-areas a:hover {
background:#daf1ff;
box-shadow:1px 1px 2px rgba(0,30,90,.4) , inset 1px 1px 2px 1px rgba(255,255,255,.8);
}
.service-areas .current-cat a {
  background:#e04a22;
  color:white;
}

.service-areas .menu-item-has-children {display:block; padding-bottom:1em; }
.service-areas .menu-item-has-children > a { font-weight:bold; font-size: 1.15em; background:none; box-shadow:none; color:#246;}
.service-areas .menu-item-has-children .sub-menu {padding:0 1em;}

/*--------------- Checklist box -------------------*/
.checkbox-list {
padding:1.1em 1em 1.6em;
background-color:#262c3f;
color:white;
font-size:130%;
position:relative;
overflow:hidden;
text-shadow:2px 2px 4px rgba(0,0,0,.35);
}
.checkbox-list .banner-image.lowres{opacity:0.5;}
.checkbox-list .section-header {padding-bottom:0.25em;}
.checkbox-list p {margin:.6em 0; }
.checkbox-list h2 {  font-size:2em;}
.checkbox-list h2:after {
	content:'';
	display:block;
	border:none;
	border-top: solid 1px white;
	box-shadow: 1px 1px 3px rgba(0,0,0,.5);
	margin:0.5em 0;
}
.checkmark {
width:1.25em;
margin-bottom:-.15em;
}

/*==================--- Formidable Forms  ---===================-*/
 
.frm_forms { clear:both; }

.frm_form_fields  {border:none; padding:0;  }

.frm_form_field { margin-bottom:18px; position:relative; vertical-align:top; flex:1 1 100%;}

.frm_hidden {display:none;}

.frm_form_field input, .frm_form_field textarea {
width:100%;
font:inherit;
padding:6px;
border:solid 1px #aaa;
border-radius:4px;
box-sizing: border-box;
}
.frm_form_field .frm_radio , .frm_form_field .frm_checkbox { padding:4px; }
.frm_form_field .frm_radio input, .frm_form_field .frm_checkbox input, .frm_form_field .frm_scale input {width:auto;}

.frm_form_field .frm_radio input:hover, .frm_form_field .frm_checkbox input:hover {transform: scale(1.1);}


.frm_style_formidable-style.with_frm_style .horizontal_radio .frm_checkbox, .frm_style_formidable-style.with_frm_style .horizontal_radio .frm_radio, .horizontal_radio .frm_catlevel_1 {
    display: inline-block;
}

.frm_scale {display:inline-block; text-align:center;}
.frm_scale label {display:inline-block; padding:8px;}
.frm_scale input {display:block; margin:0 auto;}


 .frm_total input,  .frm_total textarea {
	opacity:1;
	background-color:transparent !important;
	border:none !important;
	font-weight:bold;
	-moz-box-shadow:none;
	-webkit-box-shadow:none;
 	width:auto;
	box-shadow:none !important;
	display:inline;
	-moz-appearance:textfield;
	padding:0;
}

.frm_inline input {width:auto; max-width:100%;}

.frm_full, .frm_submit, .frm_form_title { width:100%; flex:1 1 100%; }
.frm_full input , .frm_full textarea {width:100%; }

.frm_primary_label {
display:block; width:auto; 
padding:4px;
position:relative;
}
.frm_error {
color: #c11; background: rgba(255,200,100,.3);
position: absolute;
left:0; right:0;
padding:3px;
text-align:center;
font-size:.85em;
}

.frm_primary_label h2 { font-size:1.5em;}
.frm_half {width: 48%; margin-left: 2.5%; margin-right:4px;  display:inline-block; flex: 1 1 45%;}
.frm_third {width:31.5%; margin-left: 2%; display:inline-block; flex: 1 1 30%;} 
.frm_fourth {width:24%; display:inline-block;  }

.frm_first { margin-left:0;}
 
.frm_description {font-size:12px; color:#444;}


.frm_message {
	background: #0b9e6a;
	color: white;
	text-align: center;
	padding: 1px 15px;
	border-radius: 6px;
	font-size: 1.2em;
}
.frm_message p{ margin:.55em 0; line-height:1.35;}

.frm_inline {display:inline-block;}
.frm_inline_container label {display:inline-block;}

.frm_form_field select {font:inherit; font-size:1em; font:inherit; border:solid 1px #aaa; width:100%; padding:6px; }

.frm_pos_none {display:none;}

.frm_dropzone {
border: dashed thin #aaa;
text-align: center;
padding: 2em 1em;
color: #888;
}

.frm_button_submit {
display:block;
margin:auto;
background: #3B434A;
color: white;
border: none;
padding: 8px 24px;
font: inherit;
font-size: 1em;
border-radius: 3px;
cursor:pointer;
}
.frm_button_submit:hover { background:#7C8287; }

.frm_button_submit:disabled { opacity:.3; cursor:not-allowed; }

.location-checkboxes div {display:inline-block; }

.frm_form_field .star {width:auto;}
 
.frm_form_fields div.rating-cancel, .frm_form_fields div.star-rating { 
	float:left;
	width:24px;
	height:24px;
	font-size:20px;
	line-height:normal;
	cursor:pointer;
	display:block;
	background:transparent;
	overflow:hidden;
	clear:none;
}
.frm_form_fields div.rating-cancel {display:none !important;}
.frm_form_fields div.rating-cancel a:before {
	font:16px/1 'dashicons';
	content:'\f460';
	color:#CDCDCD;
}
.frm_form_fields div.star-rating:before,.frm_form_fields div.star-rating a:before {
	font:1.2em/1 'dashicons';
	content:'\f154';
	color:#F0AD4E;
}
.frm_form_fields div.rating-cancel a,.frm_form_fields div.star-rating a {
	display:block;
	width:auto;
	height:100%;
	border:0;
}
.frm_form_fields div.star-rating-on:before,.frm_form_fields div.star-rating-on a:before {
	content:'\f155';
}
.frm_form_fields div.star-rating-hover:before,.frm_form_fields div.star-rating-hover a:before {
	content:'\f155';
}
.frm_form_fields div.frm_half_star:before,.frm_form_fields div.frm_half_star a:before {
	content:'\f459';
}
.frm_form_fields div.rating-cancel.star-rating-hover a:before {
	color:#B63E3F;
}
.frm_form_fields div.star-rating-readonly,.frm_form_fields div.star-rating-readonly a {
	cursor:default !important;
}
.frm_form_fields div.star-rating {
	overflow:hidden!important;
}


/*------------- CSS Stars ------------*/
 .frm_scale {  display:inline-block; text-align:center;}
.custom-stars {flex: 0 0 auto; margin:auto; text-align:center; }
.frm_top_container { }
.frm_primary_label { flex: 1 1 100%; }
.frm_scale {  margin:-8px 0 -24px; }
.frm_scale label {display:block; padding:1px; line-height:1;  }
.frm_scale label:before {content:"\2605"; color:#ccc; display:block; font-size:250%; }
.frm_scale input { opacity:.8;}
.frm_top_container:hover label:before {  color:orange; transform:scale(1.1); transition:.15s cubic-bezier(.18,.89,.32,1.28); }
.frm_top_container .frm_scale:hover ~ div label:before { color:#ccc; background:transparent; transform:scale(1); }
.selected label:before {  color:orange;  }

.show-stars-wrapper {display:inline-block; margin-top:-6px; position:relative; height:1.4em; font-size:1.65em; font-style:normal; color:#eee;}
.show-stars {position:absolute; top:0px; left:0; overflow:hidden; }
.show-stars.gray {color:#ccc;}
.show-stars.colored {color:orange; }



/*---------------- ACF forms ---------------------------*/

.acf-bl > li {
display: inline-block !important;
}
.acf-bl > li label {
padding:8px;
margin-bottom:4px;
border:solid 1px #ddd;
cursor:pointer;
border-radius:4px;
display: inline-block !important;
}
.acf-bl > li label:hover {border-color:#bbb;}

.acf-taxonomy-field ul.children {
padding-left: 4px !important;
display: inline-block;
}

.acf-form .acf-field input[type="text"], .acf-form .acf-field textarea { padding:6px; font:inherit; height:auto; border:solid 1px #aaa; border-radius:4px;}
 
.acf-input-wrap input {height:auto;}

/*=================================== Child Pages (Services) ======================================*/

.services-banner {padding-top:32%; position:relative; overflow:hidden;}

.banner-image {
background-position:center;
position:absolute; top:0; left:0; width:100%; height:100%;
animation: 14s Zoom alternate infinite both cubic-bezier(.39,.58,.57,1);
}

.lowres { filter:blur(5px); }

.banner-image.highres {}

@keyframes Zoom {
  0% {transform:scale(1);}
  100% {transform:scale(1.09);}
}



.services-banner header{
color:white;
background:black;
background:rgba(0,0,0,.5);
background:linear-gradient( rgba(0,20,40,.0), rgba(0,20,40,.2), rgba(0,20,40,.5) );
padding:1em;
text-shadow: 0 1px 4px rgba(0,20,40,.3), 0 -1px 12px rgba(0,20,40,.3);
position:relative; z-index:9;
}

.services-banner header h1 { line-height:1.3; font-size:2.6em; }

.cleaning-title {
display:inline-block;
animation: 1s fromLeft both 0.2s cubic-bezier(.39,.58,.57,1);
line-height:1.1;

}
.franchise-area-title {
animation: 1s fromRight both 0.2s cubic-bezier(.39,.58,.57,1);
}

@keyframes fromLeft {
  0% { transform: translateX(-110px); opacity:0; }
  100% { opacity:1; }
}



@keyframes fromRight {
  0% { transform: translateX(110px); opacity:0; }
  100% {transform: translateX(4px); opacity:1; }
}

.services-banner header small{
display:block;
font-size:48%;
}


/*------------- Cloud Animations -------------------*/
.background-box {
background-image: linear-gradient(143deg,  #3b86c6 40%, #a7ddff);
padding: 0em 0 8%;
color: white;
position: relative;
overflow: hidden;
clear:both;
}
.background {
  height:100%;
  position:absolute;
  bottom:-6%; left:0; right:0; 
  background-size:50% 100px;
  transform-origin: 50% 100%;
   width:200%;
   background-size:50% auto;
}
.background.front {
  background:url(https://res.cloudinary.com/ez-nettools/image/upload/v1498160474/cloudsFront_msajaf.png) repeat-x bottom ;
  background-size:50% auto;
  z-index:15;
  opacity:0.3;
  animation: move_cloud 8s linear infinite -1s;
 
}
.background.med {
  background:url(https://res.cloudinary.com/ez-nettools/image/upload/v1498160477/cloudsMed_zn9nld.png) repeat-x left bottom;
  background-size:50% auto;
  opacity:.5;
  z-index:10;
 animation: move_cloud 24s linear infinite ;
 
}
.background.back {
  background:url(https://res.cloudinary.com/ez-nettools/image/upload/v1498160474/cloudsFront_msajaf.png) repeat-x bottom;
  background-size:50% auto;
  opacity:1;
  z-index:5;
  animation: move_cloud 42s linear infinite ;

}

@keyframes move_cloud {
  0%{ transform:translateX(0) translateZ(0); }
  50% { transform:translateX(-25%) scaleY(0.75) translateZ(0); }
  100% { transform:translateX(-50%) translateZ(0); }
}




/*---------- Before and After Photo ----------*/

.before-after {
padding:10px;
}

.before-after-set {
display:flex;
margin:0;
justify-content: center;
text-align:center;
}

.before-after-set figure{
display:inline-block;
margin:0px 0px 4px ;
flex:1 1 200px;
}
.before-after-set figure img {width:100%;}


/*------------------------------------------------------ Footer ---------------------------------------------------------*/

#footer {
display:block;
background:#2a79c0;
color:white;
padding:1.25em;
}

.footer a{color:white;}

.footer .phone {float:right; font-size:32px; font-weight:bold;   }

.footer .social-icons {float:left; margin-top:.2em; }
.footer .social-icons a {text-decoration:none;}
.footer .social-icons img { width:32px; margin-right:3px; filter:drop-shadow(1px 1px rgba(10,40,90,.4) );}

 a.button.blue {background:#1765ad; border: solid 1px #c1d2e3; }

#copyright {clear:both; font-size:14px; text-align:center;}







/*:::::::::::::::::::::::::::::::::::: Media Queries :::::::::::::::::::::::::::::::::::::::::*/

@media (min-width:1080px){html { font-size:108%; }}

@media (min-width:1300px){html { font-size:115%; }
	.usp-icons figure img { padding:0 1.45em; }}




@media (max-width:1300px){#wrapper {margin-left:0;}
	.banner  { font-size:1.6vw; }}



@media (max-width:1230px){html { font-size:95%; }

	.logo { width:86px; }
	#wrapper {width:100%; }
	.dry-ribbon {max-width: 200px; margin-right:0px; overflow:hidden;}
	.dry-ribbon img {width:100%; text-align:right; margin-right:-16px;}
	.header-aside .phone{ font-size:1.6em; }}

@media (max-width:780px){.topnav li a { font-size:1em; }}

@media (max-width:680px){html { font-size:90%; }}


@media (max-width:660px){.header-aside { order:0; }
	.topnav {display:flex; width:100%; padding:18px 0 0;}
	.topnav ul {display:flex; flex: 1 1 auto; flex-wrap:wrap; }
	.topnav li {display:flex; flex:1 1 auto; text-align:center; }
	.topnav li a {flex:1 1 auto; border:solid 1px #eee; padding:1em .2em; border-radius:0;}

 	.banner {margin:0;}
  
	.accolade-bar img { max-height:68px; }

	.footer .social-icons, .footer .phone {float:none; text-align:center; margin:10px 0 0; }}

@media screen and (max-width:520px){.featured-services figure { flex:1 1 44%; margin:4px; }

	.banner .button { display:none; }


	.mobile-only {display:block;}
	.primary.button.mobile-only {display:block; text-align:center; }}

@media screen and (max-width:420px){.accolade-bar {flex-direction:column; padding:15px;}
	
	.frm_third {width:100%; margin:2px 0;}}


@media all and (-ms-high-contrast: none), (-ms-high-contrast: active){.usp-icons { flex-wrap:wrap; }	
	.usp-icons figure img { max-height:90px; }}