/*
 Theme Name: Hello Elementor Child
 Template: hello-elementor
 Description: A child theme for Hello Elementor
 Version: 1.0
 Author: Elementor Team
 Text Domain: hello-elementor-child
*/

div[data-elementor-type="wp-page"] > .elementor-element[class*="elementor-element-"],
div[data-elementor-type="single-page"] > .elementor-element[class*="elementor-element-"],
div[data-elementor-type="archive"] > .elementor-element[class*="elementor-element-"],
div[data-elementor-type="single-post"] > .elementor-element[class*="elementor-element-"],
footer[data-elementor-type="footer"] > .elementor-element[class*="elementor-element-"],
.elementor-section-wrap.ui-sortable > div {
	margin-left: auto !important;
	margin-right: auto !important;
}

header {
	z-index: 99 !important;
}

body {
    background:
        radial-gradient(410.03% 78.21% at 50.87% 2.91%,
            #D6EEF8 0%,
            #C8E8F5 12%,
            #CBE8F0 28%,
            #F5D4C1 42%,
            #F1B28E 52%,
            #D18AB5 60%,
            #706691 70%,
            #2C2352 80%,
            #1F183D 90%,
            #000000 100%) no-repeat top center,
        #000000;
    background-color: #000000;
	overflow-x: clip;
}
body::after {
    content: '';
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    background-image: url('https://itspersonal.digitalfoldstaging.co.za/wp-content/uploads/2026/04/Stars_M-1-scaled.webp');
    background-size: cover;
    background-position: center 30%;
    background-repeat: no-repeat;
    opacity: 1;
    mix-blend-mode: screen;
    -webkit-mask-image: linear-gradient(to bottom, black 75%, transparent 95%);
    mask-image: linear-gradient(to bottom, black 75%, transparent 95%);
    image-rendering: crisp-edges;
    transform: translateZ(0);
}
body > * {
    position: relative;
    z-index: 1;
}

.e-button-base:before {
	content: '';
    position: absolute;
    inset: 0;
    border-radius: 100px;
    padding: 0.75px;
    background: linear-gradient(73.83deg, #FFFFFF -3.5%, rgba(255, 255, 255, 0) 24.83%, rgba(255, 255, 255, 0) 85.64%, #FFFFFF 98.47%);
    -webkit-mask: 
        linear-gradient(#fff 0 0) content-box, 
        linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
}

/*Forms*/
	.form-styles .elementor-message:before {
		display: none !important;
	}

	.form-styles .elementor-field-type-text input,
	.form-styles .elementor-field-type-tel input,
	.form-styles .elementor-field-type-email input, 
	.form-styles .elementor-select-wrapper select {
		height: 52px !important;
	}

	.form-styles textarea {
		border-radius: 30px !important;
		padding-top: 16px;
	}

	.form-styles .select-caret-down-wrapper {
		display: none;
	}
	.form-styles select {
		appearance: none;
		-webkit-appearance: none;
		-moz-appearance: none;
		background: url('https://itspersonal.digitalfoldstaging.co.za/wp-content/uploads/2026/04/chevron-down-28.svg') no-repeat right 20px center;
		background-size: 24px;
		background-color: #0000000D;
		padding-top: 0;
		padding-bottom: 0;
		padding-right: 45px;
	}

	.form-styles select option {
		font-family: Montserrat;
		font-weight: 400;
		font-size: 16px;
		line-height: 1em;
		letter-spacing: 0em;
		background: #e1eae9 !important;
		color: #222222;
	}

	.form-styles .elementor-field-type-submit .elementor-button {
		position: relative;
		background-clip: padding-box;
		backdrop-filter: blur(15.300000190734863px);
		box-shadow: 0px 4px 20px 0px #FFFFFF6E inset;
	}

	.form-styles .elementor-field-type-submit .elementor-button::before {
		content: '';
		position: absolute;
		inset: 0;
		border-radius: inherit;
		padding: 0.75px;
		background: linear-gradient(73.83deg, #FFFFFF -3.5%, rgba(255, 255, 255, 0) 24.83%, rgba(255, 255, 255, 0) 85.64%, #FFFFFF 98.47%);
		-webkit-mask: 
			linear-gradient(#fff 0 0) content-box, 
			linear-gradient(#fff 0 0);
		-webkit-mask-composite: xor;
		mask-composite: exclude;
		pointer-events: none;
	}

@media only screen and (max-width: 1024px) {
	.form-styles .elementor-field-type-text input,
	.form-styles .elementor-field-type-tel input,
	.form-styles .elementor-field-type-email input, 
	.form-styles .elementor-select-wrapper select {
		height: 40px !important;
	}
	
	.form-styles .elementor-button[type="submit"] {
    padding: 14px 20px !important;
}	
}

/*End Form Styles*/

/*GSAP Animations*/
.stagger .elementor-icon-box-title,
.stagger .elementor-icon-box-description,
.stagger .elementor-heading-title,
.about-counter,
.elementor-countdown-item
{
    opacity: 0;
}
/* Show stagger elements normally in Elementor editor */
.elementor-editor-active .stagger .elementor-icon-box-title,
.elementor-editor-active .stagger .elementor-icon-box-description,
.elementor-editor-active .stagger .elementor-heading-title,
.elementor-editor-active .about-counter,
.elementor-editor-active .elementor-countdown-item
{
    opacity: 1 !important;
}

.stagger .char-wrapper,
.stagger .char {
    text-transform: none;
	display: inline-block;
    vertical-align: bottom;
}

.stagger .elementor-icon-box-title,
.stagger .elementor-icon-box-description,
.stagger .elementor-heading-title {
    white-space: normal;
    word-break: break-word;
    overflow-wrap: break-word;
}

.stagger .elementor-icon-box-title {
    transition: none;
}

/*Counters*/
.about-counter,
.elementor-countdown-item {
    transform: translateY(60px);
}

.elementor-editor-active .about-counter,
.elementor-editor-active .elementor-countdown-item {
    transform: none !important;
}
/*End Counters*/
/*End GSAP Animations*/

/*Listing Grid*/
.jet-slick-dots {
    position: relative;
}

.jet-slick-dots li.slick-active span {
    display: block !important;
    text-indent: -9999px;
    width: 12px !important;
    height: 12px !important;
    background: url('https://itspersonal.digitalfoldstaging.co.za/wp-content/uploads/2026/04/arrows.png') no-repeat center !important;
    background-size: 140% !important;
}

.jet-slick-dots li span {
    display: block !important;
    text-indent: -9999px;
    width: 12px !important;
    height: 12px !important;
    background: url('https://itspersonal.digitalfoldstaging.co.za/wp-content/uploads/2026/04/arrows-1.png') no-repeat center !important;
    background-size: 140% !important;
}

.jet-listing-grid__slider-icon.slick-arrow > svg > path {
    display: none !important; 
}

.jet-listing-grid__slider-icon.next-arrow.slick-arrow > svg,
.jet-listing-grid__slider-icon.prev-arrow.slick-arrow > svg
{
    max-width: 24px !important; 
    max-height: 24px !important; 
    background: url('https://itspersonal.digitalfoldstaging.co.za/wp-content/uploads/2026/04/arrow-right-5.svg') no-repeat center center !important;
    background-size: contain !important;
}

.jet-listing-grid__slider-icon {
	position: relative;
	background-clip: padding-box;
	backdrop-filter: blur(15.300000190734863px);
	box-shadow: 0px 4px 20px 0px #FFFFFF6E inset;
	padding: 14px;
	border-radius: 50%;
}

@media only screen and (max-width: 1024px) {
	.jet-listing-grid__slider-icon.next-arrow.slick-arrow > svg,
	.jet-listing-grid__slider-icon.prev-arrow.slick-arrow > svg
	{
		max-width: 16px !important; 
		max-height: 16px !important; 
	}
	.jet-listing-grid__slider-icon {
	padding: 12px;
}
}

@media only screen and (max-width: 767px) {
	.jet-listing-grid__slider-icon.slick-arrow {
		display: none !important;
	}
}
/*End Listing Grid*/

/*Gallery Video Lightbox*/
.aftermovie-lightbox {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.9);
    z-index: 9999;
    align-items: center;
    justify-content: center;
}
.aftermovie-lightbox.active {
    display: flex;
}
.aftermovie-lightbox-inner {
    position: relative;
    width: 90%;
    max-width: 960px;
    aspect-ratio: 16 / 9;
}
.aftermovie-lightbox-inner iframe {
    width: 100%;
    height: 100%;
    border: none;
}
.aftermovie-lightbox-close {
    position: absolute;
    top: -40px;
    right: 0;
    color: white;
    font-size: 24px;
    cursor: pointer;
    background: none;
    border: none;
}

.aftermovie-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 48px 50px;
}

.aftermovie-item {
    position: relative;
    cursor: pointer;
    border-radius: 24px;
    overflow: hidden;
    aspect-ratio: 576 / 324;
}

.aftermovie-item img {
    width: 100%;
    min-height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease-in-out;
}

.aftermovie-item:hover img {
    transform: scale(1.05);
}

.aftermovie-item::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 101px;
    height: 101px;
    background: url('https://itspersonal.digitalfoldstaging.co.za/wp-content/uploads/2026/04/play-circle-18.svg') no-repeat center / contain;
    pointer-events: none;
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
	.aftermovie-grid {
    gap: 24px;
}
	.aftermovie-item {
    aspect-ratio: 340 / 191.25;
}
	.aftermovie-item::after {
    width: 82px;
    height: 82px;
}
}
@media (max-width: 767px) {
    .aftermovie-grid {
        grid-template-columns: 1fr;
    }
		.aftermovie-grid {
    gap: 24px 0px;
}
	.aftermovie-item {
    aspect-ratio: 390 / 223.87;
}
	.aftermovie-item::after {
    width: 82px;
    height: 82px;
}
}
/*End Gallery Video Lightbox*/

/*Past Events*/
.sliding-gallery {
    width: 100%;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.sliding-gallery__track-wrapper {
    overflow: hidden;
    width: 100%;
}

.sliding-gallery__track {
    display: flex;
    gap: 12px;
    width: max-content;
}

.sliding-gallery__item--top {
    width: 688px;
    height: 360px;
    flex-shrink: 0;
    border-radius: 24px;
    overflow: hidden;
}

.sliding-gallery__item--bottom {
    width: 972px;
    height: 360px;
    flex-shrink: 0;
    border-radius: 24px;
    overflow: hidden;
}

.sliding-gallery__item img {
    min-width: 100%;
    min-height: 100%;
    object-fit: cover;
	object-position: center;
    display: block;
}

@keyframes slideLeft {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}

@keyframes slideRight {
    from { transform: translateX(-50%); }
    to { transform: translateX(0); }
}

.sliding-gallery__track--top {
    animation: slideLeft 120s linear infinite;
}

.sliding-gallery__track--bottom {
    animation: slideRight 120s linear infinite;
}

@media (max-width: 1024px) {
    .sliding-gallery__item--top {
        width: 366.93px;
        height: 191.88px;
    }
	.sliding-gallery__item--bottom {
        width: 518.4px;
        height: 191.88px;
    }
	
	.sliding-gallery {
		gap: 12px;
	}
	.sliding-gallery__track {
		gap: 6.4px
	}
}
/*End Past Events*/

/*Sliding Gallery*/
.sliding-gallery--random .sliding-gallery__item--landscape {
    width: 540px;
    height: 360px;
    flex-shrink: 0;
    border-radius: 24px;
    overflow: hidden;
}

.sliding-gallery--random .sliding-gallery__item--portrait {
    width: 240px;
    height: 360px;
    flex-shrink: 0;
    border-radius: 24px;
    overflow: hidden;
}

.sliding-gallery--random .sliding-gallery__item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
	object-position: center;
    display: block;
}

@media (max-width: 1024px) {
    .sliding-gallery--random .sliding-gallery__item--landscape {
        width: 288px;
        height: 192px;
    }
    .sliding-gallery--random .sliding-gallery__item--portrait {
        width: 153.6px;
        height: 192px;
    }
}
@media only (max-width: 767px) {
	.sliding-gallery--random .sliding-gallery__item--landscape {
        width: 128px;
    }
}
/*End Sliding Gallery*/

/* About Us only — prevent GPU striping, gradient covers full page height */
body.page-id-19 {
    background:
        radial-gradient(410.03% 78.21% at 50.87% 2.91%,
            #CBEFF3 20%,
            #F5C4A8 30%,
            #F0A070 38%,
            #D18AB5 51%,
            #706691 62%,
            #2C2352 75%,
            #1F183D 86%,
            #000000 100%) no-repeat top center,
        	#000000;
    	background-size: 100% 6900px, auto;
}

/* Home page only — prevent GPU striping, gradient covers full page height */
body.page-id-16 {
    background:
        radial-gradient(410.03% 78.21% at 50.87% 2.91%,
            #D6EEF8 0%,
            #C8E8F5 15%,
            #CBE8F0 30%,
            #F5D4C1 45%,
            #F1B28E 52%,
            #D18AB5 60%,
            #706691 70%,
            #2C2352 80%,
            #1F183D 90%,
            #000000 100%) no-repeat top center,
        #000000;
    background-size: 100% 4294px, auto;
}

.soundcloud-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 48px 50px;
    width: 100%;
}
.soundcloud-item {
    width: 100%;
}
.soundcloud-item iframe {
    width: 100%;
    height: 300px;
    border-radius: 8px;
}
@media (max-width: 767px) {
    .soundcloud-grid {
        grid-template-columns: 1fr;
		gap: 24px 0px;
    }
	.soundcloud-item iframe {
    height: 250px;
}
}