


/* Document Default */
@media screen {

    html{
        scroll-behavior: smooth;
    }
    body{
        font-size: clamp(1rem, 2.5vw, 2rem);
        background: white;
    }

    .wrapper {
        max-width: 1080px;
    }

    .no_wrap {
        white-space: nowrap;
    }

    /* Header */
    header {
        position: relative;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        z-index: 10;
        padding-bottom: min(6%, 48px);
    }

    .shimmer-text {
        display: inline-block;
        background: linear-gradient(90deg, var(--active-color) 0%, #fff 50%, var(--active-color) 100%);
        background-size: 200% auto;
        color: transparent;
        background-clip: text;
        -webkit-background-clip: text;
        animation: shimmer 1.5s linear infinite;
    }

    @keyframes shimmer {
        0% {
            background-position: 100% center;
        }
        100% {
            background-position: -100% center;
        }
    }

    .main_nav_phone{
        font-size: 16px;
    }

    .header_text {
        text-align: center;
    }

    .header_text_flex {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        padding: 16px 16px 0px 16px;
    }

    .header_text_flex_2 {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 16px;
        padding: 0 16px;
    }

    .header_text h1 {
        /* font-size: clamp(1.3rem, 5vw, 3rem); */
        font-size: clamp(1.7rem, 4vw, 3rem);
        text-align: inherit;
        line-height: 1.3;
        /* font-style: italic; */
        z-index: 1;
        font-weight: bold;
    }

    .header_text h1 small{
        font-size: clamp(1rem, 3vw, 2rem);
        line-height: 1.2;
    }

    .header_text h1 .swoosh{
        display: inline-block;
        position: relative;
        font-style: italic;
    }
    .header_text h1 .accent{
        font-size: clamp(1.45rem, 4vw, 3rem);
    }

    .header_text h1 .swoosh svg{
        position: absolute;
        top: 90%;
        left: 50%;
        transform: translateX(-50%);
        width: 120%;
        color: blue;
    }

    .pad\.4\%{
        padding: 4%;
    }

    .pre_heading {
        font-size: clamp(0.9rem, 2vw, 1.25rem);
        font-weight: 700;
        text-align: center;
        color: red;
        text-decoration: underline;
        font-style: italic;
        padding: 16px 32px 0px 32px;
    }

    .header_text h1 .accent,
    .header_text h2.alt_subtitle .accent {
        color: #00b05d;
        text-decoration: underline;
        font-style: italic;
    }


    .header_text h2 {
        font-size: clamp(1.5rem, 3.5vw, 2rem);
        text-align: inherit;
        line-height: 1.2;
        font-style: italic;
        z-index: 1;
        color:blue;
    }
    .header_text h2.alt_subtitle{
        font-size: clamp(1.2rem, 1.8vw, 2rem);
        color: black;
    }

    .free_training_link {
        font-weight: bold;
        text-decoration:none;
        color: white;
        font-size: clamp(1.2rem, 2.5vw, 2rem);
        background: black;
        padding: 8px 16px;
        border-radius: 8px;
        background: #0783fe;
    }
    .free_training_link:hover {
        background: blue;
    }

    .header_text h3 {
        position: relative;
        font-size: clamp(1.2rem, 3.5vw, 2rem);
        line-height: 1;
        z-index: 2;
    }

    .header_text .bonus{
        font-size: clamp(0.8rem, 3.5vw, 1.2rem);
        font-weight: bold;

    }

    .header_text .title_with_svg {
        position: relative;
        margin: 2% 0;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }
    .header_text .title_with_svg svg {
        width: 35%;
        color: blue;
        top: 50%;
        position: relative;
        transform: translateY(0%);
        min-width: 200px;
    }

    .header_text .header_info {
        font-size: clamp(0.8rem, 3.5vw, 1rem);
        font-weight: 600;
        text-align: left;
        padding: 8px;
        border: 1px solid #9592ff;
        border-radius: 6px;
        line-height: 1.3;
    }

    .header_text > div {
        width: 100%;
    }

    .header_text .header_info .accent {
        text-decoration: underline;
        font-weight: 700;
    }
    .success_stories {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: space-between;
        gap: 8px;
        border: 1px solid #cbcbcb;
        padding: 8px;
        border-radius: 6px;
        -webkit-box-shadow: 0px 0px 10px 1px rgba(0,0,0,0.2);
        box-shadow: 0px 0px 10px 1px rgba(0,0,0,0.2);
        background: white;
        border-radius: 6px;
        height: 190px;
    }
    .modal .success_stories {
        height: auto;
        color: #000;
        position: relative;
    }
    .success_stories .content{
        width: 100%;
    }
    .success_stories .image {
        font-size: 0;
        min-width: 64px;
        min-height: 64px;
        width: 64px;
        height: 64px;
        border-radius: 200px;
        overflow: hidden;
        background: #f0f0ff;
    }
    .success_stories .image img {
        width: 100%;
        height: auto;
    }
    .success_stories .name {
        font-size: 16px;
        font-weight: bold;
        text-align: center;
    }
    .success_stories .handle {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: center;
        gap: 4px;
        font-size: 14px;
    }
    .success_stories span{
        display: block;
    }
    .success_stories i {
        display: block;
        width: 16px;
        font-size: 0;
    }

    .success_stories .details{
        text-align: center;
    }
    .success_stories .amount{
        font-size: clamp(1.5rem, 3.5vw, 2rem);
        font-weight: 700;
        line-height: 1.3;
        color: blue;
    }
    .success_stories .description{
        font-size: 13px;
        font-weight: 700;
        text-transform: uppercase;
        line-height: 1.3;
    }
    .success_stories .mini_review{
        font-size: 14px;
        font-weight: 600;
        font-style: italic;
        line-height: 1.3;
        margin-top: 4px;
    }
    .success_stories .review{
        position: relative;
        font-size: 16px;
        font-style: italic;
        line-height: 1.3;
        margin-top: 4px;
        text-align: left;
        line-height: 1.6;
        padding: 24px;
        min-height: 150px;
    }
    .success_stories .review .quote_start{
        display: block;
        width: 100px;
        color: #eee;
        z-index: 0;
        position: absolute;
        left: 0;
        top: 0;
    }
    .success_stories .review .quote_end{
        display: block;
        width: 100px;
        color: #eee;
        z-index: 0;
        position: absolute;
        bottom: 0;
        right: 0;
    }
    .success_stories .review .text{
        position: relative;
        z-index: 10;
    }
    .success_stories .sub_description{
        font-size: 12px;
        font-weight: 500;
        text-transform: uppercase;
        line-height: 1.3;
    }
    .success_stories .profile_wrapper{
        position: relative;
        margin-top: 4px;
    }

    .success_stories .profile_wrapper .flag{
        position: absolute;
        bottom: -4px;
        right: -4px;
        border: 2px solid white;
        border-radius: 64px;
        height: 28px;
        width: 28px;
        font-size: 0;
    }
    .success_stories button{
        padding: 6px 0;
        width: 100%;
        border: none;
        background: var(--active-color);
        font-weight: 600;
        color: white;
        border-radius: 4px;
        font-size: 14px;
        cursor: pointer;
    }
    .success_stories button:hover{
        background: blue;
    }

    .header_title{
        padding: 6%;
    }

   
    .header_title.header_text_app_subs {
        max-width: 1080px;
        padding: 0;
    }

    .text_center {
        text-align: center;
    }
    

    .header_call_to_action {
        position: relative;
        width: 100%;
        /* background: #eee; */
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: center;
        min-width: 100vw;
        background:transparent;
        padding: 0;
    }

    .header_call_to_action .pseudo_background {
        width: 100%;
        height: 70%;
        background: var(--background-dark);
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
    }
    

    .wrapper_call_to_action {
        position: relative;
        flex: 1;
        width: 100%;
        max-width: 1280px;
        z-index: 2;
    }

    .video_wrapper {
        position: relative;
        padding-bottom: 65.25%;
        height: 0;
    }

    .header_call_to_action_content {
        position: relative;
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: center;
        gap: 16px;
        padding: 16px;
        z-index: 2;
    }

    /* Video Iframe */
    .header_video_container {
        position: relative;
        margin: 0;
        width: 100%;
        border: 0 solid #000;
        transition: width .3s, padding-top .3s, border-width .3s, border-radius .3s;
        background: black;
        -webkit-box-shadow: 0 0 18px -10px #000000;
        box-shadow: 0 0 18px -10px #000000;
        border: 1px solid #1e1e1e;
        color: var(--background-dark-label);
        transition: width .3s, border-radius .3s, margin .3s;
        border-radius: 16px;
        padding: 8px;
    }

    /* Referral Form */
    .header_referral_form {
        background: black;
        width: 100%;
        border-radius: 0;
        margin: 0;
        -webkit-box-shadow: 0 0 18px -10px #000000;
        box-shadow: 0 0 18px -10px #000000;
        border: 1px solid #1e1e1e;
        color: var(--background-dark-label);
        transition: width .3s, border-radius .3s, margin .3s;
        border-radius: 16px;
        overflow: hidden;
        max-width: 960px;
    }

    .header_referral_form_title {
        padding: 16px;
        border-bottom: 1px solid #1e1e1e;
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: center;
        color: inherit;
        background: black;
        text-transform: uppercase;
    }

    .header_referral_form_title h3 {
        margin: 0;
        font-size: clamp(1rem, 2.5vw, 1.3rem);
        color: white;
        font-weight: 700;
        text-align: center;
        line-height: 1.3;
    }

    .header_form_body {
        padding: 16px
    }

    .header_form_body p {
        padding: 4px;
        font-size: 14px;
        color: white;
    }

    .header_form_footer {
        padding: 16px;
        border-top: 1px solid #1e1e1e;
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: flex-start
    }

    
    .header_form_footer button {
        height: auto;
        width: 100%;
        font-size: 16px;
        font-weight: 600;
        background: var(--active-color);
        border-radius: 6px;
        border: none;
        padding: 12px;
        color: white;
        cursor: pointer;
    }

    .header_form_footer button:hover{
        background: blue;
    }

    .header_form_footer .btn_flex_group {
        min-width: 100%;
        max-width: 100%;
        width: 100%;
    }

    .header_form_footer .btn_flex_group svg {
        border: 2px solid #333;
        border-radius: 6px;
    }

    .header_form_footer .btn_flex_group a:hover svg {
        border-color: var(--active-color);
    }

    .header_form_footer_badge {
        height: 60px;
        position: relative;
    }

    .header_form_footer_badge img {
        position: absolute;
        top: -18px;
        left: 50%;
        transform: translateX(-50%);
        width: 120px;
    }

    .input_group input{
        border-radius: 6px;
        background: var(--input-background);
        border: none;
        color: #fff;
        font-size: 16px;
        padding: 14px;
        width: 100%;
        height: 50px;
        /* border: 1px solid var(--active-color); */
    }

    .input_group label{
        font-size: 13px;
        display: block;
        text-align: left;
        line-height: 1.3;
        margin-bottom: 6px;
    }


    .table-container {
        position: relative;
        width: 100%;
        max-width: 840px;
        overflow-x: auto;
        border-radius: 8px;
        border: 1px solid #333;
        margin: 0 auto;
        transition: border-radius .3s ease-in-out;
        background: #eee;
        color: #333;
    }
    
    .table-container .table_header,
    .table-container .table_aside{
        font-size: clamp(0.8rem, 3.5vw, 1rem);
        text-align: center;
    }
    .table-container span{
        display: block;
    }
    .table-container .accent{
        font-weight: 700;
        white-space: nowrap;
        font-size: 14px;
        text-transform: uppercase;
    }
    .table-container .table_aside .accent{
        font-weight: 700;
        white-space: wrap;
    }
    .table-container .description{
        font-weight: 400;
        font-size: clamp(0.5rem, 3.5vw, 0.8rem);
        white-space: nowrap;
    }

    
    table {
        border-collapse: collapse;
        width: 100%;
    }

    th, td {
        padding: 8px;
        text-align: left;
        min-width: 100px; /* Ensure columns have a minimum width */
        border-bottom: 1px solid #ccc;
    }
    th {
        border-bottom: 1px solid #ccc;
    }

    th.sticky_left, td.sticky_left {
        position: sticky;
        left: 0;
        /* background-color: black; */
        background-color: white;
        z-index: 1;
        width: 150px;
        /* color: white; */
        color: black;
        /* border: 1px solid #666; */
        border-bottom: 1px solid #ccc;
    }

    th.sticky_left {
        z-index: 2; /* Ensure header cells are above body cells */
        /* border-color: #666; */
        /* border-right: 1px solid #666; */
        /* border-right: 1px solid #ccc; */
    }

     td.efa_row,
     .table-container .table_header.efa_row{
        background: #000;
        border-bottom:1px solid #666;
        color: white;
    }
    .table_title{
        text-align: center;
    }
    .table_title .accent{
       font-size: 11px;
    }

    .table_content {
        width: 100%;
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: center;
        gap: 24px;
        font-size: 14px;
        font-weight: bold;
        min-height: 36px;
        text-align: center;
    }
    .table_content.mobile_friendly{
        gap: 8px;
    }

    .table_content.mobile_friendly i{
        display: inline-block;
        font-size: 0;
        width: 24px;
        height: 24px;
    }

    .table_content .efa_accent{
        font-size: 28px;
        text-align: center;
    }
    .table_content .efa_logo{
        font-size: 0;
        width: 100px;
        color: white;
    }

    .table_content .erafit_content{
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 16px;
    }

    .table_content img{
        display: block;
        width: 32px;
        height: auto;
        font-size: 0;
    }
    .table_content i{
        display: block;
        width: 32px;
        height: 32px;
        font-size: 0;
    }

    .table_content .color_red {
        color: red;
    }

    .table_content .color_green {
        color: rgb(0, 228, 0);
    }

    .btn_cta{
        margin: 32px auto 16px auto;
        width: 100%;
        max-width: 574px;
        padding: 0 16px;
    }

    .btn_cta .button{
        width: 100%;
        height: 80px;
    }

    /* ----- */

    .as_h1 {
        margin: 0;
    }

    /*----------------------------------*/
    .modal_body.pad_16 {
        padding: 16px;
    }
    .modal_body.pad_8 {
        padding: 8px;
    }

    .modal_body .pad_t_8 {
        padding-top: 8px;
    }

    .modal {
        color: #b2b2b2;
    }

    .modal h3 {
        font-size: 13px;
        text-transform: uppercase;
    }

    .modal .subtitle {
        margin: 8px 0;
    }

    .modal_body_footer {
        border-top: 1px solid black;
        margin: 16px -16px 0 -16px;

    }

    .modal_body_footer.pad_y16 {
        padding: 16px;
    }

    /*----------------------------------*/


    /* Buttons */
    .button {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: center;
        background: var(--active-color);
        color: white;
        height: 38px;
        min-width: 38px;
        border: none;
        padding: 8px 16px;
        font-weight: 600;
        border-radius: 6px;
        cursor: pointer;
        font-size: 16px;
        width: 100%
    }

    .button:hover {
        background: blue
    }

    .btn_flex_group {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: center;
        gap: 8px;
        max-width: 320px
    }

    .btn_flex_group a {
        font-size: 0;
        overflow: hidden;
        border-radius: 6px;
    }

    .btn_flex_group a svg {
        font-size: 0;
        background: #000;
    }

    .content_padding {
        padding: 0 8%
    }

    .btn_icon_flex {
        display: inline-flex;
        flex-direction: row;
        align-items: center;
        justify-content: center;
        gap: 8px;
    }

    .btn_icon_flex span {
        display: block;
    }

    .btn_icon_group {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 0px;
    }

    @keyframes pulse {
        0% {
            box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.9);
        }
        30% {
            box-shadow: 0 0 0 7px rgba(255, 255, 255, 0);
        }
    
        100% {
            box-shadow: 0 0 0 0 rgba(255, 255, 255, 0);
        }
    }
    
    .btn_icon_group {
        box-shadow: 0 0 0 0 rgba(255, 255, 255, 1);
        animation: pulse 4s infinite;
    }
    
    @keyframes pulse_cta {
        0% {
            /* transform: scale(0.95); */
            box-shadow: 0 0 0 0 rgba(128, 0, 255, 0.7);
        }
        30% {
            /* transform: scale(1); */
            box-shadow: 0 0 0 7px rgba(128, 0, 255, 0);
        }
        100% {
            /* transform: scale(0.95); */
            box-shadow: 0 0 0 0 rgba(128, 0, 255, 0);
        }
    }
   
   .btn_cta .btn_icon_group {
        box-shadow: 0 0 0 0 rgb(128, 0, 255, 1);
        transform: scale(1);
        animation: pulse_cta 4s infinite;
    }

    .btn_title {
        font-size: 24px;
        font-weight: bold;
    }

    .btn_subtitle {
        font-size: 16px;
        font-weight: 400;
    }

    .btn_app_comparison{
        display: inline-block;
        margin: 0 auto;
        background: #000;
        color: white;
        border: none;
        border-radius: 8px;
        padding: 14px;
        font-size: 18px;
        font-weight: bold;
        cursor: pointer;
        border: 2px solid white;
    }

    .btn_app_comparison:hover{
        background: #000;
        border: 2px solid rgb(137, 137, 255);
    }

    .img_text_inline_group img {
        width: 20px;
    }
    .img_text_inline_group {
        display: inline-flex;
        white-space: nowrap;
        align-items: center;
        gap: 4px;
        font-weight: 500;
    }

    .app_replaces_title{
        font-size: 18px;
        text-transform: uppercase;
        font-weight: bold;
    }

    .app_replace_brands {
        max-width: 100%;
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        font-size: 15px;
        gap: 8px;
        margin-top: 4px;
    }

    .margin_bottom_4p {
        margin-bottom: 4%;
    }

    /* Section Defaults */
    section {
        padding: 16px 0;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center
    }

    .section_odd {
        background: #eee;
    }

    .section_dark {
        background: black
    }

    .section_dark h2 {
        color: white
    }

    .section_dark h3 {
        color: white;
        font-size: 20px;
        text-align: center;
        width: 100%;
    }

    .section_content {
        position: relative;
        flex: 1;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 24px;
        width: 100%;
        top: 32px;
        opacity: 0;
        transition: top .7s, opacity .7s;
        will-change: left, opacity;
    }

    .section_content .subtitle{
        font-size: 20px;
        color:white;
    }

    .section_heading.section_content {
        margin-bottom: 4%;
        font-size: 28px;
    }

    .section_content.animate {
        top: 0px;
        opacity: 1;
    }

    .section_content h2 {
        position: relative;
        /* font-size: 20px; */
        font-size: clamp(1.5rem, 2vw, 2rem);
        text-transform: uppercase;
        font-weight: 600;
        line-height:1.2;
        color: #000;
    }

    .section_content h2:not('.no_line')::after {
        content: "";
        position: absolute;
        bottom: -4px;
        left: 0;
        height: 3px;
        background: blue;
        z-index: 0;
        width: 0px;
        transition: width .7s;
        will-change: width;
    }

    .section_content h2.center {
        align-self: center;
        text-align: center;
    }

    .section_content h2.swoosh{
        display: inline-block;
        position: relative;
        font-style: italic;
    }

    .section_content h2.swoosh svg{
        position: absolute;
        bottom: -16px;
        left: 50%;
        transform: translateX(-50%);
        max-width: 280px;
        color: blue;
        width: 65vw;
    }

    .center {
        align-self: center;
        text-align: center;
    }

    .icon_arrow {
        display: inline-block;
        width: 32px;
        margin-top: 8px;
        color: blue;
    }

    .section_content h2.center:not('.no_line')::after {
        content: "";
        position: absolute;
        bottom: -4px;
        left: 50%;
        height: 3px;
        background: blue;
        margin-left: -25px;
        z-index: 0;
        width: 0px;
        transition: width .7s;
        will-change: width;
    }

    /* .section_content h2.center:not(.no_line)::after {

    } */

    .section_content.animate h2::after,
    .section_content.animate h2.center::after {
        width: 50px;
    }

    .section_content h3 {
        margin-top: 6px;
        font-weight: 700;
        text-transform: uppercase;
        line-height: 1.2;
        font-size: 22px;
        font-style: italic;
        color: blue;
    }

    .section_dark h3{
        color: white;
    }

    .section_heading.section_content h2 {
        font-size: 30px;
        font-weight: bold;
    }

    .section_heading.section_content h3 {
        font-size: 26px;
        font-weight: 400;
        width: 100%;
        text-align: center;
        text-transform: capitalize;
    }

    .acronim {
        font-weight: bold;
    }

    .section_content p {
        font-size: 16px;
    }

    .section_content ul {
        list-style: none;
        list-style-position: inside;
        font-size: 16px;
    }

    .section_content li {
        list-style: none;
        display: table-row;
        line-height: 1.3;
    }

    .section_content li span {
        display: inline-block;
        padding: 0;
    }

    .section_content>ul>li::before {
        content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 50" width="12px" height="12px"><g fill="green"><path d="M48.54,15.35,22.16,41.73a5,5,0,0,1-7.08,0L1.47,28.11A5,5,0,0,1,8.54,21L18.62,31.11,41.46,8.27a5,5,0,0,1,7.08,7.08Z"/></g></svg>');
        display: table-cell;
        text-align: right;
        padding-right: 9px
    }

    .section_content>ul>li.play_icon::before {
        content: '';
        display: table-cell;
        text-align: right;
        padding-right: 0px
    }

    .section_content>ul>li.play_icon {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: flex-start;
        gap: 6px;
        margin-left: -8px;
    }

    .section_content>ul>li.play_icon .icon {
        color: blue;
    }

    .section_column {
        width: 50%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 32px;
    }

    .section_images {
        position: relative;
    }

    .section_images img {
        border-radius: 8px;
        overflow: hidden;
        outline: 4px solid rgba(0, 0, 0, .1);
        -webkit-box-shadow: 0 0 40px -15px #000000;
        box-shadow: 0 0 40px -15px #000000;
        font-size: 0
    }

    .section_images img.no_style {
        border-radius: 0;
        overflow: hidden;
        outline: none;
        -webkit-box-shadow: none;
        box-shadow: none;
        font-size: 0;
        max-width: 320px;
    }

    .section_content li .title {
        font-weight: bold;
        font-size: 16px;
        padding-right: 4px;
    }
    .section_content li .sub_title {
        font-size: 15px;
        padding-bottom: 12px;
    }

    ul.ul_ {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
        gap: 10px;
    }

    ul.ul_ li:before {
        display: inline;
    }

    /* Section Double Today */

    /* Section Join Today */
    .section_join_today.content_padding {
        padding: 0 4%
    }

    .section_join_today {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 24px
    }

    .section_join_today_data {
        width: 100%;
        flex: 1;
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: center;
        gap: 4%
    }

    .section_join_today_counter {
        position: relative;
        background: #0783fe;
        width: 100%;
        padding-bottom: 36%;
        border-radius: 6px;
        overflow: hidden;
        text-align: center
    }

    .section_join_today_counter.btn_left_right {
        position: relative;
        background: blue url('/frontend/static/images/signup/app/abstract_bg_640.jpg') center center no-repeat;
        background-size: auto;
        box-shadow: inset 0 0 0 2000px rgba(78, 55, 255, 0.6);
        background-size: cover;
        color: white;
        left: -20px;
        opacity: 0;
        scale: 1;
        transition: left .5s, opacity .5s, scale .1s;
        will-change: left, opacity;
        cursor: pointer;
    }

    .section_join_today_counter.happy_clients {
        position: relative;
        background: #0783fe url('/frontend/static/images/site/happy_clients.jpg') center center no-repeat;
        background-size: auto;
        box-shadow: inset 0 0 0 2000px rgba(54, 154, 255, .9);
        background-size: cover;
        color: white;
        left: -20px;
        opacity: 0;
        transition: left .5s, opacity .5s;
        will-change: left, opacity;
    }

    .section_join_today_counter.happy_clients.animate,
    .section_join_today_counter.btn_left_right.animate {
        left: 0px;
        opacity: 1;
    }

    .section_join_today_counter.btn_right_left {
        position: relative;
        background: #0783fe url('/frontend/static/images/signup/app/abstract_bg_640.jpg') center center no-repeat;
        background-size: auto;
        box-shadow: inset 0 0 0 2000px rgba(78, 55, 255, 0.6);
        background-size: cover;
        color: white;
        right: -20px;
        opacity: 0;
        scale: 1;
        transition: right .5s, opacity .5s, scale .1s;
        will-change: right, opacity;
        height: 80x;
    }

    .section_join_today_counter.btn_left_right.content_grid,
    .section_join_today_counter.btn_right_left.content_grid {
        min-height: 80px;
    }

    .section_join_today_counter .flex_row {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: center;
        gap: 6%;
    }

    .section_join_today_counter.fat_loss {
        position: relative;
        background: #0783fe url('/frontend/static/images/site/fat_loss.jpg') center center no-repeat;
        background-size: auto;
        box-shadow: inset 0 0 0 2000px rgba(54, 154, 255, .9);
        background-size: cover;
        color: white;
        right: -20px;
        opacity: 0;
        transition: right .5s, opacity .5s;
        will-change: right, opacity;
    }

    .section_join_today_counter.fat_loss.animate,
    .section_join_today_counter.btn_right_left.animate {
        right: 0px;
        opacity: 1;
    }

    .section_join_today_counter.btn_left_right:hover,
    .section_join_today_counter.btn_right_left:hover {
        scale: 1.05;
    }

    .section_join_today_counter.btn_left_right.no_scale:hover,
    .section_join_today_counter.btn_right_left.no_scale:hover {
        scale: 1;
        cursor: default;
    }

    .section_join_today_counter_content {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 100%
    }

    .section_join_today_counter_content .info{
        line-height: 1.3;
    }

    .section_join_today_counter_content .info small{
        font-size: 16px;
        line-height: 1.3;
        font-weight: 400;
    }

    .section_join_today_counter_content .counter {
        font-size: 24px;
        font-weight: 600;
    }

    .section_join_today_counter_content h3 {
        font-size: 13px;
        font-weight: 600;
    }

    .section_join_today_counter.content_grid {
        min-height: 120px;
    }

    .section_join_today_counter.content_grid .icon {
        display: inline-block;
        width: 27px;
    }

    .section_join_today_counter.content_grid .icon.icon_32 {
        width: 32px;
    }

    .section_join_today_counter.content_grid h2 {
        font-size: 20px;
        text-transform: uppercase;
    }

    .section_join_today_counter.content_grid h2.no_transform {
        text-transform: none;
    }

    .section_join_today_counter.content_grid h2.no_underline:after {
        background: transparent;
    }

    .section_join_today_counter.content_grid.section_join_today_counter {
        padding-bottom: 0;
    }

    .h2_gtr {
        position: relative;
        font-size: clamp(1.2rem, 3.5vw, 1.8rem);
        line-height: 1;
        z-index: 2;
        margin: 2% 0;
    }

    .content_the_only_app {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 16px;
    }

    .content_the_only_app p {
        max-width: 667px;
    }



    /* Section 70% */

    /* Section Success Stories */
    .section_70p {
        width: 70%;
        flex: 1;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center
    }

    .section_success_stories {
        width: 100%;
        flex: 1;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center
    }

    /* Image Carousel */
    .carousel {
        position: relative;
        width: auto;
        min-width: 312px;
        max-width: 100vw;
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: flex-start;
        padding: 24px 0;
        overflow-y: hidden;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scroll-behavior: smooth;
        scroll-snap-type: x mandatory;
        scroll-padding: 0 8px;
        left: 90%;
        transition: left .5s;
        will-change: left;
    }

    .animate .carousel,
    .carousel.animate {
        left: 0%;
    }

    .carousel_item {
        margin: 8px;
        min-width: 250px;
        width: 250px;
        height: 220px;
        scroll-snap-align: start;
        background: transparent;
        font-size: 0
    }

    /* Section Reviews */
    .section_erafit_bg {
        background: black url('/frontend/static/images/signup/app/erafit_bg.jpg');
        background-position-x: 0;
        background-position-y: 0;
        box-shadow: inset 0 0 0 2000px rgba(0, 0, 0, .8);
        background-repeat: repeat;
        background-attachment: scroll;
        background-size: cover;
        background-attachment: fixed;
        background-position: center;
    }

    .section_erafit_bg .section_content h2 {
        font-size: 32px;
    }


    .section_review_container {
        background: black url('/frontend/static/images/site/reviews_bg_ls_all.jpg');
        background-position-x: 0;
        background-position-y: 0;
        box-shadow: inset 0 0 0 2000px rgba(0, 0, 0, .5);
        background-repeat: repeat;
        background-attachment: scroll;
        background-size: auto;
        background-attachment: fixed;
        background-position: center;
        background-repeat: no-repeat;
        background-size: 100%
    }

    .section_reviews {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 32px
    }

    .section_reviews_group {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 16px
    }

    .section_reviews_group .icon svg {
        width: 34px
    }

    .section_reviews_group a {
        display: block;
        width: 202px;
        max-width: 240px;
        text-decoration: none;
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: flex-start;
        gap: 8px;
        border: 1px solid black;
        border-top-width: 3px;
        padding: 8px 16px;
        border-radius: 6px;
        background: white
    }

    .section_reviews_group a.yelp {
        position: relative;
        color: #c1272d;
        border-color: #c1272d;
        opacity: 0;
        top: 40px;
        transition: opacity .6s, top 1s;
        will-change: opacity;
        z-index: 0;
    }

    .section_reviews_group a.yelp.animate {
        opacity: 1;
        top: 0;
    }

    .section_reviews_group a.google {
        position: relative;
        color: #34a853;
        border-color: #34a853;
        z-index: 10;
        opacity: 0;
        top: 40px;
        transition: opacity .6s, top 1s;
        will-change: opacity;
    }

    .section_reviews_group a.google.animate {
        opacity: 1;
        top: 0;
    }

    .section_reviews_group a.facebook {
        position: relative;
        color: #475993;
        border-color: #475993;
        opacity: 0;
        top: 40px;
        transition: opacity .6s, top 1.5s;
        will-change: opacity;
        z-index: 0;
    }

    .section_reviews_group a.facebook.animate {
        opacity: 1;
        top: 0;
    }

    .section_reviews_group .icon {
        width: 40px;
        font-size: 0
    }

    .section_reviews_group .title {
        font-weight: 600;
        font-size: 14px
    }

    .review_stars {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: flex-start
    }

    .review_stars .star {
        display: block;
        width: 14px;
        margin-right: 4px
    }

    .review_stars .score {
        font-weight: 600
    }

    .section_testmonials {
        display: flex;
        flex-direction: row;
        align-items: start;
        justify-content: center;
        gap: 32px;
    }

    .section_testmonials_content {
        margin-bottom: 3%;
    }

    .section_testmonials_item {
        display: flex;
        flex-direction: column;
        align-items: start;
        justify-content: center;
        gap: 32px;
    }

    .section_testmonials img {
        padding: 16px;
    }

    /* Section Featues */
    .section_call_to_action {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: center;
        margin-top: 6%;
    }

    .section_features {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: center;
        gap: 8%;
    }


    .section_features.align_start {
        align-items: flex-start;
    }


    .section_features .section_images {
        /* width: 50%; */
        display: flex;
        flex-direction: row;
        align-self: center;
        justify-content: center;
    }

    /* Section TEAM */
    /* .section_features.feature_team .section_images{
        width:40%;
    }
    .section_features.feature_team .section_content{
        width:60%;
    } */

    /* Section Training Plans */
    .trainig_plan_float_main {
        position: relative;
        opacity: 0;
        width: 90%;
        transition: opacity .6s, width .6s;
        will-change: opacity, width;
    }

    .trainig_plan_float_main.animate {
        opacity: 1;
        width: 100%;
    }

    img.trainig_plan_float_right {
        width: 25%;
        position: absolute;
        top: 50%;
        left: 0%;
        opacity: 0;
        transform: translate(0, -50%);
        transition: top .3s ease-out, left .3s ease-out, opacity .3s ease-out;
        outline: 4px solid rgba(255, 255, 255, .25);
        transition-delay: 150ms;
        transition-property: opacity, left;
        transition-timing-function: ease-out;
        transition-duration: .6s;
        will-change: opacity, left;
    }

    img.trainig_plan_float_right.animate {
        left: -8%;
        opacity: 1;
    }

    img.trainig_plan_float_left {
        width: 25%;
        position: absolute;
        top: 50%;
        right: 0%;
        opacity: 0;
        transform: translate(0, -50%);
        transition: top .3s ease-out, right .3s ease-out, opacity .3s ease-out;
        outline: 4px solid rgba(255, 255, 255, .25);
        transition-delay: 150ms;
        transition-property: opacity, right;
        transition-timing-function: ease-out;
        transition-duration: .6s;
        will-change: opacity, right;
    }

    img.trainig_plan_float_left.animate {
        right: -8%;
        opacity: 1;
    }

    /* Section Nutrition Plans */
    .nutrition_plan_float_main {
        position: relative;
        width: 90%;
        transition: opacity .6s, width .6s;
        will-change: opacity, width
    }

    .nutrition_plan_float_main.animate {
        opacity: 1;
        width: 100%
    }

    img.nutrition_plan_float_bottom {
        width: 60%;
        position: absolute;
        opacity: 0;
        top: 87%;
        left: 6%;
        outline: 4px solid rgba(255, 255, 255, .25);
        transition-delay: 150ms;
        transition-property: opacity, top, left;
        transition-timing-function: ease-out;
        transition-duration: .6s;
        will-change: opacity, top, left
    }

    img.nutrition_plan_float_bottom.animate {
        opacity: 1;
        top: 67%
    }

    img.payments_bottom {
        width: 48%;
        position: absolute;
        opacity: 0;
        top: 87%;
        left: 6%;
        outline: 4px solid rgba(255, 255, 255, .25);
        transition-delay: 150ms;
        transition-property: opacity, top, left;
        transition-timing-function: ease-out;
        transition-duration: .6s;
        will-change: opacity, top, left
    }

    img.payments_bottom.animate {
        opacity: 1;
        top: 62%
    }

    img.nutrition_plan_float_main_right {
        width: 27%;
        position: absolute;
        top: 50%;
        right: -20%;
        opacity: 0;
        transform: translate(0, -50%);
        outline: 4px solid rgba(255, 255, 255, .25);
        transition-delay: 150ms;
        transition-property: opacity, right;
        transition-timing-function: ease-out;
        transition-duration: .6s;
        will-change: opacity, left
    }

    img.nutrition_plan_float_main_right.animate {
        right: -10%;
        opacity: 1
    }

    /* Section Check-in */
    .check_in_main {
        position: relative;
        opacity: 0;
        width: 90%;
        transition: opacity .6s, width .6s;
        will-change: opacity, width
    }

    .check_in_main.animate {
        opacity: 1;
        width: 100%
    }

    img.check_in_bottom {
        width: 53%;
        position: absolute;
        top: 114%;
        right: 5%;
        opacity: 0;
        transform: translateY(-50%);
        outline: 4px solid rgba(255, 255, 255, .3);
        transition-delay: 150ms;
        transition-property: opacity, top, right;
        transition-timing-function: ease-out;
        transition-duration: .6s;
        will-change: opacity, top, right
    }

    img.check_in_bottom.animate {
        top: 94%;
        right: 5%;
        opacity: 1
    }

    img.check_in_left {
        width: 20%;
        position: absolute;
        top: 50%;
        left: 0;
        transform: translate(0, -50%);
        opacity: 0;
        outline: 4px solid rgba(255, 255, 255, .3);
        transition-delay: 150ms;
        transition-property: opacity, left;
        transition-timing-function: ease-out;
        transition-duration: .6s;
        will-change: opacity, left
    }

    img.check_in_left.animate {
        left: -6%;
        opacity: 1
    }

    /* Section Community */
    .community_main {
        position: relative;
        width: 90%;
        opacity: 0;
        transition: opacity .6s, width .6s;
        will-change: opacity, width
    }

    .community_main.animate {
        opacity: 1;
        width: 100%
    }

    img.community_right {
        width: 20%;
        position: absolute;
        top: 50%;
        right: 0;
        opacity: 0;
        transform: translate(0, -50%);
        outline: 4px solid rgba(255, 255, 255, .3);
        transition-delay: 150ms;
        transition-property: opacity, right;
        transition-timing-function: ease-out;
        transition-duration: .6s;
        will-change: opacity, right
    }

    img.community_right.animate {
        right: -6%;
        opacity: 1
    }

    /* Section Other Features */


    img.other_features_center {
        position: relative;
        top: 0;
        width: 32%;
        opacity: 1;
        outline: 4px solid rgba(255, 255, 255, .3);
        z-index: 9;
        transition: opacity .6s, width .6s;
        will-change: opacity, width;
        background: black;
    }

    .other_features_center.animate {
        opacity: 1;
        width: 42%;
    }

    .other_features_main {
        position: absolute;
        width: 26%;
        top: 49.5%;
        left: 40%;
        transform: translateY(-50%);
        transition-property: left, width;
        transition-timing-function: ease-out;
        transition-duration: .6s;
        will-change: left, width;
        background: black;
    }

    img.other_features_main.animate {
        left: 0%;
        width: 36%;
    }

    .other_features_right {
        position: absolute;
        width: 26%;
        top: 49.5%;
        left: 40%;
        transform: translateY(-50%);
        transition-property: left, width;
        transition-timing-function: ease-out;
        transition-duration: .6s;
        will-change: left, width;
        background: black;
    }

    img.other_features_right.animate {
        left: 65%;
        width: 36%;
    }

    /* Section Devices */
    img.devices {
        outline: none;
        box-shadow: none
    }

    img.devices_desktop {
        position: absolute;
        width: 50%;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        opacity: 0;
        transition-property: width, opacity;
        transition-timing-function: ease-out;
        transition-duration: .6s;
        will-change: width, opacity;
    }

    img.devices_desktop.animate {
        width: 90%;
        opacity: 1;
    }

    img.devices_laptop {
        position: absolute;
        width: 70%;
        bottom: -3%;
        right: -25%;
        opacity: 0;
        transition-delay: 300ms;
        transition-property: right, opacity;
        transition-timing-function: ease-out;
        transition-duration: .6s;
        will-change: right, opacity;
    }

    img.devices_laptop.animate {
        right: -15%;
        opacity: 1;
    }

    img.devices_tablet {
        position: absolute;
        width: 30%;
        bottom: -3%;
        left: -17%;
        opacity: 0;
        transition-delay: 300ms;
        transition-property: left, opacity;
        transition-timing-function: ease-out;
        transition-duration: .6s;
        will-change: left, opacity;
        z-index: 5;
    }

    img.devices_tablet.animate {
        left: -7%;
        opacity: 1;
    }

    img.devices_phone {
        position: absolute;
        width: 20%;
        bottom: -6%;
        left: 0%;
        opacity: 0;
        transition-delay: 500ms;
        transition-property: left, opacity;
        transition-timing-function: ease-out;
        transition-duration: .6s;
        will-change: left, opacity;
        z-index: 10;
    }

    img.devices_phone.animate {
        left: 15%;
        opacity: 1;
    }

    .modal_header_eval {
        flex: 1;
        padding: 16px 0;
        color: white;
    }

    .pad_16 {
        padding: 16px;
    }

    .modal_body_eval {
        color: white;
    }

    .modal_body_eval {
        display: flex;
        flex-direction: column;
        gap: 16px;
        margin-bottom: 16px;
    }

    .modal_body_eval .input_group label {
        display: block;
        margin-bottom: 4px;
        color: #ddd;
    }

    .modal_body_eval .input_group input {
        background: black;
        border: 2px solid transparent;
    }

    .modal_body_eval .input_group input::placeholder {
        color: #999;
    }

    .modal_body_eval .input_group input:focus {
        border: 2px solid var(--active-color);
    }

    /* --------------------------------------------------------------------------*/

    .header_appointments {
        flex: 1;
        padding: 16px 0;
        color: white;
    }

    .modal_appointment_datetime_label {
        background-color: transparent;
        padding: 8px 16px;
        color: white;
        font-weight: bold;
        border-radius: 6px;
        text-align: center;
        font-size: 14px;
    }

    .modal_available_times {
        display: flex;
        flex-direction: row;
        align-items: flex-start;
        justify-content: flex-start;
        flex-wrap: wrap;
        width: 100%;
        margin-top: 16px;
        gap: 8px;
    }


    .modal_available_time_item {
        min-width: 132px;
        width: 48%;
        background-color: black;
        padding: 8px;
        text-align: center;
        border-radius: 6px;
        font-weight: bold;
        cursor: pointer;
        font-size: 14px;
    }

    .modal_available_time_item:hover {
        background-color: #0783fe;
        color: white;
    }

    .eval_container {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        background: black;
        padding: 8px;
        border-radius: 6px;
        cursor: pointer;
    }

    .eval_container:hover {
        background: #0783fe;
    }

    .eval_container._selected_eval {
        background-color: blue;
    }

    .select_time_container {
        flex: 1;
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: center;
    }

    .select_time {
        border: 1px solid #1c1a1d;
        padding: 8px 16px;
        border-radius: 6px;
        min-width: 118px;
        text-align: center;
        font-size: 16px;
    }

    .select_time.full {
        width: 100%;
        text-align: center;
    }

    .eval_container._selected_eval .select_time,
    .eval_container:hover .select_time {
        border-color: #d8d8d8;
        color: white;
    }

    .eval_container._selected_eval .select_time {
        font-weight: bold;
        font-size: 12px;
    }

    .eval_date {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: flex-end;
        background: #1c1a1d;
        border: 2px solid #1c1a1d;
        border-radius: 6px;
        gap: 4px;
        padding: 4px 8px;
        width: 80px;
    }

    .eval_date .month,
    .eval_date .year {
        color: #b2b2b2;
        font-size: 12px;
        font-weight: bold;
        text-align: center;
        line-height: 1;
    }

    /* .eval_date .month{
        padding: 2px;
    } */
    .eval_date .day {
        font-size: 30px;
        font-weight: bold;
        text-align: center;
    }

    .eval_container._selected_eval .eval_date,
    .eval_container:hover .eval_date {
        color: white;
    }

    /**/
    .text-size\.15px {
        font-size: 15px;
    }

    .text-size\.20px {
        font-size: clamp(18px, 2.5vw, 20px);
    }

    .text-size\.24px {
        font-size: clamp(1.125rem, 3vw, 24px);
    }

    .text-size\.36px {
        font-size: clamp(1.5rem, 4vw, 36px);
    }

    .text-weight-bold {
        Font-weight: bold;
    }

    .text-align-center {
        text-align: center;
    }

    .text-align-left {
        text-align: left;
    }

    .text-transform-upper {
        text-transform: uppercase;
    }

    /* ------------------ Calendar Styles ----------------- */
    .booking_header {
        background: white;       
        padding: 0;
    }

    .booking_header .header_title {
        padding: 3%;
        padding-left: clamp(8px, 3%, 100%);
        padding-right: clamp(8px, 3%, 100%);
    }

    .booking_header .header_title h3 {
        font-weight: 400;
    }

    .calendar_footer {
        padding-top: 6%;
        padding-bottom: 6%;
    }

    .calendar_footer .wrapper {
        width: 100%;
        max-width: 1194px;
    }

    .calendar_footer .section_features {
        gap: 32px;
    }

    .calendar_footer .section_features .section_content {
        gap: 24px;
    }

    .calendar_footer .section_features .section_content h2 {
        font-size: clamp(1.125rem, 3vw, 24px);
        font-weight: bold;
    }
    
    .calendar_footer .section_features .section_content h2::after {
        content: "";
        position: absolute;
        bottom: -4px;
        left: 0;
        height: 3px;
        background: blue;
        z-index: 0;
        width: 50px;
        transition: width .7s;
        will-change: width;
    }

    .calendar_footer .section_features .section_content h3 {
        font-size: clamp(16px, 2vw, 18px);
        font-style: normal;
        color: var(--label-color);
        margin-top: 0;
    }

    .calendar_footer .section_features .section_content .ul_list {
        list-style: none;
        padding: 0 8px;
        font-size: 15px;
    }

    .calendar_footer .section_features .section_images {
        width: 100%;
    }

    .calendar_section { 
        padding: 4% 0; 
        background: #eceaf0;
    }

    .calendar_page_wrap { max-width: 1100px; margin: 0 auto; padding: 0; }

    .calendar_shell {
    background: var(--calendar-bg);
    border: 1px solid var(--calendar-border);
    border-radius: var(--calendar-radius);
    box-shadow: var(--calendar-shadow);
    overflow: hidden;
    font-size: 16px;
    }

    /* Two-column layout (updated: fixed 400px columns + centered) */
    .calendar_content {
    display: grid;
    grid-template-columns: 400px 400px;
    justify-content: center;
    gap: 0;
    }
    /* Left & Right panes at 400px on desktop */
    .calendar_pane_calendar {
    padding: 18px;
    width: 400px; max-width: 400px; min-width: 400px;
    }
    .calendar_pane_times {
    border-left: 1px solid var(--calendar-border);
    padding: 18px;
    min-height: 420px;
    width: 400px; max-width: 400px; min-width: 400px;
    background: linear-gradient(to bottom, #fff, #fff 60%, var(--calendar-bg-soft));
    }

    /* Inline month navigation */
    .calendar_nav_row {
    display: flex; align-items: center; justify-content: space-between;
    gap: 8px; padding: 12px 6px 6px;
    }
    .calendar_nav_title {
    display: flex; flex-direction: column; align-items: center; text-align: center; flex: 1 1 auto;
    }
    .calendar_toolbar_title { font-size: 18px; font-weight: 700; }
    .calendar_toolbar_sub  { font-size: 12px; color: var(--calendar-muted); }

    .calendar_btn_nav {
    appearance: none; border: 1px solid var(--calendar-border); background: var(--calendar-bg);
    border-radius: 10px; width: 36px; height: 36px; display: grid; place-items: center;
    cursor: pointer; transition: transform .2s ease, background .2s ease;
    }
    .calendar_btn_nav:hover { background: var(--calendar-bg-soft); }
    .calendar_btn_nav:active { transform: scale(0.97); }
    .calendar_btn_nav[disabled] { opacity: .5; cursor: not-allowed; }

    /* Month viewport with sliding transition */
    .calendar_month_viewport { position: relative; overflow: hidden; height: 305px; }
    .calendar_month_track {
    position: absolute; inset: 0; display: flex; width: 300%;
    transform: translateX(-33.333%);
    transition: transform .38s cubic-bezier(.22,.61,.36,1);
    }
    .calendar_month { width: 33.333%; padding: 6px; }

    /* Calendar grid */
    .calendar_grid_header, .calendar_grid_days {
    text-align: center;
    display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px;
    }
    .calendar_grid_header {
    padding: 6px 6px 12px; color: var(--calendar-muted);
    font-size: 12px; font-weight: 600;
    }
    .calendar_day_cell {
    position: relative; height: 44px;
    border: 1px solid var(--calendar-border);
    border-radius: 10px;
    display: grid; place-items: center;
    font-weight: 600; font-size: 14px;
    background: #fff; color: var(--calendar-ink);
    }
    .calendar_day_cell.calendar_muted { color: #cbd5e1; background: #fff; border-color: transparent; }
    .calendar_day_cell.calendar_disabled { opacity: .45; cursor: not-allowed; }
    .calendar_day_cell.calendar_available {
    cursor: pointer; border-color: var(--calendar-brand-blue);
    background: var(--calendar-brand-blue-ghost); color: var(--calendar-brand-blue);
    }
    .calendar_day_cell.calendar_selected {
    background: var(--calendar-brand-blue); color: #fff; border-color: var(--calendar-brand-blue);
    }

    /* Today indicator */
    .calendar_day_cell.calendar_today {
    border-color: var(--calendar-brand-blue);
    box-shadow: inset 0 0 0 2px var(--calendar-brand-blue-ghost);
    position: relative;
    }

    /* Small dot centered near the bottom */
    .calendar_day_cell.calendar_today::after {
    content: "";
    position: absolute;
    bottom: 6px;
    left: 50%;
    transform: translateX(-50%);
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--calendar-brand-blue);
    opacity: 0.95;
    }

    /* If today is also selected, keep the dot visible on the blue background */
    .calendar_day_cell.calendar_selected.calendar_today {
    box-shadow: none;
    }
    .calendar_day_cell.calendar_selected.calendar_today::after {
    background: #fff;
    opacity: 0.95;
    }

    /* Time zone + times */
    .calendar_tz_row { display: flex; gap: 8px; align-items: center; font-size: 12px; color: var(--calendar-muted); }
    .calendar_tz_row select {
    font-size: 12px; padding: 6px 8px; border-radius: 8px; border: 1px solid var(--calendar-border); background: #fff;
    }

    .calendar_times_title { font-size: 16px; font-weight: 700; margin-bottom: 8px; text-align: center;}
    .calendar_times_list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
    .calendar_time_btn {
    padding: 10px 12px; border: 1px solid var(--calendar-brand-blue);
    color: blue;
    border-radius: 10px; text-align: center; background: #fff;
    cursor: pointer; font-weight: 600;
    font-size: 16px;
    }
    .calendar_time_btn--booked{
        margin-top: 8px;
        display: inline-block;
        padding: 10px 18px; border: 1px solid var(--calendar-brand-blue);
        color: blue;
        border-radius: 10px; text-align: center; background: #fff;
        font-weight: 600;
        font-size: 16px;
    }
    .calendar_time_btn:hover { background: var(--calendar-bg-soft); }
    .calendar_time_btn[disabled] { opacity: .5; cursor: not-allowed; }

    /* Coaches count badge */
    .calendar_coaches_badge {
        display: inline-block;
        margin-left: 8px;
        padding: 2px 8px;
        font-size: 11px;
        font-weight: 500;
        color: #fff;
        background: var(--calendar-brand-blue, #2563eb);
        border-radius: 12px;
        vertical-align: middle;
    }
    .calendar_time_btn:hover .calendar_coaches_badge {
        background: #1d4ed8;
    }

    .calendar_empty_state {
    color: var(--calendar-muted); font-size: 14px; padding: 16px;
    border: 1px dashed var(--calendar-border); border-radius: 12px; background: #fff;
    }

    /* Times pane header */
    .calendar_times_header {
        text-align: center;
        margin-bottom: 8px;
    }
    .calendar_times_heading {
        font-weight: 700;
        color: var(--calendar-ink);
        margin-bottom: 4px;
    }
    .calendar_times_subdate {
        font-size: 14px;
        font-weight: 700;
        color: blue;
    }
    .calendar_times_tzlabel {
        font-size: 12px;
        color: var(--calendar-muted);
    }

    /* Spinner used in the loading banner */
    .calendar_spinner {
    width: 14px; height: 14px; border-radius: 50%;
    border: 2px solid var(--calendar-border);
    border-top-color: var(--calendar-brand-blue);
    animation: calendar_spin 0.8s linear infinite;
    }
    @keyframes calendar_spin { to { transform: rotate(360deg); } }

    /* Timezone Picker */
    .calendar_tz_wrap { position: relative; margin-top: 12px; }
    .calendar_tz_container { display: block; }
    .calendar_tz_label { font-size: 12px; color: var(--calendar-muted); margin: 0 0 6px 0; }
    .calendar_tz_field { position: relative; }

    /* Trigger button */
    .calendar_tz_button {
    width: 100%;
    display: flex; align-items: center; gap: 10px;
    background: var(--calendar-bg);
    border: 1px solid var(--calendar-border);
    border-radius: 10px;
    padding: 8px 10px;
    cursor: pointer; text-align: left;
    transition: background .2s ease, border-color .2s ease, transform .1s ease, box-shadow .2s ease;
    }
    .calendar_tz_button:hover { background: var(--calendar-bg-soft); }
    .calendar_tz_button:active { transform: scale(0.99); }
    .calendar_tz_button:focus-visible { outline: 2px solid var(--calendar-brand-blue); outline-offset: 2px; }
    .calendar_tz_button--open { border-color: var(--calendar-brand-blue); box-shadow: 0 0 0 3px var(--calendar-brand-blue-ghost); }

    .calendar_tz_button_icon_left { width: 16px; height: 16px; flex: 0 0 auto; opacity: .6; font-size: 0;}
    .calendar_tz_button_icon_right { width: 10px; height: 10px; flex: 0 0 auto; opacity: .6; font-size: 0;}
    .calendar_tz_button_text { display: flex; flex-direction: column; min-width: 0; }
    .calendar_tz_button_label { font-size: 14px; font-weight: 600; color: var(--calendar-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .calendar_tz_button_clock { margin-left: auto; font-size: 12px; color: var(--calendar-muted); }

    /* Dropdown panel */
    .calendar_tz_menu[hidden] { display: none; }
    .calendar_tz_menu {
    position: absolute; top: 100%; right: 0; margin-top: 8px;
    width: min(560px, 92vw);
    background: #fff;
    border: 1px solid var(--calendar-border);
    border-radius: 12px;
    box-shadow: var(--calendar-shadow);
    z-index: 20;
    overflow: hidden;
    }

    /* Fixed overlay variant */
    .calendar_tz_menu.calendar_tz_menu--fixed {
    position: fixed;
    left: 0; top: 0;
    margin-top: 0;
    width: min(560px, calc(100vw - 24px));
    max-height: min(65vh, 440px);
    max-width: 400px;
    overflow: auto;
    z-index: 9999;
    }

    /* Optional backdrop */
    .calendar_tz_backdrop {
    position: fixed; inset: 0;
    background: transparent;
    z-index: 9998;
    }

    /* Header (title, notation, search) */
    .calendar_tz_header {
    padding: 12px; border-bottom: 1px solid var(--calendar-border); background: var(--calendar-bg);
    }
    .calendar_tz_header_top {
    display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 8px;
    }
    .calendar_tz_header_title { font-weight: 700; color: var(--calendar-ink); font-size: 16px; }

    .calendar_tz_format_group { display: flex; align-items: center; gap: 8px; font-size: 12px; color: var(--calendar-muted); }
    .calendar_tz_radio { display: flex; align-items: center; gap: 6px; user-select: none; }
    .calendar_tz_radio input { accent-color: var(--calendar-brand-blue); }
    .calendar_tz_radio_divider { width: 1px; height: 16px; background: var(--calendar-border); }

    .calendar_tz_search_wrap { margin-top: 8px; }
    .calendar_tz_search {
    width: 100%;
    font-size: 16px;
    line-height: 1.25;
    padding: 10px 12px;
    border: 1px solid var(--calendar-border);
    border-radius: 10px;
    background: #fff;
    color: var(--calendar-ink);
    }
    .calendar_tz_search:focus { outline: 2px solid var(--calendar-brand-blue); outline-offset: 2px; }

    /* List area */
    .calendar_tz_list {
    max-height: 340px; overflow: auto; padding: 8px 0; background: #fff;
    -webkit-overflow-scrolling: touch; overscroll-behavior: contain;
    }
    .calendar_tz_menu--fixed .calendar_tz_list {
    max-height: calc(min(65vh, 440px) - 120px);
    }

    .calendar_tz_group { padding: 8px 12px; }
    .calendar_tz_group + .calendar_tz_group { border-top: 1px solid var(--calendar-border); }
    .calendar_tz_group_label { font-size: 12px; font-weight: 600; color: var(--calendar-muted); margin: 4px 0 8px; }

    /* Options */
    .calendar_tz_option {
    width: 100%; display: block; background: #fff;
    border: 1px solid transparent; border-radius: 10px; padding: 8px 10px;
    cursor: pointer; text-align: left;
    }
    .calendar_tz_option:hover { background: var(--calendar-bg-soft); }
    .calendar_tz_option:focus-visible { outline: 2px solid var(--calendar-brand-blue); outline-offset: 2px; }
    .calendar_tz_option[aria-selected="true"] {
    border-color: var(--calendar-brand-blue); background: var(--calendar-brand-blue-ghost);
    }
    .calendar_tz_option_row { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
    .calendar_tz_option_label { font-size: 14px; color: var(--calendar-ink); }
    .calendar_tz_option_clock { font-size: 12px; color: var(--calendar-muted); }

    .modal_calendar {
        width: 100%;
        max-width: 420px;
        background: hsl(var(--bg_form_hue), var(--bg_form_sat), var(--bg_form_lns));
        color: var(--font_color);
    }
    .modal_calendar--footer {
        display: flex;
        gap: 4px;
        padding: 8px 16px 16px 16px;
        width: 100%;
    }
    .modal_calendar--body {
        padding: 16px 16px 8px 16px;
        text-align: center;
    }
    .modal_calendar--title {
        font-size: 13px;
        font-weight: normal;
    }
    .modal_calendar--subtitle {
        font-size: 16px;
        font-weight: bold;
    }
    .modal_calendar--info {
        font-size: 13px;
        font-weight: normal;
    }
    .modal_calendar--date {
        font-size: 18px;
        font-weight: bold;
    }
    .modal_calendar--time {
        font-size: 18px;
        font-weight: bold;
    }
    .modal_calendar--timezome {
        font-size: 12px;
        font-weight: normal;
        color: var(--font_color_disclaimer);
    }
    .modal_calendar--btn {
        border: none;
        outline: none;
        padding: 8px 12px;
        background: transparent;
        font-size: 13.2px;
        border-radius: 6px;
        color: white;
        font-weight: bold;
        cursor: pointer;
    }
    .modal_calendar--btn._cancel {
        flex: 1;
        background: #322f33;
    }
    .modal_calendar--btn._cancel:hover {
        background: #4b444d;
    }
    .modal_calendar--btn._dismiss {
        flex: 1;
        background: var(--bg_input_color);
        color: hsl(var(--bg_form_hue), var(--bg_form_sat), var(--bg_form_lns_placeholder));
    }
    .modal_calendar--btn._dismiss:hover {
        opacity: 0.8;
    }
    .modal_calendar--btn._submit {
        background: rgb(0, 155, 0);
        flex: 1;
    }
    .modal_calendar--btn._submit:hover {
        background: rgb(3, 184, 3);
    }

}

/* ---------------- Calendar Responsive ---------------- */
@media (max-width: 880px) {
  /* Stack and keep panes fluid up to 400px */
  .calendar_content { grid-template-columns: 1fr; justify-content: center; }
  .calendar_pane_calendar,
  .calendar_pane_times {
    width: 100vw; max-width: 400px; min-width: 0; margin: 0 auto;
  }
  .calendar_pane_times { border-left: 0; border-top: 1px solid var(--calendar-border); }
  .calendar_month_viewport { height: 305px; }
  .calendar_times_list { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  /* TZ menu: stretch nicely on mobile */
  .calendar_tz_menu.calendar_tz_menu--fixed {
    left: 12px !important; right: 12px; width: auto; max-width: none;
  }
  .calendar_tz_search { font-size: 16px; }
}

/* Landscape XXS */
/* For small phones eg.: iPhone 5 */
@media screen and (orientation:landscape) and (max-width: 692px) {
    .header_text .success_stories .amount {
        font-size: 16px;
    }
    .table-container {
        border-radius: 0px;
    }
    .header_call_to_action_content {
        flex-direction: column;
    }
    .section_features {
        flex-direction: column;
        gap: 32px;
    }
    .section_features.LS_XXS_column_reverse{
        flex-direction: column-reverse;
    }
    .section_features .section_content,
    .section_images{
        width: 100%;
    }
    .section_features .section_images{
        width: 85%;
    }
}

/* Landscape XS */
@media screen and (orientation:landscape) and (min-width: 693px) and (max-width:926px) {
    .table-container {
        border-radius: 0px;
    }
    .header_call_to_action_content {
        flex-direction: column;
    }
    .section_features {
        flex-direction: column;
        gap: 32px;
    }
    .section_features.LS_XS_column_reverse{
        flex-direction: column-reverse;
    }
    .section_features .section_content,
    .section_images{
        width: 100%;
    }
    .section_features .section_images{
        width: 85%;
    }
}

/* Landscape SM */
@media screen and (orientation:landscape) and (min-width:927px) and (max-width:1112px) {
    /* .section_features {
        flex-direction: column;
        gap: 32px;
    }
    .section_features.LS_SM_column_reverse{
        flex-direction: column-reverse;
    }
    .section_features .section_content,
    .section_images{
        width: 100%;
    }
    .section_features .section_images{
        width: 85%;
    } */

    /* ------------------ Calendar Styles ----------------- */
    .calendar_footer .section_features {
        gap: 10%;
    }
    
    .calendar_footer .section_features .section_content,
    .calendar_footer .section_features .section_images {
        width: 50%;
    }
}

/* Landscape MD */
@media screen and (orientation: landscape) and (min-width: 1113px) and (max-width: 1366px) {
    /* ------------------ Calendar Styles ----------------- */
    .calendar_footer .section_features .section_content {
        width: 45%;
    }

    .calendar_footer .section_features .section_images {
        width: 55%;
    }
}

/* Landscape LG */
@media screen and (orientation:landscape) and (min-width:1367px) {
    /* ------------------ Calendar Styles ----------------- */
    .calendar_footer .content_padding {
        padding: 0;
    }

    .calendar_footer .section_features .section_content {
        width: 45%;
    }

    .calendar_footer .section_features .section_images {
        width: 55%;
    }
}

/* CSS Mobile First for portrait mode */
@media screen and (orientation:portrait) {}

/* Portrait XXS */
/* For small phones eg.: iPhone 5 */
@media screen and (orientation:portrait) and (max-width: 374px) {
    .table-container {
        border-radius: 0px;
    }
    /* .header_text .header_info {
        font-size: 12px;
    } */
    .header_call_to_action_content {
        flex-direction: column;
    }

    .section_features {
        flex-direction: column;
        gap: 32px;
    }
    .section_features.PT_XXS_column_reverse{
        flex-direction: column-reverse;
    }
    .section_features .section_content,
    .section_images{
        width: 100%;
    }
    .section_features .section_images{
        width: 85%;
    }
    .section_column {
        width: 100%;
    }
}

/* Portrait XS */
@media screen and (orientation:portrait) and (min-width: 375px) and (max-width:599px) {
    .table-container {
        border-radius: 0px;
    }
    /* .header_text .header_info {
        font-size: 12px;
    } */
    .header_call_to_action_content {
        flex-direction: column;
    }
    .section_features {
        flex-direction: column;
        gap: 32px;
    }
    .section_features.PT_XS_column_reverse{
        flex-direction: column-reverse;
    }
    .section_features .section_content,
    .section_images{
        width: 100%;
    }
    .section_features .section_images{
        width: 85%;
    }
    .section_column {
        width: 100%;
    }
}

/* Portrait SM */
@media screen and (orientation:portrait) and (min-width:600px) and (max-width:799px) {
    .table-container {
        max-width: 720px;
    }
    .header_call_to_action_content {
        flex-direction: column;
    }
    .section_features {
        flex-direction: column;
        gap: 32px;
    }
    .section_features.PT_XS_column_reverse{
        flex-direction: column-reverse;
    }
    .section_features .section_content,
    .section_images{
        width: 100%;
    }
    .section_features .section_images{
        width: 85%;
    }
    .section_column {
        width: 100%;
    }
}

/* Portrait MD */
@media screen and (orientation:portrait) and (min-width:800px) and (max-width:1023px) {
    .header_call_to_action_content {
        flex-direction: column;
    }
    .section_features {
        flex-direction: column;
        gap: 32px;
    }
    .section_features.PT_XS_column_reverse{
        flex-direction: column-reverse;
    }
    .section_features .section_content,
    .section_images{
        width: 100%;
    }
    .section_features .section_images{
        width: 85%;
    }
    .section_column {
        width: 100%;
    }

    /* ------------------ Calendar Styles ----------------- */
    .calendar_footer .section_features {
        flex-direction: row;
        gap: 8%;
    }

    .calendar_footer .section_features .section_content,
    .calendar_footer .section_features .section_images {
        width: 50%;
    }
}

/* Portrait LG */
@media screen and (orientation:portrait) and (min-width:1024px) {}

