.ne-modal-wrapper {
    z-index: 9999999;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

.ne-modal-wrapper.ne-popup-inactive {
    pointer-events: none;
}

.ne-bootstrap input,
.ne-bootstrap input:focus {
    outline: 0 !important;
    -webkit-box-shadow: none !important;
    -moz-box-shadow: none !important;
    box-shadow: none !important;
}

.ne-bootstrap .ne-submit {
    border: 0;
    width: 100%;
    text-transform: uppercase;
    font-weight: bold;
}

.ne-modal-wrapper .modal-backdrop {
    z-index: 0 !important;
    pointer-events: all;
}

.ne-bootstrap .modal-dialog {
	width: 100%;
    padding: 15px !important;
}

.ne-bootstrap .modal-dialog .modal-content {
    border: 0 !important;
}

.ne-bootstrap .modal-dialog .modal-content .modal-header {
    border-bottom: 0;
}

.ne-bootstrap .modal-dialog .modal-content .modal-header img,
.ne-bootstrap .modal-dialog .modal-content .modal-header .ne-modal-text {
    padding: 15px;
    display: block;
}

.ne-bootstrap .modal-dialog .modal-content .modal-header img {
    max-width: 180px;
}

.ne-bootstrap .modal-dialog .modal-content .modal-header .ne-modal-text h2 {
    font-size: 36px !important;
    padding-bottom: 0 !important;
    font-weight: bold;
    line-height: 1.1em !important;
    margin: 0 !important;
}

.ne-bootstrap .modal-dialog .modal-content .modal-header .ne-modal-text p {
    line-height: 1.6em;
    font-size: 14px;
    margin-top: 0.5em;
    margin-bottom: 0;
}

.ne-bootstrap .modal-dialog .modal-content .modal-body p {
    line-height: 1.6em;
    font-size: 14px;
    margin-top: 0;
    margin-bottom: 1em;
}

.ne-bootstrap .modal-dialog .ne-modal-close {
    position: absolute;
    cursor: pointer;
    top: 5px;
    right: 5px;
    width: 30px;
    height: 30px;
    -webkit-border-radius: 30px;
    -moz-border-radius: 30px;
    border-radius: 30px;
    background-color: #ffffff;
    -webkit-box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.35);
    -moz-box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.35);
    box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.35);
    line-height: 30px;
    text-align: center;
    font-size: 26px;
    font-weight: bold;
    color: #222222;
    z-index: 200;
    outline: none;
}

.ne-bootstrap .modal-dialog .ne-modal-close.ne-timeout {
    font-size: 12px;
    font-weight: normal;
}

.ne-bootstrap .modal-dialog .ne-modal-close span {
    -webkit-transition: -webkit-transform .8s ease-in-out;
    -moz-transition: -moz-transform .8s ease-in-out;
    -ms-transition: -ms-transform .8s ease-in-out;
    transition: transform .8s ease-in-out;
    display: block;
}

.ne-bootstrap .modal-dialog .ne-modal-close:hover span,
.ne-bootstrap .modal-dialog .ne-modal-close span:hover {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    transform: rotate(360deg);
}

.ne-bootstrap.ne-with-divider .modal-header:after,
.ne-bootstrap.ne-with-divider .modal-body:before {
    display: block;
    position: absolute;
    content: '';
}

.ne-bootstrap.ne-divider-triangle .modal-body {
    padding-top: 40px;
}

.ne-bootstrap.ne-divider-triangle .modal-body:before {
    margin-left: -20px;
    border-left: 20px solid transparent;
    border-right: 20px solid transparent;
    border-top: 20px solid #fff;
    width: 0;
    top: 0;
    left: 50%;
}

.ne-bootstrap.ne-divider-wide-triangle .modal-body {
    padding-top: 60px;
}

.ne-bootstrap.ne-divider-wide-triangle .modal-body .ne-svg-triangle {
    position: absolute;
    top: -0.3px;
    left: 0px;
    fill: #fff;
    z-index: 100;
}

.ne-bootstrap.ne-divider-zigzag .modal-header {
    padding-bottom: 25px;
}

.ne-bootstrap.ne-divider-zigzag .modal-body:before {
    top: -10px;
    left: 0;
    width: 100%;
    height: 10px;
    background:
        linear-gradient(
            45deg,
            transparent 33.33%,
            #e9e9e9 33.33%,
            #e9e9e9 66.66%,
            transparent 66.66%
        ),
        linear-gradient(
            -45deg,
            transparent 33.33%,
            #e9e9e9 33.33%,
            #e9e9e9 66.66%,
            transparent 66.66%
        );
    background-size: 20px 40px !important;
}

.ne-bootstrap.ne-divider-curve .modal-body {
    padding-top: 50px;
}

.ne-bootstrap.ne-divider-curve .modal-body .ne-svg-curve {
    position: absolute;
    top: 0;
    left: -1px;
    fill: #fff;
    z-index: 99;
}

.ne-bootstrap .ne-modal {
    outline: none;
}

.ne-bootstrap .modal-dialog .modal-content.ne-no-shadow {
    -webkit-box-shadow: none;
    box-shadow: none;
}

.ne-modal-wrapper .ne-modal.fade .modal-dialog {
    -webkit-transition: -webkit-transform .3s ease-out;
    -moz-transition: -moz-transform .3s ease-out;
    -o-transition: -o-transform .3s ease-out;
    transition: transform .3s ease-out;
}

.ne-modal-wrapper .ne-modal.fade.in .modal-dialog {
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}

.ne-modal-wrapper .ne-modal.fade {
    -webkit-transition: opacity .15s linear;
    -moz-transition: opacity .15s linear;
    -o-transition: opacity .15s linear;
    transition: opacity .15s linear;
}

.ne-modal-wrapper .ne-modal.fade:not(.in) .modal-dialog {
    -webkit-transition: -webkit-transform .15s ease-out;
    -moz-transition: -moz-transform .15s ease-out;
    -o-transition: -o-transform .15s ease-out;
    transition: transform .15s ease-out;

    -webkit-transform: translate3d(0, -100%, 0);
    -moz-transform: translate3d(0, -100%, 0);
    -ms-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
}

.ne-modal-wrapper.ne-fly-in .modal-backdrop {
    display: none !important;
}

.ne-modal-wrapper.ne-fly-in {
    bottom: 0;
    top: auto;
}

.ne-modal-wrapper.ne-fly-in .modal-dialog {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

.ne-modal-wrapper.ne-fly-in .modal-dialog .ne-modal-close {
    top: 5px;
    right: 5px;
}

.ne-modal-wrapper.ne-fly-in .ne-modal.fade:not(.in) .modal-dialog {
    -webkit-transition: -webkit-transform .3s ease-out;
    -moz-transition: -moz-transform .3s ease-out;
    -o-transition: -o-transform .3s ease-out;
    transition: transform .3s ease-out;
}

.ne-modal-wrapper.ne-fly-in .ne-modal.fade {
    -webkit-transition: none !important;
    -moz-transition: none !important;
    -o-transition: none !important;
    transition: none !important;
    opacity: 1 !important;
}

.ne-modal-wrapper.ne-fly-in .ne-modal.fade:not(.in) .modal-dialog {
    -webkit-transform: translate3d(0, 100%, 0);
    -moz-transform: translate3d(0, 100%, 0);
    -ms-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
}

@media (min-width: 768px) {

    .ne-modal-wrapper.ne-fly-in .modal-dialog {
        padding: 0 !important;
        margin: 0 !important;
    }

    .ne-modal-wrapper.ne-fly-in.ne-top-left {
        left: 0;
        top: 0;
        right: auto;
        bottom: auto;
    }

    .ne-modal-wrapper.ne-fly-in.ne-top-left .modal-dialog .ne-modal-close {
        top: auto;
        right: -10px;
        bottom: -10px;
    }

    .ne-modal-wrapper.ne-fly-in.ne-top-right {
        right: 0;
        top: 0;
        left: auto;
        bottom: auto;
    }

    .ne-modal-wrapper.ne-fly-in.ne-top-right .modal-dialog .ne-modal-close {
        top: auto;
        right: auto;
        left: -10px;
        bottom: -10px;
    }

    .ne-modal-wrapper.ne-fly-in.ne-bottom-left {
        left: 0;
        bottom: 0;
        top: auto;
        right: auto;
    }

    .ne-modal-wrapper.ne-fly-in.ne-bottom-left .modal-dialog .ne-modal-close {
        top: -10px;
        right: -10px;
    }

    .ne-modal-wrapper.ne-fly-in.ne-bottom-right {
        right: 0;
        bottom: 0;
        top: auto;
        left: auto;
    }

    .ne-modal-wrapper.ne-fly-in.ne-bottom-right .modal-dialog .ne-modal-close {
        top: -10px;
        right: auto;
        left: -10px;
    }

    .ne-modal-wrapper.ne-fly-in.ne-top-left .ne-modal.fade:not(.in) .modal-dialog,
    .ne-modal-wrapper.ne-fly-in.ne-top-right .ne-modal.fade:not(.in) .modal-dialog {
        -webkit-transform: translate3d(0, -100%, 0);
        -moz-transform: translate3d(0, -100%, 0);
        -ms-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0);
    }

    .ne-modal-wrapper.ne-fly-in.ne-bottom-left .ne-modal.fade:not(.in) .modal-dialog,
    .ne-modal-wrapper.ne-fly-in.ne-bottom-right .ne-modal.fade:not(.in) .modal-dialog {
        -webkit-transform: translate3d(0, 100%, 0);
        -moz-transform: translate3d(0, 100%, 0);
        -ms-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0);
    }
}

.ne-spin {
    -webkit-animation: ne-spin 2s infinite linear;
    animation: ne-spin 2s infinite linear;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -20px;
    margin-left: -20px;
}

.ne-disabled {
    opacity: 0.3;
    pointer-events: none;
}

@-webkit-keyframes ne-spin {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(359deg);
        transform: rotate(359deg);
    }
}

@keyframes ne-spin {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(359deg);
        transform: rotate(359deg);
    }
}

div[aria-hidden=true] {
    display: none;
}

div[aria-hidden=false] {
    display: block;
}

.ne-subscribe-list {
    margin: 4px 0 0 0 !important;
}

.ne-bootstrap .modal-backdrop {
    z-index: 0 !important;
}

.ne-bootstrap .img-responsive {
    margin: auto;
}

.ne-image-circled {
    border-radius: 50%;
}

.ne-accept label {
    padding-left: 0;
}


/* =========================================================
   ПОДПИСКА НА EMAIL — НОВЫЙ ДИЗАЙН
   ========================================================= */


/* Контейнер модального окна */

.ne-subscribe-box .modal-dialog {
    position: relative;
}

.ne-subscribe-box .modal-content {
    position: relative;
    overflow: visible !important;

    border-radius: 12px !important;

    box-shadow:
        0 20px 60px rgba(0, 0, 0, 0.25),
        0 5px 20px rgba(25, 85, 148, 0.18) !important;

    animation: subscribe-wiggle 7s ease-in-out infinite;
}


/* =========================================================
   ШАПКА
   ========================================================= */

.ne-subscribe-box .modal-header {
    position: relative;

    overflow: hidden;

    padding: 55px 25px 30px !important;

    background:
        linear-gradient(
            135deg,
            #195594 0%,
            #1f5f9f 45%,
            #123d6b 100%
        ) !important;

    border-radius: 12px 12px 0 0 !important;
}


/* Декоративное свечение */

.ne-subscribe-box .modal-header:before {
    content: "";

    position: absolute;

    width: 320px;
    height: 320px;

    top: -220px;
    left: -100px;

    border-radius: 50%;

    background: rgba(255, 255, 255, 0.07);

    pointer-events: none;
}


/* Второй декоративный круг */

.ne-subscribe-box .modal-header:after {
    content: "";

    position: absolute;

    width: 260px;
    height: 260px;

    right: -130px;
    bottom: -170px;

    border-radius: 50%;

    background: rgba(255, 255, 255, 0.06);

    pointer-events: none;
}


/* Текст */

.ne-subscribe-box .modal-header .ne-modal-text {
    position: relative;
    z-index: 2;

    padding: 0 !important;
}

.ne-subscribe-box .modal-header .ne-modal-text h2 {
    position: relative;

    color: #ffffff !important;

    font-size: 26px !important;

    font-weight: 700;

    line-height: 1.25em !important;

    text-shadow:
        0 1px 1px rgba(0, 0, 0, 0.1);
}

.ne-subscribe-box .modal-header .ne-modal-text p {
    color: rgba(255, 255, 255, 0.80) !important;

    font-size: 15px;

    line-height: 1.6em;
    margin: 12px auto 0 !important;
}


/* =========================================================
   КРУГЛАЯ ИКОНКА EMAIL
   ========================================================= */

.ne-subscribe-box .modal-content:before {
    content: "\f0e0";

    font-family: "Font Awesome 5 Free";
    font-weight: 900;

    position: absolute;

    top: -34px;
    left: 50%;

    z-index: 500;

    width: 68px;
    height: 68px;

    margin-left: -34px;

    border-radius: 50%;

    background: #ffffff;

    color: #195594;

    font-size: 28px;
    line-height: 68px;

    text-align: center;

    box-shadow:
        0 7px 22px rgba(0, 0, 0, 0.22),
        0 0 0 5px rgba(25, 85, 148, 0.15);

    animation: subscribe-icon-pulse 3s ease-in-out infinite;
}


/* =========================================================
   ОСНОВНОЕ ТЕЛО
   ========================================================= */

.ne-subscribe-box .modal-body {
    position: relative;

    padding: 32px 28px 28px !important;

    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #f5f5f5 100%
        ) !important;

    border-radius: 0 0 12px 12px !important;
}


/* Центральная стрелочка между шапкой и телом */

.ne-subscribe-box .modal-body:before {
    content: "";

    position: absolute;

    top: -1px;
    left: 50%;

    width: 22px;
    height: 22px;

    margin-left: -11px;

    background: #ffffff;

    transform: translateY(-50%) rotate(45deg);

    z-index: 2;
}


/* =========================================================
   ПОЛЕ EMAIL
   ========================================================= */

.ne-subscribe-box .form-group {
    position: relative;

    margin-bottom: 16px !important;
}

.ne-subscribe-box .form-group:first-child:before {
    content: "\f0e0";

    font-family: "Font Awesome 5 Free";
    font-weight: 900;

    position: absolute;

    top: 50%;
    left: 16px;

    z-index: 10;

    color: #195594;

    font-size: 17px;

    transform: translateY(-50%);
}

.ne-subscribe-box #ne_email {
    height: 52px;

    padding-left: 48px !important;
    padding-right: 15px !important;

    background: #ffffff;

    border: 1px solid #d7dee7 !important;

    border-radius: 7px !important;

    color: #333333;

    font-size: 15px;

    transition:
        border-color 0.25s ease,
        box-shadow 0.25s ease,
        transform 0.25s ease !important;
}

.ne-subscribe-box #ne_email::placeholder {
    color: #9ca7b2;
}

.ne-subscribe-box #ne_email:focus {
    border-color: #195594 !important;

    box-shadow:
        0 0 0 3px rgba(25, 85, 148, 0.12) !important;

    transform: translateY(-1px);
}


/* =========================================================
   КНОПКА
   ========================================================= */

.ne-subscribe-box .ne-submit {
    position: relative;

    height: 52px;

    padding: 0 20px !important;

    display: flex !important;

    align-items: center;
    justify-content: center;

    background:
        linear-gradient(
            135deg,
            #00a046 0%,
            #008c3d 100%
        ) !important;

    border: 0 !important;

    border-radius: 7px !important;

    color: #ffffff !important;

    font-size: 15px;

    letter-spacing: 0.3px;

    text-decoration: none !important;

    box-shadow:
        0 5px 14px rgba(0, 160, 70, 0.25);

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        filter 0.25s ease !important;
}


/* Иконка перед текстом кнопки */

.ne-subscribe-box .ne-submit:before {
    content: "\f1d8";

    font-family: "Font Awesome 5 Free";
    font-weight: 900;

    margin-right: 10px;

    font-size: 16px;
}


.ne-subscribe-box .ne-submit:hover {
    color: #ffffff !important;

    transform: translateY(-2px);

    filter: brightness(1.04);

    box-shadow:
        0 8px 20px rgba(0, 160, 70, 0.32);
}


.ne-subscribe-box .ne-submit:active {
    transform: translateY(0);

    box-shadow:
        0 3px 8px rgba(0, 160, 70, 0.20);
}


/* =========================================================
   КНОПКА ЗАКРЫТИЯ
   ========================================================= */

.ne-subscribe-box .ne-modal-close {
    top: 14px !important;
    right: 14px !important;

    width: 34px !important;
    height: 34px !important;

    line-height: 32px !important;

    border-radius: 50% !important;

    background: rgba(255, 255, 255, 0.96) !important;

    color: #195594 !important;

    font-size: 25px !important;

    box-shadow:
        0 3px 10px rgba(0, 0, 0, 0.15) !important;

    transition:
        transform 0.25s ease,
        background 0.25s ease,
        box-shadow 0.25s ease !important;
}


.ne-subscribe-box .ne-modal-close:hover {
    background: #ffffff !important;

    transform: rotate(90deg) scale(1.08);

    box-shadow:
        0 5px 14px rgba(0, 0, 0, 0.22) !important;
}


/* Отключаем старое вращение span,
   чтобы крестик не крутился дважды */

.ne-subscribe-box .ne-modal-close:hover span,
.ne-subscribe-box .ne-modal-close span:hover {
    transform: none !important;
}


/* =========================================================
   ЛЁГКОЕ ПЕРИОДИЧЕСКОЕ ПОШАТЫВАНИЕ
   ========================================================= */

@keyframes subscribe-wiggle {

    0%,
    82%,
    100% {
        transform: rotate(0deg);
    }

    85% {
        transform: rotate(-0.7deg);
    }

    88% {
        transform: rotate(0.7deg);
    }

    91% {
        transform: rotate(-0.45deg);
    }

    94% {
        transform: rotate(0.35deg);
    }

    97% {
        transform: rotate(-0.15deg);
    }
}


/* Для старых WebKit */

@-webkit-keyframes subscribe-wiggle {

    0%,
    82%,
    100% {
        -webkit-transform: rotate(0deg);
    }

    85% {
        -webkit-transform: rotate(-0.7deg);
    }

    88% {
        -webkit-transform: rotate(0.7deg);
    }

    91% {
        -webkit-transform: rotate(-0.45deg);
    }

    94% {
        -webkit-transform: rotate(0.35deg);
    }

    97% {
        -webkit-transform: rotate(-0.15deg);
    }
}


/* =========================================================
   ПУЛЬСАЦИЯ ИКОНКИ КОНВЕРТА
   ========================================================= */

@keyframes subscribe-icon-pulse {

    0%,
    100% {
        box-shadow:
            0 7px 22px rgba(0, 0, 0, 0.22),
            0 0 0 5px rgba(25, 85, 148, 0.15);
    }

    50% {
        box-shadow:
            0 7px 22px rgba(0, 0, 0, 0.22),
            0 0 0 9px rgba(25, 85, 148, 0.05);
    }
}


@-webkit-keyframes subscribe-icon-pulse {

    0%,
    100% {
        box-shadow:
            0 7px 22px rgba(0, 0, 0, 0.22),
            0 0 0 5px rgba(25, 85, 148, 0.15);
    }

    50% {
        box-shadow:
            0 7px 22px rgba(0, 0, 0, 0.22),
            0 0 0 9px rgba(25, 85, 148, 0.05);
    }
}


/* =========================================================
   МОБИЛЬНАЯ ВЕРСИЯ
   ========================================================= */

@media (max-width: 767px) {

 .ne-subscribe-box .modal-dialog {
        max-width: none !important;
        margin: 10px auto !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    .ne-subscribe-box .modal-content {
        width: 100% !important;
        margin: 0 auto !important;
        box-sizing: border-box !important;
    }

    .ne-subscribe-box .modal-header {
        padding:
            50px 20px 25px !important;
    }

    .ne-subscribe-box .modal-header .ne-modal-text h2 {
        font-size: 22px !important;
    }

    .ne-subscribe-box .modal-header .ne-modal-text p {
        font-size: 14px;
    }

    .ne-subscribe-box .modal-body {
        padding:
            28px 20px 22px !important;
    }

    .ne-subscribe-box .modal-content:before {
        width: 62px;
        height: 62px;

        margin-left: -31px;

        top: -31px;

        line-height: 62px;

        font-size: 25px;
    }

    .ne-subscribe-box #ne_email,
    .ne-subscribe-box .ne-submit {
        height: 50px;
    }
}


/* Уважение к настройкам пользователя:
   если отключены анимации — отключаем wiggle */

@media (prefers-reduced-motion: reduce) {

    .ne-subscribe-box .modal-content,
    .ne-subscribe-box .modal-content:before {
        animation: none !important;
    }
}