/* ================================ */
/* Responsive */
/* ================================ */

/* 01. Table Responsive */
@media screen and (max-width: 1025px) {
    h1{
        font-size: 70px;
    }
    h2{
        font-size: 48px;
    }
    h3{
        font-size: 28px;
    }
    h4{
        font-size: 21px;
    }
    h5{
        font-size: 18px;
    }
    button, a{
        font-size: 15px;
    }
    .section-wrapper{
        padding: 20px 20px 20px 20px;
    }
    .hero-fullscreen-wrapper{
        padding: 0 !important;
    }
    .hero-fullscreen-wrapper .banner-home-container{
        padding-left: 0;
        padding-right: 0;
    }
    .heading-section-container,
    .heading-section-container.pricing-heading{
        max-width: 100%;
    }
    .banner-home-top{
        flex-direction: column;
        gap: 0;
    }
    .banner-home-title{
        width: 53%;
    }
    .banner-home-network{
        width: 100%;
        margin-top: -120px;
    }
    .banner-home-social{
        width: 44%;
        flex-direction: row;
        align-self: flex-end;
    }
    .card-banner-reviewer{
        width: 31%;
    }
    .banner-home-bottom{
        gap: 20px;
    }
    .banner-home-community-container{
        width: 34%;
    }
    .nav-btn{
        display: block;
    }
    .navbar-container{
        padding: 40px 40px 0px 40px;
    }
    .navbar-container.is-sticky{
        padding: 0px 24px;
    }
    .navbar .logo-container{
        width: 30%;
    }
    .navbar .nav-link-container{
        display: none;
    }
    .navbar-cta-container{
        display: none;
    }
    .card.banner-home-community{
        flex-direction: column;
    }
    .home-community-img{
        width: 100%;
    }
    .banner-avatar{
        width: 45px;
        min-height: 45px;
    }
    .home-community-img img{
        height: 102px !important;
    }
    .home-community-highlight{
        font-size: 36px;
    }
    .home-community-content{
        width: 100%;
    }
    .banner-home-cta-container{
        width: 62%;
    }
    .hero-lockup-top{
        font-size: 0.78em;
    }
    .banner-avatar-btn{
        width: 45px;
    }
    .about-wrapper{
        flex-direction: column-reverse;
        gap: 50px 50px;
    }
    .about-image-container{
        width: 100%;
    }
    .about-content-description{
        width: 100%;
    }
    .about-description-container{
        width: 100%;
    }
    .about-highlight-text{
        font-size: 36px;
    }
    .about-img img{
        height: 500px;
    }
    .pulse-difference-about .about-wrapper{
        flex-direction: column;
        gap: 40px;
    }
    .pulse-difference-about .about-image-container,
    .pulse-difference-about .about-content-description{
        width: 100%;
    }
    .pulse-difference-about .about-img{
        border-radius: 44px;
    }
    .pulse-difference-about .about-img img{
        height: 360px;
    }
    .pulse-difference-about .about-description-container{
        border: 0;
        padding: 0;
    }
    .pulse-difference-about .about-description-container p{
        font-size: 21px;
    }
    .pulse-weather-temp{
        font-size: 30px;
    }
    .pulse-difference-heading h5,
    .pulse-difference-heading h3,
    .pulse-difference-heading h2{
        font-size: 28px;
    }
    .pulse-about-intro .about-image-container{
        width: 100%;
    }
    .pulse-about-intro .about-img{
        border-radius: 20px;
    }
    .pulse-about-intro .about-img img{
        height: 520px;
    }
    .pulse-about-intro .pulse-difference-heading h2{
        font-size: 34px;
    }
    .pulse-about-intro .about-description-container{
        width: 92%;
    }
    .chooseus-title-container{
        width: 100%;
    }
    .chooseus-conditions-container{
        width: 100%;
        min-height: 320px;
    }
    .whychoose-img{
        min-height: 275px;
    }
    .chooseus-card-container{
        width: 100%;
    }
    .booking-process-heading h2{
        max-width: 100%;
    }
    .booking-content-wrapper{
        flex-direction: column-reverse;
        gap: 50px 50px;
    }
    .booking-content-container{
        width: 100%;
    }
    .booking-highlight-container{
        flex-direction: column-reverse;
        width: 100%;
    }
    .booking-tag-container{
        width: 62%;
        justify-content: flex-start;
        align-self: flex-start;
    }
    .booking-form-wrapper{
        flex-direction: column;
        gap: 50px 50px;
    }
    .card-booking-form{
        width: 100%;
    }
    .booking-form-detail{
        width: 100%;
    }
    .academy-title-container{
        flex-direction: column;
        gap: 20px 20px;
    }
    .academy-heading-container{
        width: 100%;
        padding: 0px;
    }
    .academy-title-image{
        width: 45%;
        align-self: center;
        order: 3;
    }
    .academy-title-cta{
        width: 100%;
        order: 2;
        padding: 0px;
    }
    .academy-video-wrapper{
        padding-top: 400px;
    }
    .academy-stat{
        font-size: 48px;
    }
    .benefit-item{
        font-size: 21px;
    }
    .tournament-grid{
        grid-template-columns: 1fr;
    }
    .card-tournament.main-event{
        min-height: 600px;
    }
    .card-tournament.main-event .tournament-tag-container{
        width: 48%;
    }
    .tournament-event-list{
        flex-direction: column-reverse;
    }
    .tournament-cta-title{
        padding: 20px 10px 20px 20px;
    }
    .community-grid{
        grid-template-columns: 1fr;
    }
    .community-images{
        width: 100%;
        height: 430px !important;
    }
    .card-membership-cta.cta-content{
        gap: 20px 20px;
        padding: 30px 30px 30px 30px;
    }
    .membership-plan-card p{
        margin-bottom: 8px;
    }
    .membership-cta-description{
        font-size: 18px;
    }
    .card-testimonial{
        width: 65%;
        padding: 20px 20px 20px 20px;
    }
    .testimonial-side .testimonial-avatar--lg {
        width: 70%;
        height: 70%;
    }
    
    .testimonial-side .testimonial-avatar--md {
        width: 60%;
        height: 60%;
    }
    .testimonial-side .testimonial-avatar--sm {
        width: 45%;
        height: 45%;
    }
    .testimonial-quote{
        font-size: 18px;
    }
    .testimonial-name{
        font-size: 18px;
    }
    .breadcrumb-icon,
    .breadcrumb-item{
        font-size: 18px;
    }
    .card-contact-cta{
        padding: 50px 50px 50px 50px;
    }
    .contact-cta-content{
        width: 62%;
    }
    .contact-cta-image .image-wrapper{
        margin: 0px -141px 0px 0px;
    }
    .benefit-img{
        height: 275px !important;
    }
    .team-content-wrapper{
        flex-direction: column-reverse;
        gap: 50px 50px;
    }
    .team-title-wrapper{
        position: relative;
        width: 100%;
        top: 0px;
    }
    .team-card-container{
        width: 100%;
    }
    .accordion .accordion-button{
        font-size: 18px;
    }
    .heading-notfound{
        font-size: 150px;
    }
    .card-blog-category{
        padding: 30px 30px 30px 30px;
    }
    .card-blog-recent{
        padding: 30px 30px 30px 30px;
    }
    .card-blog-tag{
        padding: 30px 30px 30px 30px;
    }
    .post-content-wrapper{
        flex-direction: column;
    }
    .post-main-content{
        width: 100%;
    }
    .post-sidebar-wrapper{
        width: 100%;
    }
    .blog-title{
        font-size: 28px;
    }
    .recent-post-image img{
        border-radius: 10px 10px 10px 10px;
    }
    .card-contact-cta.cta-small-banner .cta-image{
        width: 30%;
    }
    .card-contact-cta.cta-small-banner .cta-image .cta-image-container{
        margin: 0px -66px -136px 0px;
    }
    .card-contact-form{
        padding: 30px 30px 30px 30px;
    }
    .recent-post-body{
        max-width: 100%;
    }    
    .recent-post-body{
        max-width: 100%;
    }
    .footer-copyright-container{
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }
    .footer-logo-container img{
        width: 60%;
    }
}

@media screen and (max-width: 1199px){
    .membership-founder-grid{
        grid-template-columns: 1fr;
    }

    .membership-founder-copy{
        max-width: 780px;
        margin: 0 auto;
    }

    .membership-founder-title h1{
        font-size: 58px;
    }
}

@media screen and (max-width: 767px){
    .membership-founder-hero{
        min-height: auto;
        padding-top: 110px;
        padding-bottom: 60px;
    }

    .membership-founder-title{
        margin-bottom: 34px;
    }

    .membership-founder-title h1{
        font-size: 42px;
    }

    .membership-founder-grid{
        grid-template-columns: 1fr;
    }

    .membership-founder-footer{
        flex-direction: column;
        align-items: flex-start;
    }

    .waitlist-modal{
        padding: 16px;
    }

    .waitlist-modal__dialog{
        grid-template-columns: 1fr;
        max-height: 90vh;
    }

    .waitlist-modal__image img{
        min-height: 220px;
        max-height: 260px;
    }

    .waitlist-modal__content{
        padding: 32px 24px;
    }
}

/* 02. Mobile Responsive */

@media screen and (max-width: 767px) {
    h1{
        font-size: 50px;
    }
    h2{
        font-size: 36px;
    }
    h3{
        font-size: 22px;
    }
    h4{
        font-size: 18px;
    }
    h5{
        font-size: 16;
    }
    h6{
        font-size: 14px;
    }
    p{
        font-size: 16px;
    }
    button, a{
        font-size: 14px;
    }
    .section-wrapper{
        padding: 10px 10px 10px 10px;
    }
    .hero-fullscreen-wrapper{
        padding: 0 !important;
    }
    .hero-fullscreen-wrapper .banner-home-container{
        padding-left: 0;
        padding-right: 0;
    }
    .col:nth-child(even) .card-about-misson {
        margin-bottom: 0px;
    }
    .banner-home-title{
        width: 100%;
        justify-content: center;
        text-align: center;
    }
    .banner-home-network{
        flex-direction: column;
        margin: 0;
    }
    .card-banner-reviewer{
        width: 100%;
        order: 1;
    }
    .card-booking-cta{
        width: 100%;
    }
    .footer-phone-list{
        gap: 4px;
    }
    .footer-phone-list a{
        font-size: 15px;
    }
    .footer-phone-divider{
        display: none;
    }
    .reviewer-card-description{
        font-size: 14px;
    }
    .banner-home-social{
        justify-content: center;
        width: 100%;
        order: 2;
    }
    .banner-home-social .social-link-banner{
        font-size: 14px;
    }
    .banner-home-bottom{
        flex-direction: column-reverse;
    }
    .banner-home-community-container{
        width: 100%;
    }
    .banner-home-cta-container{
        width: 100%;
        text-align: right;
        align-items: flex-end;
    }
    .banner-home-cta{
        align-items: flex-end;
    }
    .banner-home-cta h2{
        font-size: 30px;
        line-height: 1.08;
    }
    .whychooseus-avatar-container{
        padding: 10px;
    }
    .weekly-ranking-card{
        padding: 12px;
    }
    .weekly-ranking-title{
        font-size: 14px;
    }
    .weekly-ranking-player{
        font-size: 13px;
    }
    .weekly-ranking-points{
        font-size: 12px;
    }
    .navbar-container{
        padding: 20px 20px 0px 20px;
    }
    .navbar-container.is-sticky{
        padding: 0px 20px;
    }
    .navbar .logo-container{
        width: 50%;
    }
    .sub-heading-title{
        font-size: 14px;
    }
    .hero-lockup-title{
        gap: 8px;
    }
    .hero-lockup-top{
        font-size: 0.7em;
    }
    .hero-lockup-bottom{
        line-height: 0.92;
    }
    .about-description-container{
        padding: 20px 0px 0px 0px;
        border: none;
        border-top: 2px solid var(--accent-color-2);
    }
    .about-highlight-text{
        font-size: 28px;
    }
    .about-highlight-box{
        width: 55%;
        text-align: center;
        margin: 0 auto;
    }
    .pulse-difference-about{
        padding-top: 80px;
    }
    .pulse-difference-about .pulse-difference-kicker{
        margin-bottom: 0;
    }
    .pulse-difference-about .about-img{
        border-radius: 32px;
    }
    .pulse-difference-about .about-img img{
        height: 260px;
    }
    .pulse-difference-about .about-description-container p{
        font-size: 18px;
    }
    .pulse-difference-heading h5,
    .pulse-difference-heading h3,
    .pulse-difference-heading h2{
        font-size: 23px;
    }
    .pulse-about-intro .about-img{
        border-radius: 20px;
    }
    .pulse-about-intro .about-img img{
        height: 300px;
    }
    .pulse-about-intro .pulse-difference-heading h2{
        font-size: 27px;
    }
    .pulse-about-intro .about-description-container > div:first-child::before,
    .pulse-about-intro .about-description-container > div:first-child::after{
        font-size: 17px;
    }
    .pulse-difference-about .about-highlight-box{
        width: 100%;
    }
    .pulse-difference-about .about-highlight-box h5{
        font-size: 22px;
    }
    .pulse-weather-card{
        padding: 12px 14px;
    }
    .pulse-weather-label{
        font-size: 12px;
    }
    .booking-process-heading{
        text-align: center;
    }
    .booking-benefit-container{
        width: 100%;
    }
    .booking-tag-container{
        width: 100%;
        justify-content: center;
    }
    .academy-heading-container,
    .academy-title-cta{
        text-align: center;
    }
    .academy-title-image{
        width: 100%;
    }
    .academy-video-wrapper{
        padding-top: 250px;
    }
    .academy-stat{
        font-size: 36px;
    }
    .academy-stat-description{
        text-align: center;
        font-size: 14px;
    }
    .benefit-item{
        font-size: 18px;
    }
    .other-tournament-container{
        grid-template-columns: 1fr;
    }
    .card-tournament.tournament-cta{
        grid-template-columns: 1fr;
    }
    .tournament-cta-title{
        padding: 10px 10px 10px 10px;
        text-align: center;
    }
    .card-tournament.main-event .tournament-tag-container{
        width: 100%;
    }
    .tournament-tag-container{
        width: 100%;
    }
    .testimonial-content-container{
        flex-direction: column;
    }
    .testimonial-side{
        width: 100%;
        flex-direction: row;
    }
    .card-membership-cta.cta-content{
        padding: 20px 20px 20px 20px;
    }
    .card-testimonial{
        width: 100%;
    }
    .testimonial-side .testimonial-avatar--lg {
        width: 20%;
        height: 20%;
    }
    .testimonial-side .testimonial-avatar--md {
        width: 20%;
        height: 20%;
    }
    .testimonial-side .testimonial-avatar--sm {
        width: 25%;
        height: 25%;
    }
    .testimonial-side{
        width: 100%;
        min-height: 130px;
        gap: 50px 50px;
    }
    .testimonial-quote{
        font-size: 16px;
    }
    .testimonial-name{
        font-size: 16px;
    }
    .testimonial-designation{
        font-size: 14px;
    }
    .breadcrumb-icon,
    .breadcrumb-item{
        font-size: 16px;
    }
    .membership-cta-description{
        font-size: 16px;
    }
    .cta-tag-container{
        width: 100%;
    }
    .blog-image img{
        min-height: 400px;
    }
    .team-title-container{
        text-align: center;
        justify-content: center;
        align-items: center;
    }
    .card-contact-cta{
        flex-direction: column;
        padding: 20px 20px 300px 20px;
        overflow: hidden;
    }
    .contact-cta-content{
        width: 100%;
        justify-content: center;
        text-align: center;
        align-items: center;
    }
    .footer-phone-list{
        flex-direction: column;
        align-items: flex-start;
        gap: 2px;
    }
    .contact-cta-image{
        width: 100%;
        justify-content: center;
    }
    .contact-cta-image .image-container{
        margin: 0px 0px -65px 0px;
    }
    .pricing-benefit-list li{
        font-size: 14px;
    }
    .card-benefit{
        flex-direction: column;
        align-items: center;
    }
    .accordion .accordion-button{
        font-size: 16px;
    }
    .heading-notfound{
        font-size: 100px;
    }
    .blog-title{
        font-size: 22px;
    }
    .chevron-circle-list a{
        font-size: 16px;
    }
    .chevron-circle-list li::before{
        font-size: 16px;
    }
    .chevron-list li::before{
        font-size: 14px;
    }
    .chevron-list a{
        font-size: 14px;
    }
    .card-blog-category{
        padding: 20px 20px 20px 20px;
    }
    .card-blog-recent{
        padding: 20px 20px 20px 20px;
    }
    .card-blog-tag{
        padding: 20px 20px 20px 20px;
    }
    .recent-post-title{
        font-size: 16px;
    }
    .card-contact-cta.cta-small-banner .cta-image{
        width: 46%;
    }
    .card-contact-cta.cta-small-banner .cta-image .cta-image-container{
        margin: 0px -71px -35px 0px;
    }
    .card-contact-form{
        padding: 30px 20px 30px 20px;
    }
    .footer-logo-container{
        justify-content: center;
        align-items: center;
    }
    .footer-logo-container img{
        width: 70%;
        display: block;
    }
    .footer-legalink-container .divider{
        height: 14px;
    }
    .legalink{
        font-size: 14px;
    }
}

/* 03. Table Spacing Responsive */

@media screen and (min-width: 1025px){
    /* Flex spacing (gap) */
    .gspace-xl-0 { 
        gap: 0px 0px; 
    }
    .gspace-xl-1 { 
        gap: 10px 10px; 
    }
    .gspace-xl-2 { 
        gap: 20px 20px; 
    }
    .gspace-xl-3 { 
        gap: 30px 30px; 
    }
    .gspace-xl-4 { 
        gap: 40px 40px; 
    }
    .gspace-xl-5 { 
        gap: 50px 50px; 
    }
    .gspace-xl-100{
        gap: 100px 100px;
    }

    /* Grid spacing (column-gap) */

    .gspace-x-xl-0 { 
        column-gap: 0px;
    }
    .gspace-x-xl-1 { 
        column-gap: 10px; 
    }
    .gspace-x-xl-2 {
         column-gap: 20px; 
    }
    .gspace-x-xl-3 { 
        column-gap: 30px; 
    }
    .gspace-x-xl-4 { 
        column-gap: 40px; 
    }
    .gspace-x-xl-5 { 
        column-gap: 50px; 
    }
    .gspace-x-xl-100{
        column-gap: 100px;
    }

    /* Grid spacing (row-gap) */

    .gspace-y-xl-0 { 
        row-gap: 0px; 
    }
    .gspace-y-xl-1 { 
        row-gap: 10px; 
    }
    .gspace-y-xl-2 { 
        row-gap: 20px; 
    }
    .gspace-y-xl-3 { 
        row-gap: 30px; 
    }
    .gspace-y-xl-4 { 
        row-gap: 40px; 
    }
    .gspace-y-xl-5 { 
        row-gap: 50px; 
    }
    .gspace-y-xl-100 {
        row-gap: 100px;
    }

    /* Grid spacing (row-gap & column-gap) */

    .grid-spacer-xl-0 { 
        --bs-gutter-x: 0px; 
        --bs-gutter-y: 0px; 
    }
    .grid-spacer-xl-1 { 
        --bs-gutter-x: 10px; 
        --bs-gutter-y: 10px; 
    }
    .grid-spacer-xl-2 { 
        --bs-gutter-x: 20px; 
        --bs-gutter-y: 20px; 
    }
    .grid-spacer-xl-3 { 
        --bs-gutter-x: 30px; 
        --bs-gutter-y: 30px; 
    }
    .grid-spacer-xl-4 { 
        --bs-gutter-x: 40px; 
        --bs-gutter-y: 40px; 
    }
    .grid-spacer-xl-5 { 
        --bs-gutter-x: 50px; 
        --bs-gutter-y: 50px; 
    }
    .grid-spacer-xl-100 { 
        --bs-gutter-x: 100px; 
        --bs-gutter-y: 100px; 
    }

    /* Grid spacing (column-gap) */

    .grid-spacer-x-xl-0 { 
        --bs-gutter-x: 0px; 
    }
    .grid-spacer-x-xl-1 { 
        --bs-gutter-x: 10px; 
    }
    .grid-spacer-x-xl-1 { 
        --bs-gutter-x: 10px; 
    }
    .grid-spacer-x-xl-2 { 
        --bs-gutter-x: 20px;
    }
    .grid-spacer-x-xl-3 { 
        --bs-gutter-x: 30px; 
    }
    .grid-spacer-x-xl-4 { 
        --bs-gutter-x: 40px; 
    }
    .grid-spacer-x-xl-5 { 
        --bs-gutter-x: 50px; 
    }
    .grid-spacer-x-xl-100 { 
        --bs-gutter-x: 100px; 
    }

    /* Grid spacing (row-gap) */

    .grid-spacer-y-xl-0 { 
        --bs-gutter-y: 0px; 
    }
    .grid-spacer-y-xl-1 { 
        --bs-gutter-y: 10px; 
    }
    .grid-spacer-y-xl-1 { 
        --bs-gutter-y: 10px; 
    }
    .grid-spacer-y-xl-2 { 
        --bs-gutter-y: 20px; 
    }
    .grid-spacer-y-xl-3 { 
        --bs-gutter-y: 30px; 
    }
    .grid-spacer-y-xl-4 { 
        --bs-gutter-y: 40px; 
    }
    .grid-spacer-y-xl-5 { 
        --bs-gutter-y: 50px; 
    }
    .grid-spacer-y-xl-100 { 
        --bs-gutter-y: 100px; 
    }
}

/* 04. Mobile Spacing Responsive */

@media screen and (min-width: 767px){

    /* Flex spacing (gap) */

    .gspace-md-0 { 
        gap: 0px 0px; 
    }
    .gspace-md-1 { 
        gap: 10px 10px; 
    }
    .gspace-md-2 { 
        gap: 20px 20px; 
    }
    .gspace-md-3 { 
        gap: 30px 30px; 
    }
    .gspace-md-4 { 
        gap: 40px 40px; 
    }
    .gspace-md-5 { 
        gap: 50px 50px; 
    }
    .gspace-md-100 { 
        gap: 100px 100px; 
    }

    /* Grid spacing (column-gap) */

    .gspace-x-md-0 { 
        column-gap: 0px; 
    }
    .gspace-x-md-0 { 
        column-gap: 0px; 
    }
    .gspace-x-md-1 { 
        column-gap: 10px; 
    }
    .gspace-x-md-2 { 
        column-gap: 20px; 
    }
    .gspace-x-md-3 { 
        column-gap: 30px; 
    }
    .gspace-x-md-4 { 
        column-gap: 40px; 
    }
    .gspace-x-md-5 { 
        column-gap: 50px; 
    }
    .gspace-x-md-100 { 
        column-gap: 100px; 
    }

    /* Grid spacing (row-gap) */

    .gspace-y-md-0 { 
        row-gap: 0px; 
    }
    .gspace-y-md-1 { 
        row-gap: 10px; 
    }
    .gspace-y-md-2 { 
        row-gap: 20px; 
    }
    .gspace-y-md-3 { 
        row-gap: 30px; 
    }
    .gspace-y-md-4 { 
        row-gap: 40px; 
    }
    .gspace-y-md-5 { 
        row-gap: 50px; 
    }
    .gspace-y-md-100 { 
        row-gap: 100px; 
    }

    /* Grid spacing (row-gap & column-gap) */

    .grid-spacer-md-1 { 
        --bs-gutter-x: 10px; 
        --bs-gutter-y: 10px; 
    }
    .grid-spacer-md-2 { 
        --bs-gutter-x: 20px; 
        --bs-gutter-y: 20px; 
    }
    .grid-spacer-md-3 { 
        --bs-gutter-x: 30px; 
        --bs-gutter-y: 30px; 
    }
    .grid-spacer-md-4 { 
        --bs-gutter-x: 40px; 
        --bs-gutter-y: 40px; 
    }
    .grid-spacer-md-5 { 
        --bs-gutter-x: 50px; 
        --bs-gutter-y: 50px; 
    }
    .grid-spacer-md-100 { 
        --bs-gutter-x: 100px; 
        --bs-gutter-y: 100px; 
    }

    /* Grid spacing (column-gap) */

    .grid-spacer-x-md-0 { 
        --bs-gutter-x: 0px; 
    }
    .grid-spacer-x-md-1 { 
        --bs-gutter-x: 10px; 
    }
    .grid-spacer-x-md-2 { 
        --bs-gutter-x: 20px; 
    }
    .grid-spacer-x-md-3 { 
        --bs-gutter-x: 30px; 
    }
    .grid-spacer-x-md-4 { 
        --bs-gutter-x: 40px; 
    }
    .grid-spacer-x-md-5 { 
        --bs-gutter-x: 50px; 
    }
    .grid-spacer-x-md-100 { 
        --bs-gutter-x: 100px; 
    }

    /* Grid spacing (row-gap) */

    .grid-spacer-y-md-0 { 
        --bs-gutter-y: 0px; 
    }
    .grid-spacer-y-md-1 { 
        --bs-gutter-y: 10px; 
    }
    .grid-spacer-y-md-2 { 
        --bs-gutter-y: 20px; 
    }
    .grid-spacer-y-md-3 { 
        --bs-gutter-y: 30px; 
    }
    .grid-spacer-y-md-4 { 
        --bs-gutter-y: 40px; 
    }
    .grid-spacer-y-md-5 { 
        --bs-gutter-y: 50px; 
    }
    .grid-spacer-y-md-100 { 
        --bs-gutter-y: 100px; 
    }
}

/* Landing sections added for the Pulse presentation */
@media screen and (max-width: 1025px) {
    html,
    body {
        max-width: 100%;
        overflow-x: hidden;
    }

    .section > .hero-container,
    .section-wrapper > .section > .hero-container {
        width: 100%;
        padding-left: 20px;
        padding-right: 20px;
    }

    .hero-fullscreen-wrapper .hero-container {
        padding-left: 20px;
        padding-right: 20px;
    }

    .play-section-bottom,
    .lifestyle-header,
    .tournament-images-row {
        flex-direction: column;
    }

    .play-section-bottom {
        min-height: 0;
    }

    .play-image-wrap,
    .play-card-wrap {
        width: 100%;
    }

    .play-image-wrap {
        aspect-ratio: 16 / 10;
    }

    .play-card-wrap .card-booking-cta {
        min-height: 0;
    }

    .lifestyle-header {
        align-items: flex-start;
    }

    .lifestyle-subtitle {
        max-width: 100%;
        text-align: left;
    }

    .lifestyle-images-row {
        height: auto;
        align-items: stretch;
    }

    .lifestyle-img-small,
    .lifestyle-img-large {
        width: 100%;
        aspect-ratio: 16 / 10;
    }

    .tournament-images-row {
        height: auto;
    }

    .tournament-img-wrap {
        width: 100%;
        aspect-ratio: 16 / 10;
    }
}

@media screen and (max-width: 767px) {
    .section {
        padding: 56px 0;
    }

    .section.p-0 {
        padding: 0 !important;
    }

    .section.pt-0 {
        padding-top: 0 !important;
    }

    .section.pb-0 {
        padding-bottom: 0 !important;
    }

    .section .gspace-5 {
        gap: 28px;
    }

    .section-wrapper > .section {
        padding-top: 56px;
        padding-bottom: 56px;
    }

    .banner-home-container {
        min-height: 100svh;
        height: auto;
        padding: 128px 18px 42px;
    }

    .slideshow-container .pulse-hero-slide {
        background-size: 100% auto;
        background-position: center 54%;
        transform: scale(1) !important;
    }

    .banner-content-container {
        min-height: calc(100svh - 170px);
        justify-content: space-between;
        gap: 28px;
    }

    .banner-home-top,
    .banner-home-bottom {
        gap: 22px;
    }

    .banner-home-title,
    .banner-home-cta-container,
    .banner-home-cta {
        width: 100%;
    }

    .banner-home-title {
        max-width: 245px;
        align-items: flex-start;
        text-align: left;
        margin-top: -8px;
    }

    .banner-home-cta-container,
    .banner-home-cta {
        align-items: flex-end;
        text-align: right;
    }

    .hero-lockup-title {
        font-size: clamp(31px, 9.2vw, 40px);
        line-height: 0.98;
    }

    .banner-home-cta h2 {
        max-width: 220px;
        font-size: clamp(22px, 6.6vw, 27px);
    }

    .banner-home-cta .d-flex,
    .banner-home-cta .btn {
        max-width: 100%;
        justify-content: flex-end;
    }

    .btn-booking-prominent {
        white-space: nowrap;
    }

    .pulse-about-intro .about-wrapper {
        gap: 24px;
    }

    .pulse-about-intro .about-content-description,
    .pulse-about-intro .pulse-difference-kicker,
    .pulse-about-intro .pulse-difference-heading {
        text-align: center;
        align-items: center;
    }

    .pulse-about-intro .pulse-difference-heading h2 {
        max-width: 100%;
        overflow-wrap: anywhere;
    }

    .section-chooseus .hero-container {
        padding-left: 10px;
        padding-right: 10px;
    }

    .chooseus-title-container {
        gap: 20px;
    }

    .chooseus-conditions-container {
        min-height: 0;
    }

    .section-chooseus .weekly-ranking-card {
        padding: 16px 14px;
    }

    .weekly-ranking-list li {
        grid-template-columns: 38px minmax(0, 1fr) minmax(44px, auto);
        gap: 5px;
    }

    .weekly-ranking-points {
        grid-column: auto;
        justify-self: end;
        white-space: nowrap;
        font-size: 10px;
    }

    .weekly-ranking-player {
        min-width: 0;
        font-size: 12px;
    }

    .service-title-container .row {
        row-gap: 20px;
    }

    .service-title-container .btn {
        margin-inline: auto;
    }

    .service-flex-row {
        display: grid;
        grid-template-columns: 1fr;
        gap: 14px;
        min-height: 0;
    }

    .service-col,
    .service-col:last-child {
        margin-right: 0;
    }

    .service-col.is-expanded .card-service {
        min-height: 360px;
    }

    .service-detail {
        gap: 14px;
    }

    .service-face--expanded {
        flex-direction: column;
        overflow-y: auto;
    }

    .service-col.is-expanded .service-expand-image-wrap {
        display: none;
    }

    .service-expand-body {
        padding: 24px 22px;
        justify-content: center;
        gap: 12px;
        overflow: visible;
    }

    .service-expand-body h3 {
        font-size: 1.25rem;
        line-height: 1.18;
    }

    .service-expand-p {
        font-size: 0.86rem;
        line-height: 1.45;
    }

    .service-expand-back {
        margin-top: 2px;
    }

    .play-image-wrap,
    .lifestyle-img-small,
    .lifestyle-img-large,
    .tournament-img-wrap {
        aspect-ratio: 4 / 5;
    }

    .play-card-wrap .card-booking-cta {
        padding: 28px 24px;
    }

    .section-lifestyle h2,
    .tournament-header h2 {
        font-size: clamp(34px, 10vw, 42px);
    }

    .lifestyle-header {
        gap: 14px;
        text-align: left;
    }

    .lifestyle-images-row,
    .tournament-images-row {
        gap: 14px;
    }

    #events .tournament-images-row {
        position: relative;
        display: block;
        width: 100%;
        height: min(112vw, 520px);
        overflow: hidden;
        border-radius: 20px;
    }

    #events .tournament-img-wrap {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        border-radius: 20px;
        opacity: 0;
        animation: recoveryImageFadeFirst 8s ease-in-out infinite;
    }

    #events .tournament-img-wrap:nth-child(2) {
        animation-name: recoveryImageFadeSecond;
    }

    #events .tournament-section-img {
        height: 100%;
    }

    @keyframes recoveryImageFadeFirst {
        0%,
        45% {
            opacity: 1;
        }
        55%,
        95% {
            opacity: 0;
        }
        100% {
            opacity: 1;
        }
    }

    @keyframes recoveryImageFadeSecond {
        0%,
        45% {
            opacity: 0;
        }
        55%,
        95% {
            opacity: 1;
        }
        100% {
            opacity: 0;
        }
    }

    @media (prefers-reduced-motion: reduce) {
        #events .tournament-img-wrap {
            animation: none;
        }

        #events .tournament-img-wrap:first-child {
            opacity: 1;
        }
    }

    .tournament-info-desc br {
        display: none;
    }

    .membership-founder-hero {
        padding-top: 142px;
        padding-bottom: 46px;
    }

    .membership-founder-title h1 {
        font-size: clamp(38px, 12vw, 46px);
        overflow-wrap: anywhere;
    }

    .membership-founder-copy p,
    .membership-founder-footer p {
        font-size: 17px;
    }

    .membership-founder-footer {
        align-items: center;
        text-align: center;
    }

    .membership-page .navbar-container {
        height: auto;
        padding: 20px 20px 0px 20px;
        display: block;
    }

    .membership-page .navbar-container::before {
        content: none;
    }

    .membership-page .navbar-container .hero-container {
        width: auto;
    }

    .membership-page .navbar-container .navbar-brand img {
        max-height: 76px !important;
        transform: none;
    }

    .membership-founder-wrapper > .membership-founder-hero {
        padding-top: 142px;
    }

    .membership-page .navbar-container::before {
        content: "";
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 110px;
        background-color: var(--accent-color);
        box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18);
        z-index: 0;
    }

    .membership-page .navbar-container .hero-container {
        position: relative;
        z-index: 1;
    }
}

@media screen and (max-width: 420px) {
    .navbar-container {
        padding-left: 18px;
        padding-right: 18px;
    }

    .banner-home-container {
        padding-left: 14px;
        padding-right: 14px;
    }

    .banner-home-cta .btn {
        width: min(100%, 210px);
    }

    .card-chooseus {
        padding-left: 18px;
        padding-right: 18px;
    }

    .card-chooseus h4 {
        overflow-wrap: anywhere;
    }
}
