@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@400;500&family=Rubik:wght@400;500&display=swap");

:root {
	--brand-primary: #ed1c24;
	--brand-primary-light: #ffeeed;
	--brand-grey-light: #f2f2f2;
}

.slick-track {
	display: flex !important;
}

.slick-slide {
	height: auto;
}

@media (min-width: 1400px){
	.container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
		max-width: 1200px;
	}
}

.color-brand-primary {
	color: var(--brand-primary);
}

.btn-back-to-top{
	margin: 0;
	padding: 0;
	opacity: 0;
	bottom: 5%;
	z-index: 99;
	right: 2.5%;
	width: 40px;
	height: 40px;
	position: fixed;
	border-radius: 50%;
	visibility: hidden;
	background-color: #fafafa;
	border: 1.5px solid #d3d3d3;
	transition: .3s ease;
}

.btn-back-to-top.is-active{
	opacity: 1;
	visibility: visible;
}

.btn-back-to-top::after{
	content: '';
	width: 10px;
	height: 10px;
	display: block;
	margin: 5px auto 0 auto;
	transform: rotate(315deg);
	border-top: 2px solid var(--brand-primary);
	border-right: 2px solid var(--brand-primary);
}



/* COMPONENTS */
.slick-dots{
	width: 100%;
	padding: 30px 0 15px 0;
	margin-bottom: 0px;
	display: inline-flex;
	justify-content: center;
}

.slick-dots li{
	margin: 5px;
	display: inline-flex;
}

.slick-dots li button{
	opacity: .2;
	padding: 5px;
	font-size: 0;
	border: none;
	line-height: 1;
	border-radius: 50%;
	display: inline-block;
	background-color: #404040;
}

.slick-dots li.slick-active button{
	opacity: 1;
}

html{
	scroll-padding-top: 100px;
}

a{
	transition: color .3s ease, opacity .3s ease !important;
}

body {
	color: #404040 !important;
	font-family: "Roboto", sans-serif;
	scroll-padding-top: 100px;
	
}

/* .select-date-label{
	width: 100%;
    padding: 5px 10px;
    border-radius: 5px;
	margin-bottom: 1rem;
    background-color: #fafafa;
    border: 2px solid #f0efef;
    transition: border-color 0.3s ease;
} */

/* input#iDob::-webkit-calendar-picker-indicator { display: none }

input[type=date]::-webkit-inner-spin-button, 
input[type=date]::-webkit-outer-spin-button { 
	-webkit-appearance: none; 
	margin: 0; 
} */

.site-header {
	top: 0;
	z-index: 999;
	position: sticky;
	padding: 7.5px 0 10px 0;
	background-color: #fff;
	box-shadow: 1px 1px 20px 0px rgb(0 0 0 / 7%);
}

.site-header .header-content {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
}

.site-header ul {
	margin: 0;
	padding: 0;
	line-height: 1;
	align-items: center;
	display: inline-flex;
}

.site-header ul li {
	display: inline-block;
}

.site-header ul li:not(:last-child) {
	margin-right: 30px;
}

.site-header ul li a {
	color: #000;
	display: table;
	text-decoration: none;
}

.btn-nav-toggler {
	border: none;
	padding: 15px 5px 15px 0;
	background-color: transparent;
}

.btn-nav-toggler span {
	width: 25px;
	height: 2px;
	display: block;
	background-color: #404040;
}

.btn-nav-toggler span:nth-child(2) {
	margin: 5px 0;
}

.btn-cta-primary {
	color: #fff;
	padding: 7.5px 22.5px;
	border-radius: 30px;
	text-decoration: none;
	transition: 0.3s ease;
	background-color: var(--brand-primary);
	border: 2px solid var(--brand-primary);
}

.btn-cta-primary:hover{
	background-color: #fff;
	color: var(--brand-primary);
}

.btn-cta-outline-primary {
	color: #404040;
	padding: 10px 22.5px;
	border-radius: 30px;
	text-decoration: none;
	transition: 0.3s ease;
	border: 2px solid var(--brand-primary);
}

.btn-cta-outline-primary:hover {
	color: #fff;
	background-color: var(--brand-primary);
}

.section-header {
	font-size: 34px;
	font-weight: bold;
	line-height: 1.35;
	margin-bottom: 10px;
	font-family: "Rubik", sans-serif !important;
}

.section-header span {
	color: var(--brand-primary);
}

.contact-form-header {
	font-size: 34px;
	font-weight: bolder;
	margin-bottom: 5px;
	color: var(--brand-primary);
	font-family: "Rubik", sans-serif !important;
}

.contact-form-description{
	opacity: .75;
	font-size: 14px;
	margin: 10px 0 15px 0;
}

.form-nav {
	padding: 2.5px;
	display: flex;
	border-radius: 4px;
	margin-bottom: 15px;
	background-color: #f7f7f7;
	border: 1.5px solid #f0efef;
}

.form-nav a {
	width: 50%;
	padding: 8px;
	max-width: 50%;
	display: block;
	color: #404040;
	font-size: 14px;
	letter-spacing: .3;
	text-align: center;
	border-radius: 4px;
	text-decoration: none;
	text-transform: uppercase;
	
	transition: background-color .3s ease;
}
.form-nav a.active {
	color: #fff;
	background-color: #f14836;
}
/* LANDING SECTION */
.section-landing {
	
	min-height: calc(100vh - 150px);
	background-size: cover !important;
}

@media(min-width:768px){
	.section-landing{
		padding: 30px 0;
		background: url("../img/temp/landing-bg.png") no-repeat center center;
	}
}

.mobile-banner-slider{
	margin: 0 -20px;
}

.mobile-banner-slider .slick-dots{
	padding-top: 10px;
}

.mobile-banner-slide {
	position: relative;
}

.mobile-banner-slide h2{
	left: 0;
	bottom: 0;
	margin: 0;
	color: #FFF;
	position: absolute;
	padding: 10px 20px 10px 20px;
	text-shadow: 1px 1px 5px #666666cc;
}

.landing-content{
	color: #FFF;
	height: 100%;
	display: flex;
	align-items: flex-end;
	text-shadow: 1px 1px 5px #000000;
}

.landing-content h2{
	font-size: 60px;
	margin-bottom: 15px;
	font-family: "Rubik", sans-serif;
}

.landing-content p{
	font-size: 20px;
	margin-bottom: 20px;
}

.contact-form {
	padding: 20px 15px;
	border-radius: 10px;
	background-color: #fff;
}

#iDob,
#iService,
.contact-form input {
	width: 100%;
	border-radius: 5px;
	padding: 5px 10px;
	background-color: #fafafa;
	border: 2px solid #f0efef;
	transition: border-color 0.3s ease;
}

#iDob,
#iService{
	color: #404040;
	min-height: 38px;
}

#iDob,
#iService{
	text-align: left;
	height: 38px !important;
}

.contact-form input:focus {
	outline: none;
	/* border: 2px solid #404040; */
}

.contact-form select,
.contact-form textarea {
	width: 100%;
	padding: 5px 10px;
	border-radius: 5px;
	background-color: #fafafa;
	border: 2px solid #f0efef;
}


/* ENQUIRIES SECTION */

.section-enq {
	padding: 75px 0 25px 0;
}
.enq-header-wrapper {
	display: flex;
	margin-bottom: 60px;
	align-items: center;
	justify-content: space-between;
}

.enq-header-wrapper p {
	margin: 0;
}

.enq-card {
	text-align: center;
	margin-bottom: 40px;
}

.enq-card img{
	margin: 0 auto;
	display: table;
	max-width: 190px;
}

.enq-card h2 {
	font-size: 20px;
	margin: 15px 0 5px 0;
	font-family: "Rubik", sans-serif !important;
}

.enq-card p {
	opacity: 0.5;
	font-size: 14px;
	padding: 0 15px;
}

/* GENRES SECTION */
.section-genres{
	color: #FFF;
	margin: 0 auto;
	border-radius: 10px;
	text-align: center;
	padding: 60px 0 75px 0;
	max-width: calc(100% - 30px);
	background-color: var(--brand-primary);
}

.genres-card-wrapper{
	margin-top: 50px;
}

.genres-card{
	display: table;
	border-radius: 5px;
	text-align: center;
	margin-bottom: 40px;
	background-color: #FFF;
	padding: 15px 15px 20px 15px;
}

.genres-card h6{
	margin: 0;
	color: #404040;
	padding-top: 10px;
}

/* ABOUT SECTION */

.section-about {
	padding: 120px 0;
}

.about-content {
	margin-bottom: 100px;
}

.stats-box {
	padding: 20px;
	min-height: 150px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	border-radius: 5px;
	background-color: var(--brand-primary-light);
}

.stats-box h6 {
	line-height: 1;
	font-size: 58px;
	margin-bottom: 10px;
	font-weight: bolder;
	font-family: "Rubik", sans-serif !important;
	color: var(--brand-primary);
}

.stats-box p {
	margin: 0;
	font-size: 20px;
}

/* WHY SECTION */
.section-why {
	padding: 100px 0;
	background-color: var(--brand-grey-light);
}

.section-why a{
	display: table;
	margin-bottom: 30px;
}

.why-content p,
.about-content p {
	font-size: 18px;
	
	line-height: 34px;
}

.usp-box {
	text-align: center;
	margin-bottom: 30px;
}

.usp-box span {
	display: block;
	font-size: 20px;
	padding: 15px 15px 0 15px;
}

/* REVIEWS SECTION */

.reviews-slide {
	height: 100%;
	margin: 0 auto;
	position: relative;
	border-radius: 10px;
	max-width: calc(100% - 30px);
	padding: 80px 30px 100px 30px;
	background-color: var(--brand-primary-light);
	background: var(--brand-primary-light) url("../img/icons/comment.png") no-repeat 30px 25px;
}

.reviews-slide p {
	font-size: 20px;
	margin-bottom: 0;
	line-height: 32px;
	font-style: italic;
}

.review-author-details {
	bottom: 25px;
	display: flex;
	position: absolute;
}

.review-author-details div {
	padding-left: 15px;
}

.review-author-details h6 {
	font-size: 18px;
	margin-bottom: 2.5px;
}

.review-author-details span {
	opacity: 0.75;
	font-size: 14px;
}

/* CLIENT SECTION */

.section-reviews header,
.section-reviews .section-description {
	text-align: center;
}

.section-clients {
	padding: 75px 0;
	text-align: center;
}

.section-reviews {
	padding: 75px 0 50px 0;
}

/* HELP SECTION */
.section-help {
	margin-bottom: 100px;
}

.section-help a {
	color: var(--brand-primary);
	text-decoration-color: var(--brand-primary);
}

.section-help a p {
	display: block;
	font-size: 18px;
	padding-top: 10px;
}

.help-banner {
	margin: 0 auto;
	max-width: 1200px;
	padding: 40px 30px;
	border-radius: 5px;
	background-color: var(--brand-primary-light);
}

.help-banner p {
	margin: 0;
	font-size: 16px;
}

.site-footer {
	padding: 50px 0 30px 0;
	background-color: #000;
	color: rgba(225, 225, 225, 0.75);
}

.footer-end-line {
	display: flex;
	font-size: 12px;
	align-items: center;
	justify-content: space-between;
}

.footer-end-line a {
	color: var(--brand-primary);
}

.site-footer h6{
	color: #fff;
	margin-bottom: 25px;
	text-transform: uppercase;
	letter-spacing: .25px;
	font-family: "Rubik", sans-serif !important;
}


.site-footer ul li:not(:last-child){
	margin-bottom: 15px;
}


.site-footer ul li a{
	opacity: .75;   
	color: #fff;
	text-decoration: none;
}

.site-footer ul li a:hover{
	opacity: 1;
}

.icon-link{
	position: relative;
	padding-left: 30px;
}
.icon-link img{
	top: 1px;
	left: 0;
	position: absolute;
}

.footer-about{
	max-width: 400px;
	margin: 15px 0 30px 0;
}


/* OCASSION SECTION */
.ocassion-card{
	text-align: center;
	margin-bottom: 40px;
}

.ocassion-card-content h2{
	font-size: 18px;
	margin: 15px 0 5px 0;
	font-family: "Rubik", sans-serif !important;
}