/* general */
body { margin: 0; padding: 0 }
h1, h2, h3, h4, h5 { font-weight: bold; }

/* section */
section, .section { width: 100%; display: table; margin: 0; max-width: none; height: 100vh; }
.intro { height: 80vh; }
.intro2 { background: url('../img/bgintro.png') right bottom no-repeat; }
.content { display: table-cell; vertical-align: middle; }
.posrel { position: relative; }

/* height */
.h20 { height: 20px; }
.h48 { height: 48px; }
.h80 { height: 80px; }
.mh40 { max-height: 40px; }
.mh80 { max-height: 80px; }
.mh160 { max-height: 160px; }
.mh256 { max-height: 256px; }
.lh05 { line-height: 0.7; }
.lh14 { line-height: 14px; }
.lh18 { line-height: 18px; }
.lh20 { line-height: 20px; }
.lh28 { line-height: 28px; }
.lh32 { line-height: 32px; }
.lh36 { line-height: 36px; }
.lh40 { line-height: 40px; }
.lh44 { line-height: 44px; }
.lh48 { line-height: 48px; }
.lh56 { line-height: 56px; }
.lh64 { line-height: 64px; }
.lh100 { line-height: 110px; }

/* width */
.w325 { max-width: 325px; }
.mw103 { max-width: 123px; }
.mw192 { max-width: 192px; }
.w70p { width: 70%; }
.w1048 { width: 1048px; }
.mw1670 { max-width: 1670px; }
.w70pauto { width: 70%; margin: 0 auto; }

/* margin */
.m0auto { margin: 0 auto; }
.m30 { margin: 30px; }
.mt3 { margin-top: 3px; }
.mt30 { margin-top: 30px; }
.mt50 { margin-top: 50px; }
.mt60 { margin-top: 60px; }
.mt150 { margin-top: 80px; }
.mtneg20 { margin-top: -20px; }
.mtneg40 { margin-top: -40px; }
.mtneg46 { margin-top: -46px; }
.mtneg60 { margin-top: -60px; }
.mb30 { margin-bottom: 30px; }
.mb60 { margin-bottom: 60px; }
.ml15 { margin-left: 15px; }
.ml30 { margin-left: 30px; }
.ml40 { margin-left: 40px; }
.mr10 { margin-right: 10px; }
.mr15 { margin-right: 15px; }
.mr20 { margin-right: 20px; }
.mr30 { margin-right: 30px; }
.mlneg70 { margin-left: -40px; }
.mt80 { margin-top: 80px; }
.mt130 { margin-top: 130px; }
.mtb130 { margin-top: 130px; margin-bottom: 130px; }
.mb130 { margin-bottom: 130px; }

/* padding */
.ptb20 { padding-top: 20px; padding-bottom: 20px; }
.ptb40 { padding-top: 40px; padding-bottom: 40px; }
.ptb60 { padding-top: 60px; padding-bottom: 60px; }
.plr0 { padding-left: 0px; padding-right: 0px; }
.plr20 { padding-left: 20px; padding-right: 20px; }
.plr40 { padding-left: 40px; padding-right: 40px; }
.plr80 { padding-left: 80px; padding-right: 80px; }
.pb60 { padding-bottom: 60px; }
.pt400 { padding-top: 400px; } 

/* border */
.brad4 { border-radius: 4px; }
.brad10 { border-radius: 10px; }
.brad20 { border-radius: 20px; }
.brad50 { border-radius: 50px; }
.bleftgreen { border-left: 3px solid #28a745 !important; }
.bbot3 { border-bottom: 3px solid #dee2e6 !important; }
.breddash { border: 1px dashed red !important; }
.borteal { border: 5px solid #007c78; }
.borteal3px { border: 2px solid #007c78; }
.borblack3px { border: 2px solid #000000; }
.bwhite { border: 1px solid #ffffff; }

/* background */
.bgwhite { background: #ffffff !important; }
.bgblack { background: #000000; }
.bggray { background: #949494; }
.bglightgray { background: #faf9f9; }
.bgdarkgray { background: #6d6c6c; }
.bgorange { background: #d79354; }
.bggreen { background: #567330; }
.bgteal { background: #007c78; }
.bggold { background: #f8bb00; }
.bgviolet90 { background: url('../img/violet90.png') repeat; }
.bgphone { background: url('../img/phone.png') right center no-repeat; background-size: contain; }
.bgtemplate { background: url('../img/bgtemplate.png') top left no-repeat; }
.bgpopup_01 { background: url('../img/bgpopup.jpg') center center; background-repeat: no-repeat; background-size: cover; }
.bgreseller { background: url('../img/bgreseller.jpg') top center no-repeat; background-size: cover; }
.bghero { background: url('../img/hero-assembly.png') center right no-repeat; }
.bgroofing { background: url('../img/bgroofing.jpg') top center no-repeat; background-size: cover; }
.bgautocare { background: url('../img/bgautocare.jpg') top center no-repeat; background-size: cover; }
.bgcleaning { background: url('../img/bgcleaning.jpg') top center no-repeat; background-size: cover; }
.bglawn { background: url('../img/bglawn.jpg') top center no-repeat; background-size: cover; }
.bgcleaninghome { background: url('../img/home_cleaning.png') top right no-repeat; background-size: contain; }
.bgtransparent, .bgtransparent:focus { background-color: transparent; }

/* alignment */
.img-left { float: left; }
.fright { float: right; }
.iblock { display: inline-block; }
.abstr { position: absolute; top: 0; right: 0; }

/* font */
.font12 { font-size: 12px; }
.font14 { font-size: 14px; }
.font18 { font-size: 18px; }
.font24 { font-size: 24px; }
.font28 { font-size: 28px; }
.font30 { font-size: 30px; }
.font32 { font-size: 32px; }
.font35 { font-size: 35px; }
.font40 { font-size: 40px; }
.font45 { font-size: 45px; }
.font48 { font-size: 48px; }
.font57 { font-size: 57px; }
.font59 { font-size: 59px; }
.font64 { font-size: 64px; }
.font80 { font-size: 80px; }
.font86 { font-size: 86px; }
.font100 { font-size: 100px; }
.font120 { font-size: 120px; }

.fontnormal { font-weight: 400; }
.fontmedium { font-weight: 500; }
.fontbold { font-weight: 700; }

.fontwhite, .fontwhite:hover { color: #ffffff; }
.fontblack { color: #000000; }
.fontorange { color: #b1662d; }
.fontteal { color: #007c78; }
.fontgray { color: #5e5e5e; }
.fontgreen { color: #3bed64; }
.fontlightgreen { color: #a5f86a; }

a.fontblack:hover { color: #007c78; text-decoration: none; }
a:active, a:focus, area { box-shadow: none; outline: none; }

.fontlato { font-family: 'Lato', sans-serif; }
.fontmontserrat { font-family: 'Montserrat', sans-serif; }
.fontplayfair { font-family: 'Playfair Display', serif; }

.fontshadow { text-shadow: 2px 1px 2px rgba(119, 119, 119, 1); }
.fontshadowsmall { text-shadow: 2px 1px 2px rgba(150, 150, 150); }

/* list */
.lsnone { list-style: none; }
.decimal { list-style-type: decimal; }

/* buttons */
.btn-teal { color: #ffffff; background: #007c78; }
.btn-teal:hover { color: #ffffff; background: #6199ae; }
.btn-gray { color: #000000; background: #e1e1e1; border: 1px solid #000000; border-radius: 50px; }
.btn-gray:hover { color: #000000; background: #cbcaca; }
.btn-darkgray { color: #ffffff; background: #2a2f34; }
.btn-darkgray:hover { color: #ffffff; background: #20262b; }
.btn-blue { color: #ffffff; background: #3a63b9; }
.btn-blue:hover { color: #ffffff; background: #2c53a6; }
.btn-green { color: #ffffff; background: #274b41; }
.btn-green:hover { color: #ffffff; background: #1d3f36; }
.btn-purple { color: #ffffff; background: #541794; }
.btn-purple:hover { color: #ffffff; background: #4b0f8a; }

/* bootstrap mod */
.dropdown-toggle:after { content: none; }
.dropdown-menu { margin-left: -130px; }

/* extra */
.mobile { display: none; }
.ontop { z-index: 999999; }

.companylogo { width: 250px; height: 100px !important;  overflow: hidden; }
.heading { width: 548px; margin:0 auto; text-align: center !important; overflow: hidden !important; padding-top: 50px; }
.heading a, .heading a:visited { color: #ffffff; text-decoration: underline; }
.questions { width: 548px; height: 85px; margin: 0 auto; text-align: center !important; overflow: hidden !important; }
.estimate_name { width: 548px; margin: 0 auto; text-align: center !important; overflow: hidden !important; }
.arrowindex { position: absolute; top: -65px; right: 0; width: 71px; }
.seal { width: 90px; height: 72px; float: right; }

.card-body { display: flex; flex-wrap: nowrap; }
.card-body>div { padding: 0; }
.google_map_icon { display: inline-block; width: 80px; height: 116px; background: url('../img/google_map_icon.png'); background-size: cover; margin: 10px 40px 0 0; }
.sug { cursor: pointer; }
.sug:hover { background: #f5ca46; }

.modal-header { border-bottom: 0 !important; }

.boxtext1 { position: absolute; top: 30px; left: 0; }
.boxtext2, .boxtext4 { position: absolute; bottom: 0; left: 0; }
.boxtext3 { position: absolute; top: 30px; right: 0; }

.boxdescription { z-index: 99; }
.boxdescription1 { position: absolute; top: 150px; left: -15px; }
.boxdescription2 { position: absolute; top: 50px; left: -15px; }
.boxdescription3 { position: absolute; top: 140px; left: -15px; }
.boxdescription4 { position: absolute; top: 30px; left: -15px; }

.carousel-indicators { bottom: -100px; }
.carousel-indicators li { width: 34px; height: 34px; margin-right: 15px; margin-left: 15px; background:  url('../img/indicator_1.png') no-repeat;  }
.carousel-indicators li.active { background:  url('../img/indicator_2.png') no-repeat; }

/*.modal { padding: 0 !important; }
.modal-full { min-width: 100%; margin: 0; }
.modal-full .modal-content { min-height: 100vh; border-radius: 0; border: 0; }
.modalphone::-webkit-scrollbar { width: 0; background: transparent; }
.modalphone_sample { margin-top: -50px; } 
.modalphone_autocare { width: 432px; height: 800px; border: 8px solid #C4A700; border-radius: 50px; margin: -100px auto 0; overflow-y: scroll; } 
.modalphone_cleaning { width: 432px; height: 800px; border: 8px solid #00B4D6; border-radius: 50px; margin: -100px auto 0; overflow-y: scroll; } 
.modalphone_lawn { width: 432px; height: 800px; border: 8px solid #1C9941; border-radius: 50px; margin: -100px auto 0; overflow-y: scroll; } */

.stars { display: inline-block; width: 100px; height: 100px; background: url('../img/starwhite.png'); background-size: contain; }
.stars_sm { display: inline-block; width: 24px; height: 24px; background: url('../img/starwhite.png'); background-size: contain; }
.goldstar {  background: url('../img/stargold.png'); background-size: contain; }
.allwhite { border: 1px solid #ffffff; }

.allwhite::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */ color: #ffffff; opacity: 1; /* Firefox */ }
.allwhite:-ms-input-placeholder { /* Internet Explorer 10-11 */ color: #ffffff; }
.allwhite::-ms-input-placeholder { /* Microsoft Edge */ color: #ffffff; }

.commentdomain:focus { background: #6d6c6c; color: #ffffff; }

.method { cursor: pointer; }
.method:hover, .method.chosen { background: #000000; color: #ffffff; }

.moreinfo { display: block; width: 100%; height: 100px; margin-bottom: 20px; border: 0; }

.sc__container { position: relative; width: 100%; }
.sc__container > img { position: relative; top: 0; left: 0; width: 100%; height: auto; }
.sc__container canvas { position: absolute; top: 0; left: 0; width: 100%; height: auto; }

.screen_slider { width: 100%; max-width: 100%; height: auto; text-align: center; overflow: hidden; }
.screen_slides { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; -webkit-overflow-scrolling: touch; /* scroll-snap-points-x: repeat(300px); scroll-snap-type: mandatory; */ }
.screen_slides::-webkit-scrollbar { width: 10px; height: 10px; }
.screen_slides::-webkit-scrollbar-thumb { background: red; border-radius: 10px; }
.screen_slides::-webkit-scrollbar-track { background: transparent; }
.screen_slides > div { scroll-snap-align: start; flex-shrink: 0; width: 100%; height: auto; background: #eee; transform-origin: center center; transform: scale(1); transition: transform 0.5s; position: relative; display: flex; justify-content: center; align-items: center; font-size: 100px; }
.screen_slides > div:target { /*   transform: scale(0.8); */ }
.screen_slider > a { display: inline-flex; width: 1.5rem; height: 1.5rem; background: white; text-decoration: none; align-items: center; justify-content: center; border-radius: 50%; margin: 0 0 0.5rem 0; position: relative; }
.screen_slider > a:active { top: 1px; }
.screen_slider > a:focus { background: #ff0000; }

.spinwrap { background: url('../img/spinwheel_bg.png'); background-size: contain; }

.footer_ad, .footer_carousel { max-width: 600px; margin-left: auto; margin-right: auto; }

.videolink, .videolink:focus {
    cursor: pointer;
    font-weight: normal;
    background: transparent;
    border: none;
    outline: none;
}

.newtooltip { position: relative; display: inline-block; }
.newtooltip .tooltiptext { visibility: hidden; width: 140px; background-color: #555; color: #fff; text-align: center; border-radius: 6px; padding: 5px; position: absolute; z-index: 1; bottom: 100%; left: 50%; margin-left: -75px; opacity: 0; transition: opacity 0.3s; }
.newtooltip .tooltiptext::after { content: ""; position: absolute; top: 100%; left: 50%; margin-left: -5px; border-width: 5px; border-style: solid; border-color: #555 transparent transparent transparent; }
.newtooltip:hover .tooltiptext { visibility: visible; opacity: 1; }

.text-reminder { position: absolute; top: 49%; width: 87%; margin-left: 5%; background: #4e4e4e; border-radius: 12px; color: #ffffff; padding: 10px; font-weight: bold; text-align: center; line-height: 18px; }
.text-reminder a { color: #ffffff; }
.alert-month { display: block; width: 23%; background: #ffffff; color: #000000; font-weight: normal; font-size: 16px; cursor: pointer; border-radius: 4px; float: left; margin: 1%; border: 1px solid #000000; }
.alert-month:hover, .alert-month-selected { color: #ffffff; background: #000000; border: 1px solid #ffffff; }
.alert-month-default { color: #000000; background: #ffffff; border: 1px solid #000000; }

a.sm_link { text-decoration: none; } 
.sm_subtitle { font-size: 24px; font-weight: bold; color: #6f7170; }
.sm_service { font-size: 18px; font-weight: normal; color: #ffffff; text-transform: uppercase; }
.font11 { font-size: 11px !important; }
.font48 { font-size: 24px; }
.mobfont12 { font-size: 12px; }
.smaller { font-size: 70%; }

@media only screen and (max-width: 600px) {
	.desktop { display: none; }
	.mobile { display: block; }

	.mw1670 { width: auto; }

	section { height: auto; }
	.intro { height: auto; background: none; }
	.content { padding-top: 20px; padding-bottom: 20px; }


	.logotext { color: #000000; font-size: 20px; }

	.mw33 { max-width: 33px; }

	/* height */
	.mh60 { max-height: 40px; }
	.mh80 { max-height: 40px; }
	.mh150 { max-height: 150px; }
	.mh160 { max-height: auto; }
	.lh32 { line-height: 18px; }
	.lh40 { line-height: 28px; }
	.lh48 { line-height: 32px; }
	.lh56 { line-height: 36px; }
	.lh64 { line-height: 40px; }
	.lh100 { line-height: 64px; }

	.lh36 { line-height: 18px; }

	.mobmh12 { max-height: 16px; }
	.mobmh20 { max-height: 20px; }
	.mobmh80 { max-height: 80px; }
	.mobmh120 { max-height: 120px; }
	.mobmh242 { max-height: 242px; }

	.moblh10 { line-height: 10px; }
	.moblh20 { line-height: 20px; }
	.moblh24 { line-height: 24px; }

	/* backgrouns */
	.bgcommission { background: none; }
	.bgreseller { background: none; }
	.bgmagenta { background: #8e30bc !important; }
	.bgyellow { background: #f4ce51 !important; }
	.bgcleaninghome { background: none; }

	h1 { font-size: 28px; }
	h2 { font-size: 24px; }
	h3 { font-size: 20px; }
	h4 { font-size: 18px; }


	/* width */
	.w325 { max-width: 265px; }
	.w70p { width: 90%; }
	.w69p { width: 70%; }
	.w60p { width: 60%; }
	.w70pauto { width: auto; margin: 0 auto; }

	/* margin */
	.mt3 { margin-top: 0; }
	.mt50 { margin-top: 15px; }
	.mt60 { margin-top: 20px; }
	.mt150 { margin-top: 40px; }
	.mtneg40 { margin-top: 0; }
	.mtneg50 { margin-top: -60px; }
	.mtneg60 { margin-top: 0; }
	.ml40 { margin-left: 0; }
	.mr20 { margin-right: 5px; }
	.mlneg70 { margin-left: -40px; }
	.mobmtneg20 { margin-top: -20px; }
	.mobmtneg40 { margin-top: -40px; }
	.mobmtneg60 { margin-top: -60px; }

	.mobm10 { margin: 10px; }
	.mobmtn40 { margin-top: -40px; }
	.mobmtb40 { margin-top: 40px; margin-bottom: 40px; } 
	.mobmtb80 { margin-top: 80px; margin-bottom: 80px; } 
	.mobmt0 { margin-top: 0; }
	.mobmt5 { margin-top: 5px; }
	.mobmt15 { margin-top: 15px; }
	.mobmt40 { margin-top: 40px; }
	.mobmt50 { margin-top: 50px; }
	.mobmt80 { margin-top: 80px; } 
	.mobmb0 { margin-bottom: 0; }
	.mobmb80 { margin-bottom: 80px; }
	.mobmr0 { margin-right: 0; }
	.mobml0 { margin-left: 0; }

	/* padding */
	.mobptb20 { padding-top: 20px; padding-bottom: 20px; }
	.mobpl0 { padding-left: 0 !important; }
	.mobpr0 { padding-right: 0 !important; }
	.plr40 { padding-left: 15px; padding-right: 15px; }
	.plr80 { padding-left: 40px; padding-right: 40px; }
	.pt-2mob { padding-top: 7px !important; }
	.pt-3mob { padding-top: 10px !important; }
	.pt400 { padding-top: 250px; } 

	.mobptb0 { padding-top: 0 !important; padding-bottom: 0 !important; }
	.mobplr15 { padding-left: 15px !important; padding-right: 15px !important; }

	.bghero { background: none; }
	.mobbghero { background: url('../img/hero-assembly.png') center right no-repeat; background-size: contain; }

	/* font */
	.font18 { font-size: 14px; }
	.font24 { font-size: 16px; }
	.font32 { font-size: 16px; }
	.font48 { font-size: 24px; }
	.font64 { font-size: 28px; }
	.font80 { font-size: 48px; }
	.font86 { font-size: 20px; }
	.font120 { font-size: 64px; }
	
	.mobfont9 { font-size: 9px; }
	.mobfont8 { font-size: 7px; }
	.mobfont11 { font-size: 11px; }
	.mobfont12 { font-size: 12px; }
	.mobfont14 { font-size: 14px; }
	.mobfont16 { font-size: 16px; }
	.mobfont18 { font-size: 18px; }
	.mobfont20 { font-size: 20px; }
	.mobfont25 { font-size: 25px; }
	.mobfont30 { font-size: 30px; }
	.mobfont40 { font-size: 40px; }
	.mobfont48 { font-size: 48px; }
	.mobfont64 { font-size: 64px; }

	.mobfontbold { font-weight: 700; }

	/* alignment */
	.mobtextcenter { text-align: center !important; }
	.mobtextleft { text-align: left !important; }

	/* border */
	.mobnoborder { border: 0 !important; }

	.dropdown-menu { margin-left: -120px; }

	.heading { width: 90%; }
	.estimate_name { width: 90%; }
	.arrowindex { top: -40px; right: 0; width: 45px; height: 49px; }
	.seal { float: none; margin: 0 auto !important; }
	.square { border-radius: 0 !important; }

	.stars { width: 50px; height: 50px; }

	.tap1 { z-index: 999; }
	.boxdescription1 { position: absolute; top: 60px; left: 0; }
	.boxdescription2 { position: absolute; top: 40px; left: 0; }
	.boxdescription3 { position: absolute; top: 100px; left: 0; }
	.boxdescription4 { position: absolute; top: 40px; left: 0; }

	.carousel-indicators li { width: 20px; height: 20px; margin-right: 10px; margin-left: 10px; background:  url('../img/indicator_sm_1.png') no-repeat;  }
	.carousel-indicators li.active { background:  url('../img/indicator_sm_2.png') no-repeat; }

	/*.modalphone_roofing { width: 80%; height: 600px; border: 6px solid #FFEE8F; border-radius: 30px; margin: -30px auto 0; overflow-y: scroll; } 
	.modalphone_autocare { width: 80%; height: 600px; border: 6px solid #C4A700; border-radius: 30px; margin: -30px auto 0; overflow-y: scroll; } 
	.modalphone_cleaning { width: 80%; height: 600px; border: 6px solid #00B4D6; border-radius: 30px; margin: -30px auto 0; overflow-y: scroll; } 
	.modalphone_lawn { width: 80%; height: 600px; border: 6px solid #1C9941; border-radius: 30px; margin: -30px auto 0; overflow-y: scroll; } */
	.modalphone_sample { margin-top: -30px; } 
}