:root{
 --purple: #4b2b7d;
 --white: #fff;    
}

html{scroll-padding-top:120px; overflow:inherit;scroll-behavior: smooth;}	
.purple{color:var(--purple);} 
.white{color:var(--white) !important;}  
.text_center{text-align:center;}
h2{font-size: clamp(30px, 2.5vw, 48px) !important;line-height: 1.2;letter-spacing: 1px;text-transform: uppercase;}
h3{text-transform: uppercase;font-size: clamp(26px, 2.5vw, 40px) !important;line-height: 1.2; font-weight: 400;}
p{margin-bottom:20px;}

.wrapper{width: 100%; max-width:1150px;margin:auto;position:relative;padding:0 20px;} 
.padding50{padding-top:50px;padding-bottom: 50px;} 
.mb10{margin-bottom:10px;}
.mb20{margin-bottom:20px;}
.mb30{margin-bottom:30px;}

/**Old Css Starts**/
.avada-page-titlebar-wrapper {display: none;}
#main {padding: 0 !important;}
#main > .fusion-row {max-width: 100% !important;}
.sbi-critical-notice h3{font-size:13px !important;} 	
/**Hero Style Starts**/
.hero{width: 100%;max-width:100%; height:600px;background-position: 50% 50%;background-repeat: no-repeat; background-size: cover;overflow: hidden;position: relative;z-index: 2;border-top: 10px solid #f2ecf5;border-bottom: 10px solid #f2ecf5;}
.hero::before{position: absolute; content: ""; inset:0; background: rgba(0,0,0,0.3);}  
.hero .wrapper{height:100%;}  
.hero_content {position: absolute;	inset: 0;align-content: center;}  
.hero_content h2{font-size: clamp(40px, 3.646vw, 70px);margin-bottom:15px;}
.caption{font-family: 'NeutraDisp-Bold';font-size: 24px;color:var(--white);text-transform: uppercase;margin-bottom:43px;line-height: 1.2;}
.hero_buttons{display: flex; flex-flow: row wrap; gap:20px; justify-content: center;}
.custom_btn{font-family: 'NeutraDisp-Bold';font-size: 14px;font-weight: bold; line-height: 17px;width: fit-content; cursor: pointer;text-transform: uppercase; transition: all .2s;}
.custom_btn a{padding:13px 29px;text-decoration: none;background: #fff;color:#4b2b7d;}
.custom_btn:hover a{background: #4b2b7d;color:#fff;}
.custom_btn.dark a{background: #4b2b7d;color: #fff;}
.custom_btn.light a{background: #f2ecf5;color: #4b2b7d;}

@media(max-width:500px){
.hero_buttons{gap:40px}
}

@media(max-width:360px){
.custom_btn a {padding: 13px 20px;}
}
/**Hero Style Ends**/
/**Offered Classes Starts**/
.dance_classes {
	display: flex;
  justify-content: center; 
  flex-wrap: wrap;
}
.dance_classes .card{width: 25%;padding: 20px;text-align: center;}
.dance_classes .card img{width:100%;}
.dance_classes .card .custom_btn{margin: 33px auto auto;}
.dance_classes .card .custom_btn a{white-space: nowrap;}

@media(max-width:767px){
 .dance_classes .card{width: 50%;padding:10px;}   
}
/**Offered Classes Ends**/
/**Register Section Starts**/
.register{padding:60px 0;background-repeat: no-repeat; background-size: cover;position:relative; background-attachment:fixed;}
.register_boxes {display: flex;flex-flow: row nowrap;gap: 30px;margin-bottom: 20px;}
.register_boxes .item{background:#f2ecf5;text-align:center;padding: 10px;flex: 1 1 33%;}
.register_boxes .item h3{font-size: 40px;color:var(--purple);margin: 0 0 10px 0;}
.register_boxes .item p{color:#000;}
.filter_container{background:#fff;padding: 10px 20px;}
@media(max-width:767px){
 .register_boxes {flex-flow: column wrap;}
}
/**Register Section Ends**/

/**Celebrate Section Starts**/
.celebrate{padding:60px 0;background-repeat: no-repeat; background-size: cover;position:relative;background-attachment:fixed;text-align: center;color:#fff;}
.celebrate p{font-size: 18px;}
.celebrate_btn .custom_btn {margin: 50px auto auto;}
.overlay::before{position: absolute; content: ""; inset:0; background: rgba(0,0,0,0.37);} 

/**Team Section Starts**/
.team_section{padding:60px 0; background-color: #f2ecf5;}
.team_photo{margin-top:15px;}
.team_photo img{width: min(100%, 640px);}

.service_area {display: flex;flex-flow: row nowrap;margin: 40px 0;column-gap:50px;}
.service_area .item {flex: 1 1 33%;text-align: center;padding:15px;}

@media(max-width:767px){
 .service_area {column-gap:0px;}
}
@media(max-width:640px){
 .service_area {flex-flow: column wrap;}
.service_area .item {padding: 10px 0;}
.service_area .item p{margin-bottom:5px;}
}

.team_info {display: flex;gap: 30px;}
.team_info h2{line-height: 1;font-size: clamp(32px, 2.5vw, 40px);text-wrap: balance;}
.team_info img{width:min(360px, 100%);}
.forty {flex: 1 1 40%;text-align: center;}
.sixty {flex: 1 1 60%;}
@media(max-width:640px){
 .team_info{flex-direction: column;gap:15px;}   
}

/**team_members Starts**/
.team_heading{line-height: 1;font-size: clamp(24px, 2.5vw, 32px);text-wrap: balance;margin-top: 60px;margin-bottom: 30px;}
.team_members {display: flex; justify-content: center;flex-wrap: wrap;}
.team_members .card{width: 25%;padding: 20px;text-align: center;}
.team_members .card img {width: 100%;height: 230px;max-width: 182px;object-fit: cover;}
.team_members .card p{margin:0;}
.team_members .card .read_more{margin-top:15px;}

@media(max-width:767px){
 .team_members .card{width: 33.33%;padding:10px;}   
}
@media(max-width:640px){
 .team_members .card{width: 50%;padding:10px;}   
}
@media(max-width:450px){
 .team_members .card{width: 100%;padding:10px;}   
}

/**Team Section Ends**/
/**Resource Section Starts**/
.resource_section{padding:60px 0;}
/**Resource Section Ends**/
/**career Section Starts**/
.career{padding:60px 0; background-color: #f9f9fb;}
.career_inner {display: flex;gap: 50px;margin-top:40px;}
.career_inner .item:last-child{align-self: center;}
.career_inner .item{flex:1 1 50%;}

@media(max-width:800px){
.career_inner{flex-direction: column;gap: 10px;}    
}

/**Contact Section Starts**/
.contact_bottom{padding:60px 0;background-color:#f2f3f5;}
.contact_bottom h2{border-top:1px solid #4b2b7d;padding-top: 20px;}
.contact_bottom .form{border-bottom:1px solid #4b2b7d;padding-bottom:20px;}
/**Contact Section Ends**/
/**Instagram Section Starts**/
.instagram {padding: 60px 0;}
.instagram_code {
	border-top: 1px solid #4b2b7d;
	border-bottom: 1px solid #4b2b7d;
	padding: 20px 0;
	margin: 20px 0;
}
/**Instagram Section Ends**/

/**Css tabs Starts**/
.tabs-container {
	display: flex;
	flex-wrap: wrap;
}
.tabs-container > input[type="radio"] {
	display: none;
}

.tabs-container > input[type="radio"]:checked + .tab-label {
	background-color: #fff;
    color: #4b2b7d;
    border-top:3px solid #4b2b7d;
}
.tabs-container .tab-label {
	padding: 10px 0px;
	color: white;
	background-color: #4b2b7d;
    flex: 1 1 auto;
  text-align: center;cursor: pointer;
	display: flex;
  flex-direction: column;
	font-size:20px;font-family: 'NeutraDisp-Bold' !important;
	font-weight:bold;
}
.tab-label .fontawesome-icon {
	margin: 0;
	color: #fff;
}
	.tabs-container > input[type="radio"]:checked + .tab-label .fontawesome-icon {color: #4b2b7d;}
.tabs-container .tab-content {
	order: 99;
	width: 100%;
	margin-top: 15px;
	display: block;
}

.tabs-container > input[type="radio"]:not(:checked) + .tab-label + .tab-content {
	display: none;
}

@media(max-width:640px){
.tabs-container .tab-content {
	order: 0;}
.tabs-container .tab-label{flex:1 1 100%;border-bottom: 1px solid #fff;}    
}
/**Css tabs Ends**/
/**Modal Starts**/	
header.modal_active {z-index: 99;}	
.post-content{position:relative;}
.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.7);
    z-index: 999999;
    display: flex;
    align-items: center;
    justify-content: center;
}

.modal-content {
    background: white;
    padding: 30px;
    max-width: 800px;
    width: 90%;
    position: relative;
    border-radius: 8px;max-height: 88vh;
  overflow-y: scroll;
}

.close-modal {
    position: absolute;
    top: 10px;
    right: 15px;
    cursor: pointer;
    font-size: 24px;
    font-weight: bold;
}
	.fancybox__container{z-index:999999;}	
.fancybox-gallery {
	display: grid;
	grid-gap: 10px;
	grid-template-columns: 25% 25% 25% 25%;
}	
.fancybox-gallery img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}	
.fancybox__content{padding: 10px; max-width: 1200px;max-height:90vh;}


    .jr-container {
        max-height: 500px !important;
        overflow-y: scroll;
    }

    .hide-email {
        display: none;
    }

    .wpcf7 form .wpcf7-submit.has-spinner {
        display: block;
        margin: 0 auto;
        text-align: center;
    }

    .fusion-flex-container .fusion-row {
        flex-wrap: wrap;
        display: flex;
        flex: 1;
        width: 100%;
        justify-content: center;
    }

    .form-modal {
        display: none;
        z-index: 11111;
        position: fixed;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        width: 100%;
        height: 100%;
        overflow: auto;
        background-color: rgb(0, 0, 0);
        background-color: rgba(0, 0, 0, 0.4);
    }

    /* Modal Content */
    .form-modal-content {
        background-color: #fefefe;
        padding: 20px;
        border: 1px solid #888;
        height: 88vh;
        overflow: auto;
        width: 95%;
        max-width: 1200px;
        box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.2);
        margin: 6vh auto;
        position: relative;
    }

    /* Close Button */
    .close {
        color: #aaa;
        font-size: 28px;
        font-weight: bold;
        position: absolute;
        top: 10px;
        right: 25px;opacity:1;
    }

    .close:hover,
    .close:focus {
        color: black;
        text-decoration: none;
        cursor: pointer;
    }



    /* FOR ANNUL CLAENDER TAB PANNEL */

    /* The wrapper that holds both image and content */
    .calendar-wrapper {
        display: flex;
        justify-content: space-between;
        width: 100%;

    }

    /* Style for the image container */
    .calendar-image {
        flex: 1;
        max-width: 50%;
    }

    .calendar-image img {
        width: 100%;
        height: auto;

    }

    .calendar-content {
        flex: 1;
        max-width: 50%;
        padding: 20px;
    }

    /* When the image is empty, the content takes full width and is centered */
    .calendar-wrapper .calendar-content {
        max-width: 100%;
    }

    /* When the content is empty, the image takes full width */
    .calendar-wrapper .calendar-image {
        max-width: 100%;
    }

    /* For mobile responsiveness */
    @media (max-width: 768px) {
        .calendar-wrapper {
            flex-direction: column;
        }

        .calendar-image,
        .calendar-content {
            max-width: 100%;
        }
    }

/**Old Css Ends**/