img {
    max-width: 100%;
    height: auto;
}

.form .error {
    color: #FF6E60;
    border-color: #FF6E60;
}

.form label.error {
    display: block;
    font-size: 90%;
}

.form .error_text {
    color: #FF6E60;
    font-size: 12px;
    line-height: normal;

    margin-top: 6px;
}

.alert {
    border: none;
    border-radius: 1px;
    font-size: 14px;
    line-height: 1.2;
    padding: 15px;
    margin-bottom: 20px;
}

.alert h4 {
    margin-top: 0;
    color: inherit;
}

.alert a,
.alert .alert-link {
    color: inherit;
    font-weight: bold;
}

.alert > p,
.alert > ul {
    margin-bottom: 0;
}

.alert > p + p {
    margin-top: 5px;
}

.bxe-aleft-title {
    font-weight: bold;
    padding-bottom: 5px;
}

.alert-success {
    color: #3C763D;
    background-color: #DFF0D8;
    border-color: #D6E9C6;
}

.alert-secondary {
    color: #31708f;
    background-color: #d9edf7;
    border-color: #bce8f1;
}

.alert-warning {
    color: #8A6D3B;
    background-color: #FCF8E3;
    border-color: #FAEBCC;
}

.alert-danger {
    color: #A94442;
    background-color: #F2DEDE;
    border-color: #EBCCD1;
}

.alert-info {
    color: #31708f;
    background-color: #d9edf7;
    border-color: #bce8f1;
}

.alert-dismissable,
.alert-dismissible {
    padding-right: 35px;
}

.alert-dismissable .close,
.alert-dismissible .close {
    float: right;
    position: relative;
    top: -2px;
    right: -21px;
    color: inherit;
    cursor: pointer;
}

.alert font {
    color: inherit;
}

.alert font.errortext {
    color: inherit !important;
}

.bx-soa-tooltip .tooltip-inner {
    padding: 4px 8px;
    font-size: 12px;
    border-radius: 3px;
    margin: 4px 0;
    display: inline-block;
}


.btn.loading {
    position: relative;
}

.btn.loading::after {
    content: '';
    display: block;
    position: absolute;
    width: 18px;
    height: 18px;
    border: 3px solid rgb(255 255 255 / 20%);
    border-top-color: rgb(15 94 255);
    border-radius: 50%;
    animation: btnLoading 1s linear infinite;
    top: 50%;
    left: 50%;
    margin-top: -9px;
    margin-left: -9px;
    z-index: 10;
}

.btn.loading.btn-blue {
    background: #5990ff;
    color: rgb(255 255 255 / 50%);
}

@keyframes btnLoading {
    0% {
        transform: rotate(0);
    }
    100% {
        transform: rotate(360deg);
    }
}

.form {
    position: relative;
}

.form.loading:before,
.form form[target^="formTarget"]:before,
form.form[target^="formTarget"]:before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #fafafa;
    z-index: 5;
    opacity: 0.8;
}

.form.loading:after,
.form form[target^="formTarget"]:after,
form.form[target^="formTarget"]:after {
    content: '';
    display: block;
    position: absolute;
    width: 36px;
    height: 36px;
    border: 4px solid rgb(0 0 0 / 100%);
    border-top-color: transparent;
    border-radius: 50%;
    animation: formLoading 1s linear infinite;
    top: 50%;
    left: 50%;
    margin-top: -18px;
    margin-left: -18px;
    z-index: 10;
}


@keyframes formLoading {
    0% {
        transform: rotate(0);
    }
    100% {
        transform: rotate(360deg);
    }
}

.bx-core-window input,
.bx-core-window textarea,
.bx-core-window button {
    appearance: auto;
}

.popup-window-overlay {
    max-width: 100%;
}

.popup-window,
.popup-window.popup-window-with-titlebar {
    width: 350px;
    max-width: 100%;
    border-radius: 0;
    padding: 12px 16px 16px;
    border: 1px solid #000000;
    background: #FFF;
    font-family: inherit;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%);
    position: fixed !important;
    font-size: 12px;
    line-height: 1.4;
    box-shadow: none;
    backface-visibility: hidden;
    -webkit-font-smoothing: antialiased;
}

@media (max-width: 767px) {
    .popup-window,
    .popup-window.popup-window-with-titlebar {
        padding: 40px 30px;
    }
}

@media (max-width: 479px) {
    .popup-window,
    .popup-window.popup-window-with-titlebar {
        padding: 60px 15px 30px;
        border-radius: 0;
        min-height: 100%;
    }
}

.popup-window-titlebar-text,
.popup-window-titlebar-text-version {
    display: block;
    font-weight: 400;
    font-size: 21px;
    line-height: 1.4;
    color: #3B3D42;
    margin-bottom: 12px;
    padding: 0;
    text-align: center;
}

@media (max-width: 479px) {
    .popup-window-titlebar-text,
    .popup-window-titlebar-text-version {
        font-size: 19px;
    }
}

.popup-window .popup-window-titlebar {
    height: auto;
}

.popup-window .popup-window-content {
    padding: 0;
    font-size: 14px;
    line-height: 1.4;
}

.popup-window-close-icon,
.popup-window-titlebar-close-icon {
    position: absolute;
    top: 5px;
    right: 5px;
    color: #000000;
    display: flex;
    justify-content: center;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    width: 12px;
    height: 12px;
    border: none;
    padding: 0;
    border-radius: 0;
    transition: .2s linear;
    opacity: 1;
}

.popup-window-close-icon:before,
.popup-window-close-icon:after,
.popup-window-titlebar-close-icon:before,
.popup-window-titlebar-close-icon:after {
    content: "";
    background: #000000;
    height: 1px;
    width: 12px;
    margin: 0 auto;
    position: absolute;
    right: 0;
    left: 0;
    top: 50%;
    display: block;
}

.popup-window-close-icon:before,
.popup-window-titlebar-close-icon:before {
    transform: translateY(-50%) rotate(-45deg);
}

.popup-window-close-icon:after,
.popup-window-titlebar-close-icon:after {
    transform: translateY(-50%) rotate(45deg);
}

.popup-window .product-info img {
    max-width: 100%;
    object-fit: contain;
}

.popup-window .product-info p {
    font-size: 16px;
    margin-top: 12px;
}

.popup-window div[id*="CatalogSubscribe"] .bx-catalog-popup-content {
    width: 100%;
    max-width: 100%;
    text-align: center;
}

.popup-window div[id*="CatalogSubscribe"] .bx-catalog-popup-message {
    font-weight: 400;
    min-width: 0;
    margin: 10px 0;
    font-size: 16px;
}

.popup-window-buttons {
    padding: 12px 0 0 0;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 5px;
    justify-content: center;
}

.popup-window-buttons .btn {
    min-width: 107px;
    height: 32px;
    padding: 7px 16px 8px;
    text-transform: uppercase;
    cursor: pointer;
    border: 1px solid #000000;
}


.main-user-consent-request-popup-button-acc,
.main-user-consent-request-popup-button-rej {
    color: #fff;
    position: relative;
    display: inline-flex;
    height: auto;
    padding: 14px 15px;
    cursor: pointer;
    transition: .2s linear;
    border: none;
    background: #0f5eff;
    border-radius: 7px;
    text-align: center;
    text-decoration: none;
    align-items: center;
    border: 1px solid #0f5eff;
    box-shadow: none;
}

.main-user-consent-request-popup-button-rej {
    color: #0f5eff;
    background-color: transparent;
}

.main-user-consent-request-popup-button-acc:hover,
.main-user-consent-request-popup-button-rej:hover {
    color: #fff;
    background: #80BFC9;
    border-color: #80BFC9;
}


@media (max-width: 767px) {
    .main-user-consent-request-popup-button-acc,
    .main-user-consent-request-popup-button-rej {
        font-size: 14px;
        padding: 10px 15px;
    }
}

body.loading::before {
    content: '';
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgb(255 255 255 / 50%);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' version='1.1' viewBox='0 0 360 360'%3E%3Cpath d='M252.8,94.1c-1,1-4.2,5.2-6.9,11-2.2,4.7-4.8,10.7-8.1,19.5l-20,48.6c-26.7-26.6-78.5-81.4-106.4-86.1-11-1.9-15.8-.2-15.8-.2-3.9,1.2-6.7,2.8-9.4,5.5-12.1,11.9-2.9,38,2,53.8,3.6,11.6,8.9,23,13.9,34.5l23.4,48.1,36.1,64.5c.5,1.2,2.1,2.3,4.1,2.3,1.9,0,3.4-.6,4.1-2.3l20.7-45.7,8.7,17.1c.4.8,1.3,1.4,2.3,1.4h11c1,0,1.9-.5,2.3-1.4l32.4-62.3c6,3.1,14.2,6.3,21.6,3.5,18-6,10.4-27.3-4.6-23-1.8.6-3.1,1.7-4.1,3-1.2,1.7-2.7,5.7-.2,9.5.5.7.9,1.5.6,2.4-.4,1.4-1.8,1.8-3.2,1.9-3,.1-5.9-1.4-7.5-2.2l29.4-56.6-9.6-.3c-9.5-.2-12.5,5.5-13.8,8l-20.3,39.9c-4-3.2-12.9-11.1-12.9-11.1,6.9-15.8,5.5-15.6,23-53.1,3.5-7.4,3.8-8.1,6.2-12.8,3.9-7.9,7.2-13.7,14.5-17.7,6.6-3.6,12.9-2.7,13-4.2,0-1.3-3.7-3.2-8.8-3.4-8,0-12.7,2.6-17.7,7.9h0ZM175.1,266.9c-14.1-27-29.4-55.1-42.4-83.3-9.1-19.7-30.2-59.8-24.3-79.4,4.9-16.3,36.2,9.8,43,15.9,22.6,20.3,33.5,30.7,60.1,55.1l3.1,3,.6.6-19.2,42-42.2-80.3h-20.6l53.7,100.8-11.9,25.5h0ZM207.8,243.2l-8.1-15.4,19.8-43.6c.8-1.8,1.1-.8,2.5.4,3,2.4,7.3,5.9,11.1,8.9l-25.4,49.8h0Z'/%3E%3C/svg%3E");
    background-position: center;
    background-repeat: no-repeat;
    background-size: 74px;
    z-index: 999998;
}

body.loading::after {
    content: '';
    display: block;
    position: fixed;
    width: 82px;
    height: 82px;
    border: 3px solid rgb(0 0 0);
    border-top-color: transparent;
    border-radius: 50%;
    animation: pageLoading 1s linear infinite;
    top: 50%;
    left: 50%;
    margin-top: -41px;
    margin-left: -41px;
    z-index: 999999;
}

body.loading.load:before,
body.loading.load:after {
    transition: 0.3s all;
    animation: none;
    opacity: 0;
}

@keyframes pageLoading {
    0% {
        transform: rotate(0);
    }
    100% {
        transform: rotate(360deg);
    }
}


/* Убираем нативный прелоадер битрикса */
div[id^="wait_"] {
    display: none !important;
    background: none !important;
    border: 0 !important;
    color: #000000;
    font-family: Verdana, Arial, sans-serif;
    font-size: 11px;
    font-style: normal !important;
    font-variant: normal !important;
    font-weight: normal;
    letter-spacing: normal !important;
    line-height: normal;
    padding: 0 !important;
    position: absolute;
    text-align: center !important;
    text-indent: 0 !important;
    width: 0px !important;
    height: 0px !important;
    word-spacing: normal !important;
    z-index: 0;
    content: "";
}

/* Подправить форму параметров компонента */
#bx-comp-params-wrap textarea {
    min-width: 87%;
    height: 100px;
    resize: auto;
}

/* Правка багов при режиме правки */
.header_banner .header__menu + div[id^="bx_incl_area_"] {
    flex: 1 1 auto;
}

.header_banner .header__menu + div[id^="bx_incl_area_"] + div[id^="bx_incl_area_"] {
    margin-top: 40px;
}

/* */
.popup-window-side-content {
    height: 100%;
}

jdiv[class^="globalClass"] jdiv[class^="button"] {
    display: none !important;
}
