/*
    Mariana Web Binding Framework
    styles for within the Bike Barre WP site
*/

.site-content {
    position: relative;
}

.mt-loading {
    -webkit-animation: fa-spin 2s infinite linear;
            animation: fa-spin 2s infinite linear;
    color: transparent;
    display: inline-block;
    font-family: FontAwesome;
    font-size: 6rem;
    line-height: 0;
    margin: 4rem 1rem;
    text-align: center;
    width: 1em;
}

.mt-loading::before {
    color: #000;
    content: "\f110";
}

/* nav menu */
.mt-auth__options > a {
    float: left;
}

.mt-auth__options > a:first-child {
    padding-right: 0;
}

.mt-auth__options > a:first-child::after {
    content: "/";
    padding-left: 10px;
}

.mt-auth__submenu {
    background: #000;
}

.mt-auth__submenu a {
    display: none;
}

.mt-auth__options:hover .mt-auth__submenu {
    display: block;
}

.mt-cart-symbol > a,
#primary-menu li .mt-cart-symbol > a:hover {
    border: 0;
    color: #fff;
}

.mt-auth__options > a {
    float: left;
}

.mt-auth__options > a:first-child {
    padding-right: 0;
}

.mt-auth__options > a:first-child::after {
    content: "/";
    padding-left: 10px;
}

.mt-cart-symbol > a,
#primary-menu li .mt-cart-symbol > a:hover {
    border: 0;
    color: #fff;
}

.mt-cart-symbol__text {
    padding-left: 0;
}

.mt-cart-symbol__number {
    background: #f00;
    border-radius: 2rem;
    display: inline-block;
    font-size: 18px;
    height: 2.5rem;
    line-height: 1;
    padding: .3rem .7rem;
    width: 2.5rem;
    vertical-align: baseline;
}

.mt-auth__submenu a,
.mt-auth__submenu button,
.mt-auth__user,
.mt-cart-symbol__text,
.mt-auth__options > a {
    font-size: 18px;
}

@media (min-width: 991px) {
    .mt-auth__options--group {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

    .mt-auth__user::before {
        content: "\e008";
        font-family: 'Glyphicons Halflings';
        font-size: 2rem;
        margin-right: 10px;
        vertical-align: middle;
        border: 1px solid white;
        border-radius: 4rem;
        overflow: hidden;
        width: 3rem;
        height: 3rem;
        display: inline-block;
        line-height: 3rem;
        padding: 4px;
    }

    .mt-auth__submenu a {
        display: block;
    }

    .mt-cart-symbol__text {
        display: none;
    }

    .mt-cart-symbol__number {
        border-radius: 1rem;
        display: block;
        font-size: 11px;
        height: 1.5rem;
        line-height: .3;
        padding: .5rem .4rem;
        position: absolute;
        right: -.5rem;
        top: -.5rem;
        width: 1.5rem;
    }

    .mt-cart-symbol {
        float: right;
        position: relative;
        top: -10px;
    }

    .mt-cart-symbol::before {
        color: #fff;
        content:"\e116";
        font-family: 'Glyphicons Halflings';
        font-size: 2.5rem;
        margin-right: 3px;
        vertical-align: text-top;
    }

    .mt-cart-symbol > a {
        height: 100%;
        top: 0;
        position: absolute;
        width: 100%;
    }

    .mt-auth__submenu a,
    .mt-auth__submenu button,
    .mt-auth__user,
    .mt-cart-symbol__text,
    .mt-auth__options > a {
        font-size: 14px;
    }
}

/* generic items */
.mt-button,
.mt-form__button {
    box-sizing: border-box;
    background: #f00;
    border: none;
    border-radius: 28px;
    color: #fff;
    font-family: "ProximaNova-Bold", sans-serif;
    font-weight: normal;
    font-style: normal;
    font-size: 14px;
    letter-spacing: 2px;
    line-height: 17px;
    outline: none;
    padding: 5px 17px;
    text-transform: uppercase;
}

button[disabled].mt-button,
button[disabled].mt-form__button {
    background-color: #ccc;
    color: #fff;
}

.mt-form__input,
.mt-form__label,
.mt-select,
.mt-giftcard__input {
    display: block;
    margin-bottom: 2rem;
    width: 100%;
}

.mt-form__label,
.mt-profile__label {
    font-family: 'open_sansbold';
    text-transform: uppercase;
}

.mt-form__link {
    cursor: pointer;
}

.mt-form__input,
.mt-select,
.mt-giftcard__input {
    border: 1px solid #ccc;
    outline: none;
    padding: 1rem;
}

.mt-form__error {
    color: red;
    margin: -1.5rem 0 1rem;
}

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

.mt-login__notif,
.mt-form-reset-password__error,
.mt-login__confirmation,
.mt-reset-password__confirmation,
.mt-reset-password__errors {
    background: #f9f9f9;
    border: 1px solid #f3f3f3;
    border-radius: 6px;
    display: block;
    margin: 0 auto 2rem;
    width: 50%;
    padding: 18px;
    text-align: left;
}

.mt-login__notif:empty,
.mt-form-reset-password__error:empty,
.mt-login__confirmation:empty,
.mt-reset-password__confirmation:empty,
.mt-reset-password__errors:empty {
    display: none;
}

.mt-login__confirmation {
    width: 100%;
}

.mt-select__container {
    background-color: transparent;
    border: none;
    outline: none;
    width: 100%;
}

/* form-password */
.mt-form-password {
    position: relative;
}

.mt-form-password .mt-form-password__text {
    display: none;
}

.mt-form-password__checkbox {
    position: absolute;
    right: 10px;
    top: 50px;
}

.mt-form-password__checkbox::before {
    content: 'show';
    font-family: 'open_sansbold';
    right: 0;
    margin-right: 16px;
    position: absolute;
    text-transform: uppercase;
    top: -4px;
}


/* login */
.mt-login form,
.mt-reset-password form {
    margin: auto;
    width: 50%;
}

.mt-login .mt-button:first-of-type {
    background: transparent;
    color: #f00;
    text-transform: capitalize;
    font-weight: 200;
    font-family: inherit;
    letter-spacing: normal;
}

.mt-login form .mt-form__button,
.mt-reset-password .mt-reset-password__button {
    float: right;
}

.mt-login__error,
.mt-checkout__errors {
    background-color: #FDF1F1;
    border: 1px solid #ff385c;
    border-radius: .3rem;
    box-shadow: 0 1px 2px 0 rgba(0,0,0,.2);
    color: #C66666;
    display: inline-block;
    font-size: 1.5rem;
    margin-bottom: 2rem;
    opacity: .95;
    padding: .75em 1em;
    text-align: center;
    -webkit-transition: .2s background ease;
    transition: .2s background ease;
    width: 100%;
    z-index: 999;
}

.mt-form-reset-password form {
    margin: 0 auto;
    width: 75%;
}

/* sign up */
.mt-customer-register {
    margin: 0 auto;
    width: 50%;
}

.mt-customer-register fieldset:first-of-type legend,
.mt-profile .mt-form-address legend,
.mt-form-email legend,
.mt-form-marketing-preferences legend {
    display: none;
}

.mt-customer-register fieldset.mt-form-emergency-contact legend {
    display: block;
}

.mt-form-marketing-preferences,
.mt-form-waiver__text--waiver {
    margin-bottom: 2rem;
}

.mt-form-waiver__text--waiver {
    text-align: justify;
}

.mt-form-marketing-preferences .mt-form__text,
.mt-form-waiver .mt-form-waiver__checkbox + .mt-form-waiver__text {
    font-family: 'open_sansbold';
    text-transform: uppercase;
}

.mt-form-waiver legend,
.mt-form-emergency-contact legend {
    border: 0;
    color: #666;
    display: block;
}

.mt-customer-register__button {
    float: right;
    margin-top: 2rem;
}

/* account */
.mt-account {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-flex-flow: row wrap;
        flex-flow: row wrap;
}

.mt-account .mt-reset-password {
    margin-top: 1rem;
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    width: 45%;
}

.mt-account-payments {
    margin-left: 5%;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    width: 45%;
}

.mt-account-payments div > span:first-child {
    font-family: 'open_sanssemibold';
}

.mt-profile {
    margin-right: 5%;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    position: relative;
    width: 45%;
}

.mt-profile__main-title {
    display: none;
}

.mt-profile--editing {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 100%;
}

.mt-profile--editing form {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}

.mt-profile--editing .mt-button {
    -ms-flex-item-align: center;
        -ms-grid-row-align: center;
        align-self: center;
}

.mt-profile--editing .mt-button:first-of-type {
    background: transparent;
    color: #f00;
    text-transform: capitalize;
    font-weight: 200;
    font-family: inherit;
    letter-spacing: normal;
    margin-top: 2rem;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
}

.mt-profile__title,
.mt-profile-payment-info__title {
    color: #4a4a4a;
    font-family: 'open_sansbold';
    font-size: 1.8rem;
    margin-bottom: 1rem;
    text-transform: uppercase;
}

.mt-profile > .mt-button {
    background: transparent;
    color: #f00;
    font-family: 'open_sansregular';
    letter-spacing: inherit;
    position: absolute;
    right: 0;
    text-transform: none;
    top: 0;
}

.mt-profile-payment-info__item {
    margin: 1rem 0;
}

.mt-profile-payment-info__item .mt-button {
    background: transparent;
    color: #f00;
    float: right;
    font-family: 'open_sansregular';
    text-transform: none;
}

.mt-profile-payment-info__memberships,
.mt-profile-payment-info__credits,
.mt-profile-payment-info__balance {
    border-bottom: 1px solid #ccc;
    margin-bottom: 2rem;
    padding-bottom: 1rem;
}

.mt-profile-payment-info__balance {
    margin-bottom: 1rem;
    padding-bottom: 1rem;
}

.mt-profile-payment-info__balance .mt-profile-payment-info__text {
    margin-bottom: 1rem;
}

.mt-profile-payment-info__bankcards > .mt-button {
    background-color: transparent;
    color: #8c8b8c;
    padding: 0;
    text-transform: none;
}

.mt-profile-payment-info__status--payment_failure .mt-profile-payment-info__status-text,
.mt-profile-payment-info__status--ding_failure .mt-profile-payment-info__status-text,
.mt-profile-payment-info__text--error {
    color: red;
    font-weight: bolder;
}

.mt-profile-payment-info__text--error,
.mt-profile-payment-info__status--frozen .mt-profile-payment-info__status-text::before,
.mt-profile-payment-info__status--pending_customer_activation .mt-profile-payment-info__status-text::before,
.mt-profile-payment-info__status--payment_failure .mt-profile-payment-info__status-text::before,
.mt-profile-payment-info__status--ding_failure .mt-profile-payment-info__status-text::before {
    content:"\e101";
    font-family: 'Glyphicons Halflings';
    margin-right: 3px;
    vertical-align: text-top;
}

.mt-profile__section .mt-profile__label {
    margin-bottom: .5rem;
}

.mt-profile__section .mt-profile__item {
    margin-bottom: 2rem;
}

.mt-add-new-card .mt-form-credit-card legend {
    display: none;
}

.mt-add-new-card .mt-form-address legend {
    border-bottom: 0;
    color: #4a4a4a;
    font-family: 'open_sansbold';
    font-size: 1.8rem;
    text-transform: uppercase;
}

/* account/reservations */
.mt-reservations__title {
    display: none;
}

.mariana-reservations-all-binding ul {
    padding-left: 0;
}

/* account/purchases */

.mt-orders ul {
    border: #d2d2d2 1px solid;
    margin: 0 !important;
    padding-left: 0;
    width: 100%;
}

.mt-orders__title {
    display: none;
}

.mt-orders li {
    display: table;
    padding: 2rem;
    text-align: center;
    width: 100%;
}

.mt-orders li:not(:last-of-type) {
    border-bottom: #d2d2d2 1px solid;
}

.mt-orders li span {
    display: table-cell;
    padding: 0 .5rem;
    text-align: left;
    vertical-align: top;
    width: 25%;
}

.mt-orders li .mt-orders__desc {
    width: 40%
}

.mt-orders li .mt-orders__total {
    width: 10%
}

.mt-orders__id {
    font-family: 'open_sanssemibold';
}

.mt-orders li .mt-button {
    display: none;
}

.mt-orders div > .mt-button:last-of-type {
    background-color: #efefef;
    border-radius: 0;
    color: red;
    width: 100%;
}

/* pricing */
.mt_buy-list__container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    list-style: none;
    margin: 0;
    overflow: auto;
    padding: 0;
}

.mt_buy-list__container .mt-loading {
  margin: 4rem auto;
}

.mt_buy-list__title {
    display: none;
}

.mt_buy-list__item {
    border: 1px solid #ccc;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    float: left;
    margin: 0 10px 20px;
    padding-bottom: 70px;
    position: relative;
    width: 30%;
}

.mt_buy-list__item:last-child {
    margin-bottom: 20px; /* needed to override site style */
}

.mt_buy-list__item .mt_buy-list__purchase-button {
    bottom: 2.5rem;
    color: #fff;
    left: 0;
    position: absolute;
    width: 100%;
}

.mt_buy-list__item .mt_buy-list__purchase-button a {
    color: #fff;
}

.mt_buy-list__item-title,
.mt_buy-list__item-banner {
    background: #f00;
    color: #fff;
    display: block;
    font-family: 'open_sansbold';
    font-size: 1.2rem;
    padding: .5rem .6rem;
    text-transform: uppercase;
}

.mt_buy-list__item--promo .mt_buy-list__item-title {
    background-color: #f00;
}

.mt_buy-list__item-desc {
    display: block;
    padding: 3rem;
    position: relative;
}

.mt_buy-list__item-desc,
.mt_buy-list__item-price {
    font-family: 'open_sansbold';
    font-size: 2rem;
    text-transform: uppercase;
}

.mt_buy-list__item-subtext,
.mt_buy-list__item-expiration {
    color: #9B9B9B;
    font-family: "open_sansitalic", sans-serif;
    padding: 0 15px;
}

.mt_buy-list__item-desc::after {
    border-bottom: 1px solid #ccc;
    bottom: 1.5rem;
    content: ' ';
    left: 50%;
    margin-left: -15%;
    position: absolute;
    width: 30%;
}

/* cart */

.mt-cart th:not(:first-of-type),
.mt-cart__quantity {
    text-align: center;
}

.mt-cart th td:nth-last-of-type(2)
.mt-cart__tax td,
.mt-cart__text,
.mt-cart__value,
.mt-cart__subtotal,
.mt-cart__total {
    text-align: right;
}

.mt-cart__item td,
.mt-cart__discount td,
.mt-cart__text--empty {
    padding: 2rem .5em;
}

.mt-cart td {
  padding-left: .5em;
  padding-right: .5em;
}

.mt-cart td:first-of-type {
  padding-left: 0;
}

.mt-cart td:first-of-type {
  padding-right: 0;
}

.mt-checkout-cart__container {
    overflow: auto;
    padding-bottom: 6rem;
    position: relative;
}

.mt-cart ~ div .mt-button {
    float: right;
    margin-top: 16px;
}

.mt-cart__title {
    display: none;
}

.mt-cart thead th {
    border-bottom: 1px solid #ccc;
    font-family: 'open_sansbold';
    padding-bottom: 2rem;
    text-transform: uppercase;
}

.mt-cart__desc {
    width: 40%;
}

.mt-cart__desc span:first-child {
    display: none;
}

.mt-cart__desc .mt-cart__desc-title {
    font-family: 'open_sansbold';
}

.mt-cart__desc-subtitle {
    display: block;
}

.mt-cart__quantity .mt-cart__value {
    border: 1px solid #d2d2d2;
    border-radius: 3px;
    display: inline-block;
    margin: 0 .5rem;
    padding: 1rem 1.4rem;
}

.mt-cart__quantity .mt-button {
    background-color: #d8d8d8;
    height: 2rem;
    letter-spacing: 0;
    line-height: 0;
    padding: 5px 0 7px;
    width: 2rem;
}

.mt-cart__remove {
    width: 5%;
}

.mt-cart__remove .mt-button {
    background: none;
    color: #333;
    font-family: 'open_sansregular';
    font-size: 1.5rem;
}

.mt-cart__tax td {
    border-top: 1px solid #ccc;
    padding-bottom: 2rem;
    padding-top: 2rem;
    text-transform: uppercase;
}

.mt-cart__text--heading {
    margin-bottom: 2rem;
}

.mt-cart__text--empty {
    text-align: center;
    width: 100%;
}

.mt-cart__total .mt-cart__text {
    font-family: 'open_sansbold';
    text-transform: uppercase;
}

.mt-checkout {
    float: left;
    width: 45%;
}

.mt-checkout > .mt-button {
    margin-top: 65px;
}

.mt-checkout__actions {
    bottom: 0;
    position: absolute;
    right: 0;
}

.mt-checkout__actions a {
    margin-right: 2rem;
}

.mt-checkout .mt-checkout__balance {
    margin-bottom: 1rem;
}

.mt-checkout .mt-checkout__balance + span {
    font-family: 'open_sansbold';
    margin: 0 1rem 1rem .5rem;
    text-transform: uppercase;
}

.mt-checkout__saved-cards {
    margin-top: 1rem;
}

.mt-cart__text--heading,
.mt-checkout legend,
.mt-form-emergency-contact legend {
    border: 0;
    color: #4a4a4a;
    display: block;
    font-family: 'open_sansbold';
    font-size: 1.8rem;
    text-transform: uppercase;
}

.mt-checkout__radio label {
    font-family: 'open_sansbold';
    text-transform: uppercase;
}

.mt-checkout .ember-radio-button input {
    display: none;
}

.mt-checkout .ember-radio-button::before {
    background-image: url('data:image/svg+xml,%3Csvg width%3D"18" height%3D"18" viewBox%3D"-1 -1 18 18" xmlns%3D"http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg"%3E%3Ccircle stroke%3D"#ccc" cx%3D"8" cy%3D"8" r%3D"8" fill%3D"none" fill-rule%3D"evenodd"%2F%3E%3C%2Fsvg%3E');
    content: ' ';
    display: inline-block;
    height: 18px;
    margin-right: .5rem;
    vertical-align: text-bottom;
    width: 18px;
}

.mt-checkout .ember-radio-button.checked::before {
    background-image: url('data:image/svg+xml,%3Csvg width%3D"18" height%3D"18" viewBox%3D"-1 -1 18 18" xmlns%3D"http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg"%3E%3Cg fill%3D"none" fill-rule%3D"evenodd"%3E%3Ccircle stroke%3D"#000" cx%3D"8" cy%3D"8" r%3D"8"%2F%3E%3Ccircle fill%3D"#000" cx%3D"8" cy%3D"8" r%3D"5"%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E');
}

.mt-checkout__giftcard span {
    display: inline-block;
    font-family: 'open_sansbold';
    margin: 0 1rem 1rem .5rem;
    text-transform: uppercase;
}

.mt-checkout .mt-giftcard .mt-button {
    margin: 1rem 0;
}

.mt-form-credit-card {
    margin-top: 2rem;
}

.mt-checkout ~ table.mt-cart,
.mt-checkout ~ .mt-cart thead,
.mt-checkout ~ .mt-cart tbody,
.mt-checkout ~ .mt-cart tfoot,
.mt-checkout ~ .mt-cart th,
.mt-checkout ~ .mt-cart td,
.mt-checkout ~ .mt-cart tr {
    display: block;
}

.mt-checkout ~ .mt-cart {
    border: 1px solid #ccc;
    float: right;
    padding: 1rem 3rem 3rem;
    width: 45%;
}

/* Hide table headers (but not display: none;, for accessibility) */
.mt-checkout ~ .mt-cart thead tr {
    position: absolute;
    top: -9999px;
    left: -9999px;
}

.mt-checkout ~ .mt-cart tr,
.mt-checkout ~ .mt-cart tr.mt-cart__total {
    width: 100%
}

.mt-checkout ~ .mt-cart td {
    /* Behave  like a "row" */
    border: none;
    display: none;
    position: relative;
}

.mt-checkout ~ .mt-cart .mt-cart__tax {
    border-bottom: 1px solid #ccc;
    border-top: 1px solid #ccc;
    margin-bottom: 2rem;
}

.mt-checkout ~ .mt-cart .mt-cart__desc,
.mt-checkout ~ .mt-cart .mt-cart__total,
.mt-checkout ~ .mt-cart .mt-cart__text,
.mt-checkout ~ .mt-cart .mt-cart__value {
    display: inline-block;
    width: 45%;
}

.mt-checkout ~ .mt-cart td.mt-cart__total,
.mt-checkout ~ .mt-cart .mt-cart__value {
    text-align: right;
}

/* gift card flow */
.mt-giftcard__detail {
    background: white;
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 999;
}

.mt-giftcard__detail-title {
    color: #262626;
    font-size: 38px;
    font-family: "open_sansbold",sans-serif;
    line-height: 45px;
    letter-spacing: 0;
    margin-top: 40px;
    text-align: center;
    text-transform: uppercase;
}

.mt-giftcard__detail label,
.mt-giftcard__detail input {
    margin: 2rem auto;
    text-align: left;
    width: 50%;
}

.mt-giftcard__item {
    display: none;
}

.mt-giftcard__item-desc {
    display: block;
    padding: .5rem 1rem;
}

/* responsive styles */

@media (max-width: 599px) {
    .mt-login form,
    .mt-customer-register,
    .mt-login__notif,
    .mt-form-reset-password__error,
    .mt-login__confirmation,
    .mt-reset-password__confirmation,
    .mt-reset-password__errors,
    .mt-reset-password form  {
        width: 75%;
    }

    .mt-login__confirmation {
        width: 100%;
    }

    .mt-cart__quantity .mt-button {
        background-color: #000000;
        height: 2rem;
        letter-spacing: 0;
        line-height: 0;
        padding: 5px 0 7px;
        margin: 6px 0 6px;
        width: 2rem;
    }

    /* account */
    .mt-profile {
        margin-right: 0;
        width: 100%;
    }

    .mt-reset-password {
        margin: 1rem 0;
        -webkit-box-ordinal-group: 3;
            -ms-flex-order: 2;
                order: 2;
        width: 100%;
    }

    .mt-account-payments {
        margin-left: 0;
        width: 100%;
    }

    .mt_buy-list__item {
        margin-left: 0;
        margin-right: 0;
        width: 100%;
    }

    .mt-checkout ~ .mt-cart,
    .mt-checkout {
        float: none;
        width: 100%;
    }

    .mt-cart {
        padding: 1rem 3rem 3rem;
    }

    .mt-cart .mt-cart__tax {
        border-bottom: 1px solid #ccc;
        border-top: 1px solid #ccc;
        margin-bottom: 2rem;
    }

    .mt-cart td.mt-cart__value {
        padding-right: 0;
    }

    .mt-cart ~ div {
        text-align: center;
    }

    .mt-cart ~ div .mt-button {
        float: none;
    }

    .mt-cart tbody td::before {
        font-family: 'open_sansbold';
    }

    .mt-cart tbody .mt-cart__discount td:nth-of-type(1):before,
    .mt-cart tbody .mt-cart__discount td:nth-of-type(2):before,
    .mt-cart tbody .mt-cart__discount td:nth-of-type(3):before {
        content: ' ';
    }

    .mt-cart__discount .mt-cart__text,
    .mt-cart__discount .mt-cart__value {
        padding: 1rem 0;
        display: table-cell;
        width: 50%;
    }

    .mt-cart__item td,
    .mt-cart__discount td {
        padding: 1rem 0;
    }

    .mt-cart__item td.mt-cart__total {
        padding-right: 6px;
    }

    .mt-cart__desc {
        width: 100%;
    }

    .mt-cart__tax td {
        padding: 1rem 0;
    }

    .mt-cart__tax .mt-cart__text,
    .mt-cart__total .mt-cart__text {

    }

    .mt-checkout-cart__container {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
    }

    .mt-checkout ~ .mt-cart {
        -webkit-box-ordinal-group: 2;
            -ms-flex-order: 1;
                order: 1;
    }

    .mt-checkout-cart__container .mt-cart__text--heading {
        -webkit-box-ordinal-group: 3;
            -ms-flex-order: 2;
                order: 2;
    }

    .mt-checkout {
        -webkit-box-ordinal-group: 4;
            -ms-flex-order: 3;
                order: 3
    }

    .mt-checkout ~ .mt-cart .mt-cart__desc::before {
        content: ' ';
    }

    .mt-checkout ~ .mt-cart td {
        padding-left: 0;
    }

    .mt-giftcard__detail label,
    .mt-giftcard__detail input {
        width: 75%;
    }
}

/* =============================================================================
================================ NAVIGATION ====================================
============================================================================= */

.mt-auth__logout {
    background-color: transparent;
}

.menu-item-40 > a {
    background-color: transparent;
    padding: 9px;
}

.mt-auth__options:after {
    content: "";
    display: table;
    clear: both;
}

@media (min-width: 991px) {
    .mt-auth__user {
        padding: 0 10px;
    }

    .mt-auth__options {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        position: relative;
    }

    .mt-auth__submenu {
        display: none;
    }

    .mt-auth__submenu > a,
    .mt-auth__submenu > button {
        padding: 10px;
    }

    #primary-menu li .mt-auth__submenu > a:hover {
        border-bottom: 0;
        cursor: pointer;
    }

    .mt-auth__options:hover .mt-auth__submenu {
        display: block;
        left: 0;
        position: absolute;
        top: 100%;
        width: 100%;
    }

    .mt-cart-symbol {
        margin-left: 15px;
        top: 4px;
    }
}

/* =============================================================================
=============================== RESERVATIONS ===================================
============================================================================= */

.mt-reservation-list__container {
    border: #d2d2d2 1px solid;
    margin: 0 !important;
    padding-left: 0;
    width: 100%;
}

.mt-reservation-list__container:not(:first-of-type) {
    border-top: none;
}

.mt-reservation-list__item {
    display: block;
    padding: 2rem;
    position: relative;
    text-align: center;
}

.mt-reservation-list__item:not(:last-of-type) {
    border-bottom: #d2d2d2 1px solid;
}

.mt-reservation-detail__container,
.mt-reservations__type,
.mt-reservation-detail__res-status,
.mt-reservations__res-status,
.mt-reservations__res-guests,
.mt-reservations__button-container {
    padding: 0.5rem 1rem;
}

.mt-reservations--past .mt-reservations__res-status,
.mt-reservations--past .mt-reservations__res-guests {
    color: #8C8B8C;
}

.mt-reservation-detail__date,
.mt-reservations__type,
.mt-reservation-detail__res-status,
.mt-reservation-detail__class-type {
    font-family: "open_sanssemibold",sans-serif;
    font-weight: 900;
    font-size: 17px;
    line-height: 21px;
}

.mt-reservation-detail__date {
    display: block;
    margin-bottom: 1rem;
}

.mt-reservation-detail__time {
    display: block;
    margin-bottom: 1rem;
}

.mt-reservation-detail__description {
    display: block;
    margin-bottom: 1rem;
}

.mt-reservation-detail__res-type {
    display: block;
}

.mt-reservations__type,
.mt-reservation-detail__res-status {
    color: red;
    display: block;
    margin-bottom: 2rem;
    text-transform: capitalize;
}

.mt-reservation-detail__class-type {
    text-transform: uppercase;
}

.mt-reservations__title {
    display: none;
}

.mt-reservation-list__container--past .mt-button {
    background-color: #efefef;
    border-radius: 0;
    color: red;
    width: 100%;
}

.mt-reservation-list__container + .mt-reservations-wrapper--past .mt-reservation-list__container--past {
    border-top: none;
}

.mt-reservations__cancel,
.mt-reservations__actions {
    text-align: center;
}

.mt-reservations__actions .mt-reservation-detail__container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-bottom: 2rem;
}

.mt-reservations__actions .mt-reservation-detail__time {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    font-size: 22px;
}
.mt-reservations__actions .mt-reservation-detail__date {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    font-family: "open_sansregular",sans-serif;
    font-weight: 400;
}

.mt-reservations__actions .mt-reservation-detail__description {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
}

.mt-reservations__actions .mt-reservation-detail__type,
.mt-reservations__actions .mt-reservation-detail__with,
.mt-reservations__actions .mt-reservation-detail__location {
    display: none;
}

.mt-reservations__actions .mt-reservation-detail__instructor {
    color: #8C8B8C;
    display: block;
}

.mt-reservations__actions .mt-reservation-detail__class-type {
    display: block;
    margin-bottom: 1rem;
}

.mt-reservations__actions .mt-button {
    display: block;
    margin: 0 auto;
}


.mt-reservation-detail .mt-reservation-detail__time {
    color: #262626;
    font-size: 22px;
    font-family: "open_sanslight",sans-serif;
    line-height: 30px;
    margin-bottom: 0;
}

.mt-reservation-detail .mt-reservation-detail__date {
    font-family: "open_sansregular",sans-serif;
    font-weight: 400;
    font-size: 17px;
    margin-bottom: 1rem;
}

.mt-reservation-detail .mt-reservation-detail__description {
    display: block;
    font-family: "open_sanssemibold",sans-serif;
    font-weight: 900;
    font-size: 17px;
    line-height: 21px;
    margin-bottom: 1rem;
    text-transform: uppercase;
}

.mt-reservation-detail .mt-reservation-detail__class-type {
    font-family: "open_sanssemibold",sans-serif;
    font-weight: 900;
    font-size: 17px;
    line-height: 21px;
}

.mt-reservation-detail .mt-reservation-detail__instructor {
    color: #404040;
}

.mt-reservations__guests {
    border-bottom: 1px dotted #efefef;
    list-style: none;
    margin: 0 auto 2.5rem auto;
    max-width: 300px;
    padding-bottom: 2.5rem;
}

.mt-reservations__guests li {
    background: #efefef;
    border-radius: 3px;
    clear: both;
    display: inline-block;
    padding: 12px;
    position: relative;
    text-align: left;
    width: 100%;
}

.mt-reservations__guests .mt-button {
    background: transparent;
    color: red;
    display: inline;
    padding: 0;
    position: absolute;
    right: 15px;
    top: 15px;
}

.mt-reservations__cancel .mt-reservation-detail__date,
.mt-reservations__cancel .mt-reservation-detail__time {
    margin-bottom: 0;
}

.mt-reservations__cancel .mt-reservation-detail__description {
    text-transform: none;
    margin-bottom: 2.5rem;
}

.mt-reservations__cancel .mt-reservation-detail__description .mt-reservation-detail__class-type {
    display: block;
    line-height: 24px;
    margin-bottom: 2rem;
}

.mt-reservations__actions .mt-button {
    display: inline-block;
    margin-left: 10px;
    margin-right: 10px;
}

.mt-reservations__actions .mt-button:nth-of-type(2):before {
    border-top: #d2d2d2 1px solid;
    content: '';
    margin: 0 auto;
    width: 20rem;
}
.mt-reservations__actions .mt-button--tertiary {
    background-color: transparent;
    color: red;
    font-family: "open_sansregular",sans-serif;
    margin-top: 3rem;
    text-transform: capitalize;
    display: block;
    margin: 6rem auto 0;
}

.mt-reservations__actions .mt-button--secondary {
    background-color: white;
    border: red 1px solid;
    color: red;
}

.mt-reservations__cancel-message {
    font-size: 17px;
    margin-bottom: 2rem;
}

.mt-reservations__actions .mt-button:not(:last-of-type) {
    margin: 1rem auto;
}

@media screen and (min-width: 40em) {
    .mt-reservation-list__container {
        display: table;
    }

    .mt-reservation-list__item .mt-reservation-detail__container,
    .mt-reservations__type,
    .mt-reservation-detail__res-status,
    .mt-reservations__button-container {
        display: table-cell;
        vertical-align: top;
    }

    .mt-reservations--past .mt-reservation-detail__container {
        display: block;
        width: 74%;
    }

    .mt-reservations--past .mt-reservation-detail__container:after {
        content: "";
        display: table;
        clear: both;
    }

    .mt-reservation-list__item .mt-reservation-detail__date,
    .mt-reservation-list__item .mt-reservation-detail__time {
        box-sizing: border-box;
        display: block;
        float: left;
        width: 30%;
    }

    .mt-reservation-list__item .mt-reservation-detail__description {
        box-sizing: border-box;
        display: block;
        float: left;
        width: 40%;
    }

    .mt-reservation-detail__res-status {
        position: absolute;
        right: 2rem;
    }

    .mt-reservation-list__item {
        text-align: left;
    }
}

/* =============================================================================
=============================== REGISTRATION ===================================
============================================================================= */

.mt-class-reg--detail-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}

.mt-class-reg--wrapper {
    text-align: center;
    position: relative;
}

.mt-class-reg__errors {
    background-color: #FDF1F1;
    border: 1px solid #ff385c;
    border-radius: .3rem;
    box-shadow: 0 1px 2px 0 rgba(0,0,0,.2);
    color: #C66666;
    font-size: 1.5rem;
    opacity: .95;
    padding: .75em 1em;
    position: absolute;
    text-align: center;
    top: 0;
    -webkit-transition: .2s background ease;
    transition: .2s background ease;
    width: 100%;
    z-index: 999;
}

.mt-class-reg__header {
    font-size: 24px;
}

.mt-class-reg__location {
    margin-bottom: 2.5rem;
}

.mt-class-reg__time {
    color: #262626;
    font-size: 22px;
    font-family: "open_sanslight",sans-serif;
    line-height: 30px;
}

.mt-class-reg__date {
    font-size: 17px;
    margin-bottom: 1rem;
}

.mt-class-reg__class-description {
    display: block;
    font-family: "open_sanssemibold",sans-serif;
    font-weight: 900;
    font-size: 17px;
    line-height: 21px;
    margin-bottom: 1rem;
    text-transform: uppercase;
}

.mt-class-reg__instructor {
    display: block;
}

.mt-class-reg__class-description::after {
    background: #999;
    border-radius: 6px;
    clear: left;
    content: " ";
    display: inline-block;
    height: 6px;
    position: relative;
    margin-top: 1.5rem;
    width: 6px;
}

.mt-class-reg__payment {
    border-bottom: 1px dotted #efefef;
    margin-bottom: 2.5rem;
    padding-bottom: 2.5rem;
}

.mt-class-reg__payment-title {
    font-family: "open_sansbold", sans-serif;
    margin-bottom: 1rem;
}

.mt-add-new-card .mt-button:first-of-type,
.mt-class-reg--wrapper .mt-button--secondary {
    border: 1px solid red;
    background-color: transparent;
    color: red;
    margin-right: 1em;
}

/* =============================================================================
================================== SCHEDULE ====================================
============================================================================= */

/* Schedule page layout */

.mt-schedule__classroom-name,
.mt-schedule__header-button,
.mt-schedule__header-class,
.mt-schedule__header-instructors,
.mt-schedule-menu__location {
    display: none;
}

.mt-schedule-wrapper {
    padding: 1em;
    text-align: center;
}

.mt-schedule__container,
.mt-schedule-menu__container,
.mt-class-reg--wrapper {
    margin: 0 auto;
    max-width: 60rem;
}

.mt-schedule-menu__container {
    margin-bottom: 1rem;
}

.mt-schedule-wrapper--is-registering .mt-schedule-menu__container,
.mt-schedule-wrapper--is-registering .mt-schedule__container {
    display: none;
}

.mt-schedule__container {
    margin-bottom: 10rem;
}

/* Schedule Menu */

.mt-schedule-menu__container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
}

.mt-schedule-menu__container .date-picker__wrapper {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
}

.mt-schedule-menu__select-class-type {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
}

.mt-schedule-menu__select-instructor {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
}

.mt-schedule-menu__container .date-picker {
    border: #EFEFEF 1px solid;
}

.mt-schedule-menu__select,
.mt-schedule-menu__container .mt-datepicker {
    background-color: #fff;
    border: #EFEFEF 1px solid;
    border-radius: 0;
}

.mt-schedule-menu__select,
.mt-schedule-menu__container .date-picker__wrapper {
    width: 100%;
    margin-bottom: 1rem;
}

.mt-schedule-menu__container .mt-datepicker {
    width: 100%;
}

tr[class*='mt-schedule__class--bike'] .mt-schedule__time::after {
    background-image: url('data:image/svg+xml,%3Csvg%20width%3D%2277%22%20height%3D%2242%22%20viewBox%3D%22308%2011%2077%2042%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20fill%3D%22%23C5C5C5%22%20fill-rule%3D%22evenodd%22%3E%3Cpath%20d%3D%22M368.266%2038.938c.634.927%201.91%201.17%202.85.546.94-.624%201.187-1.882.553-2.81l-17.544-25.653h-10.22c-1.133%200-2.052.907-2.052%202.024%200%201.118.92%202.024%202.052%202.024h8.047c.36%200%2016.313%2023.87%2016.313%2023.87zm-27.685-19.23V15.66h-13.41c-1.134%200-2.053.907-2.053%202.025%200%201.117.92%202.023%202.052%202.023h13.41zM338.272%2038.067c0-8.242-6.777-14.925-15.136-14.925-8.36%200-15.136%206.683-15.136%2014.925%200%208.243%206.777%2014.925%2015.136%2014.925%208.36%200%2015.136-6.682%2015.136-14.925zm-26.167%200c0-6.007%204.938-10.877%2011.03-10.877%206.093%200%2011.032%204.87%2011.032%2010.877%200%206.008-4.94%2010.878-11.03%2010.878-6.094%200-11.032-4.87-11.032-10.878z%22%2F%3E%3Cpath%20d%3D%22M384.86%2038.067c0-8.242-6.777-14.925-15.137-14.925s-15.135%206.683-15.135%2014.925c0%208.243%206.776%2014.925%2015.135%2014.925%208.36%200%2015.136-6.682%2015.136-14.925zm-26.168%200c0-6.007%204.94-10.877%2011.03-10.877%206.094%200%2011.033%204.87%2011.033%2010.877%200%206.008-4.94%2010.878-11.032%2010.878s-11.03-4.87-11.03-10.878zM327.382%2036.098l9.512-12.553%2017.658-.03-9.543%2012.582H327.38zM358.625%2019.5h-22.748c-.647%200-1.256.3-1.644.81l-12.587%2016.596c-1.012%201.334-.046%203.236%201.644%203.236h22.75c.645%200%201.255-.3%201.642-.812l12.587-16.595c1.01-1.334.045-3.235-1.645-3.235z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E');
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    content: '';
    display: block;
    height: 25px;
    margin: .5em auto;
    width: 120px;
}

tr[class*='mt-schedule__class--barre'] .mt-schedule__time::after {
    background-image: url('data:image/svg+xml,%3Csvg%20width%3D%2252%22%20height%3D%2243%22%20viewBox%3D%22182%2010%2052%2043%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20fill%3D%22%23C5C5C5%22%20fill-rule%3D%22evenodd%22%3E%3Cpath%20d%3D%22M198.908%2036.754c.268.557.542%201.107.82%201.647%202.98%205.76%206.005%209.207%208.044%209.207%201.37%200%204.054-1.95%207.293-5.5%201.545-1.692%203.18-3.695%204.87-5.942%202.007-2.664%203.987-5.526%205.85-8.39.654-1%201.245-1.93%201.764-2.765.18-.29.338-.55.473-.77l.16-.263c.682-1.137%202.155-1.504%203.29-.82%201.134.682%201.5%202.158.82%203.294l-.18.295c-.14.233-.307.502-.495.804-.536.86-1.145%201.82-1.816%202.85-1.92%202.948-3.96%205.897-6.038%208.657-1.777%202.36-3.504%204.476-5.16%206.29-4.132%204.53-7.62%207.062-10.832%207.062-2.61%200-5.006-1.497-7.29-4.098-1.734-1.975-3.4-4.59-5.01-7.703-1.228-2.377-2.354-4.91-3.358-7.44-.35-.885-.662-1.707-.93-2.447-.094-.26-.177-.493-.247-.694l-.09-.262c-.422-1.256.252-2.62%201.507-3.042%201.254-.424%202.614.252%203.053%201.557l.057.163c.063.183.14.397.227.64.253.695.547%201.473.88%202.31.116.295.234.588.354.88l19.784-4.44c1.292-.29%202.574.524%202.864%201.818.29%201.294-.523%202.578-1.815%202.868l-18.85%204.232z%22%2F%3E%3Cpath%20d%3D%22M199.5%2018.667c-1.025-5.28-5.66-8.958-10.513-8.013-4.855.945-7.776%206.095-6.75%2011.375%201.024%205.28%205.657%208.957%2010.512%208.012%204.853-.945%207.774-6.095%206.75-11.375zm-12.558%202.445c-.548-2.823.88-5.338%202.96-5.744%202.08-.405%204.344%201.392%204.89%204.216.55%202.823-.877%205.338-2.958%205.744-2.08.405-4.344-1.392-4.892-4.216z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E');
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    content: '';
    display: block;
    height: 25px;
    margin: .5em auto;
    width: 120px;
}

@media screen and (min-width: 40em) {
    .mt-schedule-menu__container {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
    }

    .mt-schedule-menu__select,
    .mt-schedule-menu__container .date-picker__wrapper {
        width: 32%;
        margin-bottom: 0;
    }
}


/* Schedule */

.mt-schedule__cell,
.mt-schedule__row {
    display: block;
}

.mt-schedule__class {
    border-bottom: #EFEFEF 1px solid;
    border-left: #EFEFEF 1px solid;
    border-right: #EFEFEF 1px solid;
    padding: 2em 1em;
    text-align: center;
}

.mt-schedule__employee {
    color: inherit;
    font-size: inherit;
    font-family: inherit;
    line-height: inherit;
    margin-bottom: 1rem;
    text-align: inherit;
}

.mt-schedule__header-date {
    background-color: #EFEFEF;
    display: block;
    font-family: "ProximaNova-Semibold",sans-serif;
    padding: .5rem;
    text-align: center;
}

.mt-schedule__time {
    color: #262626;
    font-size: 22px;
    font-family: "open_sanslight",sans-serif;
    line-height: 30px;
    margin-bottom: .5rem;
    text-align: center;
}

.mt-schedule__time-day {
    display: block;
}

.mt-schedule__class-session-name {
    font-family: "ProximaNova-Semibold",sans-serif;
    font-weight: normal;
    font-style: normal;
    font-size: 17px;
    letter-spacing: 2.55px;
    line-height: 21px;
    margin-bottom: .5rem;
    text-transform: uppercase;
}

.mt-schedule__classroom-register .mt-schedule__register-button,
.mt-schedule__classroom-register .mt-schedule__waitlist-button {
    box-sizing: border-box;
    background: #f00;
    border: none;
    border-radius: 28px;
    color: #fff;
    font-family: "ProximaNova-Bold", sans-serif;
    font-weight: normal;
    font-style: normal;
    font-size: 14px;
    letter-spacing: 2px;
    line-height: 17px;
    outline: none;
    padding: 5px 17px;
    text-transform: uppercase;
}

/* Date Picker */

.mt-schedule-wrapper .date-picker__header__button:hover,
.mt-schedule-wrapper .date-picker__header__button:focus,
.mt-schedule-wrapper .date-picker__day:hover,
.mt-schedule-wrapper .date-picker__day:focus,
.mt-schedule-wrapper .date-picker__day--selected {
    color: red;
}

.mt-schedule-wrapper .date-picker__header__button {
    border: #EFEFEF 1px solid;
}
