/** CORPORATE HEADER */


@font-face {
	font-family: SourceSansPro-Regular;
	src: url("../fonts/SourceSansPro/SourceSansPro-Regular.woff")   format("woff");
}

@font-face {
	font-family: SourceSansPro-Semibold;
	src: url("../fonts/SourceSansPro/SourceSansPro-Semibold.woff")   format("woff");
}

@font-face {
	font-family: SourceSansPro-Bold;
	src: url("../fonts/SourceSansPro/SourceSansPro-Semibold.woff")   format("woff");
}

@font-face {
	font-family: SourceSansPro-Light;
	src: url("../fonts/SourceSansPro/SourceSansPro-Light.woff")   format("woff");
}

@font-face {
	font-family: KindAvenue;
	src: url("../fonts/KindAvenue_otf.otf")   format("otf");
}



.generic-button {
	font-family: 'Roboto', sans-serif;
	background-color: #5FCFD5;
	cursor: pointer;
	color: #FFF !important;
	border: none;
	border-radius: 0px;
	transition: all ease-in-out 0.2s;
	padding: 17px 17px;
	margin-top: 10px;
	margin-bottom: 10px;
	display: inline-block;
	text-transform: uppercase;
}

.generic-button:hover {
	transition: all ease-in-out 0.2s;
	background-color: #4db6bb;
}

.text {
	font-family: SourceSansPro-Regular;
	font-size: 18px;
	color: #676767;
}

.text a {
	font-family: SourceSansPro-Bold;
}

a {
	text-decoration: none;
	color: unset;
}

a:visited {
	color: unset;
}

.centered {
	margin: 0 auto;
}


.center-text {
	text-align: center;
}

#header-corporate {
	background-color:#6F7173;
	color:white;
	height:25px;
	font-size:10px;
	text-transform:uppercase;
	font-family:"OpenSans";
	font-weight:600;
	text-align:center;
	z-index:0;
	position:relative;
	padding-left:20px;
	padding-right:20px;
}

#header-corporate a {
	color:white;
	margin-right:36px;
	text-decoration:none;
}

#header-corporate .highlight {
	color:#02AFAB;
}

#header-corporate .page {
	margin-left:auto;
	margin-right:auto;
}

.mobile-header-bg {
	display: none;
}

/** MENU TOGGLE */

#mobile_menu_toggle {
	display:none;
	list-style:none;
	margin:0px;
	height:30px;
	padding:0px;
	position:absolute;
	width:30px;
}

#mobile_menu_toggle:hover {
	opacity:0.5;
	cursor:pointer;
}

#mobile_menu_toggle.selected li,
#mobile_menu_toggle:hover li {
	background-color:#26bec6;
}

#mobile_menu_toggle li {
	background-color:#6D6F71;
	border-radius:3px;
	height:4px;
	margin-top:5px;
	margin-bottom:5px;
	width:30px;
}

#mobile_menu {
	display:none;
	position: fixed;
	height: 100%;
	overflow: hidden;
	width: 180px;
	background-color:#67696B;
	z-index: 99999;
}

#mobile_menu span {
	color:white;
	display:block;
	font-family:"OpenSans";
	font-weight:300;
	font-size:15px;
	text-decoration:none;
	text-transform:uppercase;
	padding-left:15px;
	padding-right:5px;
	padding-top:20px;
	padding-bottom:25px;
	border-bottom:1px solid #666;
	letter-spacing:1px;
}

#mobile_menu a:hover {
	opacity:0.5;
}

#mobile_menu a.selected {
	color:#24BDC5;
}


/* BANNERS */

#banners {
	height:500px;
	overflow:hidden;
	text-align:center;
	width:auto;
}

#banners .smile {
	padding-bottom:113px;
	padding-top:113px;
}

#banners .banner {
	display:block;
	background-repeat:no-repeat;
	background-position:center center;

}

#banners .banner, #banners .banner-background {
	position:absolute;
	left:0;
	height:500px;
	width:100%;
}

#banners .banner-background {
	background-color:#26bec6;
}

/* Services */

#services {
	text-align: center;
	max-width: 1232px;
	display: flex;
}

#services .slick-active li button:before {
	color: grey !important;
	opacity: 0.70 !important;
}


#services .services-top {
	margin: 30px;
	height: 300px;
}

.service-item .regular-subheader {
	font-size: 24px;
}

#services .center-container {
	max-width: 1080px;
}

#services .right-container, #services .left-container {
	width: 70px;
	display: flex;
	cursor: pointer;
}

#services .right-container:hover img {
	transition: all ease-in-out 0.1s;
	margin-left: 10px;
}

#services .left-container:hover img {
	transition: all ease-in-out 0.1s;
	margin-left: 0px;
}

#services .slick-dots li button:before {
	font-size: 12px;
}

#services .service-arrow {
	margin: 5px;
	margin-top: 500px;
	width: 60%;
	transition: all ease-in-out 0.1s;
}

#services .service-item-regular {
	display: inline-block;
}


#services .service-overview {
	max-width: 714px;
	margin: 0 auto;
	margin-top: 30px;
	margin-bottom: 30px;
}

#services .services-top {
	width: 660px;
	margin-left: 29px;

	margin-right: 29px;
	margin-bottom: 15px;
	margin-top: 15px;

}

#services .service-item {
	background-color: #FAFAFA;
	width: 260px;
	padding: 20px;
}

#services .item-container {
	margin-left: 29px;
	margin-right: 29px;
	margin-bottom: 15px;
	margin-top: 15px;
	vertical-align: top;
}

#services .service-item.top {
	height: 260px;
}

#services .service-item.bottom {
	height: 260px;
}

#services .service-item .item-title {
	color: #4AC4CE;
	font-family: SourceSansPro-Regular;
	font-size: 16px;
	letter-spacing: 2px;
}

#services .service-item .regular-subheader {
	margin-bottom: 8px;
}

#services .service-read-more {
	font-family: SourceSansPro-Bold;
	font-size: 16px;
	display: block;
	color: #00ADBB;
	margin-top: 15px;
	margin-bottom: 15px;
	transition: all ease-in-out 0.2s;
	text-transform: uppercase;
}

#services .service-read-more:hover {
	transition: all ease-in-out 0.2s;
	color: #02838e;
	cursor: pointer;
}

#services_carousel {
	display: flex;
	flex-wrap: wrap;
}

#services .service-item .text {
	width: 225px;
	margin-bottom: 0;
	display: inline-block;
}

.quote-button {
	font-family: 'Roboto', sans-serif;
	background-color: #5FCFD5;
	cursor: pointer;
	color: white;
	border: none;
	border-radius: 0px;
	transition: all ease-in-out 0.2s;
}
.quote-button:hover {
	transition: all ease-in-out 0.2s;
	background-color: #4db6bb;
}
.quote-button.compact {
	width: auto !important;
	padding-left: 10px;
	padding-right: 10px;
	margin: 0px !important;
}

#services .service-item .quote-button {
	width: 150px;
	height: 40px;
	font-size: 14px;
}

#not-included-section .quote-button {
	width: 150px;
	height: 40px;
	font-size: 14px;
}

#services .service-item-picture {
	margin-top: 40px;
}


#services .service-item-picture .service-image {
	position: relative;
	display: inline-block;
}
#services .service-item-picture .service-image > span {
	position: absolute;
	bottom: -5px;
	padding: 14px 5px;
	background-color: rgba(255,255,255,0.6);
	width: 100%;
	font-family: SourceSansPro-Regular;
	right: 0px;
	text-transform: uppercase;
	font-size: 8pt;
	letter-spacing: 0.2em;
}

#services .service-item-picture img {
	position: relative;
	top: 5px;
	height: 300px;
	width: 300px;
}

#services .service-item-picture .text {
	width: 255px ;
	height: 115px;
}

/* Service info section */

#service-info .description {
	max-width: 615px;
	margin: 0 auto;
	text-align: center;
	font-size: 18px;
}

.padded {
	padding-top: 220px !important;
}

#service-info .regular-subheader {
	margin-bottom: 30px;
	font-size: 32px;
}

#service-info .breakdown {
	margin-top: 100px;
}

#service-info .breakdown img {
	max-width: 426px;
}

.services-exterior_glass_cleaning .breakdown img {
	margin-top: 54px;
}


#service-info .breakdown-content {
	display: inline-block;
	max-width: 423px ;
	margin-left: 40px;
	vertical-align: top;
}

#service-info .breakdown-content {
	margin-top: -5px;
}

#service-page .text {
	font-size: 18px;
	color: #676767;
	opacity: 0.70;
}

#service-page #janitor_coverage {
	font-weight: bolder;
	cursor: pointer;
	color:#26bec6;
}

#service-page .header-info {
    padding-top: 203px;
}

#service-page .quote-service {
	background-color: #B2B2B2;
	text-align: center;
	padding-top: 53px;
	padding-bottom: 45px;

}

.quote-service .info {
	display: inline-block;
	font-family: SourceSansPro-Light;
	color: #FDFEFF;
	font-size: 19px;
}

.info span {
	font-family: SourceSansPro-Semibold;
	color: white;
}

.quote-service button {
	background-color: transparent;
	color: white;
	border: 2px solid;
	padding: 20px;
	font-size: 16px;
	font-family: Roboto;
	font-weight: 400;
	margin-left: 20px; /*40px*/
	letter-spacing: 1.15px;
	cursor: pointer;
}
.quote-service button:hover {
	background-color: #4db6bb;
	border-color: #4db6bb;
}



#service-page .regular-subheader {
	font-size: 36px;
}

#service-page .reasons-content .regular-subheader {
	font-size: 22px;
}


#service-info .breakdown-content .text {
	max-width: 440px;
}

.breakdown-content .regular-subheader {
	margin-bottom: 0 !important;
}

#service-info .breakdown-content ul, .not-included ul {
	padding-inline-start: 0px;
	margin-top: 0px;
}

.not-included {
	background-color: #FAFAFA;
	width: 100%;
	padding-top: 90px;
	padding-bottom: 60px;
}

.not-included-content {
	max-width: 1080px;
	margin: 0 auto;
}

.not-included-content .text a {
	font-family: inherit;
	font-size: inherit;
}
.not-included-content .text a:hover {
	text-decoration: underline;
}

.not-included .regular-subheader {
	font-size: 36px;
}

#service-info ul, .not-included ul {
	list-style: none; /* Remove default bullets */
}

#service-info ul li::before, .not-included ul li::before  {
	content: "\2022";  /* Add content: \2022 is the CSS Code/unicode for a bullet */
	color: #00ADBB; /* Change the color */
	font-weight: bold; /* If you want it to be bold */
	font-size: 25px;
	display: inline-block; /* Needed to add space between the bullet and the text */
	width: 0.5em; /* Also needed for space (tweak if needed) */
	margin-left: 0em; /* Also needed for space (tweak if needed) */
}

/*Smile section*/

/* MISSION CAROUSEL SECTION */
#mission-carousel-section {
	background-color: #5A6169;
	width: 100%;
	padding: 60px 0;
	overflow: hidden;
	position: relative;
}

.mission-carousel-container {
	width: 100%;
	max-width: none;
	position: relative;
}

#mission_carousel {
	width: 100%;
}

.mission-slide-item {
	width: 100%;
	height: 300px;
	display: flex !important;
	align-items: center;
	justify-content: center;
	outline: none;
}

.mission-slide-content {
	text-align: center;
	color: #ffffff;
	max-width: 900px;
	margin: 0 auto;
	padding: 40px 120px;
}

.mission-label {
	color: #17BAC5;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 2px;
	text-transform: uppercase;
	margin-bottom: 15px;
}

.mission-title {
	color: #17BAC5;
	font-family: 'SourceSansPro-Bold';
	font-size: 36px;
	font-weight: 700;
	margin: 0 0 20px 0;
	line-height: 36px;
}

.mission-text {
	color: #ffffff;
	font-family: 'SourceSansPro-Regular';
	font-size: 30px;
	line-height: 40px;
	margin: 0;
}

.mission-text .text-bold {
	font-family: 'SourceSansPro-Bold';
}

/* Mission Navigation Arrows */
.mission-arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 10;
	cursor: pointer;
	width: 60px; /* Increased size */
	height: 60px; /* Increased size */
	/* background-repeat: no-repeat;
	background-size: contain;
	background-position: center; */
	transition: opacity 0.3s ease;
	color: #fff; /* White arrows */
    display: flex;
    align-items: center;
    justify-content: center;
}

.mission-arrow svg {
	display: block;
	width: 100%;
	height: 100%;
}

.mission-arrow:hover {
	opacity: 0.8;
}

.mission-arrow-left {
	left: 20px;
	/* background-image: url(../img/carousel_left.svg); */
}

.mission-arrow-right {
	right: 20px;
	/* background-image: url(../img/carousel_right.svg); */
}

/* Hide slick dots for mission carousel */
#mission-carousel-section .slick-dots {
	display: none !important;
}

/* OLD MISSION & GUARANTEE CAROUSEL - DEPRECATED */
/* MISSION & GUARANTEE CAROUSEL */
.mission-guarantee-carousel {
	width: 100%;
	overflow: hidden;
	max-width: none !important;
	margin: 0 !important;
}

.carousel-container {
	width: 100%;
	position: relative;
	max-width: none !important;
}

.carousel-slide {
	width: 100%;
	min-height: 400px;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	padding: 80px 40px;
}

/* Mission Slide - Gray Background */
.mission-slide {
	background-color: #5A6169;
}

.slide-content {
	max-width: 800px;
	text-align: center;
	color: #ffffff;
}

.slide-label {
	color: #17BAC5;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 2px;
	text-transform: uppercase;
	margin-bottom: 15px;
}

.slide-title {
	color: #17BAC5;
	font-size: 42px;
	font-weight: 700;
	margin: 0 0 25px 0;
	line-height: 1.2;
}

.slide-text {
	color: #ffffff;
	font-size: 18px;
	line-height: 1.8;
	margin: 0;
}

.text-highlight {
	font-weight: 700;
}

/* Guarantee Slide - White Background */
.guarantee-slide {
	background-color: #ffffff;
}

.slide-content-with-icon {
	max-width: 1000px;
	display: flex;
	align-items: center;
	gap: 60px;
}

.guarantee-icon {
	flex-shrink: 0;
}

.guarantee-icon img {
	width: 180px;
	height: 180px;
	object-fit: contain;
}

.guarantee-text-content {
	flex: 1;
	text-align: left;
}

.guarantee-title {
	color: #333333;
	font-size: 38px;
	font-weight: 700;
	margin: 0 0 20px 0;
	line-height: 1.2;
}

.guarantee-text {
	color: #666666;
	font-size: 16px;
	line-height: 1.8;
	margin: 0;
}

/* Carousel Navigation Buttons */
.carousel-nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background: transparent;
	border: none;
	color: rgba(255, 255, 255, 0.5);
	width: 50px;
	height: 50px;
	cursor: pointer;
	z-index: 10;
	transition: all 0.3s ease;
	display: flex;
	align-items: center;
	justify-content: center;
}

.carousel-nav:hover {
	color: rgba(255, 255, 255, 0.9);
}

.carousel-nav-prev {
	left: 40px;
}

.carousel-nav-next {
	right: 40px;
}

/* Guarantee slide navigation buttons (darker for white background) */
.guarantee-slide .carousel-nav {
	color: rgba(0, 0, 0, 0.3);
}

.guarantee-slide .carousel-nav:hover {
	color: rgba(0, 0, 0, 0.7);
}

/* OLD SMILE STYLES - KEEPING FOR COMPATIBILITY */
#smile {
	background-color: #FAFAFA ;
}

#smile .content {
	padding-top: 74px;
	padding-bottom: 74px;
}

#smile .smile-info {
	display: inline-block;
	max-width: 475px ;
	vertical-align: top;
	margin-left: 100px;
	margin-top: 50px;
}

.smile-info .text {
	max-width: 390px;
}

.smile-info .regular-subheader {
	font-size: 35px;
	margin-bottom: 20px;
}

#smile .smile-image {
	display: inline-block;
	max-width: 300px;
}

/* WAIT */

.wait {
	background-color:rgba(255,255,255,0.7);
	background-image: URL(../img/loading.gif);
	background-repeat: no-repeat;
	background-position: center center;
	display:none;
	position:absolute;
	z-index:100;
}

/* About us reasons */

/* SMILE GUARANTEE SECTION */
.smile-guarantee-section {
	background-color: #ffffff;
	padding: 80px 40px;
	border-bottom: 1px solid #e5e5e5;
}

.smile-guarantee-container {
	max-width: 700px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	gap: 60px;
}

.smile-guarantee-icon {
	flex-shrink: 0;
}

.smile-guarantee-icon img {
	width: 200px;
	height: 200px;
	object-fit: contain;
}

.smile-guarantee-content {
	flex: 1;
	text-align: left;
}

.smile-guarantee-title {
	color: #4A4A4A;
	font-family: 'SourceSansPro-Bold';
	font-size: 38px;
	font-weight: 700;
	margin: 0 0 20px 0;
	line-height: 1.2;
}

.smile-guarantee-text {
	color: #666666;
	font-family: "SourceSansPro-Regular";
	font-size: 16px;
	line-height: 1.8;
	max-width: 357px;
	margin: 0;
}

/* WHAT MAKES US DIFFERENT SECTION */
.what-makes-us-different {
	background-color: #f9f9f9;
	padding: 80px 0;
	text-align: center;
	width: 100%;
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.what-makes-us-different .section-header {
	margin-bottom: 60px;
}

.what-makes-us-different .section-label {
	color: #17BAC5;
	font-size: 21px;
	letter-spacing: 2px;
	text-transform: uppercase;
	margin-bottom: 10px;
	line-height: 24px;
}

.section-label {
	font-family: 'SourceSansPro-Semibold';
}

.what-makes-us-different .section-title {
	font-family: 'SourceSansPro-Bold';
	color: #333333;
	font-size: 36px;
	font-weight: 700;
	margin: 0;
	line-height: 36px;
}

.reasons-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 60px 40px;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 40px;
}

.reason-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.reason-icon {
	margin-bottom: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 70px;
}

.reason-icon img {
	max-width: 70px;
	max-height: 70px;
	object-fit: contain;
}

.reason-title {
	color: #333333;
	font-family: "SourceSansPro-Semibold";
	font-size: 22px;
	font-weight: 700;
	margin: 0 0 12px 0;
	line-height: 24px;
}

.reason-text {
	color: #272727;
	font-family: "SourceSansPro-Regular";
	font-size: 18px;
	line-height: 24px;
	margin: 0;
	max-width: 254px;
}

/* OLD ABOUT US REASONS STYLES - KEEPING FOR COMPATIBILITY */
#about-us-reasons .icon-container img {
	height: 53px;
	width: 74px;

}

#about-us-reasons.content {
	padding-top: 146px
}

.reasons-content {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}

#about-us-reasons .reason {
	width: 264px;
	text-align: center;
	vertical-align: top;
	margin: 48px;

}

#about-us-reasons .text.payment {
	width: 250px;
	text-align: center;
	display: inline-block;

}

#about-us-reasons .text.academy {
	width: 230px;
	text-align: center;
	display: inline-block;
}

#about-us-reasons .text.products {
	width: 247px;
	text-align: center;
	display: inline-block;
}

.reason .regular-subheader {
	margin-top: 10px;
	margin-bottom: 15px;
	font-size: 22px;
}

#about-us-reasons .regular-subheader {
	text-align: center;
}
#about-us-reasons .section-sub {
	font-size: 35px;
}

/* QUOTE */

#quote .title {
	color:white;
	font-family:"OpenSans";
	font-weight:300;
	background-image:URL(/img/quote-ribbon.png);
	background-repeat:no-repeat;
	height:50px;
	width:448px;
}

/* CLIENTS */

#clients {
	background-color:#5ED1D6;
	text-align:center;
}

#clients h1 {
	color:white;
	font-family:"OpenSans";
	margin-bottom:0px!important;
}

#clients h2 {
	color:white;
	font-family:"OpenSans";
	font-weight:300;
	font-size:16px;
	text-align:center;
	padding-top:10px;
	padding-bottom:10px;
	width:94%;
}

#clients .small {
	display:none;
}

#clients .client_logo {
	 margin-left: 25px;
	 margin-right: 25px;
 }

#clients .sambil {
	margin-top: 25px;
	height: 29px !important;
}

#clients .banesco {
	margin-top: 18px;
	height: 43px !important;
}

#clients .ambev {
	height: 30px !important;
	margin-top: 25px;
}

#clients .delta {
	height: 26px !important;
	margin-top: 27px;
}

#clients .ericsson {
	margin-top: 23px;
	height: 34px !important;
}

#clients .scotia {
	margin-top: 26px;
	height: 28px !important;
}

#clients .usaemb {
	height: 80px !important;
}

#clients .rayovac {
	height: 34px !important;
	margin-top: 23px;
}

#clients .aes {
	height: 28px !important;
	margin-top: 26px;
}

#clients .edesur {
	height: 52px !important;
	margin-top: 14px;
}

#clients .fritolay {
	height: 63px !important;
	margin-top: 8px;
}

#clients .ikea {
	height: 23px !important;
	margin-top: 28px;
}

#clients .bluemall {
	height: 43px !important;
	margin-top: 23px;
}

#clients .nature {
	height: 42px !important;
	margin-top: 24px;
}

#clients .palacio {
	height: 55px !important;
	margin-top: 12px;
}

#clients .bhd {
	height: 80px !important;
}

#clients .hanes {
	height: 80px;
}

#clients .ege {
	height: 70px !important;
	margin-top: 5px;
}

#clients .mercasid {
	height: 80px !important;
}


/* TESTIMONIES */

#testimonies {
	background-color:#505961;
	color:white;
	text-align:center;
}

#testimonies.content {
	padding-top: 154px;
	padding-bottom: 118px;
}

#testimonies .testimony_quote {
	height: 30px;

}

#testimonies h4 {
	font-size:21px;
	margin-top:35px;
	margin-bottom: 0;
	color: #4AC3CD;
	font-family:"SourceSansPro-Semibold";
}

#testimonies h2 {
	font-size:36px;
	margin-bottom:25px;
	margin-top:0px;
	font-family:"SourceSansPro-Bold";
}

#testimonies .showcase {
	font-size:18px;
	font-weight:300;
}

#testimonies .client {
	color:#00ADBB;
	margin-bottom: 50px;
	font-weight:600;

}



#testimonies .left-arrow {
	display:inline-block;
	background-image:URL(../img/left_arrow.png);
	width:32px;
	height:82px;
	background-repeat:no-repeat;
	vertical-align:middle;
	margin-right:100px;
	margin-left:20px;
}

#testimonies .arrow.disabled {
	opacity:0.5;
}

#testimonies .right-arrow {
	display:inline-block;
	background-image:URL(../img/right_arrow.png);
	background-repeat:no-repeat;
	width:32px;
	height:82px;
	vertical-align:middle;
	margin-left:100px;
	margin-right:20px;
}

#testimonies .testimonies_container {
	display:inline-block;
	vertical-align:middle;
	width:660px;
	font-family:"SourceSansPro-Regular";
	color: #CACDCF;
	overflow: hidden;
	text-align:left;
}

#testimonies .testimonies_container .item {

	text-align:center;
	vertical-align: middle;
}

#testimonies .testimonies_container .testimony {
	display:inline-block;
	line-height:26px;
	text-align:center;
	vertical-align:top;
	margin-top:12px;
	margin-bottom:12px;
}

#testimonies .testimonies_container .client {
	margin-top:20px;
	font-size:18px;
	font-family:"SourceSansPro-Regular";
	text-align:center;
}

#testimonies .quote {
	display:inline-block;
	height:16px;
	width:20px;
}

#testimonies .left-quote {
	background-image:URL(../img/left_quote.png);
	display:inline-block;
	vertical-align:top;
}

#testimonies .right-quote {
	background-image:URL(../img/right_quote.png);
	display:inline-block;
	vertical-align:bottom;
}

#testimonies .slick-dots li.slick-active button:before {
	color: white !important;
	opacity: 1 !important;
}

#testimonies .slick-dots li button:before {
	font-size: 20px !important;

}

#testimonies .slick-dots li button:before {
	color: white !important;
	opacity: 0.70 !important;
}

/* ABOUT US */

#about-us .about-us-info {
	display: inline-block;
	max-width: 460px;
	vertical-align: top;
	margin-right: 50px;
	margin-top: 100px;
}


#about-us .about-us-gallery {
	max-width: 680px;
	display: inline-block;
}


#about-us .watch-video {
	font-family: SourceSansPro-Bold;
	text-decoration: none;
	color: #00ADBB;
}
#about-us #video-placeholder {
	cursor: pointer;
}

#about-us iframe {
	width: 516px;
	display: none;
	height: 360px;
	margin-top: 30px;
	display: none;
	border: none;
	border-radius: 10px;
}

#about-us .regular-subheader {
	font-size: 36px;
}

#about-us .header {
	text-align: left;
}

#about-us .text {
	max-width: 426px;
	margin-top: 20px;
	margin-bottom: 20px;
}


/* PRODUCTS */

#products .products_description {
	max-width:600px;
}


#products .products-gallery {
	max-width: 680px;
	display: inline-block;
}

#products .coqueta {
	margin-top: 12px;
	float: right;
}

#products .products-info {
	display: inline-block;
	max-width: 300px;
	position: relative;
	bottom: 10px;
	vertical-align: top;
	margin-left: 30px;
}

#products .header {
	text-align: left;
	margin-bottom: 0;
	font-size: 21px;
}

#products .text {
	max-width: 300px;
	margin-top: 10px;
	margin-bottom: 10px;
}

#products .text span {
	color: #00ADBB
}

#products .separation {
	padding: 5px;
}

#products .mobile-separation {
	display: none;
}

#products .regular-subheader {
	font-size: 36px;
}


#products .store-link {
	text-decoration: none;
	font-size: 14px;
	color: #00ADBB;
	letter-spacing: 0.5px;
	font-family: SourceSansPro-Semibold;
	transition: all ease-in-out 0.2s;

}

#products .store-link:hover {
	color: #02838e;
	transition: all ease-in-out 0.2s;
}


/* ACADEMY */


#academy {
	padding-top: 0;
	padding-bottom: 0;
	height: 600px;
}

#academy-content {
	margin: 0 auto;
    padding-top: 130px;
    padding-bottom: 180px;
	display: flex;
	justify-content: space-around;
	align-items: center;
}

#academy-content .header {
	text-align: left;
}

#academy .academy-video-preview {
	display: inline-block;
	width: 540px;
	height: 360px;
	background-image: url('../img/academy-video-preview.png');
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 8px;
	cursor: pointer;
}

#academy .academy-video-preview > div {
	display: inline-block;
	width: 80px;
	height: 80px;
	background-image: url(../img/white-video-play-icon.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
}
#academy .academy-video-youtube {
	display: none;
	width: 540px;
	height: 360px;
}

.regular-subheader {
	font-family: SourceSansPro-Semibold;
	font-size: 36px;
	color: #4A4A4A !important;
}

#academy .regular-subheader {
	margin-bottom: 30px;
}

#academy-content .information {
	font-family: SourceSansPro-Regular;
	font-size: 18px;
	color: #636363;
	max-width: 436px;
}

#academy-content .information  .quote-button  {
	display: inline-block;
	color: white;
	padding: 20px;
	margin-top: 20px;
	width: fit-content;
}
#academy-content .information  .quote-button.video  {
	background-color: transparent;
	color: #5FCFD5;
	margin-left: 5px;
}




/* HISTORY */

#faq-section  {
	background-color: #5FCFD5;
	padding-bottom: 100px;
}

#faq-section h4 {
	color: #38595b;
	font-size: 18px;
	font-family: "SourceSansPro-Regular";
	position: relative;
	right: 5px;
	margin-bottom: 0px;
}

#faq-section  h1 {
	font-size: 36px;
	text-align: left;
	color:white;
	font-family: "SourceSansPro-Bold";
	text-transform: none;
	margin-bottom: 15px;
}

#faq-section .text {
	color:white;
	font-family:"SourceSansPro-Regular";
	font-weight:300;
	font-size:18px;
	opacity: 1;
}

#faq-content {
	margin: 0 auto;
}

#faq-content .faq {
	font-family:"SourceSansPro-Semibold";
	font-weight: bold;
	font-size:19px;
	color: white;
}

.faqs-container {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

#faq-content span.faq {
	cursor: pointer;
	margin-top: 10px;
	text-decoration: none;
}

#faq-content .read-more {
	font-family: "SourceSansPro-Bold";
}



#faq-content .faq-container {
	display: inline-block;
	width: 43.5%;
	vertical-align: top;
	text-align: left;
	margin-right: 60px;
	margin-bottom: 30px;
}

#faq-content .faq-container a:hover {
	text-decoration: underline;
}

#faq-content .deep_cleaning_offset {
	bottom: 48px;
	position: relative;
}




/* CONTACTO */

.contact-form {
	font-family:"OpenSans";
}

.contact-form form {
	margin-top: 100px;
}

.contact-form .sub-header {
	display: block;
	margin: 0 auto;
	width: 340px;
}
.header {
	color: #85D6DD;
	font-family: SourceSansPro-Semibold;
	text-align: center;
	font-size: 21px;
	text-decoration: none;
	margin-bottom: 0;
}

.contact-form .contact-info {
	text-align: center;
}

.sub-header {
	color: #484848;
	font-size: 32px;
	font-weight: bold;
	text-align: center;
	font-family: SourceSansPro-Bold;
}


.contact-form #social {
	text-align:center;
}

.contact-form #social a {
	margin-right:40px;
}

.contact-form form {
	text-align:center;
	max-width:724px;
}

.contact-form div.input, .contact-form div.textarea {
	background-color:white;
	border-radius:4px;
	text-align:left;
}

.contact-form div label {
	color: #788A95;
	font-family: "Avenir Next";
}

.contact-form div span {
	color: #3AADBB;
	font-size: 14px;
}

.contact-form div.input {
	margin-bottom:30px;
	width:340px;
}

.contact-form div.select {
	width:100%;
}


.contact-form form div.input input, .contact-form form div.textarea textarea, .contact-form form div.input select {
	border: 1px solid #E0E7EB;
	color:#24BDC5;
	font-family:"OpenSans";
	font-size:18px;
	height: 50px;
	margin:0;
	line-height:26px;
	outline:none;
	padding-left:20px;
	resize:none;
	vertical-align:top;
}

.contact-form form div.select select {
	background-color:white;
	width:100%;
}

.contact-form form div.input img {
	margin-left:2px;
	margin-top:16px;
}

.contact-form form div.input input {
	width:317px;
	margin-top: 10px;
}

.contact-form form div.textarea textarea {
	padding-top:20px;
	width:698px;
	margin-top: 10px;
	margin-bottom: 15px;
	height: 200px;
}

.contact-form .interest{
	text-align: left;
}

.contact-form .input.radio {
	margin-top: 10px;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
}

.contact-form form div.textarea img {
	margin-top:18px;
}

.contact-form .radio-button label {
	width: 161px;
	height: 37px;
	border-radius: 30px;
	font-weight: 300;
	line-height: 37px;
	display: inline-block;
	color: white !important;
	text-align: center;
	font-size: 14px !important;
}

.contact-form .radio-option {
	margin-right: 8px;
	margin-bottom: 10px;
}

.contact-form .radio-option:last-child {
	margin-right: 0;
}

.contact-form input[type=radio] {
	display: none;
}

.input.radio {
	width: unset !important;
}
.input.radio label {
	cursor: pointer;
	font-family: "Avenir Next";
	padding: 7px 5px 0px 5px;
}

.input.radio input:checked + label {
	background-color: #9EE2E5;
	font-size: smaller;

}

.contact-form .input.radio input:not(:checked) + label {
	background-color: #DDE3E8;
	font-size: smaller;
}



/* MAP */

#map {
	height:746px;
	width:100%;
}

#map #locations {
	background-color:white;
	border-radius:4px;
	margin-left:-130px;
	left:50%;
	opacity:0.9;
	padding:20px;
	position:absolute;
	width:260px;
	z-index:1000;
}

#map #locations .title {
	color:#999899;
	font-family:"OpenSans";
	font-weight:300;
	font-size:55px;
	margin-bottom:10px;
}

#map #locations .city {
	color:#F05C5C;
	font-family:"OpenSans";
	font-size:20px;
	font-weight:300;
	letter-spacing:3px;
	margin-bottom:6px;
}

#map #locations .info, #map #locations .address {
	color:#505153;
	font-family:"OpenSans";
	font-weight:300;
	font-size:16px;
	margin-bottom:5px;
}

#map #locations a {
	color:#505153;
	text-decoration:none;
}

#map #locations a:hover {
	color:#009EAB;
}

#map #locations .info .highlight {
	color:#009EAB;

}

#map #locations .location {
	margin-bottom:18px;
}

#map_canvas {
	height:100%;
	width:100%;
	z-index:0;
}

/* BLOG */

#blog_posts .preloader,
#blog_posts .preloader:before,
#blog_posts .preloader:after {
	margin-top:0px;
	-webkit-animation-name:loadGray;
	animation-name:loadGray;
	margin-bottom: 100px;
}

#blog_posts.content {
	padding-top: 145px;
}

#blog_posts .sub-header {
	font-size: 36px;
}


#blog_posts div.more {
	text-align:center;
}

#blog_posts #posts {
	overflow:hidden;
}

#blog_posts .video-link {
	display:block;
}

#blog_posts .video-link:hover {
	opacity:0.8;
}

#blog_posts .play {
	position: absolute;
	width: 100px;
	height: 100px;
	background: url(../img/play.svg) no-repeat;

    margin-left: 85px;
    margin-top: 95px;
}

/* VIDEO */

#video-dialog, #video-dialog video {
	width:700px;
}

#video-dialog video {
	opacity:0;
}

#video-dialog .dialog-content {
	background-color: rgba(255,255,255,0.7);
	background-image: URL(../img/loading.gif);
	background-repeat: no-repeat;
	background-position: center center;
	min-height:100px;
	text-align:center;
}

#video-dialog a {
	font-family:'OpenSans';
	font-weight:300;
	color:#24BDC5;
	font-size:20px;
	text-decoration:none;
}

/* EMPLOYMENT */

.employment #banners {
	color:white;
	font-family: "OpenSans";
	font-weight: 300;
	background-color:#00ADBB;
}
.employment #banners h1 {
	color:white;
	margin-top:80px;
	margin-bottom:0px;
}

.employment #banners h2 {
	color: white;
	font-family: "OpenSans";
	font-weight: 300;
	font-size: 24px;
	text-transform:uppercase;
	margin-top:46px;
}

.employment #banners p {
	color:white;
	font-family: "OpenSans";
	font-weight: 300;
	font-size: 16px;
	width:490px;
}

.employment #banners ul {
	padding-left:0px;
	list-style:none;
}

.employment #banners a {
	margin-bottom:74px;
}

.employment #form_section {
	background-color:#F4F1EF;
	padding-bottom:80px;
}

.employment h2.flag {
	background-image:URL('../img/flag.png');
	background-repeat:no-repeat;
	color:white;
	font-family: "OpenSans";
	font-weight: 300;
	font-size:42px;
	height:64px;
	width:590px;
	text-transform:uppercase;
	text-align:center;
	padding-top:6px;
	overflow:none;
	margin-top:100px;
	margin-bottom:0px;
	position:relative;
	z-index:100;
}

.employment #form {
	background-color:white;
	border-radius:4px;
	margin-top:-35px;
	padding-top:85px;
	padding-right:77px;
	padding-left:77px;
	padding-bottom:85px;
	width:700px;
	z-index:10;
	overflow:hidden;
}

.employment #form .subsections {
	overflow:hidden;
}

.employment #form #indicators {
	text-align:center;
	margin-top:10px;
}

.employment #form .indicator {
	border:2px solid #24BDC5;
	color:#24BDC5;
	font-family: "OpenSans";
	font-weight: 300;
	font-size:42px;
	border-radius:90px;
	display:inline-block;
	width:90px;
	height:75px;
	text-align:center;
	padding-top:15px;
	margin-left:12px;
	margin-right:12px;
	vertical-align:top;
}

.employment #form .indicator:first-child {
	margin-left:0px;
}

.employment #form .indicator:last-child {
	margin-right:0px;
}

.employment #form .indicator.current {
	background-color:#24BDC5;
	color:white;
}

.employment #form .indicator.completed {
	border-color:#939597;
	background-color:#939597;
	background-image:URL(/img/checkmark.png);
	background-repeat:no-repeat;
	background-position:center center;
}

.employment #form .indicator.completed span {
	display:none;
}

.employment #form_section .navigation {
	text-align:center;
}

.employment #form_section .navigation a {
	margin-left:11px;
	margin-right:11px;
	margin-top:0px;
	vertical-align:middle;
}

.employment #form_section .table_container {
	overflow:hidden;
}

.employment #form_section table {
	font-family: "OpenSans";
	font-weight: 300;
	color:gray;
	margin-top:45px;
	border-collapse:collapse;
	width:100%;
}

.employment #form_section table h2 {
	color:#24BDC5;
	font-size:30px;
	font-family: "OpenSans";
	font-weight: 300;
	text-transform:uppercase;
	text-align:left;
	margin-top:0px;
	margin-bottom:0px;
}

.employment #form_section table thead h2 {
	margin-bottom:25px;
}

.employment #form_section table tbody h2 {
	margin-top:25px;
}

.employment #form_section table label {
	display:block;
	color:#24BDC5;
	text-transform:uppercase;
	font-family: "OpenSans";
	font-size:16px;
	margin-bottom:4px;
}

.employment #form_section table td {
	padding-bottom:20px;
	width:50%;
	vertical-align:top;
}

.employment #form_section table .input {
	font-family: "OpenSans";
	font-weight: 300;
	font-size:16px;
}

.employment #form_section table input,
.employment #form_section table select {
	margin:0px;
	border:0;
	background-color:#E8E6E6;
	font-size:16px;
	font-family: "OpenSans";
	font-weight: 300;
	padding-left:10px;
	padding-right:10px;
	padding-top:5px;
	padding-bottom:5px;
	border-radius:4px;
	width:90%;
}

.employment #form_section table select {
	background-image:URL(/img/form-select_arrow.png);
	background-repeat:no-repeat;
	background-position:top right;
	border:none;
	cursor:pointer;
	font-size:15px;
	outline:none;
	padding-right:30px;
	width:96%;
	-webkit-appearance:none;
}

.employment #form_section table select:hover {
	opacity:0.9;
}

.employment #form_section table .datetime span {
	font-size:14px;
}

.employment #form_section table .datetime select {
	font-size:14px;
	width:78px;
}

.employment #form_section table .datetime.my select {
	width:44%;
}

.employment #form_section table .datetime.dmy select:nth-of-type(2) {
	width:115px;
}

.employment #form_section table .spans_all_columns select {
	width:98%;
}

.employment #form_section table .spans_all_columns input {
	width:95.5%;
}

.employment #form_section table .checkbox label {
	color:black;
	display:inline;
	text-transform:none;
	cursor:pointer;
}

.employment #form_section table .checkbox input {
	margin-right:10px;
	width:auto;
}

.employment #form_section table .language {
	margin-right:35px;
}

.employment #form_section table .language_title {
	text-transform:uppercase;
}

.employment #form_section table .reference .reference_phone_and_relation input {
	width:145px;
}

.employment-header {
	margin-top: 120px;
}

/* FOOTER */

#footer {
	background-color: #505961;
	z-index: 999;
	padding: 50px 150px 50px 150px;
	font-family: 'OpenSans', sans-serif;
	color: white;
}


.footer-information-link-list {
	display: block;
	list-style: none;
	padding: 0;
	margin: 0;
	line-height: 1.5;
}

#footer .footer-content {
	width: 1055px;
	top: 4%;
	position: relative;
	margin: 0 auto;
}

#footer .links-container {
	width: 72%;
	margin-bottom: 35px;
	display: inline-flex;
	vertical-align: top;
}

/* .footer-phone-link {
	font-family: OpenSans-Bold;
} */

#footer-information-container {
	display: flex;
	width: 100%;
	justify-content: space-between;
}

#footer-information-container .footer-information-column > div {
	margin-bottom: 20px;
}

.links-container table, .links-container .regular a {
    width: 100%;
    color: #FEFEFE;
}

.important-link a {
	color: #FEFEFE;
	margin-right: 20px;
	font-size: 13px;
	text-transform: uppercase;
	font-family: 'OpenSans-Semibold', sans-serif;
}

#footer a {
	text-decoration: none;
	cursor: pointer;
}


.regular a {
	text-transform: uppercase;
	font-size: 12px;
}

#footer .contact-links-container {
	display: inline-block;
	margin-left: 77px;
}

#footer .contact-links-container .call-us-icon {
	display: none;
}


#footer .follow-us {
	color: #FEFEFE;
	margin-bottom: 13px;
	font-size: 14px;
	font-family: "OpenSans";
	margin-top: 35px;
}

#footer .footer-icon {
	height: 30px;
	width: 30px;
	padding: 2px;
}

#footer .call-container {
	font-family: "Avenir Next";
	color: #FEFEFE;
}

#footer .call-us {
	font-size: 16px;
	font-family: "SourceSansPro";
}

#footer .phone-number {
	font-size: 34px;
	font-family: "SourceSansPro-Bold";
}

#footer .table-bottom {
	position: relative;
}

#footer .footer-info {
	display: inline;
	float: right;
	margin-top: 9px;
}

.footer-phone-link {
	color: #FEFEFE;
}
#footer span {
	color: #FEFEFE;
	font-size: 12px;
	padding: 5px;
	white-space: nowrap;
}

#footer .bottom-links {
	display: inline;
	float: right;
	margin-top: 5px;
	margin-right: 0;
	width: 100%;
}


.footer-bottom-links-container {
	display: inline-flex;
	width: 100%;
	margin-top: 0px;
}

/* RADIO */
.radio-button {
	display: inline-block;
	width: auto !important;
	text-transform: none !important;
}

.radio-label {
	display: inline-block !important;
	margin-right: 10px;
	color: black !important;
	text-transform: none !important;
}

.survey-label {
	font-size: 16px !important;
	text-transform: none !important;
}

/* PHILOSOPHY SECTION */

.philosophy-section {
	background-color: #f5f5f5;
	padding: 80px 20px;
	padding-top: 180px;
	text-align: center;
}

.philosophy-container {
	max-width: 1200px;
	margin: 0 auto;
}

.philosophy-header {
	margin-bottom: 60px;
}

.philosophy-label {
	color: #17BAC5;
	font-family: "SourceSansPro-Semibold";
	font-size: 21px;
	letter-spacing: 2px;
	text-transform: uppercase;
	margin-bottom: 0px;
	line-height: 24px;
}

.philosophy-title {
	color: #333333;
	font-family: "SourceSansPro-Bold";
	font-size: 36px;
	font-weight: 700;
	margin-top: 0px;
	margin-bottom: 0;
	line-height: 36px;
}

.philosophy-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 60px;
	margin-top: 40px;
}

.philosophy-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.philosophy-icon {
	margin-bottom: 25px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 80px;
	height: 80px;
}

.philosophy-icon img {
	width: 100%;
	height: 100%;
}

.philosophy-item-title {
	color: #333333;
	font-family: 'SourceSansPro-Semibold';
	font-size: 22px;
	font-weight: 700;
	margin: 0 0 20px 0;
	line-height: 24px;
}

.philosophy-item-text {
	color: #666666;
	font-family: 'SourceSansPro-Regular';
	font-size: 18px;
	line-height: 24px;
	margin: 0;
	max-width: 280px;
}

.philosophy-highlight {
	font-weight: 700;
	color: #333333;
}

/* PHILOSOPHY SECTION END */

/* SONRISAS QUE INSPIRAN SECTION */
.sonrisas-inspiran-section {
	background-color: #7cd4dc;
	padding: 0px 0 0 0;
	width: 100%;
	overflow: hidden;
}

.sonrisas-inspiran-container {
	max-width: 1400px;
	width: 100%;
	margin: 0 auto;
	display: flex;
	justify-content: center;
	align-items: flex-end;
	padding: 0 40px;
	gap: 80px;
	min-height: 600px;
}

/* Girl Image */
.sonrisas-girl-image {
	flex: 0 0 auto;
	align-self: flex-end;
}

.sonrisas-girl-img {
	height: 580px;
	width: auto;
	display: block;
}

/* Text Content */
.sonrisas-text-content {
	flex: 0 0 auto;
	text-align: left;
	color: #ffffff;
	max-width: 500px;
}

.sonrisas-text-content .sonrisas-logo-img {
	width: 280px;
	height: auto;
	margin-bottom: 40px;
	display: block;
}

.sonrisas-main-title {
	font-family: "SourceSansPro-Bold";
	font-size: 48px;
	font-weight: 700;
	line-height: 1;
	margin: 0 0 20px 0;
	color: #ffffff;
}

.sonrisas-subtitle {
	font-family: "SourceSansPro-Regular";
	font-size: 18px;
	line-height: 1.6;
	margin: 0 0 30px 0;
	color: #ffffff;
}

.sonrisas-blog-button {
	display: inline-block;
	background-color: #8BC34A;
	color: #ffffff;
	font-family: "SourceSansPro-Regular";
	font-size: 16px;
	font-weight: 700;
	padding: 15px 40px;
	border-radius: 5px;
	margin-bottom: 50px;
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: 1px;
	transition: background-color 0.3s ease;
}

.sonrisas-blog-button:hover {
	background-color: #7CB342;
	color: #ffffff;
}

/* WORK WITH US SECTION */

.work-with-us-content {
	/* Use flexbox to create two distinct columns */
	display: flex;
	flex-direction: row;
	align-items: flex-end; /* Align items to bottom so image sits flush */
	justify-content: center; /* Center the group horizontally */

	background-color: #00ADBB;
	background-image: none;

	/* Adjust padding */
	padding-top: 80px;
	padding-bottom: 0px; /* Remove bottom padding so image touches edge */
	width: 100%;
	overflow: hidden;
}

.work-with-us-content .header-info {
	width: 40%;
	padding-right: 20px;
	box-sizing: border-box;
	z-index: 2;
	align-self: center; /* Keep text vertically centered */
	margin-bottom: 40px; /* Visual balance against top padding */
	margin-right: 2%; /* Gap between text and image */
}

/* Image container */
.work-with-us-team-image {
	display: block;
	width: 45%; /* Slightly smaller width to allow centering */
	text-align: center;
	line-height: 0;
	margin-right: 0;
}

.work-with-us-team-image img {
	max-width: 100%;
	height: auto;
	display: inline-block;
}

.work-with-us-content .header-title {
	line-height: 1;
}

.work-with-us-subtitle {
	color: white;
	font-family: SourceSansPro-Regular;
	font-size: 24px;
	margin-top: 15px;
}

.work-with-us-content .blue-button {
	width: 280px;
	height: 70px;
	line-height: 70px;
	font-size: 18px;
	letter-spacing: 1px;
}

.blue-button {
	font-family: "SourceSansPro-Semibold";
}

/* DEPRECATED: Old explicit mobile team class handled by .work-with-us-team-image now */


/* WORK WITH US SECTION END */

/* OFFICES SECTION */
.offices-section {
	background-color: #7CD5DC;
	padding: 80px 0;
	text-align: center;
	width: 100%;
}

.offices-container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
}

.offices-subtitle {
	font-size: 21px;
	line-height: 24px;
	letter-spacing: 2px;
	color: #ffffff;
	margin: 0 0 20px 0;
	text-transform: uppercase;
	font-family: SourceSansPro-Semibold;
}

.offices-title {
	font-size: 42px;
	font-weight: 700;
	line-height: 0.9;
	color: #ffffff;
	margin: 0 0 60px 0;
	font-family: SourceSansPro-Bold;
}

.offices-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
	margin-top: 50px;
}

.office-card {
	background-color: #ffffff;
	border-radius: 20px;
	padding: 50px 30px;
	text-align: center;
	transition: all 0.3s ease;
	cursor: pointer;
	color: #07B2BB;

}

.office-card:hover {
	transform: translateY(-5px);
}

/* Active card (selected in map) - Blue background */
.office-card.office-active {
	background-color: #07B2BB;
	color: #ffffff;
}

/* Hover effect for non-active cards - become blue */
.office-card:not(.office-active):hover {
	background-color: #07B2BB;
}

.office-card:not(.office-active):hover .office-name,
.office-card:not(.office-active):hover .office-address,
.office-card:not(.office-active):hover .office-hours,
.office-card:not(.office-active):hover .office-map-link {
	color: #096165;
}

/* Hover effect for active card - become white */
.office-card.office-active:hover {
	background-color: #ffffff;
}

.office-card.office-active:hover .office-name {
	color: #07B2BB;
}

.office-card.office-active:hover .office-address {
	color: #07B2BB;

}

.office-card.office-active:hover .office-hours,
.office-card.office-active:hover .office-map-link {
	color: #07B2BB;
}

.office-icon {
	margin-bottom: 30px;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 80px;
}

.office-icon-img {
	/* width: 80px;
	height: 80px; */
	transition: opacity 0.3s ease;
	object-fit: contain;
	max-width: 100%;
}

/* Show green icon by default (non-active cards) */
.office-card .office-icon-green {
	display: block;
}

.office-card .office-icon-white {
	display: none;
}

/* Show white icon for active card */
.office-card.office-active .office-icon-green {
	display: none;
}

.office-card.office-active .office-icon-white {
	display: block;
}

/* Hover effects - invert icons */
.office-card:not(.office-active):hover .office-icon-green {
	display: none;
}

.office-card:not(.office-active):hover .office-icon-white {
	display: block;
}

.office-card.office-active:hover .office-icon-white {
	display: none;
}

.office-card.office-active:hover .office-icon-green {
	display: block;
}

.office-name {
	font-size: 22px;
	margin: 0 0 20px 0;
	font-family: SourceSansPro-Semibold;
	color: #07B2BB;
}

.office-card.office-active .office-name {
	color: #ffffff;
}

.office-address {
	font-size: 18px;
	line-height: 24px;
	margin: 0 0 15px 0;
	font-family: SourceSansPro-Regular;
	color: #07B2BB;

}

.office-card.office-active .office-address {
	color: #ffffff;
}

.office-hours {
	font-size: 18px;
	line-height: 24px;
	margin: 0 0 25px 0;
	font-family: SourceSansPro-Regular;
	color: #07B2BB;
}

.office-card.office-active .office-hours {
	color: #ffffff;
}

.office-map-link {
	display: inline-block;
	font-size: 16px;
	line-height: 24px;
	text-transform: uppercase;
	letter-spacing: 1px;
	font-family: SourceSansPro-Bold;
	transition: opacity 0.3s ease;
	color: #07B2BB;
	cursor: pointer;
	user-select: none;
}

.office-card.office-active .office-map-link {
	color: #096165;
}

.office-map-link:hover {
	opacity: 0.8;
}

/* OFFICES SECTION END */

/* OFFICES MAP SECTION */
.offices-map-section {
	width: 100%;
	height: 500px;
	overflow: hidden;
}

.offices-map-container {
	width: 100%;
	height: 100%;
}

.offices-map-iframe {
	width: 100%;
	height: 100%;
	border: 0;
}

/* OFFICES MAP SECTION END */

/* FAQ */
#faq-questions-section {
	font-family: SourceSansPro-Bold;
	padding: 100px 200px 0 200px;
}

#faq-questions-section .text a {
	color: #00ADBB;
	font-size: 18px;
}

#faq-questions-section .text {
	max-width: 821px;
}

.faq-header-info {
	font-family: SourceSansPro-Bold;
	padding-top: 250px;
	margin: 0 auto;
	vertical-align: bottom;
	text-align: center;
}

.faq-header-title {
	font-size: 60px;
	color: white;
}

.faq-input {
	width: 100%;
	height: 30px;
	padding: 10px;
	border: 0;
	border-bottom: 3px solid white;
	background: transparent;
	color: white;
	font-size: 30px;
	margin-top: 40px;
	max-width: 400px;
}

.search-input {
	background-image: url(../img/magnifier_white.svg);
	background-size: 34px 34px;
	-webkit-appearance: none;
	background-repeat: no-repeat;
	background-position: 100%;
	font-style: italic;
	font-family: "Avenir Next";
}

.no-results {
	font-style: italic;
	font-family: "Avenir Next";
	font-size: 18px;
	display: none;
	font-weight: bold;
	margin-top: 3px;
	color: whitesmoke;
}

.results {
	background-color: #f0f0ee;
}

.common-questions-title {
	color: #484848;
	font-size: 32px;
	font-weight: bold;
	padding-bottom: 10px;
	border-bottom: 3px solid #eaeaea;
}

#faq-questions-section .faq {
	color: #24BDC5;
	padding-bottom: 20px;
	font-size: 18px;
}

#faq-questions-section .text {
	margin-bottom: 50px;
}
/* FAQ END */

/* DATEPICKER */

#ui-datepicker-div {
	display:none;
}

.ui-datepicker {
	background-color: white;
	border: 1px solid #EEE;
	border-bottom-left-radius: 8px;
	border-bottom-right-radius: 8px;
	font-family: 'OpenSans-Light';
	padding: 10px;
	text-align: center;
	width: 260px;
	box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1);
}

.ui-datepicker a {
	border-radius: 11px;
	color:#00ADBB !important;
	cursor:pointer;
	display:block;
	text-decoration:none;
}

.ui-datepicker a:hover {
	opacity:0.7;
}

.ui-datepicker .ui-state-active {
	background-color:#00ADBB !important;
	color:white!important;
}

.ui-datepicker .ui-datepicker-prev {
	color:#EC9090 !important;
	float:left;
	font-size:18px;
	font-family: 'OpenSans-Regular';
}

.ui-datepicker .ui-datepicker-next {
	color:#EC9090 !important;
	float:right;
	font-size:18px;
	font-family: 'OpenSans-Regular';
}

.ui-datepicker .ui-datepicker-calendar {
	margin-top:10px;
	width:100%;
}

.ui-datepicker .ui-datepicker-calendar th {
	text-transform: uppercase;
	font-size: 14px;
	font-family: 'OpenSans-Regular';
	font-weight:normal;
}

.ui-datepicker .ui-datepicker-title {
	font-family: 'OpenSans-Regular';
	font-size:18px;
}

.ui-datepicker .ui-state-disabled {
	color:#AAA;
}

.ui-datepicker .ui-datepicker-today a {
	border:1px solid #00ADBB;
}

.hasDatepicker {
	cursor:pointer;
}

/* END OF DATEPICKER */

.disabled {
	cursor: not-allowed;
}


/* QUOTES */
.quote-page-container {
	min-height: 100vh;
	height: auto;
}

#quote {
	height: auto;
	display: flex;
	justify-content: center;
	padding-top: 60px;
	/*padding-bottom: 145px;*/
	padding-bottom: 0px;
	background-color: #f8f9fa;
}

#quote .submit {
	display: none;
}

.service-type-selection {
	display: flex;
	margin: 10px;
}

.section_title {
	font-size: large;
	color: #00AFA9;
	text-transform: uppercase;
	font-weight: bold;
}

#quote #QuoteServiceDate {
	position: absolute;
	visibility: hidden;
}

#quote #QuoteServiceDate-alternate {
	cursor:pointer;
}

#tabs {
	background-color: white;
	margin-left: 200px;
	margin-right: 200px;
	padding: 60px;
	font-family: "Avenir Next", Roboto, sans-serif;
	max-width: 900px;
	font-weight: 300;
	min-width: 780px !important;
}
#tabs .nav.nav-tabs.nav-fill {
	margin-bottom: 30px;
	display: flex;
}
#tabs .nav-tabs .nav-item.show .nav-link, #tabs .nav-tabs .nav-link.active {
	background-color: transparent;
	border-color: transparent transparent #DDE3E8;
	border-bottom: 4px solid;
	font-size: 16px;
	font-weight: bold;
}
#tabs .nav-tabs .nav-link {
	border-top: 4px solid transparent;
	border-bottom: 4px solid;
	border-left: 0px solid;
	border-right: 0px solid;
	color: #DDE3E8;
	font-size: 16px;
	font-weight: 500;
	font-family: Roboto;
	width: 25%;
	text-align: center;
}
#tabs .nav-item.nav-link.active.show {
	color: #00ADBB;
	font-weight: 500;
}
#tabs .tabs-footer {
	border-top: 3px solid #DDE3E8;
	padding: 15px 0 0 0;
	position: inherit;
}
#tabs .tabs-footer .tabs-back-button {
	color: #788995;
	font-size: 16px;
	font-family: "Avenir Next", sans-serif;
	font-weight: 200;
	cursor: pointer;
}
#tabs .tabs-footer .tabs-back-button i {
	margin-right: 10px;
}
#tabs .tabs-footer .tabs-footer-right-button {
	position: inherit;
}

.tabs-back-button-container {
	margin-top: 10px;
}

/**
    BUTTONS
 */
button {
	background-color: white;
}

.filled-button {
	height: 45px;
	width: 150px;
	background-color: #57C2CC;
    color: white;
}

.filled-button-small {
	height: 45px;
	width: 100px;
}

.filled-button:hover {
	background-color: #51a0a9;
	color: white;
}

.transparent-button {
	background-color: transparent;
	color: #33BBC6;
	border-radius: 4px;
	border: solid;
	border-color: #33BBC6;
	border-width: 2px;
	height: 45px;
	width: 150px;
	line-height: 45px;
	text-align: center;
	vertical-align: middle;
	font-size: 12px;
	padding: 0px;
	cursor: pointer;
	outline: none;
}
.transparent-button span {
	color: #33BBC6;
	font-size: 20px;
	position: relative;
	top: 3px;
	left: 6px;
}

.page-title {
	color: #48C2CC;
	font-size: 32px;
	margin-bottom: 30px;
}


/**
    SELECT
 */
select {
	border: 1px solid #DDE3E8;
}

.bootstrap-select {
	border: 1px solid #DDE3E8;
	border-radius: 4px;
}

.feedback-dropdown {
	width: 320px !important;
}

/**
    CHECKBOX
 */
.input.radio {
	display: flex;
	text-align: center;
}
.input.radio label {
	cursor: pointer;
	font-family: "Avenir Next";
}
.input.radio input {
	display: none;
}
.input.radio input:checked + label {
	color: #ffffff;
	background-color: #9DE4E6;
	border: #9DE4E6 1px solid;
	font-size: smaller;
	line-height: 30px;
}
.input.radio input:checked + label svg path {
	fill: #ffffff;
}
.input.radio input:not(:checked) + label {
	border: #DDE3E8 1px solid;
	font-size: smaller;
	line-height: 30px;
}
.input.radio input:not(:checked) + label svg path {
	fill: #D0EFF0;
}

/**
    INPUT
 */
input {
	border: #DDE3E8 1px solid;
	border-radius: 4px;
}

.time-input {
	width: 320px;
	height: 32px;
}

/**
    TEXTAREA
 */
.input.textarea textarea {
	width: 100%;
}

textarea {
	border: #DDE3E8 1px solid;
	border-radius: 4px;
}

#DiscountMessage {
	display: none;
}

/* END QUOTES */

/* FLASH MESSAGES */

div.message_container {
	position: fixed;
	top: 0px;
	width: 100%;
	z-index:99999;
}

div.message_container div.message {
	background-color: #48C2CC;
	color: white;
	font-family: 'OpenSans';
	font-size: 34px;
	padding: 34px;
	top: 0px;
	z-index: 0;
}

#flashMessage.message {
	padding-left:0!important;
	padding:0px!important;
}

button:focus {
	outline: none;
}

.dropdown-menu {
	position: absolute;
}
.grecaptcha-badge {
    visibility: hidden !important;
}

/* Helper classes for responsive text */
.mobile-text {
    display: none;
}
