@import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.7.2/font/bootstrap-icons.css");
@import url('https://fonts.googleapis.com/css2?family=Inconsolata:wght@700&family=Raleway:wght@200&display=swap');

@font-face {
    font-family: 'Viva';
    src: url('../fonts/VivaBeautiful.woff2') format('woff2');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Milliard Medium';
    font-style: normal;
    font-weight: normal;
    src: local('Milliard Medium'), url('../fonts/Milliard-Medium.woff') format('woff');
}
@font-face {
    font-family: 'Metropolis Bold';
    font-style: normal;
    font-weight: normal;
    src: local('Metropolis Bold'), url('../fonts/Metropolis-Bold.woff') format('woff');
}
@font-face {
    font-family: 'Poppins';
    font-style: normal;
    font-weight: normal;
    src: url('../fonts/Poppins-Regular.woff2') format('woff2');
}
@font-face {
    font-family: 'Poppins';
    font-style: normal;
    font-weight: 700;
    src: url('../fonts/Poppins-Bold.woff2') format('woff2');
}

body {
    background-color: var(--main-bg-color);
    color: var(--main-text-color);
    overflow-x: hidden;
    font-family: 'Poppins';
    font-size: 16px;
    letter-spacing: 0;
    padding-top: 6em;
}

.viva-title {
    font-family: Viva !important;
    font-size: 75px !important;
    font-weight: normal !important;
}

h1, h2, h3, h4, h5, h6 {
    font-family: Viva;
    font-weight: normal;
    letter-spacing: 1px;
    /* text-transform: uppercase; */
}

button:focus, .btn:focus {
    outline: none !important;
    box-shadow: none !important;
}

.top-main-menu {
    background-color: #141414;
    padding: 20px 15px;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 9995;
    border-bottom: 1px solid #272727;
}

.top-main-menu .nav {
    width: unset;
}

@media (min-width: 995px) {
    .top-main-menu .nav {
        width: 330px;
    }
}

.top-main-menu a {
    color: white;
    text-transform: uppercase;
    font-size: 16px;
}
.top-main-menu a:hover, .top-main-menu a:active {
    color: var(--sidebar-border-color);
}

.brand-logo {
}

.brand-logo a img {
    width: 190px;
}

.brand-logo a img.wide {
    width: 190px;
    display: none;
}

.top-bar-menu {
    position: absolute;
    right: 100px;
    z-index: 1000;
}

.top-bar-menu .nav .nav-item .nav-link {
    font-family: 'Metropolis Bold', cursive;
    color: var(--main-text-color);
    text-transform: uppercase;
    font-size: 20px;
    padding: 1rem 2rem;
}

header {
    padding: 0 0 0 0;
    height: 100vh;
    transform: translateY(-90px);
    position: relative;
    overflow: hidden;
    display: flex;
    justify-content: center;
    background-image: url(../image/video_placeholder.jpg);
    background-size: cover;
    background-position: center;
}
main {
}

header iframe {
    position: absolute;
    top: 50%;
    left: 50%;
    width: auto;
    height: auto;
    min-width: 100%;
    min-height: 100%;
    transform: translateX(-50%) translateY(-50%);
    -webkit-transform: translateX(-50%) translateY(-50%);
}

header .overlay {
    background-color: var(--header-bg-overlay);
    height: 100vh;
    min-height: 750px;
    width: 100%;
    position: absolute;
    text-align: center;
}

header._355 .overlay {
    background-color: rgba(0, 0, 0, 0.75);
}

/* header .overlay h1, header .overlay h2 { */
/*     font-size: clamp(25px, 4vw, 4vw); */
/*     color: rgba(255, 255, 255, 1); */
/*     margin: auto; */
/*     text-transform: uppercase; */
/* } */

/* header h2 { */
/*     margin: auto; */
/*     font-size: clamp(25px, 4vw, 48px); */
/* } */

header h2 {
    font-size: 60px;
    margin: auto;
}

h1 p, h2 p, h3 p, header h2 p {
    font-family: 'Poppins', cursive;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0;
    line-height: 1;
    font-size: 60px;
}


@media screen and (max-width: 768px) {
    h1 p, h2 p, h3 p, header h2 p {
        font-size: 40px;
    }

}


/* header .overlay h2 p { */
/*     font-size: clamp(35px,9vw,9vw); */
/* } */

header .overlay h2 b {
    color: #bc0000;
}

header .overlay h2 .link {
    display: block;
    border-bottom: 2px solid #bc0000;
    font-size: 1.6rem;
    width: 425px;
    margin: 50px auto 0 auto;
}
header .overlay h2 .link i {
    font-size: 3.5rem;
    padding-left: 35px;
}
header .overlay h2 .link a {
    color: #fff;
    text-decoration: none;
}

.page.link {
    display: inline-block;
    border-bottom: 2px solid #bc0000;
    font-size: 1.6rem;
}
.page.link i {
    font-size: 3.5rem;
    padding-left: 35px;
}
.page.link a {
    color: #fff;
    text-decoration: none;
}

@media screen and (max-width: 768px) {
    #welcome-results .flex-column img {
        order: 1!important;
        padding-left: 0!important;
        padding-bottom: 25px;
    }
    
    #about-us .flex-column img {
        order: 1!important;
        padding-left: 0!important;
        padding-bottom: 25px;
    }
}

header.info-header {
    height: unset;
    min-height: 350px;
    border-bottom: 1px solid var(--main-text-color);
    padding-top: 80px;
}
header.info-header h1 {
    font-family: 'Metropolis Bold', cursive;
    font-size: 16vw;
    margin: auto;
    text-transform: uppercase;
}

.simplar-right-sidebar {
    position: fixed;
    top: 0;
    bottom: 0;
    right: 0;
    width: 65px;
    background-color: var(--sidebar-bg-color);
    border-left: 1px solid var(--sidebar-border-color);
    z-index: 2000;
}

.simplar-burger-menu {
    width: 46px;
    height: 40px;
}

.simplar-account-menu, .simplar-timetable-menu {
    position: absolute;
    top: 0;
    right: 75px;
    display: none;
}
.simplar-timetable-menu {
    right: 130px;
}
.simplar-account-menu a, .simplar-timetable-menu a {
    font-size: 30px;
    line-height: 64px;
    color: var(--menu-text-color);
}

.menu {
    background-color: transparent;
    border: none;
    cursor: pointer;
    display: flex;
    padding: 0;
}
.line {
    fill: none;
    stroke: var(--sidebar-icon-color);
    stroke-width: 6;
    transition: stroke-dasharray 600ms cubic-bezier(0.4, 0, 0.2, 1),
        stroke-dashoffset 600ms cubic-bezier(0.4, 0, 0.2, 1);
}
.line1 {
    stroke-dasharray: 60 207;
    stroke-width: 6;
}
.line2 {
    stroke-dasharray: 60 60;
    stroke-width: 6;
}
.line3 {
    stroke-dasharray: 60 207;
    stroke-width: 6;
}
.opened .line1 {
    stroke-dasharray: 90 207;
    stroke-dashoffset: -134;
    stroke-width: 6;
}
.opened .line2 {
    stroke-dasharray: 1 60;
    stroke-dashoffset: -30;
    stroke-width: 6;
}
.opened .line3 {
    stroke-dasharray: 90 207;
    stroke-dashoffset: -134;
    stroke-width: 6;
}

.simplar-book-now, .schedule-cancel-btn, .simplar-join-now {
    position: absolute;
    bottom: -2px;
    border-top: 1px solid var(--sidebar-border-color);
    width: 64px;
    height: 207px;
}
.simplar-book-now .book-now-button, .simplar-join-now .join-now-button, .schedule-cancel-btn .cancel-btn {
    font-family: 'Metropolis Bold', cursive;
    position: absolute;
    bottom: 72px;
    left: -70px;
    width: 204px;
    height: 64px;
    border: 0px;
    transform: rotate(90deg);
    font-size: 20px;
    text-align: center;
    text-transform: uppercase;
    color: var(--sidebar-text-color);
    cursor: pointer;
    background-color: var(--sidebar-bg-color);
}
.simplar-book-now .book-now-button:hover, .simplar-join-now .join-now-button:hover {
    background-color: var(--sidebar-border-color);
}
.simplar-join-now {
    bottom: 203px;
}
.schedule-cancel-btn {
    display: none;
    position: fixed;
    right: 0;
    z-index: 3001;
    border-top: 1px solid var(--sidebar-bg-color);
}
.schedule-cancel-btn.show {
    display: block;
}
.schedule-cancel-btn .cancel-btn {
    color: var(--main-bg-color);
    background-color: var(--sidebar-border-color);
}

.menu-top-panel .nav {
    padding: 0.5rem 1rem;
}

.menu-top-panel .nav .nav-link {
    font-family: 'Metropolis Bold', cursive;
    font-size: 31px;
    line-height: 56px;
    padding: 0;
    text-transform: uppercase;
    color: var(--sidebar-text-color);
}

.menu-bottom-panel {
    padding: 0.5rem 1rem;
}

.menu-bottom-panel nav.links {
    padding-bottom: 30px;
}
.menu-bottom-panel nav.links .nav-link {
    font-family: 'Metropolis Bold', cursive;
    font-size: 25px;
    line-height: 30px;
    padding: 0;
    color: var(--sidebar-text-color);
}
.menu-bottom-panel nav.links .nav-link.my-account {
    display: none;
}

.menu-bottom-panel .nav.social .nav-link {
    font-size: 25px;
    color: var(--sidebar-text-color);
    padding-bottom: 0;
}

.menu-bottom-panel .nav.social .nav-item:first-child a {
    padding-left: 0;
}


/** General Section **/
section {
    background-color: var(--main-bg-color);
    color: var(--main-text-color);;
}
section .header {
    border-bottom: 1px solid var(--main-text-color);
    padding: 50px 0;
    position: relative;
    overflow: hidden;
    display: flex;
    justify-content: center;
}

section .header h2 {
    font-size: 60px;
    margin: auto;
    font-weight: normal;
    letter-spacing: 1px;
    color: white;
}

section.insta-follow .header p {
    margin: 0;
    font-size: 24px;
    letter-spacing: -0.5px;
}
section.insta-follow .header a {
    color: var(--main-text-color);
    text-decoration: none;
    font-weight: bold;
}

#contact, #footer {
    background: #000000;
    color: #ffffff;
}

#contact img {
    filter: grayscale(1);
}

#contact .contact-details {
    background-color: #222222;
    color: #ffffff;
}

/** Instructors **/
.instructor {
    border-width: 0.5px;
    border-style: solid;
    border-color: var(--main-bg-color) var(--main-text-color) var(--main-text-color) var(--main-bg-color);
}
.instructor .profile {
    padding: 30px 30px 0 30px;
}
.instructor img {
    border-radius: 50%;
}
.instructor .info {
    margin-top: -40px;
    border-top: 0.5px solid var(--main-text-color);
    padding: 65px 50px 40px 50px;
}
.instructor .info .name, .instructor .info .follow {
    font-family: 'Metropolis Bold', cursive;
    font-size: 1.2vw;
    text-transform: uppercase;
}
/** End Instructors **/


/** Events **/

.offcanvas {
    background-color: var(--main-text-color);
    color: var(--main-bg-color);
    width: 400px;
    border-left: none;
    z-index: 9996;
}

.offcanvas .offcanvas-body {
    overflow-x: hidden;
}

.offcanvas .offcanvas-header {
    justify-content: flex-start!important;
}
.offcanvas h3 {
    font-family: 'Metropolis Bold', cursive;
    font-size: 22px;
    margin-bottom: 0;
    text-transform: uppercase;
    padding: 10px 0;
}
.offcanvas .menu-top-panel {
    background-color: var(--main-bg-color);
    color: var(--main-text-color);
    padding: 20px 10px 10px 10px;
}
.offcanvas .clear-filter, #timetable .clear-filter {
    font-family: 'Metropolis Bold', cursive;
    text-transform: uppercase;
    color: var(--sidebar-border-color);
    text-decoration: none;
    font-size: 0.75rem;
}

.offcanvas .menu-top-panel {
    font-family: 'Metropolis Bold', cursive;
    text-transform: uppercase;
    font-size: 20px;
    padding-left: 15px;
}

#offcanvasLogin .forgotten, #offcanvasLogin .register {
    display: none;
}


#offcanvasMain {
    width: 100%;
    background-color: var(--sidebar-bg-color);
    color: var(--sidebar-text-color);
    top: 80px;
    z-index:9991!important;
}

#offcanvasMain .offcanvas-header {
    border-bottom: 1px solid var(--sidebar-border-color);
    justify-content: flex-end!important;
}

#offcanvasMain .offcanvas-header .nav .nav-link {
    font-family: 'Metropolis Bold', cursive;
    font-size: 16px;
    padding-top: 0;
    padding-bottom: 0;
    text-transform: uppercase;
    color: var(--sidebar-text-color);
}


.event-day .date {
    font-family: 'Metropolis Bold', cursive;
    font-size: 1.6rem;
    padding: 50px 15px 15px 15px;
    border-bottom: 1px solid var(--main-bg-color);
    background-color: var(--main-text-color);
}

.event-day .date[data-theme="alt"] {
    color: var(--main-bg-color);
}

.event {
    padding: 15px;
    border-bottom: 1px solid var(--main-bg-color);
}

.event.courseOption[data-theme="highlight"], .event.creditOption[data-theme="highlight"], .event.passOption[data-theme="highlight"] {
    border: 1px solid var(--main-text-color);
}
.event.accountOption {
    border: 1px solid var(--main-text-highlight);
    background-color: var(--main-text-highlight);
}
.event.courseOption.credit[data-theme="highlight"], .event.creditOption.credit[data-theme="highlight"], .event.passOption.pass[data-theme="highlight"], .event.accountOption {
    padding: 7px;
    border-radius: 7px;
    cursor: pointer;
}

.event .time {
    font-family: 'Metropolis Bold', cursive;
}

.event button.book-now, #offcanvasMemberships button.select, #offcanvasCredits button.select {
    border: none;
    background-color: var(--main-bg-color);
    color: var(--main-text-color);
    font-family: 'Metropolis Bold', cursive;
    text-transform: uppercase;
    font-size: 0.8rem;
    line-height: 16px;
    border-radius: 16px;
    width: 110px;
}
#offcanvasMemberships button.select:hover, #offcanvasCredits button.select:hover {
    background-color: var(--main-text-highlight);
}

.event.variant[data-selected="1"] {
    background-color: var(--main-text-highlight);
}
.event.variant.courseOption[data-selected="1"][data-theme="highlight"], .event.variant.creditOption[data-selected="1"][data-theme="highlight"], .event.variant.passOption[data-selected="1"][data-theme="highlight"] {
    background-color: var(--main-bg-color);
    border-color: var(--main-bg-color);
}

.event.variant[data-selected="1"] button.select:hover {
    background-color: #000 !important;
}
.event.variant .promoOffer {
    font-size: 12px;
    line-height: 17px;
    margin: 15px 0 0 0;
}

.event button.book-now::after {
    content: "View Detail";
}

.event button.book-now[data-status="2"] {
    background-color: #76DD78;
}
.event button.book-now[data-status="2"]::after {
    content: "View Detail";
}

.event button.book-now[data-status="3"] {
    background-color: #FFB84F;
}
.event button.book-now[data-status="3"]::after {
    content: "View Detail";
}

.event .activity-name {
    font-size: 1.2rem;
    text-transform: uppercase;
}

.event .instructor-name {
    font-size: 14px;
    margin-bottom: 14px;
}
.event .spaces {
    font-weight: bold;
    letter-spacing: -0.5px;
}
.event .difficulty {
    font-size: 20px;
}
.event .bi-lightning-charge-fill {
    color: var(--difficulty-fill);
}

.event.accountOption small {
    display: block;
    font-size: 12px;
}

/** End Events **/


/** Modal Popups **/ 

.modal-backdrop {
    z-index: 9996;
}
.modal {
    z-index: 9997;
}
.modal-dialog {
    color: var(--main-bg-color);
}
.modal-title {
    font-family: 'Metropolis Bold', cursive;
    text-transform: uppercase;
    font-size: 22px;
}
.modal-title.class-name {
    font-size: 1.6rem;
}
.modal-title.class-name span.instructor {
    display: block;
    font-size: 0.9rem;
    margin-top: -5px;
    border: none;
}
.modal-title.times {
    line-height: 26px;
    text-align: right;
}
.modal-body {
    font-size: 16px; 
}
.modal-body .instructor-container {
    position: relative;
}
.modal-body .instructor-container .name{
    position: absolute;
    bottom: 10px;
    width: 100%;
    text-align: center;
    color: var(--main-text-color);
    font-family: 'Metropolis Bold', cursive;
    text-transform: uppercase;
    font-size: 55px;
    -webkit-text-stroke: 2px var(--main-bg-color);
}
.modal-body .spaces, .modal-body .difficulty {
    font-size: 20px;
}
#staticBackdrop .modal-footer {
    padding: 0;
    border: 1px solid var(--main-text-color);
    border-top: none;
}
.modal-footer .cancel-btn, .modal-footer .confirm-btn {
    font-family: 'Metropolis Bold', cursive;
    text-transform: uppercase;
    font-size: 20px;
    text-align: center;
    width: 50%;
    border: none;
    margin: 0;
    line-height: 55px;
}
.modal-footer .confirm-btn {
    color: var(--main-text-color);
    background-color: var(--main-bg-color);
}
.modal-footer .confirm-btn::after {
    content: "BOOK NOW";
}

.modal-footer .confirm-btn[data-status="2"] {
    background-color: #E0787C;
}
.modal-footer .confirm-btn[data-status="2"]::after {
    content: "CANCEL";
}

.modal-footer .confirm-btn[data-status="3"] {
    background-color: #FFB84F;
}
.modal-footer .confirm-btn[data-status="3"]::after {
    content: "CANCEL WAIT";
}

/** End Modal Popups **/

.login.menu-top-panel button, .register.menu-top-panel button {
    font-family: 'Metropolis Bold', cursive;
    text-transform: uppercase;
    border: none;
    background-color: black;
    color: white;
    border-radius: 15px;
    font-size: 16px;

}
.login.menu-top-panel button.selected, .register.menu-top-panel button.selected {
    background-color: white;
    color: black;
}

.register hr {
    margin-left: -15px;
    margin-right: -15px;
}

.login-btn {
    font-family: 'Metropolis Bold', cursive;
    text-transform: uppercase;
    font-size: 20px;
    text-align: center;
    width: 50%;
    border: none;
    line-height: 55px;
    margin-top: 15px;
    width: 100%;
    border-radius: 5px;
    background-color: var(--main-bg-color);
    color: var(--main-text-color);
}
.login-btn:hover {
    background-color: var(--main-text-highlight);
}

a.forgotPassword {
    color: var(--main-bg-color);
    margin-top: 10px;
    margin-bottom: 20px;
    display: block;
}

#qrcode img {
    width: 80%;
    padding: 15px;
    margin: auto;
    border: 1px solid var(--sidebar-border-color);
    border-radius: 5px;
}

.nice-select, .nice-select .list {
    border: none;
    background-color: #1e1e1e;
}
.nice-select .option:hover, .nice-select .option.focus, .nice-select .option.selected.focus {
    background-color: #000; 
}

#welcome {
    text-align: center;
    border-top: 1px solid var(--main-text-color);
    border-bottom: 1px solid var(--main-text-color);
}
#welcome .header {
    border: none;
    padding: 0;
    height: 100vh;
}
#welcome h2 {
    font-size: 9vw;
}
#welcome h2 b {
    color: var(--main-text-highlight);
}
#welcome h2 span {
    font-size: 50px;
    line-height: 1.5;
    margin-bottom: 30px;
    text-transform: uppercase;
}
#welcome h2 .link {
    display: block;
    border-bottom: 2px solid var(--main-text-highlight);
    font-size: 1.6rem;
    width: 360px;
    margin: 50px auto 0 auto;
}
#welcome h2 .link i {
    font-size: 3.5rem;
    padding-left: 35px;
}
#welcome h2 .link a {
    color: var(--main-text-color);
    text-decoration: none;
}

#welcome {
    padding: 100px 0;
}

#welcome a.option {
    width: 33.33%;
}
#welcome a.option img {
    width: 100%;
    transition: transform ease-out .2s;
}
#welcome a.option:hover img {
    z-index: 1002;
    transform: scale(1.1);
}

#tour h2 .link {
    display: inline-block;
    border-bottom: 2px solid var(--main-text-highlight);
    font-size: 1.6rem;
}
#tour h2 .link i {
    font-size: 3.5rem;
    padding-left: 35px;
}
#tour h2 .link a {
    color: var(--main-text-color);
    text-decoration: none;
}

#about-us, #welcome-results {
    padding: 100px 0;
}
#about-us .header, #welcome-results .header {
    border: none;
    justify-content: left;
}
#about-us h2, #welcome-results h2 {
    font-size: 6vw;
    text-align: left;
    line-height: 6.5vw;
}
#about-us h2 span {
    color: var(--main-text-highlight);
}
#welcome-results h2 span {
    color: #bc0000;
}

#welcome-results h3 {
    font-family: 'Metropolis Bold';
}

#join-now h3 {
    font-family: 'Metropolis Bold';
    margin-right: 15px;
    text-transform: uppercase;
    font-size: 3rem;
    margin-bottom: 15px;
}
#join-now .header {
    margin-bottom: 50px;
}
.package-container {
    list-style: none;
    padding: 0;
    margin: 0 0 50px 0;
}

.package {
    width: 400px;
    border: 1px solid var(--main-text-color);
    margin: 15px;
}
.package.course {
    width: 100%;
}

.package h2, .package span.index {
    font-family: 'Metropolis Bold';
    font-size: 1.7rem;
}
.package h2 {
    margin: 0;
    min-height: 70px;
}
.package span.index {
    display: block;
    font-size: 55px;
    margin-top: -15px;
    color: var(--main-text-highlight);
}

.package .detail {
    padding: 15px;
}

.package .detail .fromLabel {
    margin: 30px 0 0 0;
    font-size: 22px;
    font-family: 'Raleway', sans-serif;
}
.package .detail .fromAmount {
    font-family: 'Metropolis Bold';
    font-size: 55px;
}
.package .detail .packageDescription {
    min-height: 70px;
}

.package .confirm-btn {
    font-family: 'Metropolis Bold';
    font-size: 25px;
    text-transform: uppercase;
    width: 100%;
    line-height: 60px;
    background-color: var(--main-bg-color);
    border-top: 1px solid var(--main-text-highlight);
    color: var(--main-text-color);
    border-radius: 0;
}
.package .confirm-btn:hover {
    background-color: var(--main-text-highlight);
}

#privacy-policy p {
    margin: 0;
}

#footer h1, #footer h3, #footer h4, #footer h5 {
    font-family: 'Metropolis Bold';
    text-transform: uppercase;
}
#footer h1 {
    font-size: 5vw;
}
#footer h4 {
    font-size: 1.1rem;
}
#footer b {
    color: var(--main-text-highlight);
}
#footer h5 {
    color: var(--main-text-highlight);
}
#footer a {
    color: var(--main-text-color);
    text-decoration: none;
}

#offcanvasCredits .modal-title.class-name, #offcanvasCredits .modal-title.times { 
    width: 50%;
    font-size: 1.3rem;
}
#offcanvasCredits .modal-title.class-name {
    text-align: left;
    line-height: 1.6rem;
}
#offcanvasCredits .modal-title.class-name .instructor{
    margin-top: 5px;
}

.offcanvas-footer .nav-link {
    color: var(--main-bg-color);
    font-size: 20px;
    padding-top: 20px;
    padding-bottom: 20px;
    border-radius: 0;
}
.offcanvas-footer .nav-link.active {
    background-color: var(--sidebar-border-color);
    color: var(--main-bg-color);
}

@media screen and (max-width: 768px) {
    #about-us h2 {
        font-size: 8vw;
        line-height: 9vw;
    }
    #about-us .header {
        padding-top: 0;
    }
    #about-us img {
        margin-bottom: 25px; 
    }
    #welcome .header {
        height: 60vh;
    }
}

/* On screens that are 992px or less, set the background color to blue */
@media screen and (max-width: 768px) {
    body {
        padding-bottom: 64px;
    }
    .brand-logo {
        left: 15px;
        top: 10px;
        z-index: 1500;
    }
    .brand-logo a img {
        display: none;
    }
    .brand-logo a img.wide {
        display: block;
    }

    .top-bar-menu {
      display: none
    }

    main, header { 
        padding-right: 0;
    }

    .simplar-right-sidebar {
        width: 100%;
        height: 64px;
        align-items: flex-end;
        border-left: none;
        border-bottom: 1px solid var(--sidebar-border-color);
        z-index: 1499;
    }

    .simplar-book-now, .schedule-cancel-btn, .simplar-join-now {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        width: unset;
        height: 65px;
    }

    .simplar-book-now .book-now-button, .schedule-cancel-btn .cancel-btn, .simplar-join-now .join-now-button {
        transform: rotate(0deg);
        left: 0;
        width: 100%;
        bottom: 0;
    }

    .simplar-account-menu, .simplar-timetable-menu {
        display: block;
    }

    .menu {
        transform-origin: top right;
        margin-left: auto!important;
    }

    .instructor {
        border-color: var(--main-bg-color) var(--main-bg-color) var(--main-text-color) var(--main-bg-color);
    }

    .offcanvas, #offcanvasMain {
        right: 0;
        width: 100% !important;
        max-width: unset;
        border-left: none;
    }
    
    #offcanvasMain .offcanvas-header {
        border-bottom: 1px solid var(--sidebar-border-color);
        justify-content: flex-start!important;
    }
   
    .offcanvas-body {
        padding-bottom: 75px !important;
        text-align: center;
    }

    #offcanvasMemberships .offcanvas-body {
        text-align: left;
    }

    .offcanvas:not(#offcanvasMain) {
        z-index: 9996;
    }
    #offcanvasLogin {
        z-index: 9997!important;
    }
    #offcanvasSchedule .offcanvas-body, #offcanvasLogin .offcanvas-body, #offcanvasAccount .offcanvas-body {
        text-align: left;
    }

    .instructor .info {
        padding-left: 20px;
        padding-right: 20px;
    }
    .instructor .info .name, .instructor .info .follow {
        font-size: 22px;
    }
    
    .menu-bottom-panel nav.links .nav-link.my-account {
        display: block;
    }

    

    .menu-bottom-panel .nav.social .nav-item:first-child a {
        padding-left: 1rem;
    }

    .nav.social {
        justify-content: center;
    }

  }


  /*** Credit Card ***/
  .update-card {
      color: var(--main-bg-color);
      text-decoration: underline;
      margin-top: -30px;
      display: block;
  }
  .card {
    font: 16px/1.5 "Helvetica Neue", Helvetica, sans-serif;
    position: relative;
    display: inline-block;
    vertical-align: middle;
    width: 425px;
    height: 270px;
    text-align: left;
    padding: 30px;
    margin-bottom: 10px;
    color: #fff;
    border-radius: 20px;
    box-sizing: border-box;
    background: url(data:image/jpg;base64,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) no-repeat 0 0 #141819;
    transform-origin: top left;
    transform: scale(0.865);
  }
  
@media screen and (max-width: 768px) {
    .card { transform: scale(1); }
    .update-card { margin-top: 0; }
}

  .card__number {
    font-size: 35px;
    padding: 90px 0 15px;
    text-align: center;
  }
  .card__expiry-date {
      position:absolute;
      right: 30px;
      bottom: 30px;
      text-align: right;
  }
  .card__owner {
    position: absolute;
    bottom: 30px;
    left: 30px;
    text-transform: uppercase;
  }
  .card__logo {
    position: absolute;
    left: 20px;
    top: 20px;
  }
  .card__strip {
    background: #000;
    height: 50px;
    margin-bottom: 30px;
  }
  .card__signature {
    float: left;
    width: 65%;
    height: 40px;
    margin-left: 10px;
    background: #999;
  }
  .card__ccv {
    float: left;
    margin-top: 5px;
    padding: 7px;
    background: #fff;
    color: #111;
    line-height: 1;
  }
  .card--front {
    font-size: 20px;
    font-family: 'Inconsolata', monospace;;
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.6);
  }
  .card--back {
    padding-left: 0;
    padding-right: 0;
    text-align: left;
  }

  
.contact-details {
    position: absolute;
    top: 8px;
    left: 20px;
    padding: 15px 25px;
    border: 1px solid #000000;
    min-width: 310px;
    min-height: 120px;
	max-width: 90%;
}

.buy-btn {
    font-size: 16px !important;
    background-color: #bc0000;
    color: #000 !important;
    border-radius: 0;
    border: 0;
    font-family: 'Poppins';
    padding: 14px;
}
.buy-btn:hover {
    background-color: #880a0a;
}

[data-theme=highlight] .buy-btn {
    color: #bc0000 !important;
    background-color: #000 !important;
}
[data-theme=highlight] .buy-btn:hover {
    background-color: #141414 !important;
}

.black-friday {
    border-top: 0 !important; 
    border-bottom: 0 !important;
    padding-bottom: 0 !important;
    background-size:contain;
    background-position:right;
    background-repeat: no-repeat;
}

.black-friday.offer {
    background-image: url(/assets/image/black_friday_bg.jpg);
}

@media (max-width: 991px) {
    .black-friday.offer {
        background-image: none;
    }
}   

.page {
    background: white;
    background-image: url("https://www.transparenttextures.com/patterns/beige-paper.png");
    color: black;
    border-radius: 0px;
    padding-top: 30px;
    padding-bottom: 30px;
}

@media (min-width: 992px) {
    .mx-lg-6 { 
        margin-left: 5em !important;
        margin-right: 5em !important;
    }
}


.btn, .badge {
    border-radius: 0;
}
.badge {
    font-weight: normal;
}
.btn-danger, .bg-danger  {
    background-color: #bc0000 !important;
    border-color: #bc0000 !important;
}
.btn-outline-danger {
    border-color: #bc0000;
    color: #bc0000;
}

.nice-select {
    border-radius: 0px;
}



.panel {
    position: relative;
    border-radius: 15px;
    overflow: hidden;
    cursor: pointer;
}
.panel img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: all .5s ease-in;
}
.panel .content {
    background-color: rgba(0,0,0,0.6);
    position: relative;
    padding: 220px 30px 10px 30px;
    min-height: 420px;
    transition: all .2s ease-in;
}

.panel:hover .content {
    background-color: rgba(0,0,0,0.1);
}
.panel:hover img {
    transform: scale(1.1);
}
