.modal-open {
    overflow: hidden
}

.modal {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 100000;
    display: none;
    overflow: hidden;
    outline: 0;
    background: rgba(0, 0, 0, 0.4);
    padding-top: 100px;
}

.modal.fade .modal-dialog {
    transition: transform .3s ease-out;
    transform: translate(0,-25%)
}

.modal.in .modal-dialog {
    transform: translate(0,0)
}

.modal-open .modal {
    overflow-x: hidden;
    overflow-y: auto
}

.modal-dialog {
    position: relative;
    width: auto;
    margin: 10px;
}

.modal-content {
    position: relative;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid rgba(0,0,0,.2);
    border-radius: 6px;
    outline: 0;
    box-shadow: 0 3px 9px rgba(0,0,0,.5)
}

.modal-backdrop {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1040;
    background-color: #000
}

.modal-backdrop.fade {
    opacity: 0
}

.modal-backdrop.in {
    opacity: .5
}

.modal-header {
    padding: 15px;
    border-bottom: 1px solid #e5e5e5
}

.modal-header .wl-modal-close {
    margin-top: -2px
}

.modal-title {
    margin: 0;
    line-height: 1.42857143
}

.modal-body {
    position: relative;
    padding: 15px
}

.modal-footer {
    padding: 15px;
    text-align: right;
    border-top: 1px solid #e5e5e5
}

.modal-footer .btn+.btn {
    margin-bottom: 0;
    margin-left: 5px
}

.modal-footer .btn-group .btn+.btn {
    margin-left: -1px
}

.modal-footer .btn-block+.btn-block {
    margin-left: 0
}

.modal-scrollbar-measure {
    position: absolute;
    top: -9999px;
    width: 50px;
    height: 50px;
    overflow: scroll
}

@media(min-width: 768px) {
    .modal-dialog {
        width:600px;
        margin: 30px auto
    }

    .modal-content {
        box-shadow: 0 5px 15px rgba(0,0,0,.5)
    }

    .modal-sm {
        width: 300px
    }
}

@media (max-width: 1000px) {

    .wl-header .mobile-wrap {
        position: absolute;
        top: 80px;
        left: 0;
        right: 0;
        background-color: #121217;
        z-index: 1001;
    }
}

@media(min-width: 992px) {
    .modal-lg {
        width:900px
    }
}


.modal--auth .modal-dialog{
    max-width: 396px;
}

.modal--auth .modal-content a {
    text-decoration: none;
}

.modal--auth .modal-content {
    border-radius: 0;
    border: 0;
    box-shadow: 0 0 4px rgba(0,0,0,0.1);
    background-clip: border-box;
    text-align: left;
}

.modal--auth .wl-modal-close {
    position: absolute;
    width: 24px;
    height: 24px;
    border: none;
    top: 15px !important;
    right: 10px !important;
    background: transparent url("/local/assets/img/modal-close.svg") no-repeat center;
    background-size: contain;
    padding: 0;
    margin: 0;
    opacity: 1;
    transition: all .3s;
}

.modal--auth .wl-modal-close:hover {
    opacity: .6
}

.modal--auth .auth-modal {
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.25);
    background: #FFFFFF;
}

.modal--auth .auth-modal__header {
    background: #F2F2F2;
}

.modal--auth .auth-modal__header.white {
    background: #FFFFFF;
}

.modal--auth .auth-modal__body {
    padding: 30px 45px;
}

.modal--auth .auth-modal__body h3 {
    font-weight: 500;
    font-size: 28px;
    line-height: 1.2;
    margin-top: 10px;
    color: #121217;
    margin-bottom: 23px;
}

.modal--auth .btn-action {
    width: 100%;
    padding: 15px 20px;
    border: solid 0 #509AA5;
    border-radius: 3px;
    box-shadow: 0 3px 4px #DEE;
    background-color: #509AA5;
    color: #FFF;
    transition: all 0.2s ease-in;
    margin: 20px 0;
}

.modal--auth .btn-action:hover {
    background-color: #58A8BD;
    box-shadow: 0 3px 4px #CDD;
}


/*
    Прелоадер для экрана модалки
 */

.modal__loader {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(255, 255, 255, 0.75);
}

.modal__spinner {
    position: relative;
    top: calc(50% - 30px);
    left: calc(50% - 30px);
}

.loader-spinner {
    width: 60px;
    aspect-ratio: 1;
    padding: 10px;
    box-sizing: border-box;
    display: grid;
}
.loader-spinner,
.loader-spinner:before,
.loader-spinner:after {
    --c:no-repeat linear-gradient(#046D8B 0 0);
    background: var(--c), var(--c), var(--c), var(--c);
    animation: l18-1 1.5s infinite  cubic-bezier(0,0,1,1), l18-2 1.5s infinite;
}
.loader-spinner:before,
.loader-spinner:after {
    content: "";
    grid-area: 1/1;
    animation-timing-function: cubic-bezier(0,0.2,1,1),linear;
}
.loader-spinner:after {
    margin: 10px;
    animation-timing-function: cubic-bezier(0,0.4,1,1),linear;
}
@keyframes l18-1 {
    0%,
    10%   {background-size: 0    4px,4px 0 }
    40%,
    60%   {background-size: 100% 4px,4px 100%}
    90%,
    100%  {background-size: 0    4px,4px 0  }
}
@keyframes l18-2 {
    0%,49.9%{background-position: 0    0,0    0,100% 100%,100% 100%}
    50%,100%{background-position: 100% 0,0 100%,0    100%,100% 0}
}


/*
    Прелоадер для формы модалки
 */

.modal-content__preloader {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(255, 255, 255, 0.75);
}

.modal-content__spinner {
    position: relative;
    top: calc(50% - 25px);
    left: calc(50% - 25px);
}

.preloader-spinner {
    width: 50px;
    aspect-ratio: 1;
    color: #4B90A3;
    animation: l40 .5s infinite alternate;
    background-color: rgba(255, 255, 255, 0);
}
.preloader-spinner:before,
.preloader-spinner:after {
    content: "";
    position: absolute;
    inset: 0;
    background-size: 25px 25px;
    background-position: 0 0,100% 0,100% 100%,0 100%;
    background-repeat: no-repeat;
}
.preloader-spinner:before {
    background-image:
            radial-gradient(farthest-side at top    left ,currentColor 96%,#0000),
            radial-gradient(farthest-side at top    right,currentColor 96%,#0000),
            radial-gradient(farthest-side at bottom right,currentColor 96%,#0000),
            radial-gradient(farthest-side at bottom left ,currentColor 96%,#0000);
    animation: l40-1 1s infinite;
}
.preloader-spinner:after {
    background-image:
            radial-gradient(farthest-side at top    left ,#0000 94%,currentColor 96%),
            radial-gradient(farthest-side at top    right,#0000 94%,currentColor 96%),
            radial-gradient(farthest-side at bottom right,#0000 94%,currentColor 96%),
            radial-gradient(farthest-side at bottom left ,#0000 94%,currentColor 96%);
    animation: l40-2 1s infinite;
}
@keyframes l40-1 {
    0%,10%,90%,100% {inset:0}
    40%,60% {inset:-10px}
}
@keyframes l40-2 {
    0%,40%  {transform: rotate(0)}
    60%,100%{transform: rotate(90deg)}
}

/*
    Блок оформления формы
 */

.wl-form .input-div {
    border: solid 1px #B9B9B9;
    border-radius: 5px;
    background-color: #fff;
    margin: 0;
    transition: border-color .3s ease;
}

.wl-form .input-div:hover {
    border: solid 1px #888;
}

.wl-form .input-div.error,
.wl-form .input-div:has(.error)
{
    border-color: #FF453A;
    transition: border-color .3s ease;
}

.wl-form .input-div.error:hover,
.wl-form .input-div:has(.error):hover
{
    border-color: #888;
}

.wl-form .input-div input {
    font-size: 16px;
    padding: 0 15px;
    border: none;
    background-color: rgba(255, 255, 255, 0);
}

.wl-form .input-div input::placeholder {
    color: #B9B9B9;
}

.wl-form .form-checkbox-wrap label {
    display: block !important;
}

.wl-form .social-break {
    height: 25px;
}

.wl-form .social-break hr {
    margin: 25px 0 0 0;
}

.wl-form .social-break .or-line {
    margin: -13px 0 15px 0;
    padding: 0;
    text-align: center;
    font-size: 16px;
}

.wl-form .social-break .or-line span {
    background-color: #fff;
    color: #aaa;
}

.wl-form .social-break .or-line span:before, .or-line span:after {
    content: "\00a0\00a0";
}

.wl-form .social-bar {
    margin: 20px 0;
}

.wl-form .social-bar .social-bar-vk-item {
    border: none;
    background: #ffffff00;
    width: 100%;
    padding: 10px 0;
    font-size: 16px;
    color: #1D1D1B;
    border-radius: 5px;
    transition: background-color .3s ease;
}

.wl-form .social-bar .social-bar-vk-item:hover {
    background-color: #F2F2F2;
}

.wl-form .social-bar .social-bar-vk-item img {
    height: 28px;
    vertical-align: -9px;
}

.wl-form .auth-error {
    color: #FF453A;
    margin: -10px 0 10px 0;
    padding: 0;
}

.wl-form .form-control,
.wl-form input[type=text],
.wl-form input[type=password],
.wl-form input[type=email],
.wl-form textarea {
    height: 48px;
}

.wl-form .form-item {
    display: flex;
    margin-bottom: 12px;
    align-items: center;
}

.wl-form label,
.wl-form label.error {
    width: 100%;
    font-size: 15px;
    line-height: 1.2;
    color: #000000;
    font-weight: 400;
    display: none !important;
}

.wl-form .form-input {
    width: 100%;
}

.wl-form .form-checkbox-wrap {
    position: relative;
    margin-bottom: 10px;
}

.wl-form .form-checkbox-wrap label {
    max-width: none;
}

.wl-form .form-checkbox {
    opacity: 0.01;
    position: absolute;
    left: 0;
    top: 0;
}

.wl-form .form-checkbox + label {
    position: relative;
    padding-left: 25px;
}

.wl-form .form-checkbox + label:before {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 16px;
    height: 16px;
    background-size: 12px;
    background-position: center;
    background-repeat: no-repeat;
    border: 1px solid #AAB4B6;
    border-radius: 2px;
}

.wl-form .form-checkbox:checked + label:before {
    background-image: url("/local/assets/img/fe-check.svg");
}

.wl-form .password-field {
    width: 100%;
}

.wl-form .form-item.input-phone .phone-box button {
    box-sizing: border-box;
}

@media (max-width: 600px) {
    .wl-form .form-item {
        flex-wrap: wrap;
    }
}

.wl-form a.a-secondary {
    color: #626262;
}

.wl-form a.a-secondary:hover {
    color: #121217;
}

.wl-form .bottom-center-link {
    padding: 0 0 9px 0;
}

.wl-form .bottom-center-link p {
    text-align: center;
}

.wl-form .bottom-center-link a {
    text-decoration: none !important;
}

.wl-form .bottom-center-link a:hover {
    color: #121217;
}

.wl-form .btn-main.btn-register.done,
.wl-form .btn-main.btn-password.done {
    background-color: #121217;
}

.wl-form .btn-main.btn-register.done .checked,
.wl-form .btn-main.btn-password.done .checked {
    display: inline;
    margin: -5px 10px 0 0;
}

.wl-form .btn-main.btn-register:not(.done) .checked,
.wl-form .btn-main.btn-password:not(.done) .checked {
    display: none;
}

.wl-form .btn-main.btn-register:not(.done) .done,
.wl-form .btn-main.btn-password:not(.done) .done {
    display: none;
}

.wl-form .btn-main.btn-register.done .active,
.wl-form .btn-main.btn-password.done .active {
    display: none;
}

.wl-form .btn-main.inactive {
    background-color: #B9B9B9;
}

.wl-form .resend-action.active .resend-inactive,
.wl-form .resend-action.active .resend-countdown {
    display: none;
}

.wl-form .resend-action.inactive {
    color: #B9B9B9;
}

.wl-form .resend-action.inactive .resend-active {
    display: none;
}

.auth-modal__inline-loader {
    height: 300px;
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
}

/*
    Блок ссылки "Назад" на формах врсстановления пароля
 */


.auth-modal__header .back-p {
    height: 50px;
    margin-bottom: -20px;
    padding: 28px 45px 0 45px;
    font-size: 12px;
}

.auth-modal__header .back-p .back-link {
    text-decoration: none;
    color: #626262;
}

.auth-modal__header .back-p .back-link::before {
    content: "\02190\00020";
    text-decoration: none;
    color: #626262;
}

.auth-modal__header .back-p .back-link:hover,
.auth-modal__header .back-p .back-link:hover::before {
    color: #121217;
}


/*
    Блок табов для форм входа и регистрации
 */


.nav-tabs.wl-tabs {
    background: #F2F2F2;
    height: 50px;
    align-items: flex-end;
    padding-left: 30px;
    padding-right: 45px;
    border: none;
    display: flex;
}

.nav-tabs.wl-tabs > li.nav-item {
    padding-left: 0;
}

.nav-tabs.wl-tabs > li.nav-item:before,
.nav-tabs.wl-tabs > li.nav-item:after {
    display: none;
}

.nav-tabs.wl-tabs > li.nav-item > a {
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    padding: 10px 14px;
    line-height: 1;
    border: none !important;
    text-decoration: none;
    font-weight: 400;
    font-size: 16px;
    text-align: center;
    color: #AAB4B6;
    height: 35px;
    box-sizing: border-box;
    margin-left: 2px;
}

.nav-tabs.wl-tabs > li.nav-item > a:focus,
.nav-tabs.wl-tabs > li.nav-item > a:hover {
    color: #000;
}

.nav-tabs.wl-tabs > li.nav-item > a.active {
    background-color: white;
    color: #121217;
}

