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

@font-face {font-family: 'Tasa Orbiter'; font-style: normal; font-weight: 400; font-display: block;
  src: url('fonts/tasa-orbiter-400.woff2') format('woff2'), url('fonts/tasa-orbiter-400.woff') format('woff');
}
@font-face {font-family: 'Tasa Orbiter'; font-style: normal; font-weight: 500; font-display: block;
  src: url('fonts/tasa-orbiter-500.woff2') format('woff2'), url('fonts/tasa-orbiter-500.woff') format('woff');
}
@font-face {font-family: 'Tasa Orbiter'; font-style: normal; font-weight: 600; font-display: block;
  src: url('fonts/tasa-orbiter-600.woff2') format('woff2'), url('fonts/tasa-orbiter-600.woff') format('woff');
}

body {font-family: 'Tasa Orbiter', Arial, Helvetica, sans-serif; font-variant-ligatures: none !important;}

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

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

/*HEADER*/

/*#headtopback {outline: 4px solid red !important} #headtop {outline: 1px solid orange}
#headerback {outline: 4px solid purple !important}
header {border: 1px solid colordark;} #logo {border: 1px solid red} #logo img {border: 1px solid magenta}*/

@media (min-width: 501px) {#headerback {position: fixed; left: 0; right: 0;}}

#headtopback {position: fixed; top: 0;left: 0; right: 0;} #headerback {z-index: 1;}
#headtopback, #headtop {display: table; height: 40px; width: 100%; margin: auto; z-index: 2;}
#headtop {max-width: 1300px; position: relative;}
#headertext {font-size: 16px; line-height: 1; vertical-align: middle; padding-top: 12px; text-align: left; white-space: nowrap;}

#headerback {box-shadow: 0 3px 7px -5px #000;}
#logo, #logo img {width: 300px;} #logo img {display: block; height: auto !important;}

@media (max-width: 1370px) and (min-width: 501px) {#logo {margin-left: 30px;} #headertext {padding-left: 30px;}}
@media (max-width: 1220px) and (min-width: 951px),(max-width: 440px) {#logo, #logo img {width: 240px;} #logo img {height: auto !important;}}

@media (min-width: 951px) {
header {width:100%; max-width:1300px; margin: 8px auto; display:grid; grid-template-columns:auto 1fr; align-items:center;}
#logo {margin-top: -4px;}
}
@media (max-width: 950px) {#logo {margin: 13px 0 -2px 30px;}}

@media (min-width: 821px) {#headerback {top: 40px;} #homepic {margin-top: 120px;} #homepic {margin-top: 140px;}}
@media (max-width: 820px) {
#headertext {padding-top: 8px; line-height: 1.4;} #headertext span {display: block;}
#headtopback, #headtop {height: 60px;} #headerback {top: 60px;} #homepic {margin-top: 170px;}
}
@media (max-width: 500px) {#headerback {margin-top: 70px;} #homepic {margin-top: 0;} #logo {margin-left: 20px; padding-top: 0px;}}
@media (max-width: 500px) and (min-width: 451px) {#headertext {padding-left: 20px;}}
@media (max-width: 450px) {#headertext {visibility: hidden; padding: 0; margin: 0; height: 0; line-height: 0; font-size: 0;}}
@media (max-width: 370px) {#logo {margin: 0 auto;} #logo, #logo img {width: 260px;} #logo img {height: auto !important;}}


/*Call or Text Popup*/

#headtop {z-index: 3;}

.phone-wrapper {position: absolute; display: inline-block; top: 7px;}
.phone-wrapper img {width: 22px; height: 22px; margin: 0 12px 3px 0; vertical-align: middle;}
.callortext {position: absolute; top: 10px; color: #FFF;}
.phone-link {-webkit-user-select: none; user-select: none; cursor: pointer; font-size: 20px; font-weight: 500; -webkit-tap-highlight-color: transparent;}
.phone-wrapper, #contact-toggle, .phone-link {color: #FFF !important;}

#contact-toggle, .popup {display: none;} #contact-toggle:checked ~ .popup {display: block;}

.popup {position: absolute; margin-top: 10px; padding: 12px 9px 4px 9px; width: 135px; text-align: center; box-sizing: border-box; background-color: #E5E5E5; border: 1px solid #BBB; border-radius: 5px; box-shadow: 0 4px 12px rgba(0,0,0,0.32);}

.popup a {white-space: nowrap; display: block; padding: 10px 4px 7px 4px; font-size: 18px; font-weight: 500; text-decoration: none; box-sizing: border-box; border-radius: 5px; color: #FFF !important;}
.popup a:first-of-type {background-color: #2057CE; margin-bottom: 8px;}
.popup a:last-of-type {background-color: #1B8E55;}
.popup a:hover {filter: brightness(120%) saturate(120%);}

.dismiss-btn {display: inline-block; margin: 5px 0 0 3px; padding: 4px 12px; font-size: 24px; font-weight: bold; color: #444; cursor: pointer; -webkit-touch-callout: none; -webkit-user-select: none; user-select: none;} /*keep -webkit*/
.dismiss-btn:hover {color: #000;}

@media (min-width: 1371px) {.phone-wrapper {right: 0;} .callortext {right: 150px;}}
@media (max-width: 1370px) {.phone-wrapper {right: 30px;} .callortext {right: 180px;}}
@media (max-width: 820px) {.phone-wrapper {top: 17px;} .popup {margin-top: 13px;} .callortext {top: 20px;}}
@media (max-width: 640px) {.phone-wrapper {top: 30px;} .popup {margin-top: 13px;} .callortext {top: 8px; right: 30px;}}
@media (max-width: 500px) {.phone-wrapper, .callortext {right: 20px;}}
@media (max-width: 450px) {
.phone-wrapper, .popup, .callortext {left: 0; right: 0; margin: auto; text-align: center;} .popup {margin-top: 8px;}
}

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

/*MENU*/

/*.navheader {outline: 1px solid orange} nav {outline: 1px solid red} nav div {outline: 1px solid cyan}
nav a {outline: 1px solid colordark} .ham {outline: 1px solid yellow}*/

.navheader, .navheader * {box-sizing: border-box;}
.navheader {top: 0; height: 100%; align-content: center;}

#navcheck {display: none;}
nav a.selected {cursor: text; pointer-events: none; -webkit-user-select: none; -webkit-touch-callout: none;}
nav a {position:relative; display: table-cell; vertical-align:middle; text-decoration: none; cursor: pointer; line-height: 1.15; text-align: left; transition: .15s;}
/*nav div:first-child a, nav div:last-child a {padding: 0; text-align: center !important;}*/


nav a img {position: absolute; top: 50%; width: 24px; height: 24px; margin-top: -11px;}
nav div:first-child img, nav div:last-child img {width: 20px; height: 20px; margin-left: 2px;}
nav span {display:block;}

@media (min-width: 951px) {
.ham {display: none;}
nav {display: grid; grid-template-columns: repeat(7,max-content); gap: 5px; justify-content: end;}
nav div {height: 50px; display: table; width:100%;}
nav a {width: 100%; padding: 0 8px 0 37px; box-sizing: border-box; border-radius: 8px;}
nav a img {left: 8px;}
}

@media (max-width: 1370px) and (min-width: 951px) {nav {margin-right: 30px;}}
@media (max-width: 1220px) and (min-width: 951px) {header {column-gap: 30px;}}
@media (max-width: 1150px) and (min-width: 951px) {nav a img {display: none;} nav a {padding: 0 8px; text-align: center;}}

@media (max-width: 950px) {
.navheader {margin-top: 15px; left: 0; right: 0; box-shadow: 0 3px 7px -5px #000;}

nav {position: relative; display: grid; grid-template-columns: repeat(4, 1fr); text-align: center; font-size: 0; line-height: 0; top: 0; margin: auto; padding: 0; transition: padding .25s ease;}

nav div {display: block; height: 0; overflow: hidden; transition: height .25s ease, margin .2s ease; font-size: 0; line-height: 0; padding: 0;}

nav a {width: 1%; height: 55px; opacity: 0; font-size: 0; transition: .3s font-size ease, .2s opacity ease, .1s background;border-radius: 8px; white-space: nowrap; padding: 0 8px 0 45px;}
nav a img {left: 12px;}

.ham, .ham * {-webkit-touch-callout: none; -webkit-user-select: none; user-select: none; touch-action: manipulation;}
.ham {position: absolute; display: table; height: 50px; width: 59px; top: 0; right: 22px; margin-top: 28px; padding: 10px; box-sizing: border-box;}
.ham:hover {cursor: pointer;}
.ham span {top: 24px; left: 10px; -webkit-transition: -webkit-transform 0.35s ease-out;}
.ham span, .ham span:before, .ham span:after {position: absolute; display: block; content: ""; height: 3px; width: 38px; opacity: 1; background: #333; border-radius: 1px;}
.ham span:before {top: -10px;} .ham span:after {top: 10px;}

#navcheck:checked ~ nav {padding: 5px 0;}
#navcheck:checked ~ nav div {height: 55px; margin: 5px;}
#navcheck:checked ~ nav a {font-size: 18px; opacity: 1;}

#navcheck:checked ~ .ham span {width: 0; transform: rotateX(180deg); transition-timing-function: ease;}
#navcheck:checked ~ .ham span:before {-webkit-transform: rotateZ(37deg); top: 0;}
#navcheck:checked ~ .ham span:after {-webkit-transform: rotateZ(-37deg); top: 0;}
}

@media (max-width: 950px) and (min-width: 701px) {
nav div:first-child {grid-column:1 / span 2; grid-row:1;} nav div:last-child {grid-column:3 / span 2; grid-row:1;}
nav div:first-child a, #navcheck:checked ~ nav div:first-child, nav div:last-child a, #navcheck:checked ~ nav div:last-child {height: 50px;}
}
@media (max-width: 950px) and (min-width: 771px) {nav {width: 700px;}}
@media (max-width: 770px) and (min-width: 701px) {nav {width: 630px;}}
@media (max-width: 700px) {
nav {grid-template-columns: repeat(3, 1fr); padding: 0 10px;}
#navcheck:checked ~ nav {padding: 5px 10px;}
nav div:first-child, nav div:last-child {grid-column: 1 / -1;}
nav div:first-child a, #navcheck:checked ~ nav div:first-child, nav div:last-child a, #navcheck:checked ~ nav div:last-child {height: 50px;}
}

@media (max-width: 500px) {.ham {margin-top: 86px;} nav {grid-template-columns: repeat(2, 1fr);}}
@media (max-width: 440px) {.ham {margin-top: 79px;}}
@media (max-width: 370px) {
.navheader {padding-bottom: 8px;} .ham {margin: 157px auto 0 auto; left: 0; right: 0;} nav {top: auto; margin-top: 45px;}
}
@media (max-width: 330px) {nav a img {display: none;} nav a {padding: 0 8px; text-align: center;}}

/*colors*/

@media (min-width: 951px) {
nav a {color: #B00 !important;}
nav a:hover:not(.selected) {background-color: var(--yellowlite) !important;}
nav .selected {background-color: #DDD; color: #000 !important;}
}
@media (max-width: 950px) {
.navheader {background-color: var(--yellow);}
nav a {background-color: var(--colordark2); color: #FFF !important;}
nav .selected {background-color: #888;}
nav a:hover:not(.selected) {background-color: #927A2F;}
}

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

/*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: 'Instrument Semi', Arial, Helvetica, sans-serif; sdf*/ font-size: 1em; line-height: 1; /*font-weight: 700 !important; sdf*/ 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*/

.bodyarea {padding: 45px 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: 10px 0; 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;}

h1 {margin: 0 auto 20px auto;} h3 {margin: 20px 0;}

@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%;}}

.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: 951px) {#services3 {display: flex; flex-wrap: wrap; justify-content: center;}}
@media (max-width: 950px) {#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;}}

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

/*BOTTOM AREA*/

/*#footerinside {outline: 1px solid yellow} .footerintro img {outline: 1px solid colordark} #footerback {outline: 1px solid cyan}
.footerintro {outline: 3px solid red} .footerintro p {outline: 1px solid red}
.footercol {outline: 1px solid magenta} .contact {outline: 1px solid green} .contact img {outline: 1px solid yellow}
.servicelinks {outline: 1px solid colordark}*/

:root {--fbord: 1px solid rgba(255, 255, 255, 0.2);}

#footer {background: #333; color: #DDD; font-size: 16px; line-height: 1.5;}
#footer a {text-decoration: none; color: #DDD; text-decoration: none;}
#footer a:hover {color: #FFF; text-decoration: underline;}
#footer * {box-sizing: border-box;}

#footerback {max-width: 1300px; margin: auto; padding: 0 34px;}

#footerinside {display: grid; grid-template-columns: 260px 1fr 235px; /*grid-column-gap: 70px;*/ padding: 60px 0 47px 0;}

.footerintro img {display: block; width: 250px; height: auto /*sdf*/; margin: 0 0 21px 0;}

.footerhead {margin: 5px 0 18px 0; font-weight: 600; font-size: 20px; letter-spacing: .2px; color: var(--yellowlite);}

.footercol a {display: block; margin: 0 0 10px 0; text-decoration: none; color: #DDD;}
.footercol a:hover {color: #fff; text-decoration: underline;}

.services {width: max-content; max-width: 100%; justify-self: center;}
.servicelinks {display: grid; grid-template-columns: max-content max-content; grid-column-gap: 35px;}
.servicelinks a {display: block; position: relative; margin: 0 0 10px 0; padding-left: 13px; line-height: 1.3;}
.servicelinks a:before {content: "\2022"; position: absolute; left: 0; top: 0; color: var(--yellowlite);}

.contact p {margin: 0 0 13px 0;} .contact p a {display: inline; margin: 0;}
.contact img {width: 20px; height: 20px; margin-right: 9px; vertical-align: -6px;}

.contact .textus {margin: -10px 0 20px 0;}
.contact .email img {margin-bottom: 1px;}
.callus, .textus {font-size: 1.3em; font-weight: 500;}

#footerbottom {border-top: 1px solid #000; padding: 31px 0 32px 0; font-size: 15px;}
#footerbottom p {margin: 0; color: #999;}

@media (max-width: 1070px) {#footerinside {grid-template-columns: 250px 1fr 180px;} .servicelinks {grid-column-gap: 35px;}}

@media (max-width: 990px) {
#footerinside {grid-template-columns: 1fr; grid-row-gap: 45px;}
.footerintro {max-width: 300px; margin: 0 auto; text-align: center;} .footerintro img {margin: 0 auto 21px auto;}
.footerhead {text-align: center;}
.services, .contact {width: max-content; max-width: 100%; margin: 0 auto;}
.services {grid-column: auto;}
}
@media (min-width: 716px) {#footerbottom {display: grid; grid-template-columns: 1fr auto;} #footerbottom p:last-child {text-align: right;}}
@media (max-width: 715px) {#footerbottom {display: block; text-align: center; padding: 31px 25px 32px 25px;}}
@media (max-width: 490px) {
#footerback {padding: 0 22px;}
#footerinside {grid-template-columns: 1fr; grid-row-gap: 35px; padding-top: 45px;}
}
@media (max-width: 360px) {
.footerhead {text-align: left;}
.services {grid-column: auto;}
.servicelinks {grid-template-columns: 1fr; grid-row-gap: 0;}
}

.web {padding: 20px 25px 15px 25px; font-size: 13px; line-height: 1.4; text-align: center; margin: auto; color: #AAA; background-color: #000;}
.web a {text-decoration: none; color: inherit; white-space: nowrap;} .web a:hover span {color: #F65246;}
.web img {vertical-align: top; margin: 1px 0 0 0; width: 23px; height: 15px;}

#totop {position: fixed; bottom: 25px; right: 25px; display: inline-block; z-index: 9999; opacity: .7; transition: 0.15s;}
#totop img {width: 32px; height: 32px; display: block; -webkit-filter: drop-shadow(0 0 4px rgba(0,0,0,0.55)); filter: drop-shadow(0 0 4px rgba(0,0,0,0.55)); cursor: pointer;} /*keep -webkit for old Safari*/
#totop:hover {opacity: 1;}


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

/*COLORS*/

:root {--colordark: #A7051D; --colordark2: #B29539; --colormain: #B0051F; --colorlite: #2F808C; --colorvlite: #369faf; --yellow: #DEC348; --yellowlite: #EDD04D;}
/*more ylw: F5CB5C, less ylw: #F3C66F.   colordark orig: #1A3C41     colorpale: #D4EEF2*/

body {color: #444; background-color: #FFF;}

#headtopback {background-color: var(--colordark);}
#headerback, header {background-color: #FFF;}
@media (min-width: 371px) {#headerback {border-bottom: 3px solid var(--colordark);}}
#headertext, #phone, #phone a {color: #FFF;}

.bodyhead {color: var(--colormain);} .heading {color: #000;}

footer {background-color: #000; color: #FFF;}

