html, body {margin: 0; padding: 0;}

@font-face {font-family: 'Mazin'; font-style: normal; font-weight: 400; font-display: block;
  src: local(''), url('fonts/mazin-400.woff2') format('woff2'), url('fonts/mazin-400.woff') format('woff');
}
@font-face {font-family: 'Mazin'; font-style: normal; font-weight: 500; font-display: block;
  src: local(''), url('fonts/mazin-500.woff2') format('woff2'), url('fonts/mazin-500.woff') format('woff');
}
@font-face {font-family: 'Archivo'; font-style: normal; font-weight: 700; font-display: block;
  src: local(''), url('fonts/archivo-narrow-700.woff2') format('woff2'), url('fonts/archivo-narrow-700.woff') format('woff');
}

body {font-family: 'Mazin', Arial, Helvetica, sans-serif; font-variant-ligatures: none !important; word-spacing: 1px;}

#width {position: fixed; top: 0; z-index: 20; padding: 0 3px; font-size: 11px; line-height: 14px; font-family: Arial, Helvetica, sans-serif; background-color: #FF0;}
a, a:visited, a:hover {outline: none; color: #2E3FE1;} a {text-decoration: underline; text-decoration-thickness: 1px; text-decoration-style: dotted; text-underline-offset: .1em; cursor: pointer;}
img {border: 0; image-rendering: -webkit-optimize-contrast;}
.phlink {color: inherit !important; text-decoration: none !important; white-space: nowrap;} .phlink:hover {cursor: text;}
a, *:hover {-webkit-tap-highlight-color: transparent;}

/*-----------------------------------------------*/

/*HEADER*/

@media (min-width: 601px) {#headtop, header, #logo {position: fixed;}}

#headtopback, #headtop {height: 40px;} #headtop, header {display: table; width: 100%; margin: auto; z-index: 2;}
#headerback, header {height: 130px;} header {box-shadow: 0 3px 7px -5px #000; text-align: center; box-sizing: border-box;}

#logo {z-index: 300; top: 12px;} #logo img {display: block; width: 100px; height: 150px;}
#logo a {display: table-cell; vertical-align: middle;}

@media (min-width: 2441px) {#headtop, header, .navheader {padding: 0 15%;}}
@media (max-width: 2440px) {#headtop, header, .navheader {padding: 0 12%;}}
@media (max-width: 2245px) {#headtop, header, .navheader {padding: 0 8%;}}
@media (max-width: 2035px) {#headtop, header, .navheader {padding: 0 3%;}}
@media (max-width: 1400px) {#headtop, header, .navheader {padding: 0;} #logo {margin-left: 25px;} #phone {padding-right: 3%;}}

#phone {font-size: 20px; line-height: 1; right: 0; top: 10px; text-align: right; white-space: nowrap;}
#phone, #phone a {font-weight: 500;} #phone span {font-size: .9em; font-weight: 400; margin: 0 5px;}
@media (max-width: 600px) {#logo {margin-top: -28px;}}

/*----------------*/

/*MENU*/

a, *:hover {-webkit-tap-highlight-color: transparent;} #navcheck {display: none;}
nav a.selected {cursor: text; pointer-events: none; -webkit-user-select: none; -webkit-touch-callout: none;}

nav a {display: block; position: relative; text-decoration:none !important; cursor: pointer; line-height: 1.25; font-weight: 400; vertical-align: middle; -webkit-transition: background .2s, font-size .3s;}
nav a.selected {cursor: text;}

@media (min-width: 1821px) {nav a {height: 40px;} .navheader {top: 42px;} nav a {padding: 3px 11px 3px 11px;}}
@media (max-width: 1820px) and (min-width: 1401px) {.navheader {top: 38px;} nav a {height: 48px; font-size: 16px; padding: 3px 11px;} nav span {display: block;} }
@media (max-width: 1285px) and (min-width: 1401px) {nav a {font-size: 15px; padding: 3px 7px;}}
@media (min-width: 1401px) {
.ham {display: none;} .navheader {position: absolute; right: 0;}
nav {display:inline-block;} nav div {display: inline-block; vertical-align: middle; white-space: nowrap;}
nav a {display: table-cell; text-align: center; border-radius: 5px;}
}
@media (max-width: 1400px) {
.navheader {left: 0; right: 0;}
nav {position: relative; text-align: center; transition: .2s; height: 0; font-size: 0; box-sizing: border-box; z-index: -1; top: 130px;}
nav div {display: inline-block; text-align: center; left: 0; right: 0; margin: 0 -2px; font-size: 0; height: 0; opacity: 0; transition: .2s; border: 1px solid transparent;}
nav a {text-align: center; font-size: 0; opacity: 0; height: 0; white-space: nowrap; padding: 1px 8px; border: 1px solid var(--menuline); pointer-events: none;}

#navcheck:checked ~ nav {height: 100%; z-index: 2; box-shadow: 0 8px 10px -2px #000; }
#navcheck:checked ~ nav div {opacity: 1; height: 65px;}
#navcheck:checked ~ nav a {font-size: 20px; opacity: 1; pointer-events: auto; height: 65px; vertical-align: middle; display: table-cell; width: 1%;}

.ham {position: absolute; z-index: 600; height: 35px; width: 45px; top: 38px; right: 32px; margin: auto; text-align: center; padding: 0 10px 10px 10px;}
.ham:hover {cursor: pointer;} .ham > div {top: 18px; left: 10px;}
.ham:after {content: "MENU"; position: absolute; line-height: 1; top: 39px; bottom: 0; left: -2px; right: 0; font-size: 17px; text-align: center; font-weight: 500; color: var(--menuselect);}

.ham div {top: 18px; left: 10px; -webkit-transition: -webkit-transform 0.4s ease-out;}
.ham div, .ham div:before, .ham div:after {position: absolute; display: block; content: ""; height: 4px; width: 44px; opacity: 1; background-color: var(--menuselect); border-radius: 2px;} .ham div:before {top: -11px;} .ham div:after {top: 11px;}

#navcheck:checked ~ .ham div {width: 0; transform: rotateX(180deg); transition-timing-function: ease;}
#navcheck:checked ~ .ham div:before {-webkit-transform: rotateZ(37deg); top: 0;}
#navcheck:checked ~ .ham div:after {-webkit-transform: rotateZ(-37deg); top: 0;}
}
@media (max-width: 1400px) and (min-width: 601px) {
.navheader {margin: 0 -2px;} nav div {width: 33.3%;}
#navcheck:checked ~ nav div:last-child {width: 100%;}
#navcheck:checked ~ nav div:last-child, #navcheck:checked ~ nav div:last-child a {height: 55px;}
}
@media (max-width: 1400px) and (min-width: 396px) {
#navcheck:checked ~ nav div:first-child {width: 100%;}
#navcheck:checked ~ nav div:first-child, #navcheck:checked ~ nav div:first-child a {height: 55px;}
}
@media (max-width: 875px) and (min-width: 601px) {nav div:nth-child(9) span {display: block;}}
@media (max-width: 635px) and (min-width: 601px) {nav span {display: block;}}
@media (max-width: 600px) {
nav {top: 8px;} .ham {top: 78px; right: 15px;}
#navcheck:checked ~ nav {box-shadow: 0 10vw 50px 0 rgba(0, 0, 0, 0.7);}
#navcheck:checked ~ nav div {width: 50%; height: 65px;} nav div {margin: -.5px -2px;}
#navcheck:checked ~ nav a {height: 65px;}
}
@media (max-width: 600px) and (min-width: 396px) {nav div:nth-child(9) span {display: block;}}
@media (max-width: 460px) and (min-width: 396px) {nav span {display: block;}}
@media (max-width: 395px) {#navcheck:checked ~ nav div {width: 100%;}}
@media (max-width: 310px) {nav div:nth-child(9) span {display: block;}}

:root {--menuline: #A0D8EC; --menuback: #00AEEF; --menuhover: #5BD2FE; --menuselect: #0176AB; --yellow: #FFF301;} /*#007EB7 - accessible but too dark*/
nav a {background-color: var(--menuback); color: #FFF !important;}
nav .selected {background-color: var(--menuselect);}
nav a:hover:not(.selected) {background-color: var(--menuhover); color: #444 !important;}
@media (max-width: 1400px) {nav {background-color: var(--menuback);}}

/*-----------------------------------------------*/

/*Top Pic*/

#toppic {position: relative; height: 40vw; max-height: 280px; overflow: hidden; display: flex; align-items: center; border-bottom: 8px solid var(--yellow); background-color: #999;}
#toppic img {width: 500px; height: 300px; width: 100vw; height: auto;}

.caption {position: absolute; display: table-cell; left: 5%; right: 5%; text-align: center; top: 48%; -webkit-transform: translateY(-48%); transform: translateY(-48%); z-index: 1; margin: 0 auto; font-size: 90px; color: #FFF;}
.caption h1 {font-family: 'Archivo', Arial, Helvetica, sans-serif; font-size: 1em; line-height: 1; font-weight: 700 !important; text-shadow: 1px 1px 2px #000;}

@media (min-width: 501px) {#toppic img {filter: brightness(65%);}}
@media (max-width: 690px) {.caption h1 {font-size: 13vw;}}
@media (max-width: 500px) {#toppic {height: 42vw;}}

/*-----------------------------------------------*/

/*BODY AREA*/

#bread {font-size: 14px; line-height: 1.4; margin-bottom: 10px;} #bread a {text-decoration: none;}
.bodyarea {padding: 20px 0 40px 0; margin: auto; width: 85%; max-width: 1500px;}
.bodyarea, h2 {font-size: 21px; line-height: 1.6; font-weight: 400 !important;}
.bodyhead {padding-bottom: 10px; font-weight: 500 !important; font-size: 1.8em; letter-spacing: -.5px; line-height: 1.25; text-align: center; word-spacing: 3px;}
.mainhead {visibility: hidden; padding: 0; margin: 0; font-size: 0 !important; line-height: 0 !important;}
section .bodyhead {padding-top: 0;}
.heading {font-weight: 500; font-size: 1.4em; line-height: 1.3; letter-spacing: -.5px; word-spacing: 1.5px;}
.heading2 {font-weight: 500; font-size: 1.15em; line-height: 1.35;}
@media (max-width: 800px) {.bodyhead {font-size: 1.7em; line-height: 1.2;}}
@media (max-width: 480px) {.bodyhead {font-size: 1.6em;}} @media (max-width: 360px) {.bodyarea {width: 88%;}}
h1, h2, h3, h4, h5 {margin: 0 !important;}

.divide:nth-child(even) {background-color: #EEE;} .divide .bodyarea {padding: 40px 0 25px 0;} /*might be odd, not even*/
.divide:last-of-type {padding-bottom: 20px;}

ul.thislist {margin-left: -20px;} ul.thislist li:not(ul li:last-child) {padding-bottom: 15px;} ul.thislist span {font-weight: 500;}

/*-----------------------------------------------*/

/*Service Page Blocks*/

#services, #services2, #services3 {margin: 30px auto 40px auto; text-align: center; font-size: 20px;} #services *, #services2 * {box-sizing: border-box;}
#services2 div, #services div, #services3 div {background-color: var(--menuselect); color: #FFF; border-radius: 6px; text-align: left;}
#services a, #services2 a, #services3 a {color: #A6F5FF;}


#services div {font-size: .85em; line-height: 1.5;}
#services h3 {width: 100%; margin: 0 0 20px 0 !important; padding-bottom: 15px; font-size: 1.5em; line-height: 1.35; font-weight: 500; border-bottom: 1px solid #FFF; color: var(--yellow);}
#services span {display: block; font-weight: 400; color: #FFF;}

@media (min-width: 1136px) {#services div {flex: 1 1 30%; margin: 8px; padding: 20px 25px 25px 25px;}} /*flex: 0 0 30% makes boxes NOT extend 100%*/
@media (max-width: 1135px) {#services div {flex: 1 1 45%; margin: 5px; padding: 15px 20px 20px 20px;}}
@media (min-width: 821px) {#services {display: flex; flex-wrap: wrap; justify-content: center;}}
@media (max-width: 820px) {#services div {flex: 1 1 45%; margin: 10px auto;}}


/*for Carpet Cleaning page*/

#services2 div {font-size: .95em; line-height: 1.45;}
#services2 span {display: block; width: 100%; text-align: center; margin: 0 auto 20px auto; padding-bottom: 15px; font-size: 1.5em; line-height: 1.35; font-weight: 500; border-bottom: 1px solid #FFF; color: var(--yellow);}

@media (min-width: 1061px) {#services2 div {flex: 0 0 45%;}} /*flex: 0 0 30% makes boxes NOT extend 100%*/
@media (max-width: 1060px) {#services2 div {flex: 1 1 45%;}}
@media (min-width: 901px) {#services2 div {padding: 20px 25px 10px 25px;}}
@media (max-width: 900px) {#services2 div {padding: 20px 20px 10px 15px;}}
@media (min-width: 761px) {#services2 {display: flex; flex-wrap: wrap; justify-content: center;} #services2 div {margin: 8px;}}
@media (max-width: 760px) {#services2 div {margin: 15px auto;}}


/*for Construction Cleaning page*/

#services3 div {font-size: .85em; line-height: 1.5;}
#services3 h3 {width: 100%; margin: 0 0 20px 0 !important; padding-bottom: 15px; font-size: 1.5em; line-height: 1.35; font-weight: 500; border-bottom: 1px solid #FFF; color: var(--yellow);}
#services3 span {display: block; font-weight: 400; color: #FFF;}

@media (min-width: 1326px) {#services3 div {flex: 1 1 25%; margin: 8px; padding: 20px 25px 10px 25px;}} /*flex: 0 0 30% makes boxes NOT extend 100%*/
@media (max-width: 1325px) {#services3 div {flex: 1 1 40%; margin: 8px; padding: 20px 20px 10px 15px;}}
@media (min-width: 981px) {#services3 {display: flex; flex-wrap: wrap; justify-content: center;}}
@media (max-width: 980px) {#services3 div {flex: 1 1 45%; margin: 10px auto;}}

/*-----------------------------------------------*/

/*Page Pics*/

.pagepic img {border-radius: 3px; width: 500px; height: 300px; width: 100%; height: auto; display: block;}
.picwide {max-width: 500px;} .pictall {max-width: 350px;}
.picleft {float: left; margin: 10px 40px 30px 0;} .picright {float: right; margin: 10px 0 30px 40px;}
@media (max-width: 1050px) and (min-width: 871px) {.picwide {max-width: 430px;}}
@media (max-width: 870px) {.picleft, .picright {text-align: center; float: none; margin: 35px auto;} .pictall {max-width: 400px;}}

/*-----------------------------------------------*/

/*Ready*/

#ready {clear: both; text-align: center; padding: 40px 20px; font-size: 2.1em; line-height: 1.4; font-weight: 500; color: #FFF; background-color: var(--menuback);}
#ready div {margin-top: 25px;}
#ready div {display: block;} #ready a {display: inline-block; border-radius: 5px; font-weight: 500; padding: 12px 15px 10px 15px; font-size: 21px; text-decoration: none !important;}
#ready div a {color: #000; background-color: var(--yellow);} #ready a:before {border: var(--yellow) solid 6px;}

@-webkit-keyframes rippleout {100% {top: -12px; right: -12px; bottom: -12px; left: -12px; opacity: 0;}}
@keyframes rippleout {100% {top: -12px; right: -12px; bottom: -12px; left: -12px; opacity: 0;}}
#ready a {display: inline-block; vertical-align: middle; box-shadow: 0 0 1px rgba(0, 0, 0, 0); position: relative;}
#ready a:before {content: ''; position: absolute; top: 0; right: 0; bottom: 0; left: 0; -webkit-animation-duration: 1s; animation-duration: 1s; pointer-events: none; border-radius: 5px;}
#ready a:hover:before, #ready a:focus:before, #ready a:active:before {-webkit-animation-name: rippleout; animation-name: rippleout; border-radius: 5px;}

/*-----------------------------------------------*/

/*BOTTOM AREA*/

.btmareaback {background-color: #444;} .btmarea a {color: #FFF;}
.btmarea {display: grid; box-sizing: border-box; max-width: 1200px; margin: 0 auto; color: #FFF;}

.block {font-size: 16px; box-sizing: border-box; border: 0px solid #F00;}
.block .btmhead {display: block; font-size: 30px; font-weight: 500; color: var(--menuhover);}

.block1 {font-weight: 300; line-height: 1.5;}
.block1 img {display: block; width: 160px; height: 236px; margin: auto;}

.block2 *, .block3 * {white-space: nowrap;}

.block2 a {text-decoration: none;} .block2 a:hover {text-decoration: underline;}
.block2 ul {padding-top: 4px; margin-left: -20px;} .block2 li:not(.block2 li:last-child) {padding-bottom: 12px;}

.block3 {font-size: .85em; line-height: 1.5;}
.block3 span {display: block; font-size: 1.3em; line-height: 1.4; font-weight: 500; margin-bottom: 5px; white-space: normal;}
#hrs {padding-top: 15px; border-top: 1px solid #AAA; border-bottom: 1px solid #AAA;} #hrs span {text-decoration: underline;}

.btmicons {margin: 15px 0;} .btmarea .phlink {font-size: 1.3em; font-weight: 500;}
.btmicons img {margin: 2px 8px 15px 0; vertical-align: top;}
.btmsoc {margin-top: 15px;} .btmsoc img {width: 32px; height: 32px; margin: 0 3px;}
@keyframes shake {20% {-webkit-transform: rotateZ(-8deg);} 80% {-webkit-transform: rotateZ(8deg);}}
.btmsoc img:hover {-webkit-animation: shake .16s 5;}

@media (min-width: 1001px) {
.btmarea {grid-template-columns: repeat(9, 1fr);}
.block1 {grid-column: 1 / 4;} .block2 {grid-column: 4 / 8; justify-self: center;} .block3 {grid-column: 8 / 10;}
}
@media (max-width: 1000px) {.block1 {grid-column: 1 / -1; grid-row: 1; margin-bottom: 30px;} .block2 {justify-self: flex-start;}}

@media (max-width: 1000px) and (min-width: 801px) {
.btmarea {grid-template-columns: repeat(13, 1fr);}
.block2 {grid-column: 3 / 8;} .block3 {grid-column: 8 / 12;}
}
@media (max-width: 1000px) and (min-width: 581px) {.block2, .block3 {grid-row: 2;}}

@media (max-width: 800px) and (min-width: 651px) {
.btmarea {grid-template-columns: repeat(14, 1fr);}
.block2 {grid-column: 2 / 9;} .block3 {grid-column: 9 / 14;}
}
@media (max-width: 650px) and (min-width: 581px) {
.btmarea {grid-template-columns: repeat(3, 1fr);}
.block2 {grid-column: 1 / 1;} .block3 {grid-column: 3 / 3;}
}
@media (min-width: 581px) {.btmareaback {padding: 35px 50px;} .block3 {justify-self: flex-end;}}
@media (max-width: 580px) {
.btmareaback {padding: 35px 30px;}
.btmarea {grid-template-columns: 1fr;} .block2 {margin-bottom: 20px;}
/*.btmarea section {grid-column: 1;}*/ .block2, .block3 {justify-self: center;}
}
@media (max-width: 360px) {.block2, .block3 {justify-self: flex-start;}}

#totop {position: fixed; height: 18px; width: 18px; right: 14px; bottom: 12px; z-index: 100; padding: 8px 9px 8px 10px; border: 2px solid rgba(155, 155, 155, .4); background-color: rgba(80, 80, 80, 0.45); border-radius: 4px;}
#totop div {font-family: Arial, Helvetica, sans-serif; display: inline-block; -webkit-transform: rotate(90deg); transform: rotate(90deg); font-size: 32px; line-height: 18px; color: #FFF;}
#totop:hover {-webkit-transform: scale(1.05);}
@media (min-width: 481px) {#totop {-webkit-transition: .15s;}}

/*-----------------------------------------------*/

/*Footer*/

#serving {font-size: 12px; line-height: 1.4; color: #BBB; font-family: Arial, Helvetica, sans-serif;}
#serving a, .nolink {color: inherit !important; text-decoration: none !important; cursor: text; white-space: nowrap;}

footer {font-size: 14px; line-height: 1.6; padding: 25px 25px 22px 25px; text-align: center; background-color: #222;}
footer, footer a {color: #FFF;} .copy {font-size: 1.2em;}
.web {font-size: 12px; font-family: Arial, Helvetica, sans-serif; color: #BBB;}
.web a {font-style: italic; text-decoration: none; white-space: nowrap; color: #FFF;} .web a:hover {text-decoration: underline;}

/*====================================================*/

/*COLORS*/

body, header {background-color: #FFF;} #headtop {background-color: #888;}
#phone, #phone a, #phone span {color: #FFF;}
.bodyarea {color: #444;} .heading2 {color: #000;}
.bodyhead, .heading {color: var(--menuback);}

