html
{
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}

*,
*::before,
*::before
{
    -webkit-box-sizing: inherit;
            box-sizing: inherit;
}

::-moz-selection
{
    color: #fff;
    background: #3b6ddf;
}

::selection
{
    color: #fff;
    background: #3b6ddf;
}

body
{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
            flex-direction: column;

    min-height: 100vh;

    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
}

img
{
    max-width: 100%;
}

.is-hidden
{
    position: absolute;

    visibility: hidden;

    width: 0;
    height: 0;
}

svg[class^='icon-']
{
    max-width: 100%;

    fill: currentColor;
    stroke: none;
}

button
{
    cursor: pointer;
}

html
{
    font-family: -apple-system, system-ui, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif;
    font-size: 1em;
    font-weight: 400;
    line-height: 1.3;

    position: relative;

    min-height: 100%;

    color: #404758;
    background-color: #fff;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

html.wf-opensans-n4-active
{
    font-family: 'Open Sans', sans-serif;
}

body
{
    font-family: 'Open Sans', sans-serif;
    font-size: 1.0625rem;
    line-height: inherit;
}

input,
textarea
{
    font-family: inherit;
}

a
{
    -webkit-transition: .2s;
            transition: .2s;
    text-decoration: none;

    color: inherit;
}

a:focus
{
    outline: 1px dotted;
}

hr
{
    margin-top: 1.25rem;
    margin-bottom: 1.5625rem;

    border-color: #d9d9d9;
}

.form-check .check
{
    position: relative;

    width: 20px;
    height: 20px;
    margin-right: .71429em;

    border: 1px solid #3b6ddf;
}

.form-check .form-check-label
{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    padding-left: 0;

    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
}

.form-check .icon-check
{
    position: absolute;
    top: 50%;
    left: 50%;

    width: 12px;
    height: 12px;

    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);

    opacity: 0;
    color: #3b6ddf;

    -webkit-transform-style: preserve-3d;
            transform-style: preserve-3d;
    will-change: opacity;
}

.form-check input[type='checkbox']
{
    display: none;
}

.form-check input[type='checkbox']:checked + .check .icon-check
{
    opacity: 1;
}

@-webkit-keyframes pulse
{
    from
    {
        -webkit-transform: scale3d(1, 1, 1);
                transform: scale3d(1, 1, 1);
    }

    50%
    {
        -webkit-transform: scale3d(1.05, 1.05, 1.05);
                transform: scale3d(1.05, 1.05, 1.05);
    }

    to
    {
        -webkit-transform: scale3d(1, 1, 1);
                transform: scale3d(1, 1, 1);
    }
}

@keyframes pulse
{
    from
    {
        -webkit-transform: scale3d(1, 1, 1);
                transform: scale3d(1, 1, 1);
    }

    50%
    {
        -webkit-transform: scale3d(1.05, 1.05, 1.05);
                transform: scale3d(1.05, 1.05, 1.05);
    }

    to
    {
        -webkit-transform: scale3d(1, 1, 1);
                transform: scale3d(1, 1, 1);
    }
}

@-webkit-keyframes fadeInDownBig
{
    from
    {
        -webkit-transform: translateY(-300%);
                transform: translateY(-300%);

        opacity: 0;
    }

    to
    {
        -webkit-transform: translateY(0);
                transform: translateY(0);

        opacity: 1;
    }
}

@keyframes fadeInDownBig
{
    from
    {
        -webkit-transform: translateY(-300%);
                transform: translateY(-300%);

        opacity: 0;
    }

    to
    {
        -webkit-transform: translateY(0);
                transform: translateY(0);

        opacity: 1;
    }
}

@-webkit-keyframes fadeInUp
{
    from
    {
        -webkit-transform: translate3d(0, 100%, 0) translateX(-50%);
                transform: translate3d(0, 100%, 0) translateX(-50%);

        opacity: 0;
    }

    to
    {
        -webkit-transform: translateX(-50%);
        -webkit-transform: translate3d(0, 0, 0) translateX(-50%);
                transform: translateX(-50%);
                transform: translate3d(0, 0, 0) translateX(-50%);

        opacity: 1;
    }
}

@keyframes fadeInUp
{
    from
    {
        -webkit-transform: translate3d(0, 100%, 0) translateX(-50%);
                transform: translate3d(0, 100%, 0) translateX(-50%);

        opacity: 0;
    }

    to
    {
        -webkit-transform: translateX(-50%);
        -webkit-transform: translate3d(0, 0, 0) translateX(-50%);
                transform: translateX(-50%);
                transform: translate3d(0, 0, 0) translateX(-50%);

        opacity: 1;
    }
}

.btn-block
{
    width: auto;
}

.main-footer
{
    font-size: .8125rem;

    color: #626677;
}

.main-footer p
{
    margin: 0;
}

.main-footer__border
{
    padding: 20px 0;

    border-top: 1px solid #d9d9d9;
}

.navbar-main .navbar-center .nav-link,
.navbar-main .navbar-center .menu-item a
{
    font-size: 1rem;
    font-weight: bold;
    position: relative;
    overflow: hidden;
    padding: .625rem 1.25rem;
    color: #3b6ddf;
    display: block;
}

.navbar-main .navbar-center .menu-item a:before,
.navbar-main .navbar-center .nav-link::before
{
    position: absolute;
    bottom: 0;
    left: 0;

    width: 100%;
    height: 4px;

    content: '';
    -webkit-transition: -webkit-transform .3s;
            transition: -webkit-transform .3s;
            transition:         transform .3s;
            transition:         transform .3s, -webkit-transform .3s;
    -webkit-transform: translateY(100%);
            transform: translateY(100%);

    background: #3b6ddf;

    will-change: transform;
}

.navbar-main .navbar-brand
{
    display: inline-block;
    margin-right: 0;
    padding-top: 0;
    padding-right: 0;
    padding-bottom: 0;
    outline: none;
}

.navbar-main .navbar-brand img
{
    -webkit-transform: translateX(-.5625rem);
            transform: translateX(-.5625rem);
}

.navbar-main .dropdown-toggle
{
    font-size: .875rem;

    color: #626677;
}

.navbar-main .dropdown-toggle::after
{
    color: #3b6ddf;
}

.dropdown.show button
{
    position: relative;
}

.dropdown.show button:before
{
    position: absolute;
    bottom: -25px;
    left: 0;

    width: 100%;
    height: 4px;

    content: '';

    background: #3b6ddf;
}

.dropdown-menu
{
    top: 59px;
    right: 0;
    left: auto;

    width: 260px;
    padding-bottom: 20px;

    border: none;
    border-radius: 0;
    -webkit-box-shadow: 0 0 40px rgba(0, 0, 0, .08);
            box-shadow: 0 0 40px rgba(0, 0, 0, .08);
}

.dropdown-menu.myaccount
{
    margin-bottom: 0;
    padding-bottom: 0;
}

.dropdown-menu.myaccount .profile-sidebar
{
    margin-bottom: 0;

    border: none;
}

.dropdown-menu.myaccount .profile-sidebar .persona
{
    padding-bottom: 0;
}

.dropdown-menu.myaccount .profile-sidebar a
{
    font-weight: 400;

    padding-bottom: 0;

    color: #626677;
}

.dropdown-menu .profile-options
{
    margin-top: 10px;
}

.dropdown-menu h3
{
    font-size: 1.125rem;
    font-weight: 600;

    margin-top: 20px;
    margin-bottom: 15px;
    margin-left: 25px;

    color: #626677;
}

.dropdown-menu img
{
    width: 22px;
    height: auto;
    margin-right: 10px;
}

.dropdown-menu .dropdown-item
{
    font-size: .8125rem;

    padding-top: 10px;
    padding-bottom: 10px;

    color: #626677;
}

.dropdown-menu .dropdown-item.is-active
{
    background-color: #f7f7f9;
}

.main-menu
{
    position: relative;

    border-bottom: 1px solid #d9d9d9;
}

.main-menu .navbar-toggler
{
    font-size: 26px;

    top: 25px;

    border: none;
    outline: none;
}

.main-menu .navbar-toggler span
{
    position: absolute;
    top: 15px;
    right: 10px;

    display: inline-block;

    width: 40px;
    height: 40px;

    border: none;
}

.login-footer
{
    font-size: .8125rem;

    margin-top: auto;

    color: #626677;
}

.login-footer p
{
    margin: 0;
}

.login-footer__border
{
    padding: 20px 0;

    border-top: 1px solid #d9d9d9;
}

.login-header
{
    padding: 30px 0;
}

.signin
{
    font-size: 1.0625rem;

    padding: 1.17647em 0;
}

.signin .col-md-6
{
    max-width: 475px;
}

.signin h1
{
    font-size: 1.875rem;

    margin-bottom: .21429em;

    letter-spacing: -.5px;

    color: #404758;
}

.signin p
{
    font-size: 1.0625rem;

    margin-bottom: 2.3125rem;

    color: #626677;
}

.signin .text-primary-desc
{
    font-size: 1.0625rem;

    margin-top: 0;
    margin-bottom: 2.8125rem;
    padding-top: 0;

    letter-spacing: -.5px;

    color: #626677;
}

.um-account-heading,
.um-account-side{
    display: none;
}

.um-link-alt,
.signin .forgot
{
    font-size: .75rem;
    font-weight: bold;
    text-align: center;
    display: block;
    color: #3b6ddf;
    margin-top: 20px;
}

body select.um-form-field{
    font-size: 1.0625rem;
    font-weight: 300;
    cursor: pointer;
    color: #626677;
    font-family:"Open Sans",sans-serif;
}

body input.um-form-field[type="text"],
body input.um-form-field[type="password"],
.signin .form-control
{
    font-size: 1.0625rem;
    font-weight: 300;
    padding: .875rem;
    cursor: pointer;
    color: #626677;
}

.um-profile-status,
.um-profile-note{
    display: none;
}

.um-field-password_reset_text{
    display: none;
}

.um-field{
    padding: 0;
}

.um-field .um-field-label label,
.signin label
{
    font-size: .75rem;
    font-weight: bold;
    text-transform: uppercase;
}

.um-field-checkbox-option,
.um-field .um-field-label label.form-check-label,
.signin label.form-check-label
{
    font-weight: 400;
}

body .um-button,
.signin .btn
{
    font-weight: bold !important;

    display: inline-block;

    width: auto;
    padding: 1.0625rem 4.1875rem;

    cursor: pointer;
    text-transform: uppercase !important;

    border-radius: 100px !important;
}

body .um-button,
.signin .btn-lg
{
    font-size: .875rem;
    line-height: 1;
}

body .um-profile-body .um-button,
body #um_account_submit{
    padding: 1.0625rem 2.37938rem;
}

.page-template-page-login .um-notice{
    display: none;
}

.um-page-password-reset .um-button,
.signin .btn-lg.reset-password
{
    padding: 1.0625rem 2.37938rem;
}

.profile
{
    padding: 1.25rem 0;
}

.profile h1
{
    margin-bottom: 1.25rem;
}

.profile h6
{
    font-size: .75rem;
    font-weight: 700;
    line-height: 1;

    margin-bottom: .75rem;

    text-transform: uppercase;
}

.profile .um-profile-body .um-field .um-field-value,
.profile .um-field-value p
{
    line-height: 1.58824;

    margin-bottom: 1.25rem;

    color: #626677;
}

.profile label
{
    font-size: .75rem;
    font-weight: bold;

    text-transform: uppercase;
}

.profile .btn
{
    font-weight: bold;

    text-transform: uppercase;

    border-radius: 100px;
}

.profile .btn-lg
{
    font-size: .875rem;
    line-height: 1;

    padding: 1.0625rem 2.37938rem;
}

.profile div[class^='col-']:last-child
{
    -webkit-transform: translateX(-5px);
            transform: translateX(-5px);
}

.profile-sidebar
{
    overflow: hidden;

    margin-bottom: 1.25rem;

    border: 1px solid #d9d9d9;
}

.profile-sidebar .persona
{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    padding: 1.0625rem 1.875rem;

    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
}

.profile-sidebar .persona .picture
{
    width: 50px;
    height: 50px;
    margin-right: 20px;
}

.profile-sidebar .persona .details h5
{
    font-size: 1.125rem;
    font-weight: 600;

    margin-bottom: 6px;

    color: #626677;
}

.profile-sidebar .persona .details a
{
    font-size: .75rem;
    font-weight: bold;

    display: block;

    margin: 0;

    color: #3b6ddf;
}

.profile-sidebar .profile-options
{
    padding: .5rem 0 1.0625rem;

    list-style: none;
}

.profile-sidebar .profile-options a
{
    font-size: .875rem;
    font-weight: 600;

    position: relative;

    display: block;

    padding: .5rem 1.875rem;

    color: #626677;
}

.help .text a:hover,
.profile-sidebar .profile-options a:hover{
    color: #3b6ddf;
}

.profile-sidebar .profile-options a.is-active
{
    font-weight: 700;
    color: #3b6ddf;
}

.profile-sidebar .profile-options a.is-active::before
{
    position: absolute;
    top: 0;
    left: 0;

    width: 4px;
    height: 100%;

    content: '';

    background: #3b6ddf;
}

.profile-sidebar .help
{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    padding: 1.25rem 1.875rem;

    -webkit-box-shadow: 0 5px 25px 0 rgba(0, 1, 1, .1);
            box-shadow: 0 5px 25px 0 rgba(0, 1, 1, .1);

    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
}

.profile-sidebar .help .icon-support
{
    width: 34px;
    height: 34px;
    margin-right: 16px;

    color: #bec2cd;
}

.profile-sidebar .help h6
{
    font-size: .9375rem;
    font-weight: 600;

    margin: 0;

    color: #626677;
}

.profile-sidebar .help a
{
    font-size: .75rem;
    font-weight: bold;

    color: #3b6ddf;
}

.faqs
{
    padding: 2.1875rem 0;
}

.faqs p
{
    margin-bottom: 2.1875rem;

    color: #626677;
}

.faqs p + h1
{
    margin-top: 3.125rem;
}

.faqs ul
{
    margin-bottom: 2.5rem;
    padding-left: 1.25rem;

    list-style: none;
}

.faqs ul li
{
    color: #626677;
}

.faqs a
{
    font-weight: 700;

    color: #3b6ddf;
}

.landing
{
    position: relative;

    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
            flex-direction: column;

    height: 100vh;
    padding: 1.5625rem 0;

    color: #acb2c1;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;

    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
}

.landing::before
{
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    content: '';

    opacity: .7;
    background: #323232;
}

.landing h1,
.landing .white
{
    color: #fff;
}

.landing img{
    margin-bottom: 10px;
}

.landing h1
{
    margin-bottom: 1.25rem;
}

.landing .top-part
{
    margin-bottom: auto;
    padding-left: 35px;
}

.landing .bottom-part
{
    padding-left: 10px;
}

.landing .bottom-part p
{
    margin-bottom: .3125rem;
}

.landing .bottom-part a
{
    display: block;

    margin-bottom: 1.875rem;
}

.landing .bottom-part a:hover,
.landing .bottom-part a:active
{
    color: #fff;
}

.card-footer
{
    background: #fff;
}

.card-footer.cancel
{
    padding: 1.875rem 2.5rem;
}

.card-footer.cancel h6
{
    font-size: .75rem;
    font-weight: 700;

    text-transform: uppercase;

    color: #404758;
}

.card-footer.cancel p
{
    font-size: .8125rem;
    font-weight: 600;

    margin-top: .9375rem;

    color: #626677;
}

.card-footer.cancel .col-md-6 button,
.card-footer.cancel .col-md-6 a
{
    font-size: .875rem;
    font-weight: bold;

    display: inline-block;

    margin-top: .3125rem;
    padding: 1.0625rem 2rem;

    text-align: center;
    text-transform: uppercase;

    border-radius: 6.25rem;
    background: #df3b3b;
    border: none;
    transition: all 0.2s ease-in-out 0s;
}

.card-footer.cancel .col-md-6 button:hover,
.card-footer.cancel .col-md-6 a:hover
{
    text-decoration: none;
    background: #b23232;
}

.reservation-card
{
    max-width: 42.5rem;
    margin-top: 2.5rem;

    background: #fff;
    -webkit-box-shadow: 0 5px 25px 0 rgba(0, 1, 1, .1);
            box-shadow: 0 5px 25px 0 rgba(0, 1, 1, .1);
}

.reservation-card .contents
{
    padding: 1.875rem 2.5rem;
}

.reservation-card svg[class^='icon-']
{
    width: 1.875rem;
    height: 1.875rem;
    margin-top: .9375rem;
    margin-right: 1.25rem;
}

.reservation-card p
{
    font-size: .75rem;
    font-weight: 600;

    display: inline-block;

    margin-bottom: .625rem;

    -webkit-transform: translateY(-8px);
            transform: translateY(-8px);
}

.reservation-card .contents
{
    color: #626677;
}

.reservation-card .contents h1
{
    font-size: 2.25rem;

    margin-bottom: 1.875rem;

    color: #404758;
}

.reservation-card .contents div.col-md-4 h5
{
    font-size: 1.125rem;
    font-weight: 600;
    line-height: 22px;
}

.reservation-card .contents div.col-md-8 h5
{
    font-size: 1.125rem;
    font-weight: 600;
    line-height: 22px;

    display: inline-block;

    border-bottom: 1px solid #626677;
}

.reservation-card .contents div.col-md-8 h5.notes
{
    font-size: .875rem;
    line-height: 1.25rem;

    border-bottom: none;
}

.reservation-colophon
{
    margin: 2.5rem 0;

    color: #626677;
}

.reservation-card .icon-calendar-check-o
{
    color: #5b802b;
}

.reservation-card .bg-danger .icon-calendar-check-o
{
    color: #802424;
}

.reservation-card .card-title
{
    margin-bottom: 0;
}

.reservation-title
{
    padding: 1.25rem 0;

    border-bottom: 1px solid #d9d9d9;
}

.reservation-title .btn
{
    font-weight: bold;

    margin: .625rem 0 auto;

    text-transform: uppercase;

    border-radius: 100px;
}

.reservation-title .btn-lg
{
    font-size: .875rem;
    line-height: 1;
}

.booking-reservation
{
    color: #404758;
}

.booking-reservation h3
{
    font-size: 1.3125rem;

    margin-top: 2.1875rem;
    margin-bottom: 1.25rem;
}

.booking-reservation table tr:last-child td
{
    border-bottom: 1px solid #d0d2d6;
}

.booking-reservation table tr th
{
    font-size: .75rem;
    font-weight: 700;

    padding: 15px 15px 15px 0;

    white-space: nowrap;
    text-transform: uppercase;

    color: #404758;
}

.booking-reservation table tr td
{
    font-size: .75rem;
    font-weight: 600;

    padding: 10px 15px 10px 0;

    vertical-align: middle;
    white-space: nowrap;
}

.booking-reservation table tr td:first-child
{
    padding-right: 20px;}

.booking-reservation table tr td:first-child h1
{
    font-size: .75rem;
    font-weight: 600;

    margin: 0;
    padding: 0;
}

.booking-reservation table tr td:first-child h1 span:nth-child(2){
    margin-top: 15px;
    display: inline-block;
}

.booking-reservation table tr td:first-child img
{
    max-width: 50px;
    max-height: 50px;
    margin-right: 20px;

    border-radius: 50%;
}

.booking-reservation table tr td:first-child label
{
    display: inline-block;
    float: left;

    padding-top: 15px;
    padding-left: 20px;
}

.booking-reservation table tr td:last-child a
{
    font-size: .6875rem;
    font-weight: 700;

    display: block;

    width: 5.25rem;
    padding: 8px 0;

    text-align: center;
    text-transform: uppercase;

    color: #fff;
    border-radius: 25px;
    background: #3b6ddf;
}

.booking-reservation table tr td:last-child a:hover
{
    text-decoration: none;
}

.appointment-title
{
    font-size: 1.875rem;

    margin: 1.875rem 0;
    padding-bottom: 1.25rem;

    color: #404758;
    border-bottom: 1px solid #d9d9d9;
}

.appointment-title span
{
    border-bottom: 1px solid #404758;
}

.step-number
{
    margin-bottom: 45px;
}

.step-number figure
{
    font-size: 1.125rem;
    font-weight: 600;

    display: inline-block;
    float: left;

    width: 2.1875rem;
    height: 2.1875rem;
    padding-top: 5px;

    text-align: center;

    color: #3b6ddf;
    border: 2px solid #d9d9d9;
    border-radius: 50%;
    background: #000;
    background: #fff;
}

.step-number span
{
    font-size: .9375rem;

    display: table-cell;

    padding-top: 11px;
    padding-left: 15px;

    color: #404758;
}

.teacher
{
    position: relative;
    z-index: 1000;
}

.teacher__list
{
    margin: 0;
    padding: 0;

    list-style: none;

    border-bottom: 1px solid #d9d9d9;
}

.teacher__list__unit
{
    position: relative;

    visibility: hidden;
    clear: both;
    overflow: hidden;

    width: 100%;
    height: 0;

    cursor: pointer;
    -webkit-transition: visibility 0s, opacity .8s linear, -webkit-transform .5s linear;
            transition: visibility 0s, opacity .8s linear, -webkit-transform .5s linear;
            transition: visibility 0s, opacity .8s linear, transform .5s linear;
            transition: visibility 0s, opacity .8s linear, transform .5s linear, -webkit-transform .5s linear;
    -webkit-transform: translateX(-3.125rem);
            transform: translateX(-3.125rem);

    opacity: 0;
    border-top: 1px solid #d9d9d9;
}

.teacher__list__unit:nth-child(-n+6)
{
    visibility: visible;
    overflow: visible;

    height: auto;
    margin-bottom: 5px;
    padding-top: 10px;
    padding-bottom: 10px;

    -webkit-transform: translateX(0);
            transform: translateX(0);

    opacity: 1;
}

.teacher__list__unit.visable
{
    visibility: visible;
    overflow: visible;

    height: auto;
    min-height: 63px;
    margin-bottom: 5px;
    padding-top: 10px;
    padding-bottom: 10px;

    -webkit-transform: translateX(0);
            transform: translateX(0);

    opacity: 1;
}

.teacher__list__unit.visable .teacher__list__unit__img
{
    -webkit-transition: all linear 1s;
            transition: all linear 1s;

    opacity: 1;
}

.teacher__list__unit.is-active .teacher__list__unit__text
{
    font-weight: 700;

    color: #3b6ddf;
}

.teacher__list__unit.is-active .icon-check-circle
{
    opacity: 1;
}

.teacher__list__unit.is-active .icon-angle-right
{
    opacity: 1;
}

.teacher__list__unit.is-hovered ul
{
    display: block;
}

.teacher__list__unit.is-hovered h4
{
    opacity: 1;
}

.teacher__list__unit:hover
{
    cursor: pointer;
}

.teacher__list__unit:hover ul.select-info
{
    display: block;
}

.teacher__list__unit:hover h4
{
    opacity: 0;
}

.teacher__list__unit__img
{
    position: relative;

    float: left;

    width: 50px;
    height: 50px;

    opacity: 1;
    border-radius: 50%;
    background: #eaeaea;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}

.teacher__list__unit__img .icon-check-circle
{
    position: absolute;
    top: -5px;
    right: -8px;

    width: 22px;
    height: 22px;

    opacity: 0;
    border: 1px solid #fff;
    border-radius: 50%;
    background: #fff;

    fill: #3b6ddf;
}

.teacher__list__unit__text
{
    font-size: .8125rem;

    position: relative;

    display: inline-block;

    padding-top: 15px;
    padding-left: 15px;

    letter-spacing: -.5px;

    color: #404758;
}

.teacher__list__unit ul.select-info
{
    position: absolute;
    top: 50%;
    left: 0;

    display: none;

    width: 100%;
    margin-left: 25px;
    padding-top: 12px;
    padding-bottom: 30px;

    list-style: none;

    -webkit-transform: translateY(-24px);
            transform: translateY(-24px);
}

.teacher__list__unit ul.select-info li
{
    float: left;

    width: 70px;
    min-width: 70px;
    min-height: 30px;
    margin-right: 10px;
}

.teacher__list__unit ul.select-info li a
{
    font-size: 11px;
    font-weight: 700;

    display: block;

    padding: 7px 15px;

    cursor: pointer;
    text-align: center;
    text-transform: uppercase;

    border-radius: 25px;
}

.teacher__list__unit ul.select-info li a.select
{
    color: #fff;
    background: #3b6ddf;
}

.teacher__list__unit ul.select-info li a.info
{
    color: #333;
    background: #eee;
}

.teacher__list__unit .icon-angle-right
{
    position: absolute;
    top: 50%;
    right: 0;

    width: 25px;
    height: 25px;

    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);

    opacity: 0;

    fill: #3b6ddf;
}

.teacher .load-more
{
    text-align: center;
}

.teacher .load-more a
{
    font-size: .6875rem;
    font-weight: 700;

    display: inline-block;

    margin: 20px 0 20px 0;
    padding: 8px 20px;

    text-transform: uppercase;

    border-radius: 25px;
    background: #eee;
}

.teacher .load-more a:hover
{
    text-decoration: none;
}

.step-two
{
    position: relative;
}

.select-date
{
    /* with multiple calendars */
    /* RTL support */
    /* Icons */
}

.select-date .calendar
{
    margin-bottom: 1.875rem;
}

.select-date #ui-datepicker-div
{
    display: none;
}

.select-date .ui-datepicker
{
    width: 100%;
    padding: .625rem .625rem;

    border: 1px solid #d9d9d9;
}

.select-date .ui-datepicker .ui-datepicker-prev span
{
    width: 30px;
    height: 30px;
    background-position: top left;
    background-image: url('../images/angle-left.svg');
}

.select-date .ui-datepicker .ui-datepicker-next span
{
    width: 30px;
    height: 30px;
    background-position: top left;
    background-image: url('../images/angle-right.svg');
}

.select-date .ui-datepicker .ui-datepicker-header
{
    font-size: .9375rem;

    position: relative;

    padding: .2em 0;
    padding-bottom: 10px;

    color: #404758;
    border-bottom: 1px solid #d9d9d9;
}

.select-date .ui-datepicker .ui-datepicker-prev,
.select-date .ui-datepicker .ui-datepicker-next
{
    position: absolute;
    top: 7px;

    width: 1.8em;
    height: 1.8em;

    cursor: pointer;
}

.select-date .ui-datepicker .ui-datepicker-prev-hover,
.select-date .ui-datepicker .ui-datepicker-next-hover
{
    top: 7px;
}

.select-date .ui-datepicker .ui-datepicker-prev
{
    left: 2px;
}

.select-date .ui-datepicker .ui-datepicker-next
{
    right: 2px;
}

.select-date .ui-datepicker .ui-datepicker-prev-hover
{
    left: 2px;
}

.select-date .ui-datepicker .ui-datepicker-next-hover
{
    right: 2px;
}

.select-date .ui-datepicker .ui-datepicker-prev span,
.select-date .ui-datepicker .ui-datepicker-next span
{
    position: absolute;
    top: 50%;
    left: 50%;

    display: block;

    margin-top: -12px;
    margin-left: -9px;
}

.select-date .ui-datepicker .ui-datepicker-title
{
    line-height: 1.8em;

    margin: 0 2.3em;

    text-align: center;
}

.select-date .ui-datepicker .ui-datepicker-title select
{
    font-size: 1em;

    margin: 1px 0;
}

.select-date .ui-datepicker select.ui-datepicker-month,
.select-date .ui-datepicker select.ui-datepicker-year
{
    width: 45%;
}

.select-date .ui-datepicker table
{
    font-size: .9em;

    width: 100%;
    margin: 0 0 .4em;

    border-collapse: collapse;
}

.select-date .ui-datepicker th
{
    font-size: .8125rem;
    font-weight: 300;

    padding: .75rem .4375rem;

    text-align: center;

    color: #404758;
    border: 0;
}

.select-date .ui-datepicker td
{
    padding: 1px;

    text-align: center;

    border: 0;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
    background: #eee;
}

.select-date .ui-datepicker td.ui-datepicker-other-month
{
    background: none;
}

.select-date .ui-datepicker td span,
.select-date .ui-datepicker td a
{
    font-size: .8125rem;
    font-weight: 600;

    display: block;

    padding: .5rem .4375rem;

    text-align: center;
    text-decoration: none;

    color: #333;
}

.select-date .ui-datepicker td a:hover,
.select-date .ui-datepicker td a.ui-state-active
{
    color: #fff;
    background: #3b6ddf;
}

.select-date .ui-datepicker .ui-datepicker-buttonpane
{
    margin: .7em 0 0 0;
    padding: 0 .2em;

    border-right: 0;
    border-bottom: 0;
    border-left: 0;
    background-image: none;
}

.select-date .ui-datepicker .ui-datepicker-buttonpane button
{
    float: right;
    overflow: visible;

    width: auto;
    margin: .5em .2em .4em;
    padding: .2em .6em .3em .6em;

    cursor: pointer;
}

.select-date .ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current
{
    float: left;
}

.select-date .ui-datepicker.ui-datepicker-multi
{
    width: auto;
}

.select-date .ui-datepicker-multi .ui-datepicker-group
{
    float: left;
}

.select-date .ui-datepicker-multi .ui-datepicker-group table
{
    width: 95%;
    margin: 0 auto .4em;
}

.select-date .ui-datepicker-multi-2 .ui-datepicker-group
{
    width: 50%;
}

.select-date .ui-datepicker-multi-3 .ui-datepicker-group
{
    width: 33.3%;
}

.select-date .ui-datepicker-multi-4 .ui-datepicker-group
{
    width: 25%;
}

.select-date .ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,
.select-date .ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header
{
    border-left-width: 0;
}

.select-date .ui-datepicker-multi .ui-datepicker-buttonpane
{
    clear: left;
}

.select-date .ui-datepicker-row-break
{
    font-size: 0;

    clear: both;

    width: 100%;
}

.select-date .ui-datepicker-rtl
{
    direction: rtl;
}

.select-date .ui-datepicker-rtl .ui-datepicker-prev
{
    right: 2px;
    left: auto;
}

.select-date .ui-datepicker-rtl .ui-datepicker-next
{
    right: auto;
    left: 2px;
}

.select-date .ui-datepicker-rtl .ui-datepicker-prev:hover
{
    right: 1px;
    left: auto;
}

.select-date .ui-datepicker-rtl .ui-datepicker-next:hover
{
    right: auto;
    left: 1px;
}

.select-date .ui-datepicker-rtl .ui-datepicker-buttonpane
{
    clear: right;
}

.select-date .ui-datepicker-rtl .ui-datepicker-buttonpane button
{
    float: left;
}

.select-date .ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current
{
    float: right;
}

.select-date .ui-datepicker-rtl .ui-datepicker-group
{
    float: right;
}

.select-date .ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,
.select-date .ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header
{
    border-right-width: 0;
    border-left-width: 1px;
}

.select-date .ui-datepicker .ui-icon
{
    top: .3em;
    left: .5em;

    display: block;
    overflow: hidden;

    text-indent: -99999px;

    background-repeat: no-repeat;
}

.select-date .time
{
    text-align: center;
}

.select-date .time ul
{
    display: table;
    clear: both;

    width: 100%;
    margin: -3px 0 0 0;
    padding: 0;

    list-style: none;
}

.select-date .time ul li
{
    float: left;

    width: 33.3333%;
    padding: 3px;
}

.select-date .time ul li.is-active a
{
    color: #fff;
    background: #3b6ddf;
}

.select-date .time ul li a
{
    font-size: .8125rem;
    font-weight: 600;

    display: block;

    padding: 10px 10px;

    border-radius: 5px;
    background: #eee;
}

.select-date .time ul li a:hover
{
    cursor: pointer;

    color: #fff;
    background: #3b6ddf;
}

.select-date .time .colophon
{
    font-size: .8125rem;

    margin-top: .9375rem;

    color: #626677;
}

.confirm p.message-teacher,
.confirm form p
{
    font-size: .75rem;
    font-weight: 700;

    text-transform: uppercase;

    color: #404758;
}

.confirm textarea,
.confirm form textarea
{
    font-size: .75rem;

    width: 100%;
    height: 11.875rem;
    padding: 20px;

    border: 1px solid #e2e2e2;
    border-radius: 0;
}

.confirm form textarea:focus
{
    outline: none;
}

.nopad-right{
    padding-right: 0 !important;
}

.back-book-title
{
    padding: 2.5rem 0;
    border-top: 1px solid #d9d9d9;
    margin-top: 50px;
}

.back-book-title .btn
{
    font-weight: bold;

    width: 100%;
    margin: .625rem 0 auto;

    text-transform: uppercase;

    border-radius: 100px;
}

.back-book-title .btn-back
{
    color: #333;
    background: #eee;
}

.back-book-title .btn-back:hover
{
    color: #333;
}

.back-book-title .btn-lg
{
    font-size: .875rem;
    line-height: 1;

    padding: 1.25rem 2.5rem;
}

.modal
{
    position: fixed;
    z-index: 2000;

    background: none;
}

.modal-dialog
{
    top: 260px;

    max-width: 100%;
}

.modal button.close
{
    position: relative;

    cursor: pointer;

    outline: none;
}

.modal button.close span
{
    position: relative;

    display: inline-block;
    float: right;

    width: 23px;
    height: 23px;
    margin-top: 25px;
    padding-right: 25px;
}

.modal button.close span:after
{
    position: absolute;
    top: 0;
    left: auto;

    width: 2px;
    height: 100%;

    content: '';
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);

    background: #3b6ddf;
}

.modal button.close span:before
{
    position: absolute;
    top: 0;
    left: auto;

    width: 2px;
    height: 100%;

    content: '';
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);

    background: #3b6ddf;
}

.modal-content
{
    border: none;
    border-radius: 0;
    -webkit-box-shadow: 0 0 50px rgba(0, 0, 0, .1);
            box-shadow: 0 0 50px rgba(0, 0, 0, .1);
}

.modal-content .left
{
    text-align: center;
}

.modal-content .left a
{
    font-size: .8125rem;
    font-weight: 700;

    display: inline-block;

    margin-top: 30px;
    margin-bottom: 30px;
    padding: 9px 38px;

    text-align: center;

    border-radius: 25px;
}

.modal-content .right
{
    font-size: 1.0625rem;

    color: #404758;
}

.modal-content .right h2
{
    font-size: 2.15625rem;

    display: inline-block;

    margin-bottom: 1.875rem;

    color: #404758;
}

.modal-content .right p
{
    line-height: 24px;

    margin-bottom: 30px;
}

.book-training-title
{
    padding: 1.25rem 0;
}

.book-training-title .btn
{
    font-weight: bold;

    margin: .625rem 0 auto;

    text-transform: uppercase;

    border-radius: 100px;
}

.book-training-title .btn-lg
{
    font-size: .875rem;
    line-height: 1;
}

.book-training .col-md-6
{
    padding: 10px;
}

.book-training p
{
    margin: 0;
    padding: 0;
}

.book-training ul
{
    margin: 0;
    padding: 0;

    list-style: none;
}

.book-training .balance
{
    font-size: 1.0625rem;

    margin-bottom: 1.25rem;
    padding: 1.875rem;

    color: #626677;
    border-radius: 5px;
    background: #f3f6fd;
}

.book-training .balance strong
{
    font-weight: 700;
}

.book-training .balance h3
{
    font-size: 1.875rem;

    margin-bottom: .9375rem;

    color: #3b6ddf;
}

.book-training .select-service
{
    margin-bottom: 1.25rem;
    padding: .9375rem .625rem .625rem .625rem;

    border-radius: 5px;
    background: #f5f5f5;
}

.book-training .select-service h4
{
    font-size: .9375rem;
    font-weight: 700;

    color: #626677;
}

.book-training .select-service ul
{
    border: 1px solid #d2d2d2;
    border-radius: 5px;
    background: #fff;
}

.book-training .select-service ul li
{
    padding: .75rem 1rem;

    border-bottom: 1px dashed #d9d9d9;
}

.book-training .select-service ul li h4
{
    font-size: .875rem;

    margin-bottom: .9375rem;
    padding-top: 7px;

    text-transform: capitalize;

    color: #404758;
}

.book-training .select-service ul li a
{
    font-size: .6875rem;
    font-weight: 700;

    padding: .4375rem .9375rem;

    text-transform: uppercase;

    border-radius: 25px;
}

.book-training .select-service ul li:last-child
{
    border: none;
}

.book-training .virtual-english
{
    font-size: 1.0625rem;

    margin-bottom: 1.25rem;
    padding: 1.875rem;

    color: #626677;
    border-radius: 5px;
    background: #f5f5f5;
}

.book-training .virtual-english h3
{
    font-size: 1.875rem;

    margin-bottom: .9375rem;

    color: #404758;
}

.book-training .virtual-english ul li
{
    margin-bottom: 5px;
}

.book-training .contact-info
{
    margin-bottom: 1.25rem;
    padding: 1.875rem;

    border-radius: 5px;
    background: #f5f5f5;
}

.book-training .contact-info h3
{
    font-size: 1.875rem;

    margin-bottom: 1.25rem;

    color: #404758;
}

.book-training .contact-info ul li
{
    font-size: .9375rem;
}

.book-training .contact-info ul li label
{
    display: block;

    width: 6.875rem;

    color: #626677;
}

.book-training .contact-info ul li span
{
    font-weight: 700;

    display: inline-block;

    margin-bottom: .9375rem;
}

.book-training .contact-info ul li span a
{
    color: #3b6ddf;
}

.book-training .contact-info p
{
    font-size: .8125rem;
    line-height: 22px;

    margin-top: .625rem;
}

.page-container
{
    min-height: calc(100vh - 58px);
}

/* basket work 2024-06 */

.book-exists-wrap,
.book-error-wrap,
.book-popup-wrap{
    display: none;
    position: fixed;
    width: 100%;
    height: 100%;
    z-index: 2000;
    top: 0;
}

.book-exists-wrap-inner,
.book-error-wrap-inner,
.book-popup-wrap-inner{
    background: rgba(0,0,0,0.6);
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
}

.popup-content{
    background: #fff;
    width: 600px;
    padding: 50px 40px;
    border-radius: 5px;
    text-align: center;
    font-size: 17px;
    max-width: calc(100% - 20px);
}

.popup-content h2{
    font-size: 28px;
    margin-bottom: 20px;
}

.popup-buttons{
	display: flex;
	justify-content: center;
	gap: 20px;
    margin-top: 20px;
}

.btn.close-error,
.btn.add-session{
	color: #333;
	background: #eee;
	font-size: .875rem;
	line-height: 1;
	padding: 0.8125rem 2.5rem;
	font-weight: bold;
	margin: .625rem 0 auto;
	text-transform: uppercase;
	border-radius: 100px;
}

.btn.close-error:hover,
.btn.add-session:hover {
    color: #fff;
	background: #3b6ddf;
}

.btn.go-basket{
	font-size: .875rem;
	line-height: 1;
	padding: 0.8125rem 2.5rem;
	font-weight: bold;
	margin: .625rem 0 auto;
	text-transform: uppercase;
	border-radius: 100px;
}

.time-left{
    padding-bottom: 20px;
}

.booking-reservation table tr td a.remove-session{
    color: #333;
    background: #eee;
    border: none;
}

.booking-reservation table tr td a.remove-session:hover{
    color: #fff;
    background: #3b6ddf;
}

.booking-reservation table tr td a.view-session{
    color: #fff;
    background: #3b6ddf;
    border: none;
}

.booking-reservation table tr td a.view-session:hover{
    color: #fff;
    background: #2053c7;
}

.no-reservations{
    display: none;
}

/* end basket work 2024-06 */

@media (min-width: 576px)
{
    .reservation-card .contents div.col-md-8 h5
    {
        margin-bottom: 0;

        border: none;
    }

    .select-date .calendar
    {
        margin-bottom: 1.25rem;
        padding-right: 0;
    }

    .select-date .time
    {
        padding-right: 0;
    }

    .book-training .select-service ul li h4
    {
        margin-bottom: 0;
    }
}

@media (min-width: 768px)
{
    .navbar-main
    {
        padding-top: 0;
        padding-bottom: 0;
    }

    .main-menu .navbar-toggler
    {
        top: 15px;
    }

    .signin
    {
        padding: 3.52941em 0;
    }

    .profile
    {
        padding: 3.125rem 0;
    }

    .profile h1
    {
        margin-bottom: 2.1875rem;
    }

    .profile p
    {
        margin-bottom: 1.875rem;
    }

    .profile form,
    .profile .form-elements
    {
        max-width: 27.8125rem;
    }

    .landing
    {
        padding-bottom: .625rem;
    }

    .landing::before
    {
        display: none;
    }

    .landing h1
    {
        margin-bottom: 1.875rem;
    }

    .landing .top-part
    {
        margin: auto 0;
    }

    .landing .bottom-part p
    {
        margin-bottom: .9375rem;
    }

    .landing .bottom-part a
    {
        margin-bottom: 0;
    }

    .reservation-card
    {
        margin-top: 5rem;
    }

    .reservation-card p
    {
        font-size: 1.125rem;
    }

    .reservation-card .contents div.col-md-4
    {
        padding-right: 0;
    }

    .reservation-title .btn
    {
        margin: 0;
    }

    .reservation-title .btn-lg
    {
        padding-top: 1rem;
        padding-bottom: 1rem;
    }

    .step-number figure
    {
        font-size: 1.5rem;

        width: 3.125rem;
        height: 3.125rem;
        padding-top: 7px;
    }

    .step-number span
    {
        font-size: 1.3125rem;
    }

    .back-book-title .btn
    {
        width: auto;
        margin: 0;
    }

    .back-book-title .btn-lg
    {
        padding-top: .8125rem;
        padding-bottom: .8125rem;
    }

    .modal
    {
        z-index: 500;
    }

    .modal-content .left
    {
        padding-right: 0;
        padding-left: 0;
    }

    .book-training-title .btn
    {
        margin: 0;
    }

    .book-training-title .btn-lg
    {
        padding-top: 1rem;
        padding-bottom: 1rem;
    }

    .book-training .contact-info ul li label
    {
        display: inline-block;
    }

    .book-training .contact-info ul li span
    {
        margin-bottom: 0;
    }
}

@media (min-width: 992px)
{
    .navbar-main .navbar-center .nav-link,
    .navbar-main .navbar-center .menu-item a
    {
        padding: 2rem 1.25rem;
    }


    .navbar-main .navbar-center .menu-item.current-menu-item a,
    .navbar-main .navbar-center .menu-item a:hover,
    .navbar-main .navbar-center .menu-item a:active,
    .navbar-main .navbar-center .nav-link.is-active,
    .navbar-main .navbar-center .nav-link:hover,
    .navbar-main .navbar-center .nav-link:active
    {
        color: #3b6ddf;
    }

    .navbar-main .navbar-center .menu-item.current-menu-item a:before,
    .navbar-main .navbar-center .menu-item a:hover:before,
    .navbar-main .navbar-center .menu-item a:active:before,
    .navbar-main .navbar-center .nav-link.is-active::before,
    .navbar-main .navbar-center .nav-link:hover::before,
    .navbar-main .navbar-center .nav-link:active::before
    {
        -webkit-transform: translateY(0);
                transform: translateY(0);
    }

    .booking-reservation table tr td
    {
        font-size: 1.125rem;
    }

    .booking-reservation table tr td:first-child h1
    {
        font-size: 1.125rem;
    }

    .teacher__list__unit__text
    {
        font-size: .8125rem;
    }
}

@media (min-width: 1200px)
{
    .teacher__list__unit__text
    {
        font-size: 1rem;
    }

    .modal-content .right
    {
        padding-right: 0;
        padding-left: 0;

        -webkit-transform: translateX(-17px);
                transform: translateX(-17px);
    }
}

@media (max-width: 767px)
{
    .booking-reservation table tr td:first-child
    {
        min-width: 200px;
    }
    .booking-reservation table tr td:first-child h1 span:nth-child(2) {
        display: inline-block;
        margin-top: 18px;
    }

    .popup-buttons {
        display: block;
    }

}

@media (max-width: 1023px)
{
    .booking-reservation table tr td:first-child h1 span:nth-child(2){
        margin-top: 18px;
    }
    .navbar-main .navbar-brand{
        padding: 15px 0;
    }
    .navbar-main .navbar-brand img{
        max-height: 40px;
        width: auto;
    }
}
