
/* Document Default */
@media screen {


    
    /* Header */
    header{position:relative;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;z-index:10;}
    .header_title{padding:3%;}
    .header_default{text-align:center;}
    .header_custom h1,
    .header_default h1{line-height:1.2;font-size:24px;text-align:center;margin-bottom:3%;line-height:1.2;font-style:italic;z-index:1}
    .header_default h1.h1_manager{margin-bottom: 16px;}
    .header_custom h2,
    .header_default h2{font-size:20px;line-height:1.2;text-align:center;line-height:1.2;font-style:italic;z-index:1}
    .header_default h2.subtitle,
    .header_custom .subtitle{
        font-size: 17px;
        font-weight: 400;
    }

    .header_efa h1{
        text-align: center;
        font-size: 29px;
    }
    .header_efa h2{
        color: red;
        text-align: center;
        font-size: 17px;
    }
    .header_efa p{
        text-align: center;
        font-size: 18px;
        margin-top: 16px;
    }

    .header_call_to_action{width:100%;background:var(--background-dark);display:flex;flex-direction:row;align-items:center;justify-content:center}
    .header_call_to_action_content{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0}

    .header_book_image {margin-top: 0; max-width: 575px;}

    /* Video Iframe */
    .header_video_container{position:relative;margin:0;width:100%;border:0 solid #000;background:#000;border-radius:0;transition:width .3s,padding-top .3s,border-width .3s,border-radius .3s}
    
    /* Referral Form */
    .header_referral_form{background:black;width:100%;border-radius:0;margin:0;-webkit-box-shadow:0 0 18px -6px #000000;box-shadow:0 0 18px -6px #000000;border:1px solid rgba(255,255,255,.1);color:var(--background-dark-label);transition:width .3s,border-radius .3s,margin .3s}
    .header_referral_form_title{padding:16px;border-bottom:1px solid #1e1e1e;display:flex;flex-direction:row;align-items:center;justify-content:center;color:inherit}
    .header_referral_form_title h3{margin:0;font-size:18px;color:inherit;font-weight:600}
    .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 .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);
    }

    .modal_body.pad_16{padding: 16px;}
    .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;
    }

    .modal .button{
        font-size: 16px;
        margin-bottom: 16px;
    }
    .modal .button.mrg_0{
        margin: 0;
    }

    .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;
    }
    
    .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{
        background-color: black;
        width:140px;
        padding: 8px;
        text-align: center;
        border-radius: 6px;
        font-weight: bold;
        cursor: pointer;
    }
    .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;
    }
    .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;
    }
    .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;
    }
    /* .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;
    }

    /* 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;}
    .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;
    }
    .btn_title{
        font-size: 24px;
        font-weight: bold;
    }
    .btn_subtitle {
        font-size: 16px;
        font-weight: 400;
    }

    /* Section Defaults */
    section{padding:8% 0;display:flex;flex-direction:column;align-items:center;justify-content:center}
    .section_odd{background:white}
    .section_dark{background:black}
    .section_dark h2{color:white}
    .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_heading.section_content{
        margin-bottom: 4%;
        font-size: 28px;
    }
    .section_content.animate{
        top:0px;
        opacity: 1;
    }
    .section_content h2{position:relative;font-size:20px;text-transform:uppercase;font-weight:600}
    .section_content h2::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.center::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.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: 14px;
    }
    .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:14px}
    .section_content ul{list-style:none;list-style-position:inside;font-size:15px}
    .section_content li{list-style:none;display:table-row}
    .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_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_content li .title{
        font-weight: bold;
        font-size: 14px;
    }
    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.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{
        left:0px;
        opacity: 1;
    }
    .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{
        right:0px;
        opacity: 1;
    }
    .section_join_today_counter_content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%}
    .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 h2{
        font-size: 20px;
        text-transform: uppercase;
    }

    /* 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: 100%;
        min-width: 100vw;
        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;
    }
    .carousel.animate{
        left:0%;
    }  
    .carousel_item{margin:8px;padding:4px;min-width:278px;max-width:320px;-webkit-box-shadow:-1px 12px 22px -26px rgb(0 0 0 / 75%);box-shadow:-1px 12px 32px -26px rgb(0 0 0 / 75%);scroll-snap-align:start;background:black;border-radius:6px;font-size:0; list-style: none;}

    .crop_transformation_pictures .carousel_item{
        position:relative;
        overflow:hidden;
        width:270px;
        min-width:270px;
        max-width:270px;
        height:232px;
        border: 3px solid black;
    }

    .crop_transformation_pictures picture{
        position:absolute;
        bottom:0;
        left:0;
        width:100%;
        height:auto;
    }


    /* 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:auto;background-attachment:fixed;background-position:center;background-repeat:no-repeat;background-size:100%}
    .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:cover;}
    
    .section_review_container.section_review_container_oc{background-image: url('/frontend/static/images/www/oc_bg_image.jpg');}
    .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 .yelp,
    .section_reviews_group .google,
    .section_reviews_group .facebook
    {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 .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 .yelp.animate{
        opacity: 1;
        top:0;
    }
    
    .section_reviews_group .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 .google.animate{
        opacity: 1;
        top:0;
    }
    
    .section_reviews_group .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 .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 Featues */
    .section_features{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:32px}
    .section_features.align_start{
        align-items: flex-start;
    }
    .section_features .section_images {
        width: 60%;
        display: flex;
        flex-direction: row;
        align-self: center;
        justify-content: center;
    }
    .section_features .section_content{width:40%}

    /* 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: 20%;
        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: -6%;
        opacity: 1;
    }
    
    img.trainig_plan_float_left {
        width: 20%;
        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: -6%;
        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.nutrition_plan_float_main_right{width:20%;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;
    }

    .faq_container{
        max-width: 100%;
    }
    .faq_heading {
        padding: 8px 16px;
        background: var(--active-color);
        color: white;
        border-radius: 6px;
        transition: border-radius 0.3s linear;
    }
    .faq_heading:hover{
        background: blue;
    }
    .faq_content{
        background: #eee;
        display: flex;
        flex-direction: column;
        gap:8px;
        max-height: 0;
        opacity: 0;
        visibility: hidden;
        transition: max-height 0.3s linear, opacity 0.3s ease, visibility 0s linear 0.3s;
        border-radius: 0px 0 6px 6px;
    }

    .faq_item.open .faq_heading{
        border-radius: 6px 6px 0px 0;
    }
    .faq_item.open .faq_content{
        max-height: 800px; /* approximate max height */
        opacity: 1;
        visibility: visible;
        transition: max-height 0.3s linear, opacity 0.3s ease, visibility 0s linear 0.3s;
    }

    .faq_item{
        margin-bottom:4px;
        cursor: pointer;
    }

    .faq_content_inner{
        padding: 16px;
        display: flex;
        flex-direction: column;
        gap: 14px;
    }

    .faq_content_inner p{
        font-size: 16px;
        line-height: 18px;
    }

    /* ------------------ Calendar Styles ----------------- */
    .booking_header { background: white; }
    .calendar_section { padding: 0 0 4% 0; }
    .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;
    }

    /* Two-column layout (updated: fixed 400px columns + centered) */
    .calendar_content {
    display: grid;
    grid-template-columns: 400px 400px; /* was 1fr 0.9fr */
    justify-content: center;            /* center the pair */
    gap: 0;
    }
    /* Left & Right panes at 400px on desktop */
    .calendar_pane_calendar {
    padding: 18px;
    width: 400px; max-width: 400px; min-width: 400px; /* was max 422 */
    }
    .calendar_pane_times {
    border-left: 1px solid var(--calendar-border);
    padding: 18px;
    min-height: 420px;
    width: 400px; max-width: 400px; min-width: 400px; /* was max 422 */
    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; /* for the dot */
    }

    /* 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; /* selected already has strong styling */
    }
    .calendar_day_cell.calendar_selected.calendar_today::after {
    background: #fff;
    opacity: 0.95;
    }


    /* Time zone + times (legacy select row stays hidden by JS when picker mounts) */
    .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-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; }
    .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 (centered, tidy) ---- */
    .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 ===== */

    /* Host & field */
    .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 (absolute default) */
    .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 (prevents clipping in overflow/scroll contexts) */
    .calendar_tz_menu.calendar_tz_menu--fixed {
    position: fixed;
    left: 0; top: 0; /* JS sets exact coords */
    margin-top: 0;
    width: min(560px, calc(100vw - 24px));
    max-height: min(65vh, 440px);
    max-width: 400px; /* match pane width (was 422px) */
    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); }

    .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; /* >=16px disables iOS focus zoom */
    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;
    }
    /* Cap list inside fixed panel */
    .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._cancel:hover {
        background: #4b444d;
    }
    .modal_calendar--btn._submit:hover {
        background: rgb(3, 184, 3);
    }

}

/* ---------------- 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_efa h1{
        text-align: center;
        font-size: 33px;
    }
    .header_efa h2{
        color: red;
        text-align: center;
        font-size: 22px;
    }
    .header_efa p{
        text-align: center;
        font-size: 20px;
        margin-top: 16px;
    }
    

    /* Header */
    .header_video_container{margin:4%;margin-bottom:0;width:calc(100% - 8%);border-width:4px;background:#000;border-radius:6px}

    .header_book_image {margin-top: 4%;}

    /* Referral Form */
    .header_referral_form{width:calc(100% - 8%);border-radius:8px;margin:4%;transition:width .3s,border-radius .3s,margin .3s}

    /* Section Defaults */
    section{padding:8% 0}
    section.section_small_pad{padding: 4% 0;}

    /* Section Join Today */
    .section_join_today_counter_content .counter{font-size:32px;font-weight:600}
    .section_join_today_counter_content h3{font-size:16px;font-weight:600}

    /* Section Features */
    .section_features{flex-direction:column}
    .section_features .section_images,
    .section_features .section_content{width:90%}


   

 
}


/* Landscape XS */
@media screen and (orientation:landscape) and (min-width: 693px) and (max-width:926px) {
    /* Header */
    .header_title{padding:3%;}
    .header_custom h1,
    .header_default h1{font-size:28px;}
    .header_custom h2,
    .header_default h2{font-size:22px;}
    .header_book_image {margin-top: 4%;}
    .header_video_container{margin:4%;margin-bottom:0;width:calc(100% - 8%);border-width:4px;background:#000;border-radius:6px;}
    .header_referral_form{width:calc(100% - 8%);border-radius:8px;margin:4%;transition:width .3s,border-radius .3s,margin .3s;}

    .header_efa h1{
        text-align: center;
        font-size: 33px;
    }
    .header_efa h2{
        color: red;
        text-align: center;
        font-size: 22px;
    }
    .header_efa p{
        text-align: center;
        font-size: 20px;
        margin-top: 16px;
    }
    
    /* Section Defaults */
    section{padding:6% 0}
    section.section_small_pad{padding: 4% 0;}

    /* Section Join Today */
    .section_join_today{flex-direction:row;align-items:center;justify-content:center}
    .section_reviews_group{flex-direction:row}

    /* Section Reviews */
    .section_review_container{padding:12% 0}

    /* Section Features */
    .section_features{gap:10%}
    .section_features .section_images{width:50%}
    .section_features .section_content{width:50%}
}



/* Landscape SM */
@media screen and (orientation:landscape) and (min-width:927px) and (max-width:1112px) {
    
    /* Header */
    .header_title{padding:4%;}
    .header_custom h1,
    .header_default h1{font-size:28px;}
    .header_custom h2,
    .header_default h2{font-size:22px;}
    .header_call_to_action_content{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:16px;padding:4%}
    .header_video_container{margin-bottom:0;border-width:4px;background:#000;border-radius:6px}
    .header_referral_form{width:calc(100% - 8%);max-width:370px;border-radius:8px;margin:0;transition:width .3s,border-radius .3s,margin .3s}

    
    
    /* Section Defaults */
    section{padding:4% 0}
    section.section_small_pad{padding: 4% 0;}

    /* Section Join Today */
    .section_join_today{flex-direction:row;align-items:center;justify-content:center;gap:8%}
    .section_join_today_counter{padding-bottom:30%}

    /* Section Review */
    .section_reviews_group{flex-direction:row}
    .section_review_container{padding:12% 0}

    /* Section Features */
    .section_features{gap:10%}
    .section_features .section_images{width:50%}
    .section_features .section_content{width:50%}
   
}

/* Landscape MD */
@media screen and (orientation:landscape) and (min-width:1113px) and (max-width:1366px) {
    

    /* Defaults */
    .section_content h2{font-size:24px}
    .section_content h3{font-size:18px}
    .section_content p{font-size:16px}
    .button {width: auto;}

    /* Header */
    .header_title{
        padding:3%;
        max-width: 1070px;
    }
    .header_custom h1{font-size:32px;}
    .header_default h1{font-size:32px;margin-bottom:4%;}
    .header_custom h2,
    .header_default h2{font-size:26px;}
    .header_call_to_action_content{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:16px;padding:4%}
    .header_video_container{margin-bottom:0;border-width:4px;background:#000;border-radius:6px}
    .header_referral_form{width:calc(100% - 8%);max-width:400px;border-radius:8px;margin:0;transition:width .3s,border-radius .3s,margin .3s}

    .header_efa{
        max-width: 1070px;
    }

    .header_efa h1{
        text-align: center;
        font-size: 48px;
    }
    .header_efa h2{
        color: red;
        text-align: center;
        font-size: 22px;
    }
    .header_efa p{
        text-align: center;
        font-size: 24px;
        margin-top: 16px;
    }
    
    /* Section Defaults */
    section{padding:4% 0}
    section.section_small_pad{padding: 4% 0;}

     /* Section Join Today */
    .section_join_today{flex-direction:row;align-items:center;justify-content:center;gap:8%}
    .section_join_today_counter{padding-bottom:30%}

    /* Section Reviews */
    .section_reviews_group{flex-direction:row}
    .section_review_container{padding:12% 0}

    /* Section Features */
    .section_features{gap:10%}
    .section_features .section_images{width:55%}
    .section_features .section_content{width:45%}
}

/* Landscape LG */
@media screen and (orientation:landscape) and (min-width:1367px) {
    
    /* Defaults */
    .section_content h2{font-size:24px}
    .section_content h3{font-size:18px}
    .section_content p{font-size:16px}
    .button {width: auto;}

    /* Header */
    .header_title{padding:3% 0; max-width: 1194px;}
    .header_custom h1{font-size:36px;}
    .header_default h1{font-size:36px;margin-bottom:4%;}
    .header_custom h2,
    .header_default h2{font-size:28px;}
    .header_call_to_action_content{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:16px;padding:4% 0}

    .header_efa{
        max-width: 1070px;
    }

    .header_efa h1{
        text-align: center;
        font-size: 48px;
    }
    .header_efa h2{
        color: red;
        text-align: center;
        font-size: 22px;
    }
    .header_efa p{
        text-align: center;
        font-size: 24px;
        margin-top: 16px;
    }
    
    /* Video Iframe */
    .header_video_container{margin-bottom:0;border-width:4px;background:#000;border-radius:6px}
    
    /* Referral Form */
    .header_referral_form{width:calc(100% - 8%);max-width:400px;border-radius:8px;margin:0;transition:width .3s,border-radius .3s,margin .3s}
    
    /* Section Defaults */
    section{padding:4% 0}
    section.section_small_pad{padding: 4% 0;}

    /* Section Join Today */
    .content_padding,
    .section_join_today.content_padding{padding:0}
    .section_join_today{flex-direction:row;align-items:center;justify-content:center;gap:8%}
    .section_join_today_counter{padding-bottom:30%}

    /* Section Reviews */
    .section_reviews_group{flex-direction:row}
    .section_review_container{padding:10% 0}

    /* Section Features */
    .section_features{gap:10%}
    .section_features .section_images{width:55%}
    .section_features .section_content{width:45%}
}

/* CSS Mobile First for portrait mode */
@media screen and (orientation:portrait) {
    
    .section_features.nutrition_plans,
    .section_features.community{
        flex-direction: column-reverse;
    }

    /* Header */
    .header_default h1{margin-bottom:5%;}


    .section_review_container {
        background: black url('/frontend/static/images/site/reviews_bg_pt_xs.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 Training Plans */
    .section_features{
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap:32px;
    }
    .section_features .section_images,
    .section_features .section_content{
        width: 90%;
    }

    /* Section Nutrition Plans */
    img.nutrition_plan_float_bottom {
        width: 60%;
        position: absolute;
        opacity: 0;
        top: 50%;
        left: -15%;
        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;
        left: -10%;
        top:50%;
    }

    /* Section Check-in */
    img.check_in_bottom {
        width: 53%;
        position: absolute;
        top: 74%;
        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: 74%;
        right: -10%;
        opacity: 1;
    }
    
}

/* Portrait XXS */
/* For small phones eg.: iPhone 5 */
@media screen and (orientation:portrait) and (max-width: 374px){

    /*******
    * CUSTOMIZATIONS
    *****/
    .section_70p{width:100%;}
}

/* Portrait XS */
@media screen and (orientation:portrait) and (min-width: 375px) and (max-width:599px){

    .header_efa h1{
        text-align: center;
        font-size: 33px;
    }
    .header_efa h2{
        color: red;
        text-align: center;
        font-size: 22px;
    }
    .header_efa p{
        text-align: center;
        font-size: 20px;
        margin-top: 16px;
    }

    .section_70p{width:100%;}

    /* Video Iframe */
    .header_video_container{margin:4%;margin-bottom:0;width:calc(100% - 8%);border-width:4px;background:#000;border-radius:6px}
    
    /* Referral Form */
    .header_referral_form{width:calc(100% - 8%);border-radius:8px;margin:4%;transition:width .3s,border-radius .3s,margin .3s}

    /* Section Join Today */
    .section_join_today{gap:32px}
}

/* Portrait SM */
@media screen and (orientation:portrait) and (min-width:600px) and (max-width:799px) {
    
    .section_70p{width:100%;}

    .header_efa h1{
        text-align: center;
        font-size: 38px;
    }
    .header_efa h2{
        color: red;
        text-align: center;
        font-size: 20px;
    }
    .header_efa p{
        text-align: center;
        font-size: 22px;
        margin-top: 16px;
    }

    /* Header */
    .header_custom h1{font-size:28px;}
    .header_default h1{font-size:28px;margin-bottom:4%;}
    .header_custom h2,
    .header_default h2{font-size:22px;}
    .header_video_container{margin:4%;margin-bottom:0;width:calc(100% - 8%);border-width:4px;background:#000;border-radius:6px}
    .header_book_image {margin-top: 4%;}

    /* Referral Form */
    .header_referral_form{width:calc(100% - 8%);border-radius:8px;margin:4%;transition:width .3s,border-radius .3s,margin .3s}

    /* Section Defaults */
    section{padding:4% 0}
    section.section_small_pad{padding: 4% 0;}

    /* Section Join Today */
    .section_join_today{flex-direction:row;align-items:center;justify-content:center}
    .section_review_container{background:black url('/frontend/static/images/site/reviews_bg_pt_md.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 Features */
    .section_reviews_group{flex-direction:row}
    .section_review_container{padding:16% 0}
}

/* Portrait MD */
@media screen and (orientation:portrait) and (min-width:800px) and (max-width:1023px) {

    .header_efa h1{
        text-align: center;
        font-size: 48px;
    }
    .header_efa h2{
        color: red;
        text-align: center;
        font-size: 22px;
    }
    .header_efa p{
        text-align: center;
        font-size: 24px;
        margin-top: 16px;
    }
    
    .section_features.nutrition_plans,
    .section_features.community{
        flex-direction: row;
    }

    /* Defaults */
    .section_content h2{font-size:24px}
    .section_content h3{font-size:18px}
    .section_content p{font-size:16px}
    .button {width: auto;}

    /* Header */
    .header_custom h1{font-size:28px;}
    .header_default h1{font-size:28px;margin-bottom:4%;}
    .header_custom h2,
    .header_default h2{font-size:22px;}

    /* Video Iframe */
    .header_video_container{margin:4%;margin-bottom:0;width:calc(100% - 8%);border-width:4px;background:#000;border-radius:6px}
    .header_book_image {margin-top: 4%;}
    /* Referral Form */
    .header_referral_form{width:calc(100% - 8%);border-radius:8px;margin:4%;transition:width .3s,border-radius .3s,margin .3s}

    /* Section Defaults */
    section{padding:4% 0}
    section.section_small_pad{padding: 4% 0;}

    /* Section Join Today */
    .section_join_today{flex-direction:row;align-items:center;justify-content:center}

    /* Section Reviews */
    .section_reviews_group{flex-direction:row}
    .section_review_container{padding:16% 0}
    .section_review_container{background:black url('/frontend/static/images/site/reviews_bg_pt_md.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 Features */
    .section_features{flex-direction:row;gap:8%}
    .section_features .section_images{width:50%}
    .section_features .section_content{width:50%}

    /* Section Nutrition Plans */
    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%;left:6%}

    /* Section Check-in */
    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}
}

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

    .header_book_image {margin-top: 4%;}

    .header_efa{
        max-width: 830px;
    }

    .header_efa h1{
        text-align: center;
        font-size: 48px;
    }
    .header_efa h2{
        color: red;
        text-align: center;
        font-size: 22px;
    }
    .header_efa p{
        text-align: center;
        font-size: 24px;
        margin-top: 16px;
    }
    
    .section_features.nutrition_plans,
    .section_features.community{
        flex-direction: row;
    }

    /* Defaults */
    .section_content h2{font-size:24px}
    .section_content h3{font-size:18px}
    .section_content p{font-size:16px}
    .button {width: auto;}
    
    /* Header */
    .header_custom h1{font-size:32px;}
    .header_default h1{font-size:32px;margin-bottom:4%;}
    .header_custom h2,
    .header_default h2{font-size:28px;}
    .header_video_container{
        margin: 4%;
        margin-bottom: 0;
        width: calc(100% - 8%);
        border-width: 4px;
        background: #000;
        border-radius: 6px;
    }

    .header_referral_form{
        width: calc(100% - 8%);
        border-radius: 8px;
        margin: 4%;
        transition: width .3s, border-radius .3s, margin .3s;
    }

    /* Section Defaults */
    section{padding:4% 0}
    section.section_small_pad{padding: 4% 0;}

    /* Section Join Today */
    .section_join_today{flex-direction:row;align-items:center;justify-content:center}

    /* Section Reviews */
    .section_review_container{background:black url('/frontend/static/images/site/reviews_bg_pt_md.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_group{flex-direction:row}
    .section_review_container{padding:12% 0}

    /* Section Features */
    .section_features{flex-direction:row;gap:10%}
    .section_features .section_images{width:50%}
    .section_features .section_content{width:50%}

    /* Section Nutrition Plans */
    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%;left:6%}

    /* Section Check-in */
    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}
}