/* font weight adjustment for safari browser */
.safari h2,
.safari h3,
.safari .appointment-slot .day,
.safari .appointment-slot .appointment_staff,
.safari .appointment-slot .appointment_subtitle,
.safari .appointment-slot .appointment_spots_left,
.safari .classschedule-view .cstm-new-back,
.safari #class_quantity,
.safari #class_quantity span,
.safari .appointment_details .date,
.safari .admin-banner h6
{
    font-family: 'OpenSans-Bold' !important;
    font-weight: normal !important;
}
.card-content h3{
    margin: 1px !important;
    padding: 0px !important;
}
.content-block {
    margin-top: 10px;
}
.content-block{
    padding: 0 5px;
    padding-bottom: 18px;
}
.right {
    float: right;
}
.s-pos-content-style{
    height: calc(100vh - 250.5px);
}
.p-pos-content-style{
    height: calc(100vh - 219.5px);
}
.openurl-content-style{
    height: calc(100vh - 179.5px);
}
.Android .s-pos-content-style,.Android .p-pos-content-style{
    height: calc(100vh - 223.5px);
}
.Android .openurl-content-style{
    height: calc(100vh - 185.5px);
}
.container{
    max-width: 1200px;
    margin:auto;
}
ul.horz_carousal {
    list-style-type: none;
    margin: 0;
    background: white;
    padding: 10px 0;
    position: relative;
    top: -5px;
    height: 20px;
    overflow: auto;
    white-space: nowrap;
}
ul.horz_carousal li {
    padding: 0 15px;
    display: inline;
}
ul.horz_carousal li a{
    color:black;
}
ul.horz_carousal li.active a{
    color:rgb(0,137,87);
    letter-spacing: -0.24pt;
}
.link{
    cursor:pointer;
}
/*Class schedule Section css goes here*/
.fixed-text{
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    color: black;
}
.appointment_staff{
    margin: 3px 0 0px 0 !important;
    font-weight:normal;
    font-size: 10px;
    line-height: 13.62px;
    font-family: OpenSans-SemiBold !important;
    color: #8B9091;
}
.appointment_staff_mobile{
    font-size: 12px;
    text-align: left;
    line-height: 19px;
}
.class_schedule_staff_home .list-card-mobile .row{
    align-items: center;
}
#infinity_scroll{
    overflow-y: auto !important;
    padding-bottom: 20px !important;
}
.bg-white{
    background: white !important;
}
/*.card-container{
    max-width: 1200px;
    margin: auto;
}*/
.left {
    float: left;
}
.cstm-new-back {
    color: black;
    font-size: 18px;
    font-weight: 600;
    letter-spacing: 0.1px;
    cursor: pointer;
    margin-top: -21px;
    position: absolute;
    margin-left: 12px;
}
.classschedule-view{
    font-family: OpenSans;
    font-size: 15.5px;
    font-weight: normal;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.32;
    letter-spacing: normal;
    text-align: center;
    color: black;
    background-color:#f4f6f8;
}
.classschedule-view .page-content,.class_listing_page .page-content{
    padding: 0 !important;
}
.calendar-select .page-content{
    background: #f4f6f8;
}
.classschedule-header{
    color:black;
    background-color: white;
    padding:15px;
    border: solid 1px #dde1e5;
    border-bottom-color: #fff;
}
.classschedule-header .left{
    font-weight: 500;
    font-size: 20px;
}
.classschedule-header .right{
    font-size: 16px;
    cursor: pointer;
}
.select-date{
    position: relative;
    right: 10px;
    bottom: 1px;
    font-size: 15px;
}
.appointment-col{
    width: calc(100% / 7);
}
.appointment-calender{
    height: 21px;
    width: 21px;
    position:relative;
    top: 3px;
}
.popover.classstart.popover-picker-calendar{
    width: 250px !important;
    background-color: #f6f6f6;
    border-radius: 0px;
    height: 240px;
    left: calc(100% - 307px) !important;
    top: 118px !important;
}
#appointment-calendar.calendar-custom-toolbar .center{
    font-size: 14px;
    font-weight: 500;
}
#appointment-calendar+.picker-modal-inner .picker-calendar-day span{
    font-size: 10px;
}
#appointment-calendar+.picker-modal-inner .picker-calendar-week-day{
    color: #9f9f9f;
    font-weight: 500;
    font-size: 11px;
}
#appointment-calendar+.picker-modal-inner .picker-calendar-months:before{
    background-color: white;
}
.classstart .popover-angle{
    display: none;
}
.classstart .picker-calendar-row{
    height: calc(100% / 9);
}
.classstart .picker-calendar-row::after{
    height: 0px;
}
.classlist_card{
    margin: 0;
    border-bottom: 1px solid #dde1e5;
    border-left: 1px solid #dde1e5;
    border-right: 1px solid #dde1e5;
    border-top: 1px solid #dde1e5;
    /* border: solid 0.5px #dde1e5;*/
    /*box-shadow: 0 2px 4px 0 rgba(192, 192, 192, 0.5);*/
    border-radius: 0px;
    /* height:83px;*/
    height: 113px;
}
.classlist_card .appointment-slot:hover{
    cursor:pointer;
}
.class_listing_page .card-container{
    margin: 30px auto;
    max-width: 1200px;
/*    margin: auto;*/
}
.classschedule-view .container,.class_listing_page .container{
    max-width: 1200px;
    margin: auto;
}
.appointment_list .appointment-col:nth-child(odd){
    background-color: #fafafa;
}
.appointment_list .appointment-col:nth-child(even){
    background-color: #ffffff;
}
.appointment_list_header{
    padding:10px 0px;
    font-size: 16px;
    border-top: solid 1px #dde1e5;
    border-bottom-color: #fff;
}
.appointment_list_header .appointment-slot{
    padding: 0 15px;
    text-align: left;
}
.appointment_list .appointment-slot{
    text-align: left;
}
.appointment-slot .day{
    font-weight: 600;
}
.appointment-slot .date{
    color:#9f9f9f;
}
.appointment_time{
    font-size: 13px;
    font-weight: 500;
    margin: 0px;
    letter-spacing: -0.43px;
}
.class_appointment{
    font-weight: 500;
    font-size: 13px;
    margin: 3px 0 0 0;
    letter-spacing: -0.43px;
}

.appointment_title{
    font-size: 10px;
    /*color: #838a8c;*/
    margin: 3px 0 0 0;
    font-weight: 500;
    letter-spacing: -0.43px;
}
.color_gray{
    color: #A3A3A3;
}
.color_gray2{
    color: #8A9091;
}
.appointment_spots_left{
    font-size: 10px;
    /*color: black;*/
    font-weight: 600;
    letter-spacing: -0.43px;
    margin: 3px 0 0 0;
}
.appointment_details .date{
    font-weight: 600;
}
.appointment_details .program{
    position: relative;
}
.classschedule-view .cstm-new-back,.class_listing_page .cstm-new-back{
    font-size: 15px;
    padding-top: 2px;
    position: relative;
    bottom: 2px;
    right: 8px;
}
.classschedule-view .cstm-back-icon,.class_listing_page .cstm-back-icon{
    height: 15px;
    width: 9px;
    margin: 0;
}
.class_schedule_type_home .list-card-mobile,.class_schedule_staff_home .list-card-mobile{
    height: 73px !important;
    padding: 0 15px !important;
}
.class_schedule_type_home .list-card-mobile .row,.class_schedule_staff_home .list-card-mobile .row{
    height: 73px !important;
    align-items: center !important;
}
.class_schedule_type_home .list-card-mobile .col-10,.class_schedule_staff_home .list-card-mobile .col-10{
    line-height: 0 !important;
}
.class_schedule_type_home .list-card-mobile .appointment-arrow,.class_schedule_staff_home .list-card-mobile .appointment-arrow{
    padding: 0 !important;
}
.Tablet_modal .appointment-col{
    width:calc(100% / 5);
}
/*CANCEL / RESCHEDULE CSS CHANGES*/
.col-30{
    width:30%
}
.col-70{
    width:70%
}
.col-35{
    width:35%
}
.col-65{
    width:65%
}
.p15{
    padding: 15px !important;
}
.cancelbanner,.reschedulebanner{
    text-align: center;
    background-color: #ddede8;
    padding: 1px;
    font-weight: 500;
    font-size: 15px;
}
.reschedulebanner{
    background-color: #f4f6f8;
}
.cancelbannertext,.reschedulebannertext{
    text-align: center;
    padding: 10px;
    font-size: 16px;
    font-weight: 500;
    padding: 4px 0 5px 0;
}
.modal-overlay{
    background: rgba(0, 0, 0, 0.8);
}
.modal{
    background: white !important;
}

.class_ongoing_content{
    font-size: 16px !important;
    font-family: 'OpenSans-Regular' !important;
    padding: 0 15px;
}
.modal{
    width: var(--modal-width);
    max-height: var(--modal-maxheight);
    border-radius: var(--modal-borderradius);
    font-size: var(--modal-font);
    background: white;
    margin: 0!important;
    transform: translate(-50%,-50%) !important;
}
.modal .modal-title{
    font-family: OpenSans-Regular !important;
    font-size: var(--modal-font);
    line-height: normal;
}
.modal .modal-inner{
    width: 80%;
    padding: 10%;
    font-family: OpenSans-Regular !important;
    font-size: var(--modal-font);
    line-height: normal;
    letter-spacing: 0px;
    margin: 0px;
    overflow-y: auto;
}
.modal-inner::after,.modal-buttons-vertical .modal-button::after {
    height: 0px;
}
.no-padding-bottom{
    padding-bottom:0px;
}
.modal-button:first-child,.modal-button:last-child,.modal-button:first-child:last-child,.modal .modal-inner{
    border-radius: 0;
}
.modal-overlay.modal-overlay-visible{
    visibility: visible;
    opacity: 0.6;
    background: black;
}
.modal-buttons-2 {
    height: auto;
    border-top: 1px solid #E5E5E5!important;
}
.Medium_desktop_modal{
    --modal-font : calc(var(--screen-width) / 100 * 0.9);
}
.Small_desktop_modal{
    --modal-font : calc(var(--screen-width) / 100 * 1);
}
.Big_tablet_modal{
    --modal-width: 30vw;
    --modal-font : calc(30vw / 100 * 4.5);
    --modal-button: calc(30vw / 100 * 20);
    --modal-padding : calc(30vw / 100 * 8);
    --modal-maxheight : 80vh;
}
.Medium_tablet_modal{
    --modal-width: 35vw;
    --modal-font : calc(35vw / 100 * 4.5);
    --modal-button: calc(35vw / 100 * 20);
    --modal-padding : calc(35vw / 100 * 8);
    --modal-maxheight : 80vh;
}
.Tablet_modal{
    --modal-width: 50vw;
    --modal-font : calc(50vw / 100 * 4.5);
    --modal-button: calc(50vw / 100 * 20);
    --modal-padding : calc(50vw / 100 * 8);
    --modal-maxheight : 80vh;
}
.Mobile_modal{
    --modal-width: 80vw;
    --modal-font : calc(80vw / 100 * 5);
    --modal-button: calc(80vw / 100 * 20);
    --modal-padding : calc(80vw / 100 * 8);
    --modal-maxheight : 80vh;
    --modal-borderradius : calc(80vw / 100 * 3);
}
@media only screen and (max-width:1350px){
    .card-right {
        min-height: 24vw;
    }
}
@media only screen and (max-width:1100px){
    .card-right {
        min-height: 27vw;
    }
    .cus-card{
        margin-top:30px;
    }
    .container{
        max-width: 1000px;
        margin-left: auto;
        margin-right: auto;
    }
}
@media only screen and (max-width: 990px) {
    /*CLASS SCHEDULE CLASSES*/
    .appointment_subtitle{
        font-weight: 600;
    }
    .appointment_time{
        font-size: 15px;
        font-weight: 500;
    }
    .appointment_title{
        font-size: 16px;
        font-weight: 500;
    }
    #view-8 .cstm-new-back{
        color: #009a61 !important;
        font-size: 16px;
        font-weight: 600;
        letter-spacing: 0.1px;
        cursor: pointer;
    }
    .classschedule-view .container,.class_listing_page .container{
        max-width: none;
    }
    .class_listing_page.card-container{
        margin: 15px auto !important;
        max-width: calc(100% - 30px);
    }
    .classschedule-view .card-content-inner,.class_listing_page .card-content-inner{
        padding: 15px !important;
    }
    .classschedule-header .left{
        font-weight: 500;
        font-size: 24px;
    }
    .appointment-slot .day{
        font-weight: 500;
    }
    .carousal_container {
        padding: 110px 0 0 0;
        background: white;
    }
    .carousal_container {
        padding-top: 70px;
        border-bottom: 1px solid #efefef;
    }
    ul.horz_carousal {
        list-style-type: none;
        margin: 0;
        background: white;
        padding: 10px 0;
        position: relative;
        top: -5px;
        height: 20px;
        width:100vw;
    }
    ul.horz_carousal li {
        padding: 0 15px;
        display: inline;
    }
    ul.horz_carousal li a{
        color:black;
    }
    ul.horz_carousal li.active a{
        color:rgb(0,137,87);
    }
/*    .icon.icon-back.custom-back{
        margin-left: 15px;
    }*/
    .class_appointment_detail .appointment-arrow{
        padding: 0px;
        width: 8px;
        height: 14px;
    }
}
@media only screen and (max-width:768px){
    .cus-card{
        margin-top: 20px;
    }
    .carousal_container{
        padding:90px 0 0 0;
    }
}
@media only screen and (max-width: 600px) {
    .toolbar:before {
        background-color: transparent;
    }
    .classstart .picker-calendar-row{
        height: calc(100% / 6);
    }
    .picker-modal.classstart.picker-calendar{
        width: 90% !important;
        background-color: #f6f6f6;
        border-radius: 0px;
        height: 300px;
        left: 5% !important;
        top: 108px;
    }
    .picker-modal.picker-calendar.classstar{
        border: 1px solid #e3e3e3;
    }
    .classstart .picker-modal-inner{
        background: #f6f6f6;
    }
    .picker-modal .toolbar::before{
        background-color: transparent;
    }
    .classstart .picker-modal-inner .picker-calendar-day{
        font-size: 11px;
    }
    .list-card-mobile{
        border: solid 1px #dfe3e9;
        border-left: 0;
        border-right: 0;
        text-align: center;
        background: white;
        padding: 15px;
    }
    .list-card-mobile .appointment_title{
        margin:0;
        text-align: left;
        color: #838a8c;
        font-weight: 600;
    }
    .appointment_subtitle{
        text-align: left;
        font-size: 13px;
        font-weight: 100;
    }
    .appointment-arrow{
        padding: 11px 0;
        margin: 0px;
    }
    .appointment_time {
        text-align: left;
        padding-top: 10px;
    }
    .classschedule-view .select-participant,.class_listing_page .select-participant{
        border: solid 1px #dfe3e9;
        text-align: left;
        border-left: 0;
        border-right: 0;
        padding: 10px;
        font-size:14px;
        font-weight: 600;
        background: white;
        position: inherit;
    }
    .list-card-mobile:first-child ,.list-card-mobile + .list-card-mobile{
        /*border-top:none;*/
    }
    .classschedule-view ul.horz_carousal,.class_listing_page ul.horz_carousal{
        height:35px;
        top:0;
        padding:5px 0;
    }
    .classschedule-view ul.horz_carousal .day-span,.class_listing_page ul.horz_carousal .day-span{
        font-size: 11px;
        font-weight: 600;
    }
    .classschedule-view ul.horz_carousal .date-span,.class_listing_page ul.horz_carousal .date-span{
        position: relative;
        top:5px;
        font-size: 11px;
    }
    .classschedule-view ul.horz_carousal .active-date .date-span,.class_listing_page ul.horz_carousal .active-date .date-span{
        color: #009a61;
        border-bottom: 2px solid #009a61;
    }
    .classschedule-view ul.horz_carousal .active-date .day-span,.class_listing_page ul.horz_carousal .active-date .day-span{
        font-weight: 700;
    }
    #recurringRegistration .green-text.height_auto{
        height: calc(var(--modal-width) / 100 * 30)!important;
        line-height: normal!important;
    }
}

@media only screen and (max-width:641px){
    .container{
        max-width: 100%;
        margin-bottom: 10px;
    }
    .carousal_container{
        padding: 60px 0 0 0;
    }
/*    .icon.icon-back.custom-back {
        margin-left: 0;
    }*/
    /*CANCEL / RESCHEDULE CSS CHANGES*/
    .cancelbanner,.reschedulebanner,.cancelbannertext,.reschedulebannertext{
        text-align: left;
        padding-left: 10px !important;
    }
    .cancelbannertext,.reschedulebannertext{
        padding: 10px !important;
    }
    .cls_res.modal {
        width: 300px !important;
        left: calc(50% - 150px);
    }
    .modal-center{
        max-width: 90%;
        margin-top: 25%;
    }
    .modal-buttons-2 {
        height: auto;
    }
    .Android .open_url .zero_cost_style{
        padding : 0px 0px !important;
    }
    .Android .pos-content-style .zero_cost_style{
        padding : 0px 0px !important;
        margin-top: 51px;
    }
    .Android .class_listing_page .page-content {
        margin-top: 60px;
        height: calc(100vh - 118px);
    }
    .Android .noprocessingfee .page-content {
        margin-top: 60px;
        height: calc(100vh - 206px);
    }
    .class_listing_page .page-content{
        overflow : hidden;
    }
}

@media only screen and (max-width:481px){
    .cus-card{
        margin-top: 5px;
    }
    .mobile-view.page-content{
        padding-top: 15px;
    }
}
/* iphone 6, 6s, 7, 8*/
@media only screen and (min-device-width: 375px) and (max-device-height: 667px) and (-webkit-device-pixel-ratio: 2) {
    .s-pos-content-style{
        height: calc(100vh - 270px);
    }
    .p-pos-content-style{
        height: calc(100vh - 240px);
    }
    .openurl-content-style{
        height: calc(100vh - 200px);
    }
}

/* iphone 6+, 6s+, 7+, 8+ */
@media only screen and (min-device-width: 414px) and (max-device-height: 736px) and (-webkit-device-pixel-ratio: 3) {
    .s-pos-content-style{
        height: calc(100vh - 270px);
    }
    .p-pos-content-style{
        height: calc(100vh - 240px);
    }
    .openurl-content-style{
        height: calc(100vh - 200px);
    }
}
/* iphone X , XS, 11 Pro */
@media only screen and (max-width:641px) and (device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3) {
    .s-pos-content-style{
        height: calc(100vh - 310px);
    }
    .p-pos-content-style{
        height: calc(100vh - 280px);
    }
    .openurl-content-style{
        height: calc(100vh - 240px);
    }
    .iOS.chrome .s-pos-content-style{
        height: calc(100vh - 300px);
    }
    .iOS.chrome .p-pos-content-style{
        height: calc(100vh - 270px);
    }
    .iOS.chrome .openurl-content-style{
        height: calc(100vh - 230px);
    }
}

/* iphone XR, 11 */
@media only screen and (max-width:641px) and (device-width : 414px) and (device-height : 896px) and (-webkit-device-pixel-ratio : 2) {
    .s-pos-content-style{
        height: calc(100vh - 310px);
    }
    .p-pos-content-style{
        height: calc(100vh - 280px);
    }
    .openurl-content-style{
        height: calc(100vh - 240px);
    }
}

/* iphone XS Max, 11 Pro Max */
@media only screen and (max-width:641px) and (device-width : 414px) and (device-height : 896px) and (-webkit-device-pixel-ratio : 3) {
    .s-pos-content-style{
        height: calc(100vh - 310px);
    }
    .p-pos-content-style{
        height: calc(100vh - 280px);
    }
    .openurl-content-style{
        height: calc(100vh - 240px);
    }
}
.bp-student-restrict{
    border: 1px solid black;
    margin-left: -2px;
    width: 102%;
    color: rgb(0,137,87) !important;
}
