html{
	font-size: 62.5%;
	scroll-behavior: smooth;
}

*{
	padding: 0;
	margin: 0;
	border: 0;
	box-sizing: border-box;
}

body{
	font-size: 1.6rem;
	font-family: "Poppins", sans-serif;
	line-height: 1.5;
	color: #333;
	background-color: #fff;
}

/* main styles */

h1, h2, h3{
	font-size: 3.2rem;
	line-height: 1.1;
	font-weight: 900;
	margin: 0 0 1.2rem 0;
	color: #1f1f1f;
	letter-spacing: -1px;
}

h1{
	color: #fff;
}

h2{
	font-size: 3.2rem;
	margin-bottom: 1.5rem;
}

h3{
	font-size: 2.8rem;
	margin-bottom: 1rem;
}

h4{
	margin-bottom: 1rem;
}

p{
	font-size: 1.6rem;
	line-height: 1.5;
	margin-bottom: 1rem;
}

a{
	color: #333;
	text-decoration: underline;
}

a:hover{}

.site-btn{
	display: inline-block;
	background-color: #1f1f1f;
	border: 1px solid #1f1f1f;
	font-weight: 600;
	padding: 1.2rem 2rem;
	text-decoration: none;
	color: #fff;
	border-radius: 5rem;
	-webkit-appearance: none;
}

.site-btn:hover{
	background-color: #fff;
	border-color: #1f1f1f;
	color: #1f1f1f;
}

.mt-10{
	margin-top: 1rem;
}

/* main layout */

.wrapper,
header,
section,
.hero,
footer{
	width: 100%;
	display: block;
	background-color: #fff;
}

header .container{
	position: relative;
}

a.desktop-tel{
	display: none;
	position: absolute;
	top: 2rem;
	right: 15rem;
	font-size: 2rem;
	text-decoration: none;
}

a.mobile-tel{
	width: 3.6rem;
	height: 3.6rem;
	position: absolute;
	top: 1.6rem;
	right: 13.5rem;
}

section{
	padding: 3rem 2rem;
}

.container{
	width: 100%;
	max-width: 120rem;
	margin: 0 auto;
}

.hero{
	min-height: 20rem;
	padding: 6rem 2rem;
	background-image: url("../images/hero-bg.jpg");
	background-size: cover;
	text-align: center;
	color: #fff;
	position: relative;
}

.hero p{
	margin-bottom: 3rem;
}

.hero::before{
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background-color: rgba(0,0,0,0.5);
	z-index: 1;
}
.hero .container{
	position: relative;
	z-index: 2;
}

.hero .site-btn{
	background-color: #000;
	border: 0.1rem solid #fff;
}

.hero .site-btn:hover{
	background-color: #fff;
	border-color: #1f1f1f;
	color: #1f1f1f;
}

.left-col,
.right-col,
.single-col,
.two-col,
.three-col,
.four-col{
	width: 100%;
}

.four-col{
	margin-bottom: 2rem;
}

.center{
	text-align: center;
}

/* header */

.mobile-link{
	display: none;
	float: right;
	padding: 1rem 1.5rem;
	margin: 1rem 0 0 0;
	border: 0.1rem solid #f9f9f9;
	border-radius: 0.3rem;
	text-decoration: none;
}

.mobile-link:hover{
	background-color: #fff;
}

#mobile-menu{
	display: none;
	width: 100%;
	height: 100%;
	float: left;
	background-color: rgba(0,0,0,0.85);
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1000000000;
}

#mobile-links ul{
	float: left;
	z-index: 2;
	margin-top: 5rem;
}

#mobile-links ul li{
	width: 100%;
	float: left;
	margin-bottom: 1.5rem;
	padding-left: 5%;
	list-style: none;
}

#mobile-links ul li a{
	color: #fff;
	font-size: 2rem;
	font-weight: 400;
	text-decoration: none;
}

#mobile-links ul li a{
	background-color: none;
}

.close-btn{
	float: right;
    font-size: 4rem;
    color: #fff;
    position: absolute;
    top: 1rem;
    right: 1rem;
	text-decoration: none;
}

.mobile-link{
	display: block;
}

header{
	padding: 2rem;
	position: relative;
}

.site-logo{
	display: inline-block;
}

.site-logo img{
	height: 6rem;
}

nav{
	float: right;
}

nav ul{
	float: right;
	margin: 2.1rem 0 0 0;
}

nav ul li{
	float: left;
	margin-left: 2rem;
	list-style: none;
}

nav ul li a{
	padding: 0.6rem 1.2rem;
	border-radius: 5rem;
	background-color: #1f1f1f;
	border: 1px solid #1f1f1f;
	color: #fff;
	text-decoration: none;
}

nav ul li a:hover{
	background-color:#fff;
	border-color: #1f1f1f;
	color: #1f1f1f;
}

/* footer */

footer{
	background-color: #fff;
	padding: 0 2rem 5rem 2rem;
}

footer .container{
	padding-top: 4rem;
	border-top: 1px solid #d6d6d6;
}

.footer-col{
	width: 100%;
	margin: 0 2% 2rem 2%;
}

.footer-col p{
	margin-bottom: 0.8rem;
}

.footer-col p a{
	text-decoration: none;
}

/* Form */

label{
	width: 100%;
	float: left;
	margin-bottom: 0.5rem;
}

input[type="text"],
input[type="tel"],
input[type="email"],
select,
textarea{
	width: 100%;
	padding: 1rem;
	margin-bottom: 2rem;
	border: 0.1rem solid #eee;
	font: 400 1.6rem "Poppins", sans-serif;
	-webkit-appearance: none;
}

textarea{
	height: 15rem;
}

input[type="submit"]{
	background: #fff;
	color: #333;
	padding: 1.2rem 2rem;
	margin: 0;
	text-decoration: none;
	border-radius: 5rem;
	font: 900 1.6rem "Poppins", sans-serif;
	border: 1px solid #fff;
}

input[type="submit"]:hover{
	background: #1f1f1f;
	color: #fff;
}

#success-div{
	display: none;
	width: 100%;
	color: #fff;
	margin-bottom: 2rem;
}

.service-module,
.benefits-module{
	width: 100%;
	background: #1f1f1f;
	padding: 0;
	margin-top: 2rem;
	border-radius: 2rem;
	color: #fff;
	display: flex;
	flex-wrap: wrap;
}

.service-module-img img{
	width: 100%;
	max-width: 100%;
	border-top-left-radius: 2rem;
	border-top-right-radius: 2rem;
}

.service-module-content{
	padding: 3rem;
}

.benefits-module{
	padding: 3rem;
}

.service-module-img{
	width: 100%;
}

.service-module h3,
.benefits-module h3,
.contact-module h2{
	color: #fff;
	margin-bottom: 2rem;
}

.benefits-module h3{
	font-size: 2.4rem;
}

.service-module ul li,
.benefits-module ul li{
	list-style: none;
	background-image: url("../images/module-list.svg");
	background-repeat: no-repeat;
	background-position: 0 0.3rem;
	padding-left: 2rem;
	margin-bottom: 1.2rem;
	font-size: 1.6rem;
}

.benefits-module ul li a{
	color: #fff;
}

.service-module-alt{
	background: #f1f1f1;
	color: #333;
}

.service-module-alt h3{
	color: #333;
}

.service-module-alt ul li{
	background-image: url("../images/module-list-alt.svg");
}

h3.guarantee-icon,
h3.pricing-icon,
h3.text-icon,
h3.schedule-icon{
	background-image: url("../images/guarantee.svg");
	background-repeat: no-repeat;
	background-size: 36px 36px;
	padding: 6px 0 0 44px;
}

h3.pricing-icon{
	background-image: url("../images/cards.svg");
}

h3.text-icon{
	background-image: url("../images/message.svg");
}

h3.schedule-icon{
	background-image: url("../images/scheduled.svg");
}

.contact-module{
	background: #1f1f1f;
	padding: 3rem;
	border-radius: 2rem;
	color: #fff;
}

.contact-module a{
	color: #fff;
}

.contact-right{
	margin-top: 2rem;
}

table.opening-hours{
	width: 100%;
}

table.opening-hours tr td:first-child{
	width: 100px;
}

.about-row img{
	width: 100%;
	max-width: 100%;
	border-radius: 2rem;
	margin-top: 3rem;
}

.kind-words h2,
.why-brighter h2{
	margin-bottom: 3rem;
}

.gallery-wrapper{
	display: flex;
	flex-wrap: nowrap;
	width: 100%;
	overflow-x: scroll;
}

.gallery-wrapper img{
	width: 28rem;
	margin: 0 1rem 0 0;
	border-radius: 1rem;
}

.gallery-wrapper::webkit-scrollbar{
	height: 0.5rem;
	background: #eee;
	border: 1px solid #f2f2f2;
	border-radius: 3rem;
}

.gallery-wrapper::-webkit-scrollbar-thumb{
	background: #dbdbdb;
	border-radius: 3rem;
}

.details h1{
	color: #1f1f1f;
}

.details h2,
.details h3{
	width: 100%;
	margin-top: 2rem;
}

.details ul{
	margin: 0 0 2rem 0;
}

.details ul li{
	margin: 0 0 0 2rem;
}

@media all and (min-width:480px){

h2{
	width: 100%;
}

.hero{
	min-height: 35rem;
}

}

@media all and (min-width:768px){


nav{
	display: block;
}

section .container,
footer .container{
	display: flex;
	flex-wrap: wrap;
}

nav ul li a{
	padding: 1rem 1.5rem;
}
	
a.desktop-tel{
	display: block;
}
	
a.mobile-tel{
	display: none;
}
	
section{
	padding: 6rem 2rem;
}

.mobile-link{
	display: none;
}

h1{
	font-size: 6rem;
}

.left-col{
	width: 66%;
	margin: 0 2%;
}

.right-col{
	width: 26%;
	margin: 0 2%;
}

.single-col{
	width: 100%;
}

.two-col,
.three-col,
.four-col{
	width: 46%;
	margin: 0 2%;
}

.three-col{
	width: 29%;
}

.four-col{
	width: 21%;
}

.footer-col{
	width: 21%;
	margin: 0 2%;
}
	
.address{
	width: 14%
}

.opening-hours{
	width: 28%;
}
	
.service-module{
	padding: 3rem;
	display: flex;
}

.service-module-img{
	width: 50%;
}

.service-module-img img{
	border-radius: 2rem;
}

.service-module-content{
	width: 50%;
	padding: 0 0 0 2rem;
}

.service-module-alt .service-module-content{
	order: 1;
	padding-left: 0;
	padding-right: 4rem;
}

.service-module-alt .service-module-img{
	order: 2;
}

.hero{
	min-height: 60rem;
	display: flex;
	padding: 0 6rem;
	align-items: center;
}

.hero .container{
	justify-content: center;
}

.benefits-module{
	width: 48%;
	margin: 1%;
}

.contact-module{
	display: flex;
	flex-wrap: wrap;
}

.contact-left,
.contact-right{
	width: 50%;
}

.contact-left{
	padding-right: 3rem;
}
	
.contact-left p a{
	text-decoration: none;
}

.contact-right{
	margin-top: 0;
}

.about-row .container{
	align-content: center;
	align-items: center
}

.kind-words .four-col{
	text-align: center;
}

.gallery-wrapper{
	display: block;
	flex-wrap: wrap;
	overflow-x: auto;
	overflow: visible;
}

.gallery-wrapper img{
	width: 23%;
	margin: 0.5%;
}

}

@media all and (min-width:960px){

h2{
	font-size: 4rem;
}

h3,
.benefits-module h3{
	font-size: 3.2rem;
}
	
h3.guarantee-icon,
h3.pricing-icon,
h3.text-icon,
h3.schedule-icon{
	padding-top: 4px;
}

.hero .container{
	padding: 0 10rem;
}

.hero p{
	font-size: 2rem;
}

.service-module{
	padding: 4rem;
	align-items: center;
}
	
.service-module-content{
	padding-left: 4rem;
}

#quote .container{
	display: flex;
	justify-content: center;
}

.contact-module{
	max-width: 100rem;
	padding: 6rem;
}

.address,
.opening-hours{
	width: 21%
}

}

@media all and (min-width:1200px){

.hero .container{
	padding: 0 12rem;
}

}