/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/*-------------------------Font Size Guide --------------------------------------
Heading Font Sizes (Desktop)
h1.xl 	- 200 - font-size: clamp(11.25rem, 9.6875rem + 5vw, 12.5rem);
h1 		- 100 - font-size: clamp(5.625rem, 4.2411rem + 2.2321vw, 6.25rem);
h2.xl 	- 140 - font-size: clamp(7.5rem, 4.7321rem + 4.4643vw, 8.75rem); 
h2		- 80  - font-size: clamp(4.375rem, 2.9911rem + 2.2321vw, 5rem); 
h3.xl	- 60  - font-size: clamp(3.125rem, 1.7411rem + 2.2321vw, 3.75rem); 
h3		- 48  - font-size: clamp(2.875rem, 2.5982rem + 0.4464vw, 3rem);
h3.sm   - 32  - font-size: clamp(2rem, 2rem + 0vw, 2rem);

Heading Font Sizes (Mobile)
h1.xl 	- 48 (200) - font-size: clamp(5rem, 5rem + 0vw, 5rem);
h1 		- 48 (100) - font-size: clamp(3rem, 3rem + 0vw, 3rem);
h2.xl 	- 40 (140) - font-size: clamp(2.5rem, 2.5rem + 0vw, 2.5rem);
h2		- 40 (80)  - font-size: clamp(2.5rem, 2.5rem + 0vw, 2.5rem);
h3.xl	- 32 (60)  - font-size: clamp(2rem, 2rem + 0vw, 2rem);
h3		- 24 (48)  - font-size: clamp(1.5rem, 1.5rem + 0vw, 1.5rem);
h3.sm   - 24 (32)  - font-size: clamp(1.5rem, 1.5rem + 0vw, 1.5rem);


Text Sizes
26 (big.xxl)				- font-size: clamp(1.625rem, 1.625rem + 0vw, 1.625rem);
24 (big.xl) accordion		- font-size: clamp(1.5rem, 1.5rem + 0vw, 1.5rem);
20 (.big.xl)   				- font-size: clamp(1.125rem, 1.0921rem + 0.1754vw, 1.25rem);
18 (big)					- font-size: 1.125rem
16 (normal)					- font-size: 1rem
14 (small)					- font-size: 0.875rem
------------------------------------------------------------------------------------*/

/* Add your custom styles here */
@import url("https://use.typekit.net/bxv7pbx.css");
@font-face {
    font-family: 'Neue Haas Grotesk Text Pro';
    src: url('assets/fonts/NHaasGroteskTXPro-55Rg.woff2') format('woff2'),
         url('assets/fonts/NHaasGroteskTXPro-55Rg.woff') format('woff'),
		 url('assets/fonts/NHaasGroteskTXPro-55Rg.ttf') format('truetype'),
		url('assets/fonts/NHaasGroteskTXPro-55Rg.otf') format('opentype');
    font-weight: 400;
    font-style: normal;
}

html{
	font-family: neue-haas-grotesk-display, sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 16px;
	line-height: 1.75;
	overflow-x:hidden;
}
body{
	font-size: 1rem;
	overflow-x:hidden;
}
.swiper-scrollbar-drag{
	background: #000 !important;
}


.class-headline {
	font-family: neue-haas-grotesk-display, sans-serif !important;
}

p,.archive .elementor-widget-text-editor {
	font-family: neue-haas-grotesk-text, sans-serif
}



h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6,.elementor-testimonial__text,.elementor-location-footer{
	font-family: neue-haas-grotesk-display, sans-serif;
	font-weight: 500;
	font-style: normal;
}
h1.xl,.h1.xl, .xl h1{
	font-size: clamp(3rem, -1.75rem + 15.8333vw, 12.5rem);
	line-height: 1;
}
h1,.h1{
	font-size: clamp(3rem, 1.375rem + 5.4167vw, 6.25rem);
	line-height: .95;
}
h2.xl,.h2.xl,.xl h2{
	font-size: clamp(2.5rem, -0.625rem + 10.4167vw, 8.75rem);
	line-height: .95;
}
h2,.h2{
	font-size: clamp(2.5rem, 1.25rem + 4.1667vw, 5rem);
	line-height: 1.1;
}
h2.sm,.h2.sm,.sm h2{
	font-size: font-size: clamp(2.5rem, 1.5rem + 3.3333vw, 4.5rem);
	line-height: 1;
}
h3.xl,.h3.xl,.xl h3{
	font-size: clamp(2rem, 1.125rem + 2.9167vw, 3.75rem);
	line-height: 1.1;
}

h3.xl-36,.h3.xl-36,.xl-36 h3{
	font-size: clamp(2rem, 1.125rem + 2.9167vw, 3.75rem);
	line-height: 1.1;
}

h3.xl-36-h,.h3.xl-36-h,.xl-36-h h3{
	font-size: clamp(2rem, 1.125rem + 2.9167vw, 3.75rem);
	line-height: 1.1;
}

h3,.h3{
	font-size: clamp(1.5rem, 0.75rem + 2.5vw, 3rem);
	line-height:1.1;
}
h3.sm,.h3.sm, .sm h3{
	font-size: clamp(1.5rem, 1.25rem + 0.8333vw, 2rem);
	line-height:1.1;
}
h4,.h4{
	font-size: clamp(1.5rem, 1.5rem + 0vw, 1.5rem);
	line-height:1.1;
}
.big.xxl{
	font-size: clamp(1.25rem, 1.0625rem + 0.625vw, 1.625rem);
	line-height:1.2;
}
.big.xl{
	font-size: clamp(1rem, 0.875rem + 0.4167vw, 1.25rem);
	line-height:1.6;
}
.big{
	font-size: 1.125rem;
}
.footer-heading h1,.footer-heading h2, .footer-heading h3 {
	font-size: clamp(3.75rem, 1.875rem + 6.25vw, 7.5rem) !important;
	line-height:1 !important;
}
.elementor-button,.menu-item a,.subtitle{
	font-family: neue-haas-grotesk-display, sans-serif;
	font-weight: 600;
	letter-spacing:0.01em;
}
.class-archive .elementor-widget-image img {
	aspect-ratio: 1.31 / 1;
    object-fit: cover;
    width: 100%;
    height: 100%;
}
.big.xxl{
	font-size: clamp(1.625rem, 1.625rem + 0vw, 1.625rem);
}
.big.xl{
	font-size: clamp(1.125rem, 1.0921rem + 0.1754vw, 1.25rem);
}
.big{
	font-size: 1.125rem;
	line-height: 1.6;
}

.big2{
	font-size: 1.125rem;
	line-height: 1.6;
	font-family: neue-haas-grotesk-text, sans-serif;
	font-weight: 400;
}


.small {
    font-size: .9em;
    line-height: 1.2em;
}
.big-text{
	font-size: clamp(1.125rem, 1.0625rem + 0.2083vw, 1.25rem);
	line-height: 1.6;
}

.big-text-2 {
    font-size: clamp(1.125rem, 1.0625rem + 0.2083vw, 1.25rem);
    line-height: 1.6;
}

.big-text-2 p {
    margin-bottom: 2.0rem !important;     /* ← this controls the gap BETWEEN paragraphs (adjust as needed: 2rem, 3rem, 40px, etc.) */
}

.big-text-2 p:last-child {
    margin-bottom: 0 !important;          /* removes extra space after the last paragraph */
}

.subtitle{
	color:var( --e-global-color-13ecfb5 );
	letter-spacing: 0.02em;
	font-weight:600;
	text-transform:uppercase;
	margin-bottom:12px
}

.footer-text{
	font-family: neue-haas-grotesk-display, sans-serif;
	font-weight: 500;
	font-size: 18px;
	line-height: 1.3em;
}

.menu-text{
	font-family: neue-haas-grotesk-display, sans-serif;
	font-weight: 500 !important;
	font-size: 40px !important;
	line-height: 1.6em !important;
}

.subtitles2{
	color:var( --e-global-color-13ecfb5 );
	letter-spacing: 0.02em;
	font-weight:600;
	font-size: 13px;
	text-transform:uppercase;
	margin-bottom:12px
}

.subtitles2a{
	color:#fa8d8d;
	letter-spacing: 0.02em;
	font-weight:600;
	font-size: 13px;
	text-transform:uppercase;
	margin-bottom:12px
}

.last-start-date{
	color: #9f9f9f !important;
	letter-spacing: 0.0em;
	font-weight:450 !important;
	font-size: 48px !important;
	margin-bottom:24px;
	line-height: 1.1 !important
}

.swiper-height {
	height:80%;
	width: 87%;
}

.swiper-height-2 {
	width: 120% !important;
}

.elementor-custom-embed-play i, 
.elementor-custom-embed-play svg {
    left: 5px;
    position: relative;
}

.elementor-custom-embed-play {
    width: 100px;
    height: 100px;
    display: grid;
    place-content: center;
    border-radius: 50%;
    background-color: var(--e-global-color-primary);
	cursor:pointer;
	transition: .3s all ease-out;
}
.elementor-custom-embed-play:hover {
    background-color: var(--e-global-color-accent);
    transition: .3s all ease-out;
}
.elementor-custom-embed-image-overlay:before {
    content: var(--background-overlay);
    display: block;
    position: absolute;
    mix-blend-mode: var(--overlay-mix-blend-mode);
    opacity: var(--overlay-opacity);
    transition: var(--overlay-transition, .3s);
    border-radius: var(--border-radius);
    border-style: var(--border-style);
    border-color: var(--border-color);
    border-block-start-width: var(--border-block-start-width);
    border-inline-end-width: var(--border-inline-end-width);
    border-block-end-width: var(--border-block-end-width);
    border-inline-start-width: var(--border-inline-start-width);
    top: calc(0px - var(--border-top-width));
    left: calc(0px - var(--border-left-width));
    width: max(100% + var(--border-left-width) + var(--border-right-width), 100%);
    height: max(100% + var(--border-top-width) + var(--border-bottom-width), 100%);
    --background-overlay: '';
    background-color: rgb(0 0 0 / 20%);
    transition: background var(--overlay-transition, .3s), border-radius var(--border-transition, .3s), opacity var(--overlay-transition, .3s);
}
.slider-wrapper {
    /*overflow-x: hidden;*/
    position: relative;
	padding-top: 100px;
	margin-top: -100px;
}
.swiper-button-next:after, .swiper-button-prev:after {
    display: none;
}
.swiper-container {
    padding-bottom: 60px;
}
.pagination-arrow.swiper-button-disabled {
	cursor: auto;
}
.swiper-container .pagination-arrow:hover {
    background-color: var(--e-global-color-text);
    color: var(--e-global-color-secondary);
    border: 1px solid var(--e-global-color-text);
	transition: .2s all ease-in;
}

.swiper-container .pagination-arrow {
	background: var(--e-global-color-secondary);
    border: 1px solid #D9D9D9;
    color: var(--e-global-color-text);
	position: absolute;
    top: 0;
    right: 0;
    z-index: 5;
    width: 60px;
    height: 60px;
    display: grid;
    place-content: center;
    border-radius: 50%;
	cursor:pointer;
	transition: .2s all ease-out;
}
.swiper-container .pagination-arrow i{
	font-size: 14px !important;
}
.swiper-scrollbar {
    margin: 0 -12px;
}
.swiper-container .swiper-scrollbar-drag:active{
	background-color:var(--e-global-color-text);
}
.swiper-container .swiper-prev-button {
    right: 75px;
}
.start-date a i {
    margin-left: 10px;
    font-size: 16px;
    transform: rotate(-45deg);
}
}


.start-date a {
    text-transform: uppercase;
    font-size: 16px;
    line-height: 16px;
    letter-spacing: 0.2px;
    font-weight: 600;
}

.slide-image img {
    object-fit: cover;
    aspect-ratio: 1.656 / 1;
    width: 100%;
    height: auto;
}

.slide-image p {
    position: absolute;
    bottom: 6px;
    left: 0;
    margin-bottom: 0;
    padding: 10px 20px;
    color: var(--e-global-color-secondary);
    opacity: 0;
	transition: .4s all ease-out;
}
.slide-image:hover p {
    bottom: 40px;
    opacity: 1;
    transition: .4s all ease-in;
}
#actor-slider *{
    letter-spacing: -0.01px;
}
#actor-slider .heading{
	font-size: clamp(1.25rem, 1.0625rem + 0.625vw, 1.625rem);
	line-height:1.2;
	margin-bottom:5px;
}
#actor-slider .slide-image img {
    aspect-ratio: .72 / 1;
}
#actor-slider .title{
	color:var( --e-global-color-13ecfb5 );
}
#actor-slider .slide-image{
	position:relative;
	overflow: hidden;
}
#actor-slider .slide-image:before {
    content: '';
    top: -6px;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgb(17 17 17 / 0%);
    position: absolute;
	transition: .4s all ease-out;
}
#actor-slider .slide-image:hover:before {
    background: rgb(17 17 17 / 60%);
    transition: .4s all ease-in;
}



.class-date-wrapper .start-date {
    font-size: clamp(3rem, 2rem + 0vw, 2rem);
    line-height: 1.1;
}


.class-date-wrapper .subtitle {
    font-size: font-size: clamp(0.875rem, 0.875rem + 0vw, 0.875rem);
    line-height: 1;
}
.video-container iframe{
	width:100%;
	height:100%;
}
.video-container .video-overlay {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}
.video-container {
    aspect-ratio: 16 / 9;
    position: relative;
}
.video-container .video-overlay .play-icon {
    font-size: 35px;
}
.start-date a:hover, .link-button a:hover {
    border-bottom: 1px solid;
}

.force-display-font,
.force-display-font p,
.force-display-font * {
    font-family: "neue-haas-grotesk-display", sans-serif !important;
}

.force-text-font,
.force-text-font p,
.force-text-font * {
    font-family: "neue-haas-grotesk-text", sans-serif !important;
}

.stay-wide {
	width: 100%;
}


/* Hide the Elementor default arrow wrapper */
.elementor-field-textual.elementor-field-type-select::after,
.elementor-select-wrapper::after {
    display: none !important;
}

/* Make "Request Type" match the other fields */
#form-field-field_d10b2f2 {
    width: 100% !important;
    box-sizing: border-box !important;
    /* Match your existing input styles (from inspector) */
    border: 1px solid #dddddd !important;
    border-radius: 8px !important;
    color: #7c7c7c !important;
    padding: 24px 20px !important;
    font-size: 16px !important;
    line-height: 18px !important;
    background-color: #ffffff !important;
    /* Use the thin chevron arrow instead of the filled one */
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%237c7c7c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 20px center !important;
    background-size: 20px !important;
    padding-right: 50px !important; /* Make room for the arrow */
}

/* Optional: match focus border look */
#form-field-field_d10b2f2:focus {
    border-color: #DDDDDD !important;
    outline: none !important;
}

/* Target Elementor Image Widget only (not background images) */
/* Remove bottom spacing from Image widget */
.elementor-widget-image:not(.elementor-absolute) figure {
    position: relative;
    display: inline-block;
    width: 100%;
    margin-bottom: 0 !important;
}

/* Also remove from the widget wrapper */
.elementor-widget-image:not(.elementor-absolute) {
    margin-bottom: 0 !important;
}

/* Position caption in bottom-right */
.elementor-widget-image:not(.elementor-absolute) .elementor-image-box-caption,
.elementor-widget-image:not(.elementor-absolute) figcaption {
    position: absolute !important;
    bottom: 1%;
    right: 1%;
    margin: 0 !important;
    padding: 0.25em 0.5em;
    font-size: 0.85em;
    line-height: 1.2em;
    font-weight: 500;
    text-shadow: 0 0 9px #0000007D;
    z-index: 2;
    background: none !important;
    width: auto !important;
    text-align: right;
}

/* Ensure image is properly contained */
.elementor-widget-image:not(.elementor-absolute) img {
    width: 100%;
    height: auto;
    display: block;
}

/* Keep original wp-caption support for non-Elementor images */
.wp-caption {
    position: relative;
    display: inline-block;
}

.wp-caption .wp-caption-text {
    position: absolute;
    bottom: 1%;
    right: 1%;
    margin: 0;
    padding: 0.25em 0.5em;
    font-size: 0.85em;
    line-height: 1.2em;
    font-weight: 500;
    text-shadow: 0 0 9px #0000007D;
    z-index: 2;
    background: none;
}

.wp-caption img {
    width: 100%;
    height: auto;
    display: block;
}


/* Caption class for text widgets inside containers with background images */
/* Make Hero sections positioned */
.elementor-section.has-image-caption,
.elementor-top-section.has-image-caption {
    position: relative !important;
}

/* Caption positioning for widgets directly in Hero section */
.elementor-section.has-image-caption .image-caption-br,
.elementor-top-section.has-image-caption .image-caption-br {
    position: absolute !important;
    bottom: 1% !important;
    right: 1% !important;
    margin: 0 !important;
    padding: 0.25em 0.5em !important;
    font-size: 0.85em !important;
    line-height: 1.2em !important;
    font-weight: 500 !important;
    text-shadow: 0 0 9px #0000007D !important;
    z-index: 999 !important;
    background: none !important;
    color: white !important;
    width: auto !important;
}

/* Target the widget wrapper specifically */
.has-image-caption .elementor-widget-text-editor.image-caption-br {
    position: absolute !important;
    bottom: 1% !important;
    right: 1% !important;
}



@media(max-width:1000px){
    .class-date-wrapper .start-date {
        font-size: clamp(1.5rem, 1rem + 0vw, 1rem) !important;
        line-height: 1.1;
    }
    .class-date-wrapper .last-start-date {
        font-size: clamp(1.35rem, 0.9rem + 0vw, 0.9rem) !important;
        line-height: 1.1;
    }
}

@media(max-width:767.98px){
	.class-archive .elementor-widget-image, .class-archive .elementor-widget-image a{
	/*	height: 250px; */
	}
	#class-slider .slide-image {
		margin-bottom: 22px;
	}
	.swiper-container {
		padding-bottom: 40px;
	}
	.swiper-horizontal>.swiper-scrollbar, .swiper-scrollbar.swiper-scrollbar-horizontal{left:12px !important;}
	.elementor-custom-embed-play {
		width: 48px;
		height: 48px;
	}
.elementor-custom-embed-play i, 
	.elementor-custom-embed-play svg {
		left: 3px;
		font-size: 18px !important;
	}
	.swiper-container .pagination-arrow {
		display:none;
	}
	#banner-carousel .swiper-wrapper {
/* 		padding: 0 15%; 
		margin-left: -75px; 
		width: 800px !important; */
	}
	.swiper-height-2 {
	/*width: 1200px !important;
		height: 900px !important; */
}
	
	.class-date-wrapper .start-date {
        font-size: clamp(1.5rem, 1rem + 0vw, 1rem) !important;
        line-height: 1.1;
    }
    .class-date-wrapper .last-start-date {
        font-size: clamp(1.35rem, 0.9rem + 0vw, 0.9rem) !important;
        line-height: 1.1;
    }
	
	h3.xl-36,.h3.xl-36,.xl-36 h3{
	font-size: clamp(2.3rem, 1.125rem + 2.9167vw, 3.75rem);
	line-height: 1.1;
}
	
	h3.xl-imp,.h3.xl-imp, .xl-imp h3{
		font-size: clamp(2.5rem, 2rem + 0vw, 2rem); 
		line-height: 1.05;
	}
	
	h3.xl-36-h,.h3.xl-36-h, .xl-36-h h3{
		font-size: clamp(2.5rem, 2rem + 0vw, 2rem); 
		line-height: 1..05;
	}
	
}