/* Landing Page Styles  */
.landing-container {
	max-width: var(--containerwidth);
	padding: 0;
	margin: 0 auto;
}

@media(max-width: 1640px) {
	.landing-container {
		padding-inline: 15px !important;
	}
	.landing-hero .hero-section-wrapper {
		padding-inline: 15px !important;
	}
}

.landing-header {
	position: fixed;
	z-index: 99;
	width: 100%;
}

.landing-header .landing-container {
	display: flex;
	justify-content: space-between;
}

.landing-header .logo img {
	max-width: 208px;
	width: 100%;
}

.landing-header .landing-header-inner {
	padding-block: 24px;
}

.cta-wrapper a.cta-button.phone-number {
	background: var(--gray);
	position: relative;
	padding: 10px 30px 10px 55px;
	display: flex;
	border-radius: 100px;
	font-size: var(--h5size);
	font-family: var(--fontTTCommons);
	font-weight: 500;
	overflow: hidden;
	color: #fff;
	z-index: 1;
	transition: color 0.5s ease;
	align-items: center;
	min-width: 186px;
	justify-content: flex-start;
	line-height: 25px;
}

.cta-wrapper a.cta-button.phone-number span {
	margin-left: 3px;
}

.cta-wrapper a.cta-button.phone-number::after {
	position: absolute;
	content: "\e908";
	font-family: 'icomoon';
	left: 27px;
	font-size: 18px;
}


.cta-wrapper a.cta-button::before {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 0;
	background: var(--blue);
	z-index: -1;
	border-radius: inherit;
	transition: height 0.5s ease;
}

.cta-wrapper a.cta-button:hover::before {
	height: 100%;
}

.cta-wrapper a.cta-button.phone-number::after {
	position: absolute;
	content: "\e908";
	font-family: 'icomoon';
	left: 27px;
	font-size: 18px;
}

/* Landing Hero  */
.landing-hero .hero-section-wrapper {
	position: absolute !important;
	max-width: var(--containerwidth);
	margin: 0 auto;
	display: flex !important;
	justify-content: center;
	align-items: center;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.landing-hero .hero-button-wrapper {
	display: flex !important;
	flex-direction: row-reverse !important;
	align-items: center !important;
	justify-content: flex-end !important;
	gap: 15px !important;
}

.landing-hero h1 {
	line-height: 1.2;
}



/*********************************
 CONTACT FORM WRAPPER
*********************************/
.landing-hero .contact-form {
	max-width: 460px !important;
	margin-left: auto;
	width: 100% !important;
	padding: 32px !important;
	background: rgba(15, 15, 15, 0.65) !important;
	backdrop-filter: blur(12px) !important;
	-webkit-backdrop-filter: blur(12px) !important;
	border-radius: 14px !important;
	box-shadow: 0 25px 60px rgba(0, 0, 0, 0.45) !important;
	color: #ffffff !important;
}
.landing-hero .contact-form h4 {
	font-size: 26px !important;
	font-weight: 600 !important;
	margin-bottom: 22px !important;
	text-align: center;
	color: #ffffff !important;
}

.landing-hero .field-row {
	margin-bottom: 16px !important;
}

.landing-hero .field-row.two {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 14px !important;
}

.landing-hero .field-row p {
	margin: 0 !important;
}

.landing-hero .contact-form input[type="text"],
.landing-hero .contact-form input[type="email"],
.landing-hero .contact-form input[type="tel"],
.landing-hero .contact-form textarea {
	width: 100% !important;
	padding: 14px 16px !important;
	background: rgba(255, 255, 255, 0.08) !important;
	border: 1px solid rgba(255, 255, 255, 0.2) !important;
	border-radius: 8px !important;
	color: #ffffff !important;
	font-size: 15px !important;
	box-shadow: none !important;
	transition: all 0.25s ease !important;
}

.landing-hero .contact-form input::placeholder,
.landing-hero .contact-form textarea::placeholder {
	color: rgba(255, 255, 255, 0.7) !important;
}

.landing-hero .contact-form input:focus,
.landing-hero .contact-form textarea:focus {
	outline: none !important;
	border-color: #72c1a9 !important;
	background: rgba(255, 255, 255, 0.12) !important;
}

.landing-hero .contact-form textarea {
	resize: none !important;
	min-height: 110px !important;
}


.landing-hero .field-row-btn-acceptance {
	margin: 10px 0 0px !important;
}

.landing-hero .field-row-btn-acceptance label {
	font-size: 14px !important;
	color: rgba(255, 255, 255, 0.85) !important;
	display: flex !important;
	align-items: flex-start !important;
	gap: 10px !important;
	cursor: pointer !important;
}

.landing-hero .field-row-btn-acceptance input[type="checkbox"] {
	margin-top: 3px !important;
}

.landing-hero .contact-form .wpcf7-submit {
	display: none !important;
}

.landing-hero .custom-submit-btn {
	width: 100% !important;
	padding: 15px !important;
	background: #72c1a9 !important;
	color: #000 !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	border: none !important;
	border-radius: 10px !important;
	cursor: pointer !important;
	transition: all 0.3s ease !important;
}
.landing-hero .field-row-btn {
	position: static;
}

.landing-hero .field-row-btn p {
	flex-direction: column;
	position: relative;
}

.landing-hero .field-row-btn .wpcf7-spinner {
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	position: absolute !important;
}

.landing-hero .custom-submit-btn:hover {
	background: #5ab8a9 !important;
	transform: translateY(-1px) !important;
}

.landing-hero .wpcf7-not-valid-tip {
	font-size: 12px !important;
	margin-top: 4px !important;
	color: #ffb3b3 !important;
}

.landing-hero .wpcf7-response-output {
	margin-top: 16px !important;
	padding: 12px !important;
	border-radius: 8px !important;
	font-size: 14px !important;
	color: #ffffff !important;
	background: rgba(0, 0, 0, 0.5) !important;
	border: none !important;
}


@media (max-width: 768px) {
	.landing-hero .contact-form {
		max-width: 100% !important;
		padding: 24px !important;
		margin-top: 30px !important;
	}

	.landing-hero .field-row.two {
		grid-template-columns: 1fr !important;
	}

	.contact-form h4 {
		font-size: 22px !important;
	}
}

.landing-hero .scroll-down-custom {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: 30px;
	cursor: pointer;
}


/* landing-service-wrap  */
.landing-service-wrap .service-item .cta-button {
	position: relative;
	display: inline-block;
	line-height: 21px;
	padding: 12.5px 30px;
	background: var(--blue);
	border-radius: 100px;
	font-size: var(--h5size);
	font-family: var(--fontTTCommons);
	font-weight: 500;
	overflow: hidden;
	color: #fff;
	z-index: 1;
	transition: all 0.5s ease;
}

.landing-service-wrap .service-item .cta-button::before {
	content: '';
	position: absolute;
	left: 0;
	background: var(--green);
	bottom: 0;
	width: 100%;
	height: 0;
	z-index: -1;
	border-radius: inherit;
	transition: all .5s ease;
}

.landing-service-wrap .service-item:hover .cta-button::before {
	height: 100%;
}



/* Landing Location */
.home .location-wrap div.location-item .location-img-wrap img {
	width: 100%;
	min-height: 450px;
	object-fit: cover;
	max-height: 450px;
	min-width: 100%;
}



/* Footer */
.landing-footer {
	background: #0b0b0b;
}

.landing-footer .landing-footer-top {
	display: flex;
	justify-content: space-between;
	align-items: end;
	padding-block: 100px 30px;
}


.landing-footer .contact-form h4 {
	color: var(--white);
	font-family: var(--fontModerate);
	margin-bottom: 20px;
}

.landing-footer .contact-form .field-row.two {
	display: flex;
	gap: 24px;
}

.landing-footer .contact-form label {
	display: none;
}

.landing-footer .field-row-btn-acceptance label {
	display: block !important;
}

.landing-footer .contact-form br {
	display: none;
}

.landing-footer .contact-form .field-row {
	margin-bottom: 20px;
}

.landing-footer .contact-form .field-row input,
.landing-footer .contact-form .field-row textarea {
	background: transparent;
	padding: 14px 0 !important;
	border-bottom: 1px solid #6e6e6e !important;
	border-radius: unset !important;
	height: 50px !important;
	color: var(--white) !important;
	font-family: var(--fontModerate);
	opacity: .8;
}

.landing-footer .contact-form .field-row input::placeholder {
	color: #6e6e6e !important;
}

.landing-footer .selected-flag {
	display: none !important;
}

.landing-footer .field-row-btn-acceptance label {
	margin: 0;
	display: flex !important;
	align-items: center;
}

.landing-footer .field-row-btn-acceptance span.wpcf7-list-item {
	margin: 0;
}

.landing-footer .field-row-btn-acceptance {
	padding: 14px 0 35px 0;
	position: relative;
}

.landing-footer .field-row-btn-acceptance label span.wpcf7-list-item-label {
	font-family: var(--fontModerate);
	color: var(--white);
	font-weight: 400;
}

.field-row-btn-acceptance::before {
	position: absolute;
	content: "";
	width: 100%;
	height: 1px;
	background: #6e6e6e;
	opacity: .8;
	bottom: 0;
}

.landing-footer .field-row-btn {
	position: absolute;
	bottom: 35px;
	right: 0;
}

.landing-footer .contact-form {
	position: relative;
}

.landing-footer .field-row-btn button.custom-submit-btn {
	background: transparent;
	padding: 0;
	font-family: var(--fontTTCommons);
	font-size: var(--paraText);
	font-weight: 500;
	text-decoration: underline;
	text-decoration-color: var(--green);
	text-underline-offset: 4px;
	color: var(--white);
}

.landing-footer .field-row-btn p {
	display: flex;
	align-items: center;
}

.landing-footer .foo-logo {
	display: flex;
	justify-content: flex-end;
	margin-bottom: 16px;
}


/* CASE STIDY */
.landing-case-study-wrap .case-study-wrap .case-study-item {
	background: var(--blue);
	display: flex;
	padding: 30px 15px;
}

#landing-book-free-section {
	padding-bottom: 0 !important;
}

#landing-book-free-section .elementor-widget-text-editor p {
	font-family: var(--fontModerate);
	margin-bottom: 50px !important;
	font-size: var(--h4size);
	color: var(--black-text) !important;
	text-align: center;
}

.testimonial-popup > div {
	pointer-events: none;
	user-select: none;
}

.landing-header .cta-wrapper a i {
	display: none !important;
}

.landing-header .cta-wrapper {
	display: flex;
	align-items: center;
	gap: 16px;
}

.landing-header .cta-wrapper a.free-call {
	position: relative !important;
	display: inline-block !important;
	padding: 12.5px 30px !important;
	background: var(--green) !important;
	border-radius: 100px !important;
	font-size: var(--h5size) !important;
	font-family: var(--fontTTCommons) !important;
	font-weight: 500 !important;
	overflow: hidden !important;
	color: #fff !important;
	z-index: 1 !important;
	transition: color 0.5s ease !important;
}

.landing-service-wrap .service-wrap {
	grid-template-columns: repeat(4, 1fr) !important;
}

/*.landing-hero .hero-section-wrapper .form-wrap .elementor-shortcode {*/
/*	background: rgba(0, 0, 0, 0.55);*/
/*	backdrop-filter: blur(12px);*/
/*	padding: 28px;*/
/*	margin: 0 auto;*/
/*	border-radius: 18px;*/
/*	max-width: 500px !important;*/
/*	box-shadow: 0 20px 50px rgba(0, 0, 0, 0.35);*/
/*}*/

/*.hero-booking-form iframe {*/
/*	width: 100%;*/
/*	min-height: 580px !important;*/
/*	border-radius: 12px;*/
/*	border: none;*/
/*}*/

@media(max-width: 1440px) {
	.landing-service-wrap .service-wrap .service-item .service-content-wrap {
		flex-direction: column;
		justify-content: center;
		gap: 10px;
	}
}


@media(min-width: 1024px) and (max-width: 1440px){
	.landing-hero .video-wrap{
		min-height: 110vh !important;
	}
	
	.landing-hero .hero-section-wrapper .form-wrap .elementor-shortcode{
		transform: scale(0.8) !important;
	}
}


@media(max-width: 992px) {
	.landing-service-wrap .service-wrap .service-item .service-content-wrap {
		flex-direction: column;
		justify-content: center;
		gap: 10px;
	}

	.landing-service-wrap .service-wrap {
		grid-template-columns: repeat(2, 1fr) !important;
	}

	.landing-footer {
		margin-bottom: 0 !important;
	}
	
	.landing-hero .hero-section-wrapper {
		padding-block: 180px 200px !important;
		padding-inline: 15px !important;
	}

	.landing-hero .hero-button-wrapper {
		justify-content: center !important;
	}

	.home .home-banner-wrap .video-wrap {
		height: 100% !important;
	}

	.landing-hero .hero-section-wrapper {
		position: static !important;
		transform: none !important;
	}

	.landing-hero > :first-child {
		position: absolute;
		left: 0;
		height: 100%;
		top: 0;
	}
}


@media(max-width: 992px) {
	.landing-footer {
		margin-bottom: 55px;
	}

	.landing-footer .field-row-btn {
		margin-top: 20px;
		position: static !important;
	}

	.landing-footer .landing-footer-top {
		padding-top: 40px;
	}

	.landing-footer .landing-footer-top {
		flex-direction: column;
		gap: 50px;
		justify-content: center;
		align-items: center;
	}

	.landing-footer .foo-logo {
		justify-content: center !important;
	}

	.landing-service-wrap .service-item .service-content-wrap {
		flex-wrap: wrap !important;
		justify-content: center !important;
		flex-direction: column;
		gap: 15px;
		align-items: center !important;
	}

	.landing-location-wrap div.location-item .location-img-wrap img {
		min-height: 300px !important;
		max-height: 300px !important;
	}
}


@media(max-width: 992px){
	.landing-hero .hero-section-wrapper{
		flex-direction: column !important;
	}
	
	.landing-hero h1{
		text-align: center !important;
	}
	
	.landing-hero .home-banner-images{
		justify-content: center !important;
	}
	
	.landing-hero > :first-child{
		width: 100% !important;
	}
}


@media(max-width: 767px) {
	.landing-header .logo img {
		max-width: 130px !important;
	}

	.landing-header .logo {
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.landing-header .landing-header-inner {
		padding-block: 15px !important;
	}

	.cta-wrapper a.cta-button.phone-number {
		font-size: 16px !important;
		padding: 6px 10px 6px 46px !important;
		min-width: 160px;
	}
	.cta-wrapper a.cta-button.phone-number::after {
		left: 20px !important;
		top: 50%;
		transform: translateY(-50%);
		font-size: 16px;
	}
}


@media(max-width: 767px) {
	a.phone-number.sticky-btn {
		text-align: center;
		padding: 10px !important;
		justify-content: center !important;
		font-size: 20px !important;
		gap: 10px;
		align-items: center;
		border-radius: 0 !important;
		background: var(--gray);
		display: flex !important;
		font-family: var(--fontTTCommons);
		font-weight: 500;
		overflow: hidden;
		color: #fff;
		z-index: 1;
		transition: color 0.5s ease;
		min-width: 186px;
		line-height: 25px;
		position: fixed;
		left: 0;
		bottom: 0;
		width: 100%;
	}
	
	.landing-header .cta-wrapper a.cta-button.phone-number{
		display: none !important;
	}
	
	.landing-header .cta-wrapper a.cta-button.free-call{
		padding: 10px 20px !important;
        font-size: 14px !important;
        min-width: unset !important;
	}

	a.phone-number.sticky-btn::after {
		content: none !important;
	}

	a.phone-number.sticky-btn i {
		display: block !important;
		font-size: 24px !important;
	}
}


@media(max-width: 576px) {
	.landing-service-wrap .service-wrap {
		grid-template-columns: repeat(1, 1fr) !important;
		gap: 18px;
	}

	.landing-service-wrap .service-wrap .service-item .service-content-wrap h5.service-title {
		font-size: 22px !important;
	}
	
	.landing-hero .hero-section-wrapper .form-wrap{
	    display:none !important;
	}

	.landing-hero .hero-section-wrapper .form-wrap .elementor-shortcode{
		padding: 15px !important;
		margin-top: 30px !important;
	}
	
	.landing-hero .scroll-down-custom{
		    position: absolute;
            left: 50%;
            transform: translateX(-50%);
            bottom: 30px;
            cursor: pointer;
	}
	
	.landing-hero .hero-section-wrapper {
		padding-block: 180px 160px !important;
		padding-inline: 15px !important;
	}

	.landing-hero .hero-button-wrapper {
		justify-content: center !important;
	}

	.home .home-banner-wrap .video-wrap {
		height: 100vh !important;
	}

	.landing-hero .hero-section-wrapper {
		position: static !important;
		transform: none !important;
	}

	.landing-hero > :first-child {
		position: absolute;
		left: 0;
		height: 100%;
		top: 0;
	}
}


@media(min-width: 576px) and (max-width: 992px){
	.landing-hero .home-banner-images{
		margin-bottom: 20px !important;
	}
}


.landing-footer .right-col {
	display: flex;
	flex-direction: column;
	justify-content: end;
}

.landing-footer a.cta-button.phone-number {
	position: relative;
	padding: 10px 30px 10px 55px;
	margin-left: auto;
	width: 100% !important;
	background: var(--green) !important;
	max-width: max-content;
	margin-bottom: 20px !important;
	display: flex;
	border-radius: 100px;
	font-size: 18px;
	font-family: var(--fontTTCommons);
	font-weight: 500;
	overflow: hidden;
	color: #fff;
	z-index: 1;
	transition: color 0.5s ease;
	align-items: center;
	min-width: 186px;
	justify-content: flex-start;
	line-height: 25px;
}

.landing-footer a.cta-button.phone-number i {
	display: none !important;
}

.landing-footer a.cta-button.phone-number span {
	margin-left: 3px;
}

.landing-footer a.cta-button.phone-number::after {
	position: absolute;
	content: "\e908";
	font-family: 'icomoon';
	left: 26px;
	font-size: 20px;
}

.landing-footer a.cta-button::before {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 0;
	background: var(--blue);
	z-index: -1;
	border-radius: inherit;
	transition: height 0.5s ease;
}

.landing-footer a.cta-button:hover::before {
	height: 100%;
}

.landing-footer a.cta-button.phone-number::after {
	position: absolute;
	content: "\e908";
	font-family: 'icomoon';
	left: 27px;
	font-size: 18px;
}

@media(max-width: 1100px) {
	.landing-footer .landing-footer-top {
		flex-direction: column !important;
		justify-content: center;
		align-items: center !important;
		gap: 40px;
	}

	.landing-footer .right-col {
		justify-content: center;
		align-items: center;
	}
	.landing-footer .cta-button.phone-number {
		margin-inline: auto !important;
	}
}


/* Client Changes */

.book-session-wrap .contact-form {
    background: #fff !important;
    padding: 30px 40px !important;
	position: relative;
	padding-top: 0 !important;
    border-top: 4px solid #72c1a9 !important;
}

.book-session-wrap .contact-form h4 {
    font-size: 30px !important;
	text-align: center;
    font-weight: 600 !important;
	background: #72c1a9;
    padding: 8px !important;
    border-radius: 0 0 25px 25px;
    color: white !important;
    padding-top: 5px !important;
    margin-bottom: 25px !important;
}

.book-session-wrap .contact-form .field-row {
    margin-bottom: 18px !important;
}

.book-session-wrap .contact-form .field-row.two {
    display: flex !important;
    gap: 15px !important;
}

.book-session-wrap  .contact-form .field-row.two > div {
    width: 100% !important;
}

.book-session-wrap .contact-form .field-row.two{
	flex-direction: column !important;
}

.book-session-wrap .contact-form input[type="text"],
.book-session-wrap .contact-form input[type="email"],
.book-session-wrap .contact-form input[type="tel"],
.book-session-wrap .contact-form textarea {
    width: 100% !important;
    padding: 12px 16px !important;
    font-size: 16px !important;
    color: black !important;
	border-radius: 5px !important;
    background: #ffffff !important;
    border:1px solid rgba(0,0,0,0.5) !important;
    outline: none !important;
    box-shadow: none !important;
}


.book-session-wrap .contact-form input::placeholder,
.book-session-wrap .contact-form textarea::placeholder {
    color: black !important;
	opacity: 0.4 !important;
}

.book-session-wrap .contact-form input:focus,
.book-session-wrap .contact-form textarea:focus {
    border-color: #72c1a9	 !important;
}

.book-session-wrap .contact-form textarea {
    resize: none !important;
    min-height: 120px !important;
}

.book-session-wrap .contact-form .field-row-btn-acceptance {
    margin-top: 5px !important;
}

.book-session-wrap .contact-form .field-row-btn-acceptance label {
    font-size: 13px !important;
    color: #666 !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.book-session-wrap .contact-form .field-row-btn-acceptance input[type="checkbox"] {
    width: 16px !important;
    height: 16px !important;
}


.book-session-wrap .contact-form .field-row-btn {
    margin-top: 25px !important;
}

.book-session-wrap .contact-form .custom-submit-btn {
    width: 100% !important;
    padding: 15px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #ffffff !important;
    background: #0b2b26 !important;
    border: none !important;
    border-radius: 5px !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
}

.book-session-wrap .contact-form .custom-submit-btn:hover {
    background: #72c1a9 !important;
}

.book-session-wrap .contact-form input.wpcf7-submit {
    display: none !important;
}

.book-session-wrap .field-row-btn-acceptance label span.wpcf7-list-item-label{
	color :black !important;
}

.book-session-wrap .contact-form .field-row-btn{
	right: 40px !important;
}

@media (max-width: 767px) {
    .book-session-wrap .contact-form {
        padding: 25px !important;
    }

    .book-session-wrap .contact-form .field-row.two {
        flex-direction: column !important;
    }

    .book-session-wrap .contact-form .field-row.two > div {
        width: 100% !important;
    }
}

@media(max-width: 767px){
	a.phone-number.sticky-btn{
		background: #72c1a9 !important;
		z-index: 9999 !important;
	}
}

@media(max-width: 660px){
	.landing-hero .hero-section-wrapper .form-wrap {
		display: block !important;
	}	
	
	.home .home-banner-wrap .video-wrap{
		height: 100% !important;
	}
	
	.landing-hero .hero-section-wrapper .form-wrap .elementor-shortcode{
		padding: 0 !important;
	}
	
	.landing-hero .hero-section-wrapper{
		padding-block: 160px 120px !important ;
	}
	
	.book-session-wrap .contact-form {
		padding-top: 0 !important;
	}
	
	.book-session-wrap .contact-form h4{
		font-size: 24px !important;
	}
	
	.book-session-wrap .field-row-btn-acceptance{
		padding-bottom: 16px !important;
	}
	
	.book-session-wrap .contact-form .field-row-btn{
		position: static !important;
		margin-top: 16px !important;
	}
}