/* ------------------------------------------------------------ *\
    Reset
\* ------------------------------------------------------------ */

* { padding: 0; margin: 0; outline: 0; box-sizing: border-box; }

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

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
main { display: block; }

template { display: none; }

html { -webkit-tap-highlight-color: rgba(0,0,0,0); tap-highlight-color: rgba(0,0,0,0); }

body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; font-smoothing: antialiased; text-size-adjust: none; background: #f2f2f7; }

img,
iframe,
video,
audio,
object { max-width: 100%; }

img,
iframe { border: 0 none; }

img { height: auto; display: inline-block; vertical-align: middle; }

b,
strong { font-weight: bold; }

address { font-style: normal; }

svg:not(:root) { overflow: hidden; }

a,
button,
input[type="submit"],
input[type="button"],
input[type="reset"],
input[type="file"],
input[type="image"],
label[for] { cursor: pointer; }

a[href^="tel"],
button[disabled],
input[disabled],
textarea[disabled],
select[disabled] { cursor: default; }

button::-moz-focus-inner,
input::-moz-focus-inner { padding: 0; border: 0; }

input[type="text"],
input[type="password"],
input[type="date"],
input[type="datetime"],
input[type="datetime-local"],
input[type="month"],
input[type="week"],
input[type="email"],
input[type="number"],
input[type="search"],
input[type="tel"],
input[type="time"],
input[type="url"],
input[type="color"],
textarea,
a[href^="tel"] { appearance: none; }

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration { appearance: none; }

textarea { overflow: auto; -webkit-overflow-scrolling: touch; overflow-scrolling: touch; }

button,
input,
optgroup,
select,
textarea { font-family: inherit; font-size: inherit; color: inherit; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; font-smoothing: antialiased; }

button,
select { text-transform: none; }

table { width: 100%; border-collapse: collapse; border-spacing: 0; }

nav ul,
nav ol { list-style: none outside none; }

/* ------------------------------------------------------------ *\
    Fonts
\* ------------------------------------------------------------ */


/* ------------------------------------------------------------ *\
    Btn Payment
\* ------------------------------------------------------------ */


.form__row label {font-size:14px; font-weight:600;   margin: 4px 10px 4px 0px;}
.section__current-step.label_step {    float: right;   border: 1px solid #868c97;   padding: 4px 10px;font-size: 12px;  border-radius: 20px;}

.btn-payment { display: inline-block; vertical-align: middle; text-align: center; cursor: pointer; text-decoration: none; appearance: none; height: 36px; padding: 0 16px; line-height: 36px; border-radius: 5px; background: #121927; color: #fff; font-size: 16px; font-weight: normal; transition: all .3s; }

@media (hover: hover) {
    .btn-payment:hover { opacity: .8; }
}


.btn-payment--small { height: 28px; line-height: 28px; border-radius: 14px; }
.btn-payment--alt { border-radius: 4px; }
.btn-secondary.daytime{background: #e9ecef; padding:5px 7px; }
.btn-primary{padding:5px 7px; }
.btn-secondary{ font-size:13px;}

/* ------------------------------------------------------------ *\
    Loading
\* ------------------------------------------------------------ */

.image-loading.hidden { display: none; }

/* ------------------------------------------------------------ *\
    Section Payment
\* ------------------------------------------------------------ */

.section-payment-steps { min-height: 100vh; padding-bottom: 50px; font-family: 'Roboto', sans-serif; color: #121927; }

.section-payment-steps .shell { width: 100%; max-width: 960px; margin-left: auto; margin-right: auto; padding: 0 15px; }
.section-payment-steps > .shell { display: flex; flex-flow: row wrap; justify-content: space-between; align-items: flex-start; margin-top: -30px; }

.section-payment-steps .section__header { position: sticky; top: -50px; z-index: 10; padding: 30px 0 50px; background: #101928; color: #fff; }
.section-payment-steps .section__header h1 { font-size: 1.7em; }
.section-payment-steps .section__header .shell { position: relative; }

.section-payment-steps .section__content { width: calc(100% - 320px); }

.section-payment-steps .section__sidebar { position: sticky; top: 56px; z-index: 10; width: 300px; border-radius: 8px; background: #fff; box-shadow: rgb(16 25 40 / 8%) 0px 16px 32px 0px; text-align: center; }

.section-payment-steps .section__current-step { margin-bottom: 15px; color: #111928; }

.section-payment-steps .section__step { display: none; }
.section-payment-steps .section__step.is-active { display: block; }
/* .section-payment-steps .section__step:not(:first-child) { position: relative; z-index: 11; } */

.section-payment-steps .section__tabs-head { position: sticky; top: 56px; z-index: 10; background: #fff; padding: 16px; border-radius: 8px; margin-bottom: 30px; box-shadow: rgb(16 25 40 / 8%) 0px 16px 32px 0px; }
.section-payment-steps .section__tabs-nav ul { overflow-y: auto; display: flex; margin: 0 -5px; list-style: none; }
.section-payment-steps .section__tabs-nav ul li { padding: 0 5px; }
.section-payment-steps .section__tabs-nav ul li a { white-space: nowrap; }
.section-payment-steps .section__tabs-nav ul li:not(.is-active) .btn-payment { color: #121927; background: #edeef3; }

.section-payment-steps .section__tab { margin-bottom: 30px; }
.section-payment-steps .section__tab h2 { margin-bottom: 16px; font-size: 20px; line-height: 1.33; }
.section-payment-steps .section__tab > ul { border-radius: 8px; background: #fff; box-shadow: rgb(16 25 40 / 8%) 0px 16px 32px 0px; list-style: none; }
.section-payment-steps .section__tab > ul > li { position: relative; display: flex; align-items: center; justify-content: space-between; padding: 24px; border-bottom: 1px solid #e7e8e9; }
.section-payment-steps .section__tab > ul > li:last-child { border-bottom-width: 0; }
.section-payment-steps .section__tab-titles { flex: 1; padding-right: 50px; }
.section-payment-steps .section__tab-titles h5 { font-weight: bold; font-size: 17px; line-height: 1.41; margin-bottom: 0; }
.section-payment-steps .section__tab-titles ul { list-style: none; display: flex; font-size: 15px; line-height: 1.4; opacity: .8; }
.section-payment-steps .section__tab-titles ul li + li:before { content: ''; display: inline-block; width: 5px; height: 5px; background: #121927; border-radius: 50%; margin: 0 9px; position: relative; top: -2px; }
.section-payment-steps .section__tab-actions { display: flex; align-items: center; flex-shrink: 0; }
.section-payment-steps .section__tab-actions h6 { font-weight: normal; font-size: 18px; line-height: 1.39; margin-right: 16px; text-align: right; }

.section-payment-steps .section__summary { margin-bottom: 45px; }
.section-payment-steps .section__summary h5 { font-size: 17px; font-weight: normal; line-height: 1.47; margin-bottom: 10px; }
.section-payment-steps .section__summary ul { list-style: none; font-size: 14px; line-height: 1.79; }
.section-payment-steps .section__summary ul li span { display: inline-block; }
.section-payment-steps .section__summary ul li span:first-child { width: 100px; padding-right: 10px; font-weight: 600; }

.section-payment-steps .section__title { font-weight: normal; text-align: center; margin-bottom: 50px; position: relative; opacity: .7; }
.section-payment-steps .section__title:before { content: ''; position: absolute; left: 0; top: 50%; width: 100%; height: 1px; background: #121927; }
.section-payment-steps .section__title h4 { display: inline-block; padding: 0 30px; position: relative; z-index: 5; background: #fff; }

.section-payment-steps .section__add-cart input { position: absolute; z-index: -1; top: 0; left: 0; width: 0; height: 0; opacity: 0; }
.section-payment-steps .section__add-cart label { display: block; width: 36px; height: 36px; border: 1px solid #b7babe; border-radius: 50%; margin-right: 16px; text-align: center; }

@media (hover: hover) {
    .section-payment-steps .section__add-cart label:hover { border-color: #037aff; }
}

.section-payment-steps .section__add-cart input:checked + label { border-color: #037aff; background: #037aff; }
.section-payment-steps .section__add-cart label:before { content: ''; display: none; width: 10px; height: 20px; border-width: 0 2px 2px 0; border-style: solid; border-color: #fff; margin-top: 4px; transform: rotate(45deg); }
.section-payment-steps .section__add-cart label:after { content: ''; position: absolute; top: 0; left: 0; z-index: 1; width: 100%; height: 100%; }
.section-payment-steps .section__add-cart input:checked + label:before { display: inline-block; }

@media screen and (max-width: 1023px) {
    .section-payment-steps .shell { padding: 0 40px; }
    .section-payment-steps > .shell { padding: 0; }

    .section-payment-steps .section__tab h2 { padding: 0 40px; margin-bottom: 0; }

    .section-payment-steps .section__header { padding-bottom: 40px; }

    .section-payment-steps .section__content { width: 100%; }

    .section-payment-steps .section__sidebar { display: none; }

    .section-payment-steps .section__tabs-head { padding: 0 35px 16px; border-radius: 0; margin-bottom: 0; background: #101928; }

    @media (hover: hover) {
        .section-payment-steps .section__tabs-nav a:hover { background: #fff; color: #101928; }
    }

    .section-payment-steps .section__tabs-nav .is-active a { background: #fff; color: #101928; }
    .section-payment-steps .section__tabs-nav ul li:not(.is-active) .btn-payment { background: #101928; color: #fff; }

    .section__tabs .section__tabs-body { background: #fff; }

    .section-payment-steps .section__tab { padding: 24px 0 0 0; margin-bottom: 0; border-top: 3px solid #111928; }
    .section-payment-steps .section__tab > ul { box-shadow: none; }
    .section-payment-steps .section__tab > ul > li { padding-right: 40px; padding-left: 40px; }

}

@media screen and (max-width: 767px) {
    .section-payment-steps .shell { padding: 0 20px; }

    .section-payment-steps > .shell { padding: 0; }


    .section-payment-steps .section__tab h2 { padding: 0 20px; }

    .section-payment-steps .section__tabs-head { padding-right: 15px; padding-left: 15px; }

    .section-payment-steps .section__tab > ul > li { padding-right: 20px; padding-left: 20px; }
    
    .section__tabs .section__tabs-body div:nth-last-child(2){ padding-bottom: unset !important; }

    .section__tabs .section__tabs-body .actions{ height: 50px; display: flex; justify-content: space-between; padding: 0 37px; }
}

.section-shadow { padding: 30px !important; border-radius: 8px; background: #fff; box-shadow: rgb(16 25 40 / 8%) 0px 16px 32px 0px; }

.section-above { position: relative; z-index: 11; }

.section__tabs .section__tabs-body .actions--secondary{ display: flex; justify-content: space-between; flex-direction: row-reverse; }

/* ------------------------------------------------------------ *\
    Form Payment
\* ------------------------------------------------------------ */

.form-payment { padding: 10px 15px; border-radius: 8px; background: #fff; box-shadow: rgb(16 25 40 / 8%) 0px 8px 16px 0px; }
.form-payment .form__section + .form__section { margin-top: 40px; }
.form-payment .form__section h5 { font-size: 17px; font-weight: normal; line-height: 1.47; margin-bottom: 10px; }

.form-payment .form__entry { font-size: 13px; line-height: 1.54; }
.form-payment .form__entry h6 { font-size: 13px; font-weight: bold; margin-bottom: 0; }

.form-payment .form__row { display: flex; margin: 0 -9px; }

.form-payment .form__controls { width: 50%; padding: 0 9px; margin-bottom: 15px; }

p.powered-by {font-size: 11px; font-family:Roboto, arial, sans-serif;}
textarea#student-notes{ background: #f7f8f9; min-height: 60px; width: 100%; border: 1px solid #ececed; border-radius: 4px;padding: 10px 15px; font-size: 14px; appearance: none; }

.form-payment input[type="text"],
.form-payment input[type="tel"],
.form-payment input[type="email"],
.form-payment input[type="password"],
.form-payment input[type="number"],
.form-payment select { background: #f7f8f9; height: 42px; width: 100%; border: 1px solid #ececed; border-radius: 4px;padding: 0 15px; font-size: 14px; appearance: none; }

/*{ height: 46px; width: 100%; border: 1px solid #d5d7da; border-radius: 4px; padding: 0 16px; font-size: 14px; appearance: none; }*/
.form-payment input[type="checkbox"] { position: absolute; opacity: 0; visibility: hidden; }
.form-payment input[type="checkbox"] + label { display: block; position: relative; padding-left: 25px; font-size: 13px; line-height: 1.54; color: #121927; }
.form-payment input[type="checkbox"] + label:before { content: ''; position: absolute; left: 0; top: 3px; width: 13px; height: 13px; border: 2px solid #121927; border-radius: 2px; }
.form-payment input[type="checkbox"]:checked + label:after { content: ''; position: absolute; left: 4px; top: 5px; height: 7px; width: 5px; border: solid #121927; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.form-payment input[type="checkbox"] + label a { color: inherit; }

.form-payment input[type="text"].error,
.form-payment input[type="tel"].error,
.form-payment input[type="email"].error,
.form-payment input[type="password"].error,
.form-payment input[type="number"].error,
.form-payment select.error { border-color: #ff0000; }
.form-payment input[type="checkbox"].error + label { color: #f00; }

.form-payment .form__actions button { border: none; }


/* ------------------------------------------------------------ *\
    Form Waiting Advanced
\* ------------------------------------------------------------ */

.form-waiting { padding: 10px 15px; border-radius: 8px; background: #fff; box-shadow: rgb(16 25 40 / 8%) 0px 8px 16px 0px; }
.form-waiting .form__section + .form__section { margin-top: 40px; }
.form-waiting .form__section h5 { font-size: 17px; font-weight: normal; line-height: 1.47; margin-bottom: 10px; }

.form-waiting .form__entry { font-size: 13px; line-height: 1.54; }
.form-waiting .form__entry h6 { font-size: 13px; font-weight: bold; margin-bottom: 0; }

.form-waiting .form__row {margin: 0 -9px; }

.form-waiting .form__controls { width: 100%; padding: 0 10px; margin-bottom: 15px; }
.form__controls.inputdrivingexp {    padding: 0 10px;}

p.powered-by {font-size: 11px; font-family:Roboto, arial, sans-serif;}
textarea#student-notes{ background: #f7f8f9; min-height: 60px; width: 100%; border: 1px solid #ececed; border-radius: 4px;padding: 10px 15px; font-size: 14px; appearance: none; }

.form-waiting input[type="text"],
.form-waiting input[type="tel"],
.form-waiting input[type="email"],
.form-waiting input[type="password"],
.form-waiting input[type="number"],
.form-waiting select { background: #f7f8f9; height: 42px; width: 100%; border: 1px solid #ececed; border-radius: 4px;padding: 0 15px; font-size: 14px; appearance: none; }

/*{ height: 46px; width: 100%; border: 1px solid #d5d7da; border-radius: 4px; padding: 0 16px; font-size: 14px; appearance: none; }*/
.form-waiting input[type="checkbox"] { position: absolute; opacity: 0; visibility: hidden; }
.form-waiting input[type="checkbox"] + label { font-weight:400; display: block; position: relative; padding-left: 25px; line-height: 1.54; color: #121927; }
.form-waiting input[type="checkbox"] + label:before { content: ''; position: absolute; left: 0; top: 3px; width: 13px; height: 13px; border: 2px solid #121927; border-radius: 2px; }
.form-waiting input[type="checkbox"]:checked + label:after { content: ''; position: absolute; left: 4px; top: 5px; height: 7px; width: 5px; border: solid #121927; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.form-waiting input[type="checkbox"] + label a { color: inherit; }

.form-waiting input[type="text"].error,
.form-waiting input[type="tel"].error,
.form-waiting input[type="email"].error,
.form-waiting input[type="password"].error,
.form-waiting input[type="number"].error,
.form-waiting select.error { border-color: #ff0000; }
.form-waiting input[type="checkbox"].error + label { color: #f00; }

.form-waiting .form__actions button { border: none; }

/* ------------------------------------------------------------ *\
    Form Stripe
\* ------------------------------------------------------------ */

.form-stripe { padding: 24px 32px; border-radius: 8px; background: #fff; }
.form-stripe .error { display: none; text-align: center; font-size: 14px; padding: 20px 10px 0; color: #fa755a; }
.form-stripe .error.visible { display: block; }

.form-stripe label { font-size: 14px; color:#313131; font-weight: bold; line-height: 1.47; margin-bottom: 5px; display: block; }

.form-stripe .form__group + .form__group { margin-top: 30px; }

.form-stripe .form__row { display: flex; flex-wrap: wrap; }
.form-stripe .form__controls { width: 100%; position: relative; }
.form-stripe .form__controls--medium { width: 50%; }

.form-stripe input[type="text"],
.form-stripe input[type="tel"],
.form-stripe input[type="email"],
.form-stripe input[type="password"],
.form-stripe input[type="number"],
.form-stripe select { height: 42px; width: 100%; border: 1px solid #ececed; background:#f7f8f9; border-radius: 4px; padding: 0 15px; font-size: 14px; appearance: none; -webkit-appearance: none; }
.form-stripe select { padding-right: 30px; }

.form-stripe .form__select { position: relative; }
.form-stripe .form__select:after { content: ''; position: absolute; right: 10px; top: 15px; width: 10px; height: 10px; border: solid #121927; border-width: 0 2px 2px 0; transform: rotate(45deg); }

.form-stripe .form__actions { padding-top: 40px; text-align: center; }
.form-stripe .btn-payment { border: none; }

.StripeElement { background: #f7f8f9; box-sizing: border-box; height: 42px; width: 100%; border: 1px solid #ececed; border-radius: 4px; padding: 12px 15px; }

.StripeElement--invalid { border-color: #ff0000; }

.form-stripe .form__group--two-rows .form__row:first-child input[type="text"],
.form-stripe .form__group--two-rows .form__row:first-child input[type="tel"],
.form-stripe .form__group--two-rows .form__row:first-child input[type="email"],
.form-stripe .form__group--two-rows .form__row:first-child input[type="password"],
.form-stripe .form__group--two-rows .form__row:first-child input[type="number"],
.form-stripe .form__group--two-rows .form__row:first-child .StripeElement,
.form-stripe .form__group--two-rows .form__row:first-child select { border-radius: 4px 4px 0 0; }

.form-stripe .form__group--two-rows .form__row:nth-child(2) input[type="text"],
.form-stripe .form__group--two-rows .form__row:nth-child(2) input[type="tel"],
.form-stripe .form__group--two-rows .form__row:nth-child(2) input[type="email"],
.form-stripe .form__group--two-rows .form__row:nth-child(2) input[type="password"],
.form-stripe .form__group--two-rows .form__row:nth-child(2) input[type="number"],
.form-stripe .form__group--two-rows .form__row:nth-child(2) select { border-radius: 0 0 4px 4px; border-top: none; }
.form-stripe .form__group--two-rows .form__row:nth-child(2) .StripeElement { border-top: none; }
.form-stripe .form__group--two-rows .form__row:nth-child(2) .form__controls:first-child .StripeElement { border-radius: 0 0 0 4px; }
.form-stripe .form__group--two-rows .form__row:nth-child(2) .form__controls:last-child .StripeElement { border-radius: 0 0 4px 0; border-left: none; }

.brands { display: flex; align-items: center; position: absolute; right: 10px; bottom: 10px; pointer-events: none; }
.brands .brands__logo { height: 20px; }
.brands .brands__logo img { height: 100%; width: auto; }
.brands .brands__logo + .brands__logo { margin-left: 10px; }

/* ------------------------------------------------------------ *\
    Payment Disclaimer
\* ------------------------------------------------------------ */

.payment-disclaimer { padding-bottom: 10px; text-align: center; }

/* ------------------------------------------------------------ *\
    School
\* ------------------------------------------------------------ */

.school { padding: 24px 32px; border-bottom: 1px solid #e7e8e9; }
.school .school__logo { position: relative; z-index: 1; overflow: hidden; width: 100px; height: 100px; border: 2px solid #fff; border-radius: 50%; margin: -65px auto 10px; background: #fff; box-shadow: rgb(16 25 40 / 8%) 0px 8px 16px 0px; }
.school .school__logo img { width: 100%; height: auto; }
.school .school__name h3 { font-size: 17px; }

.school.school-mobile{ display: none; }

@media screen and (max-width: 767px) {
    .school.school-mobile{ display: block; padding: 24px 0px; }
}

/* ------------------------------------------------------------ *\
    Cart
\* ------------------------------------------------------------ */

.cart ul { list-style: none outside none; }
.cart .cart__list { padding: 24px 31px; font-size: 15px; line-height: 1.4; }
.cart .cart__total { display: flex; flex-flow: row wrap; justify-content: space-between; align-items: flex-start; border-top: 1px solid #e7e8e9; padding: 24px 32px; font-size: 17px; font-weight: 700; }

.cart--inline .cart__list { padding: 0; }
.cart--inline .cart__total { padding: 2px 0 0; border-width: 0; }

.cart--inline .product-small { font-size: 17px; line-height: 1.41; color: #878c93; }
.cart--inline .product-small__price { display: none; }
.cart--inline .cart__total-label { display: none; }

/* ------------------------------------------------------------ *\
    Verification
\* ------------------------------------------------------------ */

p.verified-true { display: inline-block; color: #069a8e; margin-left: 5px; }
p.verified-true.hidden { display: none; }

/* ------------------------------------------------------------ *\
    Buttons
\* ------------------------------------------------------------ */

.btn-reverse { position: absolute; top: -3px; left: -20px; display: none; width: 24px; height: 24px; background: url(../images/ico-back.svg) 0 0 no-repeat;  font-size: 0; line-height: 0; }

@media screen and (max-width: 1023px) {
    .btn-reverse { left: 8px; }
}

/* ------------------------------------------------------------ *\
    Product Small
\* ------------------------------------------------------------ */

.product-small { display: flex; flex-wrap: nowrap; justify-content: space-between; font-size: 15px; font-weight: 400; line-height: 21px; color: #101928; }
.product-small .product-small__title { }

/* ------------------------------------------------------------ *\
    Section Payment Next
\* ------------------------------------------------------------ */

.section-payment-next { position: fixed; bottom: 0; left: 0; z-index: 11; display: none; width: 100%; padding: 16px; border: 1px solid #e7e8e9; background: #fff; }
.section-payment-next > .shell { display: flex; justify-content: space-between; width: 100%; }
.section-payment-next .cart--inline { display: none; }

.section-payment-next-actions { margin-left: auto; }
.section-payment-next .btn-payment { min-height: 48px; padding: 11px 15px; border-radius: 4px; font-size: 17px; font-weight: 700; line-height: 26px; }

@media screen and (max-width: 1023px) {
    .section-payment-next .cart--inline { display: block; }
}

/* ------------------------------------------------------------ *\
    Lesson Summary
\* ------------------------------------------------------------ */

.lesson-summary { display: none; margin-top: 20px; text-align: left; }
.lesson-summary h4 { margin-bottom: 3px; }
.lesson-summary td { padding: 3px 0; }
.lesson-summary td:last-child { text-align: right; }

/* ------------------------------------------------------------ *\
    Booking Payment
\* ------------------------------------------------------------ */

.booking-payment.booking-payment { display: none; float: left !important; }