/*!
Theme Name: nashemesto
Author: Sergey Saltykov
Description: Наше Место
Version: 0.1
Text Domain: nashemesto
*/

/*--------------------------------------------------------------
# RESET
--------------------------------------------------------------*/
:root {
    --nm-red: #D42024;
    --nm-red-dark: #970203;
    --nm-white: #ffffff;
    --nm-lightgray: #F2F2F2;
    --nm-midgray: #E0E0E0;
    --nm-gray: #828282;
    --nm-grayborder: #D8D7DB;
    --nm-black: #2B2A29;
    --nm-green: #afcb21;
    --nm-purple: #E5097F;
    --nm-orange: #fbc800;
    --nm-blue: #028dd1;
    --nm-shadow-normal: -12px -12px 24px #FFFFFF, 4px 4px 24px rgba(211, 24, 31, 0.1);
    --nm-shadow-active: inset -2px -2px 2px #FFFFFF, inset 2px 2px 4px rgba(211, 24, 31, 0.2);
    --nm-shadow-hover: -3px -3px 6px #FFFFFF, 1px 1px 6px rgba(211, 24, 31, 0.2);
    --bs-link-color: #D42024;
    --bs-link-color-rgb: 211, 24, 31;
    --bs-link-hover-color: #970203;
    --bs-link-hover-color-rgb: 151, 2, 3;

    --anim-hover-out: unset;
}

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

.color-gray {
    color: var(--nm-gray);
}

html {
    height: 100%;
}

body {
    --nm-section-distance: 120px;
    --nm-stat-distance: 140px;
    color: var(--nm-black);
    touch-action: manipulation;
    font-family: 'Montserrat', sans-serif;
    background-color: var(--nm-lightgray);
}

body.regpage {
    position: relative;
}

.btn-primary {
    --bs-btn-color: var(--nm-white);
    --bs-btn-bg: var(--nm-red);
    --bs-btn-border-color: var(--nm-red);
    --bs-btn-hover-color: var(--nm-white);
    /*--bs-btn-hover-bg: var(--nm-red-dark);*/
    /*--bs-btn-hover-border-color: var(--nm-red-dark);*/
    --bs-btn-hover-bg: var(--nm-red);
    --bs-btn-hover-border-color: var(--nm-red);
    --bs-btn-active-color: var(--nm-white);
    --bs-btn-active-bg: var(--nm-red-dark);
    --bs-btn-active-border-color: var(--nm-red-dark);
    --bs-btn-active-shadow: none;
    --bs-btn-disabled-color: var(--nm-white);
    --bs-btn-disabled-bg: var(--nm-red);
    --bs-btn-disabled-border-color: var(--nm-red);
    background: linear-gradient(90deg, var(--с1) 0, var(--с1) 100%), var(--с2) linear-gradient(90deg, var(--с3) 0, var(--с3) 100%);
    background-position: 0, 0;
    background-size: 0 100%, 0 100%;
    background-repeat: no-repeat;
    transition: unset;
}

.btn-primary:not(:hover) {
    --с1: var(--nm-red);
    --с2: var(--nm-red-dark);
    --с3: #E5097F;
    animation-name: btn-hover-out;
    animation-duration: .3s;
    animation-fill-mode: forwards;
    animation-timing-function: linear;
}

.btn-primary:hover {
    --с1: var(--nm-red-dark);
    --с2: var(--nm-red);
    --с3: #E5097F;
    animation-name: btn-hover-in;
    animation-duration: .3s;
    animation-fill-mode: forwards;
    animation-timing-function: linear;
}

@keyframes btn-hover-in {
    0% {
        background-position: 0, 0;
        background-size: 0 100%, 0 100%;
    }
    40% {
        background-size: 0 100%, 60% 100%;
    }
    82% {
        background-size: 70% 100%, 95% 100%;
    }

    88% {
        background-size: 80% 100%, 100% 100%;
    }

    100% {
        background-size: 100% 100%, 100% 100%;

    }
}

@keyframes btn-hover-out {
    0% {
        background-position: 0, 0;
        background-size: 0 100%, 0 100%;
    }
    40% {
        background-size: 0 100%, 60% 100%;
    }
    82% {
        background-size: 70% 100%, 95% 100%;
    }

    88% {
        background-size: 80% 100%, 100% 100%;
    }

    100% {
        background-size: 100% 100%, 100% 100%;
    }
}

.btn-vk {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    --bs-btn-color: var(--nm-white);
    --bs-btn-bg: #0077FF;
    --bs-btn-hover-color: var(--nm-white);
    --bs-btn-hover-bg: #2d85ff;
    --bs-btn-active-color: var(--nm-white);
    --bs-btn-active-bg: #2d85ff;
    --bs-btn-active-shadow: none;
    --bs-btn-disabled-color: var(--nm-white);
    --bs-btn-disabled-bg: #2d85ff;
}

.btn-vk .vk-img {
    height: calc(var(--bs-btn-font-size) * .875);
    padding-left: .375rem;
}


.btn {
    --bs-border-width: 0;
    --bs-btn-padding-y: 1rem;
    --bs-btn-padding-x: 1.25rem;
    --bs-btn-font-size: 1rem;
    --bs-btn-font-weight: 600;
    --bs-btn-line-height: 1;
    --bs-btn-border-radius: var(--bs-border-radius-lg);
}

.form-control, .form-select {
    padding: .75rem 0.875rem;
    font-weight: 400;
    line-height: 1;
    background-color: #FDFDFD;
    border: 1px solid #E0E0E0;
    border-radius: 12px;
    min-height: 48px;
}

.form-control::placeholder {
    font-weight: 300;
}

label.label-small, .wpcf7-form label.label-small {
    font-size: 12px;
    color: var(--nm-gray);
    margin-bottom: .5rem;
    padding: 0 !important;
}

.wpcf7-not-valid-tip {
    margin-top: .5rem;
}

.form-section-title {
    font-size: 20px;
    margin-bottom: 0;
}

.navbar {
    --bs-navbar-padding-y: 2.25rem;
    --bs-navbar-brand-margin-end: 2.75rem;
    --bs-navbar-brand-padding-y: .125rem;
    position: sticky;
    width: 100%;
    top: 0;
    z-index: 10;
}

.bg-lines {
    background-image: url("./img/bg-line-top.svg"), url("./img/bg-line-bottom.svg");
    background-position: top center, bottom center;
    background-size: 100%;
    background-color: white;
    background-repeat: no-repeat;
}

body.has-featured-image .navbar, body.home .navbar {
    position: fixed;
}

.navbar-bg {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
    background-color: rgb(255 255 255 / 80%);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}

.navbar > .container, .navbar-bg > .container {
    gap: 2.75rem 1.5rem;
    flex-wrap: nowrap;
}

.navbar .offcanvas {
    --bs-offcanvas-height: 100%;
    max-height: 100vh;
    min-height: 93vh;
    /*height: 100%;*/
    background-color: var(--nm-lightgray);
    overflow-x: hidden;
}

.navbar .offcanvas-header {
    padding: var(--bs-navbar-padding-y) var(--bs-navbar-padding-x);
    min-height: var(--nm-section-distance);
    position: sticky;
    top: 0;
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    background-color: rgb(242 242 242 / 50%);
}

.navbar .offcanvas-body {
    overflow: unset;
}

.navbar .btn-menu {
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-shrink: 0;
    text-transform: uppercase;
    text-decoration: none;
    color: inherit;
}

.custom-logo {
    width: 270px;
    max-height: 50px;
}


.admin-bar .navbar {
    top: 32px;
}

.admin-bar .offcanvas {
    height: calc(100vh - 30px);
    margin-top: 32px;
}

.bvi-open {
    font-weight: 500;
    line-height: 1.3;
    text-decoration-line: underline;
    text-transform: uppercase;
    color: var(--nm-black);
    cursor: pointer;
    display: flex;
    align-items: center;
    column-gap: .5rem;
}

.bvi-open:before {
    content: "";
}

.bvi-open:hover {
    color: var(--nm-red)
}


.bvi-open:hover path {
    fill: var(--nm-red)
}

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
    font-weight: 400;
    line-height: 1.125;
    text-transform: uppercase;
}

.h1, h1 {
    font-size: 54px;
}

.h2, h2 {
    font-size: 48px;
}

.h3, h3 {
    font-size: 36px;
}

.h4, h4 {
    font-size: 30px;
}

.h5, h5 {
    font-size: 24px;
}

.h6, h6 {
    font-size: 18px;
}

.fs-1 {
    font-size: 54px !important;;
}

.fs-2 {
    font-size: 48px !important;;
}

.fs-3 {
    font-size: 36px !important;;
}

.fs-4 {
    font-size: 30px !important;;
}

.fs-5 {
    font-size: 24px !important;;
}

.fs-6 {
    font-size: 18px !important;
}

p {
    margin-bottom: .5rem;
}

.checkbox-inline {
    display: flex;
    gap: 24px 16px;
    align-items: center;
    flex-wrap: wrap;
}

.checkbox-inline-column {
    display: grid;
    gap: 24px;
    align-items: center;
    grid-template-columns: repeat(3, 1fr);
}

.checkbox-inline-column .wpcf7-list-item, .checkbox-column .wpcf7-list-item, .checkbox-inline .wpcf7-list-item {
    margin-left: 0;
}

.checkbox-column {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
}


.wpcf7-list-item.first {
    margin-left: 0;
}

.wpcf7-list-item.has-free-text {
    display: flex;
    flex-shrink: 0;
}

.wpcf7-list-item.has-free-text .wpcf7-free-text {
    margin-left: 1rem;
}

.btn-submit {
    position: absolute;
    right: 0;
    bottom: 0;
}

.form-check {
    min-height: 2rem;
    padding-left: 2rem;
    margin-bottom: .5rem;
}

.form-check .form-check-input {
    margin-left: -2rem;
}

.form-check-input {
    width: 1.5rem;
    height: 1.5rem;
    margin-top: 0;
}

input[type="radio"], input[type="checkbox"] {
    width: 1.5rem;
    height: 1.5rem;
    margin-top: 0;
    --bs-form-check-bg: var(--bs-body-bg);
    --bs-border-width: 2px;
    vertical-align: top;
    background-color: var(--bs-form-check-bg);
    background-image: var(--bs-form-check-bg-image);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    border: var(--bs-border-width) solid var(--bs-border-color);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    -webkit-print-color-adjust: exact;
    color-adjust: exact;
    print-color-adjust: exact;
    flex-shrink: 0;
}

input[type="radio"] {
    border-radius: 50%;
}

input[type="checkbox"] {
    --bs-border-width: 1px;
    border-radius: 4px;
}

.form-check-input:checked, input[type="radio"]:checked, input[type="checkbox"]:checked {

    color: var(--nm-red);
    border-color: var(--nm-red);
}

input[type="radio"]:checked {
    --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23D42024'/%3e%3c/svg%3e");
}

input[type="checkbox"]:checked {
    --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23D42024' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");
}

.form-check-input:focus, input[type="radio"]:focus, input[type="checkbox"]:focus {
    border-color: var(--nm-red);
    box-shadow: none;
}

.wpcf7-radio label, .wpcf7-checkbox label {
    padding: 0 !important;
    display: flex;
    align-items: center;
    gap: .5rem;
}

.wpcf7-list-item-label {
    font-size: 1rem;
    line-height: 1.2;
}

.uacf7-multisetp-form {
    position: relative;
}

.policy-checkbox {
    margin-right: 1rem;
}

.form-end {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: white;
    display: flex;
    flex-direction: column;
    text-align: center;
    align-items: center;
    justify-content: center;
}

.form-end .ff-hand {
    font-size: 4rem;
    line-height: 1;
    margin-bottom: 0;
}

.form-end h1 {
    font-size: 4.5rem;
    font-weight: 500;
}

.form-end p {
    color: var(--nm-gray);
    margin-bottom: 0;
}

.wpcf7-acceptance .wpcf7-list-item {
    margin-left: 0;
    margin-top: 1rem;
}

.wpcf7-spinner {
    position: absolute;
    right: 0;
}

.uacf7-ajax-loader {
    position: relative;
    right: unset;
}

.policy {
    color: var(--nm-gray);
    line-height: 1;
    font-size: 12px;
    text-align: center;
    margin-bottom: 0;
    font-weight: 300;
    opacity: .7;
}

.btn-neo, .btn-lavalamp {
    padding: 13px 20px;
    background: #F7F7F7;
    box-shadow: var(--nm-shadow-normal);
    color: var(--nm-gray);
    font-weight: 400;
    font-size: 1rem;
    line-height: 1.375em;
}

.btn-lavalamp {
    width: 100%;
    font-weight: 500;
    font-size: 36px;
    min-height: 200px;
    color: var(--nm-black);
    text-transform: uppercase;
    display: flex;
    align-items: center;
    justify-content: center;
}

.btn-lavalamp:hover {
    background: radial-gradient(circle, #FB5607CC 0%, #FB560700 60%),
    radial-gradient(ellipse, #FFBE0BCC 0%, #FFBE0B00 60%),
    radial-gradient(ellipse, #3A86FFCC 0%, #3A86FF88 30%, #3A86FF00 70%),
    radial-gradient(ellipse, #8338EC88 0%, #8338EC55 30%, #8338EC00 70%),
    #00E0FF radial-gradient(ellipse, #FF006ECC 0%, #FF006E00 60%);
    /*background-color: var(--nm-red);*/
    background-repeat: no-repeat;
    background-size: 15em 18em, 20em 20em, 10em 10em, 12em 12em, 10em 7em;
    background-position: -10em -2em, -10em -6em, 5em 1em, 7em -4em, 1em -.4em;
    color: white;
    animation: lava-lamp 10s linear infinite;
}

.btn-lavalamp:active {
    background-color: #00E0FF !important;
    color: white !important;
}

@keyframes lava-lamp {
    0% {
        background-size: 15em 18em, 20em 20em, 10em 10em, 12em 12em, 10em 7em;
        background-position: -10em -2em, -10em -6em, 5em 1em, 7em -4em, 1em -.4em;
    }
    25% {
        background-size: 15em 18em, 20em 20em, 10em 10em, 12em 12em, 10em 7em;
        background-position: -8em -3em, 1em -4em, -2em -5em, 4em -2em, 4em -.4em;
    }
    50% {
        background-size: 15em 18em, 20em 20em, 10em 10em, 12em 12em, 10em 7em;
        background-position: -6em -7em, 5em -8em, 3em -6em, -1em -4em, 6em -.25em;
    }
    75% {
        background-size: 15em 18em, 20em 20em, 10em 10em, 12em 12em, 10em 7em;
        background-position: -5em -5em, 2em -6em, 2em -4em, 4em -7em, 4em -.25em;
    }
    100% {
        background-size: 15em 18em, 20em 20em, 10em 10em, 12em 12em, 10em 7em;
        background-position: -10em -2em, -10em -6em, 5em 1em, 7em -4em, 1em -.25em;
    }
}

.btn-check + .list-group-item {
    transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

.btn-check + .list-group-item .pseudo-checkbox {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
    background: white;
    border-radius: 4px;
}

.btn-check:checked + .list-group-item .pseudo-checkbox {
    background-color: var(--nm-red);
    border-color: var(--nm-red);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");
}

.btn-check:focus + .list-group-item .pseudo-checkbox {
    border-color: var(--nm-red);
    box-shadow: none;
}

.btn-check + .btn-neo:hover, .btn-check + .list-group-item:hover, .btn-neo:hover {
    box-shadow: var(--nm-shadow-hover);
    background: #F7F7F7;
}

.btn-check:checked + .btn-neo, .btn-neo.active {
    background: #F2F2F2;
    font-weight: 500;
    box-shadow: var(--nm-shadow-active);
    color: var(--nm-black);
}

.btn-check:checked + .list-group-item {
    background: #F2F2F2;
    box-shadow: var(--nm-shadow-active);
}

.btn-check:checked + .list-group-item strong {
    color: var(--nm-red-dark);
}

.btn-check[disabled] + .btn-neo,
.btn-check:disabled + .btn-neo {
    pointer-events: none;
    filter: none;
    color: var(--nm-gray);
}


.list-group-item {
    --bs-list-group-border-width: 0;
    padding: 16px 20px;
    background: #F2F2F2;
    box-shadow: var(--nm-shadow-normal);
    border-radius: 12px !important;
}

.form-success {
    position: fixed;
    background: white;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 3rem;
    overflow: auto;
}

.ff-hand {
    font-family: 'NasheMesto-Gestures', sans-serif;
    color: var(--nm-red);
    letter-spacing: 0.2em;
}

.form-success .h1 {
    font-size: var(--nm-section-distance);
    font-weight: 500;
    line-height: 1.1;
}

.form-success .ff-hand {
    line-height: 1;
    margin-bottom: -.1em;
}

.input-number {
    -moz-appearance: textfield;
    text-align: center;
    padding: 0.5rem 0;
    min-width: 48px;
}

.input-number::-webkit-outer-spin-button,
.input-number::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.list-group-item-number {
    padding-right: 1rem;
}

.btn-number {
    --bs-btn-disabled-opacity: .4;
}

.btn-number:first-child {
    padding: 0 .5rem 0 0;
}

.btn-number {
    padding: 0 0 0 .5rem;
}

.btn-number:hover svg {
    fill: var(--nm-red);
}

.modal-header {
    padding: 2.25rem 3rem 2.25rem 3rem;
    border-bottom: 0;
}

.modal-body {
    padding: 0 3rem 2.25rem 3rem;
}

.modal-header .btn-close {
    width: unset;
    height: 24px;
    color: var(--bs-btn-close-color);
    background: transparent var(--bs-btn-close-bg) left/1.5rem auto no-repeat;
    border: 0;
    border-radius: 0;
    box-sizing: content-box !important;
    opacity: 1;
    padding: 0.25em 0.25em 0.25em 2.375rem;
    font-weight: 600;
    text-transform: uppercase;
}

.header-gestures {
    background-image: url(./img/bg-line-gestures.svg);
    background-position: center;
    background-size: 100%;
    background-color: white;
    background-repeat: no-repeat;
    width: 100%;
    min-height: 800px;
    padding-top: 120px;
    padding-bottom: 100px;
    overflow: hidden;
    display: flex;
    z-index: 1;
    position: relative
}

.header-gestures .nm-roof {
    margin-top: 20px;
    width: 80%;
}

.header-gestures .subtitle {
    font-weight: 500;
    font-size: 36px;
    line-height: 130%;
    text-align: center;
    letter-spacing: 0.29em;
    text-transform: uppercase;
}

.header-gestures .ff-hand {
    font-size: 107px;
    letter-spacing: 0.15em;
    line-height: .6;
    margin-top: -2.5rem;
}

.header-gestures h1 {
    font-size: 120px;
    font-weight: 500;
    line-height: 1.3;
}

.header-animate {
    width: 100%;
    min-height: calc(80vh - 120px);
    padding: 4rem 0;
    overflow: hidden;
    display: flex;
    z-index: 1;
    position: relative;
    align-items: center;
    color: var(--nm-red);
}

.header-animate h1 {
    font-size: 150px;
    line-height: 1;
    display: inline;
    background: var(--nm-red) linear-gradient(-45deg, transparent 0%, transparent 40%, var(--nm-red) 0%, var(--nm-red) 60%, transparent 0%);
    -webkit-background-clip: text;
    background-size: 42%;
    background-position: 170% center;
    background-repeat: no-repeat;
    -webkit-text-stroke: 2px transparent;
    color: transparent;
    transition: 1s linear background-position, 0.2s linear background-color, 0.3s linear color;
    animation: header-text 3s linear;
    animation-fill-mode: forwards;
}

@keyframes header-text {
    0% {
        background-position: 170% center;
        background-color: var(--nm-midgray);
        color: white;
    }
    70% {
        background-position: -63%;
        background-color: var(--nm-midgray);
        color: white;
    }
    100% {
        background-position: -63%;
        background-color: var(--nm-red);
        color: transparent;
    }
}

.nav-link.active {
    font-weight: 600;
}

body .bvi-body .btn {
    border: 1px solid;
}

body .bvi-body .btn-check:checked + .btn-neo {
    font-weight: bold;
}

body .bvi-body .btn-check + .list-group-item .pseudo-checkbox {
    border: 1px solid;
}

body .bvi-body .btn-check:checked + .list-group-item .pseudo-checkbox {
    background-color: black;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");
}

body .bvi-body[data-bvi-theme=black] .btn-check:checked + .list-group-item .pseudo-checkbox {
    background-color: black;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");
}

body .bvi-body[data-bvi-theme=green] .btn-check:checked + .list-group-item .pseudo-checkbox {
    background-color: black;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23A9E44D' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");
}

.grecaptcha-badge {
    display: none;
}

.move_to_top {
    display: none;
}

#primary-menu {
    margin-top: max(6.5vh, 2rem);
    margin-bottom: 2rem;
    gap: 1.5rem 0;
}

#primary-menu .nav-item {

}

.menu-contacts__wrapper {
    padding-bottom: 3rem;
    margin-top: auto;
}

.menu-contacts {
    border: 1px solid var(--nm-grayborder);
    border-radius: 12px;
    padding: 1.25rem 1.5rem;
    font-weight: 400;
    height: 100%;
}

.menu-contacts__wide {
    text-transform: uppercase;
    font-size: 22px;
    line-height: 1;
}

.menu-contacts-title {
    margin-bottom: 1rem;
    font-size: 20px;
    line-height: 1.3;
}

.menu-contacts p {
    color: var(--nm-gray);
}

.menu-contacts a {
    color: var(--nm-gray);
    text-decoration: none;
}

.menu-contacts a:hover {
    color: var(--nm-red-dark);
}

.social-row {
    display: flex;
    gap: 22px;
}

.social-row .btn-social {
    display: flex;
    width: 45px;
    height: 45px;
    border-radius: 50%;
    background-color: var(--nm-red);
    background-size: 50% 50%;
    background-repeat: no-repeat;
    background-position: center;
    padding: 0;
    flex-shrink: 0;
}

.social-row .btn-social:hover {
    background-color: var(--nm-red-dark);
}

.social-row .btn-social.btn-social-vk {
    background-image: url('data:image/svg+xml,<svg width="24" height="15" viewBox="0 0 24 15" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M13.3835 14.9365C5.46373 14.9365 0.659366 9.44216 0.470703 0.311523H4.48203C4.60719 7.01905 7.65762 9.86123 9.99734 10.4458V0.311523H13.8409V6.09993C16.0972 5.84976 18.4587 3.21726 19.253 0.311523H23.0372C22.4307 3.8841 19.8595 6.51674 18.0431 7.60265C19.8618 8.48127 22.7861 10.7792 23.9149 14.9365H19.7564C18.8789 12.1581 16.7268 10.0059 13.843 9.71315V14.9365H13.3835Z" fill="white"/></svg>');
}

.social-row .btn-social.btn-social-ok {
    background-image: url('data:image/svg+xml,<svg width="15" height="26" viewBox="0 0 15 26" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M7.7504 13.4737C11.2529 13.4737 14.1083 10.6183 14.1083 7.11575C14.1083 3.61316 11.2529 0.757812 7.7504 0.757812C4.20974 0.757812 1.35449 3.61316 1.35449 7.11575C1.35449 10.6183 4.20974 13.4737 7.7504 13.4737ZM7.7504 4.48879C9.19715 4.48879 10.3773 5.669 10.3773 7.11575C10.3773 8.56236 9.19715 9.74263 7.7504 9.74263C6.30365 9.74263 5.12352 8.56236 5.12352 7.11575C5.08541 5.669 6.26568 4.48879 7.7504 4.48879Z" fill="white"/><path d="M10.3006 18.6897C11.5951 18.3851 12.8514 17.8902 13.9936 17.1668C14.8693 16.6339 15.1357 15.4536 14.5647 14.5779C14.0317 13.7023 12.8514 13.4358 11.9758 14.0069C9.38699 15.644 5.99863 15.644 3.40986 14.0069C2.53419 13.4739 1.39203 13.7023 0.820957 14.5779C0.326097 15.4536 0.592581 16.5958 1.46811 17.1287C2.61027 17.8521 3.86661 18.347 5.16107 18.6516L1.62041 22.1922C0.897034 22.9156 0.897034 24.0957 1.62041 24.8191C2.00122 25.1999 2.45797 25.3521 2.95297 25.3521C3.44783 25.3521 3.90472 25.1618 4.28539 24.8191L7.78794 21.3165L11.2905 24.8191C12.0139 25.5423 13.1941 25.5423 13.9175 24.8191C14.6407 24.0957 14.6407 22.9156 13.9175 22.1922L10.3006 18.6897Z" fill="white"/></svg>');
}

.social-row .btn-social.btn-social-yt {
    background-image: url('data:image/svg+xml,<svg width="28" height="19" viewBox="0 0 28 19" fill="none" xmlns="http://www.w3.org/2000/svg"><g><path d="M26.6645 3.01753C26.3532 1.86103 25.4414 0.94922 24.2849 0.637876C22.172 0.0595698 13.7207 0.0595703 13.7207 0.0595703C13.7207 0.0595703 5.26928 0.0595704 3.15645 0.615573C2.02218 0.927002 1.08808 1.86103 0.77672 3.01753C0.220703 5.13042 0.220703 9.51174 0.220703 9.51174C0.220703 9.51174 0.220703 13.9154 0.77672 16.0059C1.08808 17.1624 1.99995 18.0743 3.15645 18.3857C5.2915 18.964 13.7207 18.964 13.7207 18.964C13.7207 18.964 22.172 18.964 24.2849 18.408C25.4414 18.0966 26.3532 17.1847 26.6645 16.0282C27.2206 13.9154 27.2206 9.53395 27.2206 9.53395C27.2206 9.53395 27.2428 5.13042 26.6645 3.01753Z" fill="white"/><path d="M18.0573 9.51259L11.0293 5.46484V13.5603L18.0573 9.51259Z" fill="%23C92223"/></g></svg>');
}

.social-row .btn-social.btn-social-tg {
    background-image: url('data:image/svg+xml,<svg width="23" height="20" viewBox="0 0 23 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1.85012 8.85907L15.2526 3.337C16.5756 2.76171 21.0623 0.92108 21.0623 0.92108C21.0623 0.92108 23.133 0.115778 22.9604 2.07152C22.9029 2.87688 22.4428 5.69543 21.9827 8.74403L20.5446 17.7748C20.5446 17.7748 20.4296 19.0978 19.4517 19.3279C18.4738 19.5581 16.8632 18.5227 16.5756 18.2926C16.3456 18.1201 12.2615 15.5316 10.766 14.2661C10.3632 13.921 9.90312 13.2307 10.8235 12.4253C12.8942 10.5272 15.3677 8.16874 16.8632 6.67319C17.5534 5.983 18.2437 4.37242 15.3677 6.3281L7.25712 11.7926C7.25712 11.7926 6.33673 12.3678 4.61112 11.8502C2.8855 11.3325 0.872257 10.6422 0.872257 10.6422C0.872257 10.6422 -0.508259 9.77946 1.85012 8.85907Z" fill="white"/></svg>');
}

#primary-menu .nav-link {
    font-weight: 600;
    font-size: 36px;
    line-height: 100%;
    --bs-nav-link-color: var(--nm-black);
    --bs-nav-link-hover-color: var(--nm-red-dark);
}

/*
# SECTIONS
*/

#intro {
    width: 100%;
    height: 100vh;
    min-height: 750px;
    max-height: 906px;
    padding-top: 83px;
    background-color: #ffffff;
    overflow: hidden;
    display: flex;
    z-index: 1;
    position: relative
}

#intro .container {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
}

#intro .intro-slider__container {
    margin-top: 2.5rem;
    position: relative;
}

#intro .intro-slider__container > .intro-slider {
    display: none;
}

#intro .tns-outer {
    color: white;
    position: absolute;
    top: 30px;
    width: 64%;
    bottom: 30px;
    left: 18%;
}

#intro .intro-slider__bg {
    height: 360px;
    width: 50vw;
    background-color: var(--nm-red);
    mix-blend-mode: multiply;
}

#intro .tns-ovh {
    height: 100% !important;
}

#intro .tns-inner {
    margin: 100px 0 !important;
}

#intro .item {
    font-weight: 500;
    height: 100px;
    display: flex;
    text-align: center;
    justify-content: center;
    align-items: center;
    font-size: 36px;
    line-height: 1.3;
    opacity: .5;
    text-transform: uppercase;
    transition: .5s transform, .5s opacity;
    transform: scale(.66);
    word-break: break-word;
}

#intro .item a {
    text-decoration: none;
    color: white;
}

#intro .item.active {
    opacity: 1;
    transform: scale(1);
}

.tns-slide-cloned, .tns-slide-cloned + .tns-item.active {
    transition: none !important;
}

#intro .intro-bg {
    position: absolute;
    right: 0;
    bottom: 0;
    height: calc(100% - 100px);
    object-fit: contain;
    z-index: -1;
    left: 37%;
    object-position: left center;
}

#directions {
    padding-top: var(--nm-section-distance);
    padding-bottom: var(--nm-section-distance);
}

iframe {
    max-width: 100%;
    aspect-ratio: 16/9;
    height: auto;
}

.nm-video {
    margin-top: var(--nm-section-distance);
    border-radius: 12px;
    overflow: hidden;
}

.nm-video p > * {
    margin-bottom: 0;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

#stat {
    padding: var(--nm-stat-distance) 0;
    background-color: #ffffff;
}

.stat-grid {
    display: grid;
    grid-template-rows: repeat(3, 1fr);
    grid-template-columns: repeat(4, 1fr);
}

.stat-big {
    grid-column: span 2;
    grid-row: span 2;
}

.stat-big .h2 {
    color: var(--nm-gray);
}


.stat-cell {
}

.stat-text {
    border: 1px solid var(--nm-grayborder);
    color: var(--nm-gray);
    text-transform: uppercase;
    padding: 20px;
    display: flex;
    flex-direction: column;
}

.stat-text .number {
    font-weight: 500;
    font-size: 80px;
    color: var(--nm-red);
    line-height: 1.3;
}

.stat-text.stat-cell__stat1 {
    grid-row: span 1;
    grid-column: span 1 / -1;
    border-radius: 12px 12px 0 0;
}

.stat-text.stat-cell__stat2 {
    border-radius: 12px 0 0 0;
}

.stat-text.stat-cell__stat3 {
}

.stat-text.stat-cell__stat4 {
    border-radius: 0 0 12px 0;

}

.stat-photo {
    padding-top: 62.5%;
    position: relative;
    overflow: hidden;
}

.stat-photo img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    top: 0;
}

.stat-photo.stat-cell__photo2 {
    border-radius: 12px 0 0 0;
}

.ratio-2x3 {
    --bs-aspect-ratio: 66.5%;
}

.category-name {
    margin-bottom: 0;
    line-height: 1;
}

.category-link {
    margin-left: auto;
    text-transform: uppercase;
    font-size: 22px;
    color: inherit;
    text-decoration: none;
}

.category-link:hover {
    color: var(--nm-red-dark);
}

.card-body {
    box-shadow: var(--nm-shadow-normal);
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    z-index: 1;
    word-break: break-word;
}

.card-meta {
    font-size: 12px;
    color: var(--nm-gray);
    margin-bottom: 0;
}

.card-body img {
    object-fit: cover;
    object-position: center;
}

.card-link {
    display: block;
    text-decoration: none;
}

.card-link {
    color: inherit;
}

.card-link:hover {
    color: var(--nm-red-dark);
}

.card-link:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}

.card-news .card-link {
    line-height: 1.3;
    margin-bottom: 1.5rem;
    font-size: 19px;
}

.review-slider {
    padding: 3.5rem 0;
    display: flex;
}

.review-slider .item {
    display: flex;
    flex-direction: column;
    position: relative;
    filter: blur(8px);
    transform: scale(.8);
    transition: .3s linear transform, .3s linear filter;
}

.card-review {
    background-color: var(--nm-lightgray);
    border-radius: 32px;
}

.review-slider .item.active {
    filter: blur(0);
    transform: scale(1.1);
    z-index: 10;
}

.review-text {
    font-size: 1rem;
}

.review-meta {
    color: var(--nm-gray);
    margin-top: 1rem;
    text-align: right;
}

.review-meta .user-name {
    font-size: 1rem;
    text-transform: uppercase;
    margin-bottom: .5rem;
}

.review-meta .user-info {
    font-size: 12px;
}

.review-meta .review-direction:before {
    display: block;
    content: "";
    position: relative;
    top: 0;
    width: 200px;
    left: 50%;
    transform: translateX(-50%);
    height: 1px;
    background-color: var(--nm-red);
    margin-top: 1.25rem;
    margin-bottom: 1.25rem;
}

.review-meta .review-direction {
    font-size: 12px;
    position: relative;
}

.tns-outer {
    position: relative;
}

.tns-controls button[data-controls="prev"],
.tns-controls button[data-controls="next"] {
    border-radius: 50%;
    width: 48px;
    box-shadow: var(--nm-shadow-normal);
    height: 48px;
    outline: none;
    border: none;
    background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M8.35392 1.64592C8.40048 1.69236 8.43742 1.74754 8.46263 1.80828C8.48784 1.86903 8.50081 1.93415 8.50081 1.99992C8.50081 2.06568 8.48784 2.13081 8.46263 2.19155C8.43742 2.2523 8.40048 2.30747 8.35392 2.35392L2.70692 7.99992L8.35392 13.6459C8.4478 13.7398 8.50055 13.8671 8.50055 13.9999C8.50055 14.1327 8.4478 14.26 8.35392 14.3539C8.26003 14.4478 8.13269 14.5005 7.99992 14.5005C7.86714 14.5005 7.7398 14.4478 7.64592 14.3539L1.64592 8.35392C1.59935 8.30747 1.56241 8.2523 1.5372 8.19155C1.512 8.13081 1.49902 8.06568 1.49902 7.99992C1.49902 7.93415 1.512 7.86903 1.5372 7.80828C1.56241 7.74754 1.59935 7.69236 1.64592 7.64592L7.64592 1.64592C7.69236 1.59935 7.74754 1.56241 7.80828 1.5372C7.86903 1.512 7.93415 1.49902 7.99992 1.49902C8.06568 1.49902 8.13081 1.512 8.19155 1.5372C8.2523 1.56241 8.30747 1.59935 8.35392 1.64592Z' fill='%23D3181F'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M12.3539 1.64592C12.4005 1.69236 12.4374 1.74754 12.4626 1.80828C12.4878 1.86903 12.5008 1.93415 12.5008 1.99992C12.5008 2.06568 12.4878 2.13081 12.4626 2.19155C12.4374 2.2523 12.4005 2.30747 12.3539 2.35392L6.70692 7.99992L12.3539 13.6459C12.4004 13.6924 12.4373 13.7476 12.4624 13.8083C12.4876 13.8691 12.5005 13.9342 12.5005 13.9999C12.5005 14.0657 12.4876 14.1308 12.4624 14.1915C12.4373 14.2522 12.4004 14.3074 12.3539 14.3539C12.3074 14.4004 12.2522 14.4373 12.1915 14.4624C12.1308 14.4876 12.0657 14.5005 11.9999 14.5005C11.9342 14.5005 11.8691 14.4876 11.8083 14.4624C11.7476 14.4373 11.6924 14.4004 11.6459 14.3539L5.64592 8.35392C5.59935 8.30747 5.56241 8.2523 5.5372 8.19155C5.512 8.13081 5.49902 8.06568 5.49902 7.99992C5.49902 7.93415 5.512 7.86903 5.5372 7.80828C5.56241 7.74754 5.59935 7.69236 5.64592 7.64592L11.6459 1.64592C11.6924 1.59935 11.7475 1.56241 11.8083 1.5372C11.869 1.512 11.9341 1.49902 11.9999 1.49902C12.0657 1.49902 12.1308 1.512 12.1916 1.5372C12.2523 1.56241 12.3075 1.59935 12.3539 1.64592Z' fill='%23D3181F'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: 33.3%;
    background-position: center;
    transition: .3s linear box-shadow;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 8;
    background-color: transparent;
}

.tns-controls button[data-controls="prev"] {
    left: 0;
}

.tns-controls button[data-controls="next"] {
    right: 0;
    background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M7.64608 14.3541C7.59952 14.3076 7.56258 14.2525 7.53737 14.1917C7.51216 14.131 7.49919 14.0659 7.49919 14.0001C7.49919 13.9343 7.51216 13.8692 7.53737 13.8084C7.56258 13.7477 7.59952 13.6925 7.64608 13.6461L13.2931 8.00008L7.64608 2.35408C7.5522 2.2602 7.49945 2.13286 7.49945 2.00008C7.49945 1.86731 7.5522 1.73997 7.64608 1.64608C7.73997 1.5522 7.86731 1.49945 8.00008 1.49945C8.13286 1.49945 8.2602 1.5522 8.35408 1.64608L14.3541 7.64608C14.4006 7.69253 14.4376 7.7477 14.4628 7.80845C14.488 7.86919 14.501 7.93432 14.501 8.00008C14.501 8.06585 14.488 8.13097 14.4628 8.19172C14.4376 8.25246 14.4006 8.30764 14.3541 8.35408L8.35408 14.3541C8.30764 14.4006 8.25246 14.4376 8.19172 14.4628C8.13097 14.488 8.06585 14.501 8.00008 14.501C7.93432 14.501 7.86919 14.488 7.80845 14.4628C7.7477 14.4376 7.69253 14.4006 7.64608 14.3541Z' fill='%23D3181F'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M3.64608 14.3541C3.59952 14.3076 3.56258 14.2525 3.53737 14.1917C3.51216 14.131 3.49919 14.0659 3.49919 14.0001C3.49919 13.9343 3.51216 13.8692 3.53737 13.8084C3.56258 13.7477 3.59952 13.6925 3.64608 13.6461L9.29308 8.00008L3.64608 2.35408C3.5996 2.3076 3.56272 2.25241 3.53756 2.19167C3.5124 2.13093 3.49945 2.06583 3.49945 2.00008C3.49945 1.93434 3.5124 1.86924 3.53756 1.8085C3.56272 1.74776 3.5996 1.69257 3.64608 1.64608C3.69257 1.5996 3.74776 1.56272 3.8085 1.53756C3.86924 1.5124 3.93434 1.49945 4.00008 1.49945C4.06583 1.49945 4.13093 1.5124 4.19167 1.53756C4.25241 1.56272 4.3076 1.5996 4.35408 1.64608L10.3541 7.64608C10.4006 7.69253 10.4376 7.7477 10.4628 7.80845C10.488 7.86919 10.501 7.93432 10.501 8.00008C10.501 8.06585 10.488 8.13097 10.4628 8.19172C10.4376 8.25246 10.4006 8.30764 10.3541 8.35408L4.35408 14.3541C4.30764 14.4006 4.25246 14.4376 4.19172 14.4628C4.13097 14.488 4.06585 14.501 4.00008 14.501C3.93432 14.501 3.86919 14.488 3.80845 14.4628C3.7477 14.4376 3.69253 14.4006 3.64608 14.3541Z' fill='%23D3181F'/%3E%3C/svg%3E");
}

.tns-controls button[data-controls="prev"]:hover,
.tns-controls button[data-controls="next"]:hover {
    box-shadow: var(--nm-shadow-hover);
}

.tns-controls button[data-controls="prev"]:active,
.tns-controls button[data-controls="next"]:active {
    box-shadow: var(--nm-shadow-active);
}

.tns-controls ~ .tns-ovh {
    /*margin-left: 60px;*/
    /*margin-right: 60px;*/

    margin-left: 36px;
    margin-right: 36px;
    padding: 24px;
}

footer {
    background-color: white;
    color: #585858;
}

footer .contact-info {
    color: var(--nm-gray);
    font-size: 14px;
    line-height: 2;
}

footer .contact-info a {
    color: var(--nm-gray);
    text-decoration: none;
}

footer .contact-info a:hover {
    color: var(--nm-red-dark);
}

footer .nav-link {
    font-size: 14px;
}

footer .policy {
    color: var(--nm-gray);
    font-weight: 300;
    line-height: 1.15;
    padding: 1rem .75rem 2rem;
}

footer .container {
    padding-top: 3rem;
    padding-bottom: 3rem;
    gap: 2.75rem 1.5rem;
    flex-wrap: nowrap;
    display: flex;
    align-items: center;
}


.screen-reader-text {
    position: absolute;
    visibility: hidden;
    z-index: -1;
}

.breadcrumbs {
    line-height: 1;
    color: var(--nm-gray);
}

.breadcrumbs .current-item {
    color: var(--nm-red);
}

.breadcrumbs a {
    text-decoration: none;
    color: var(--nm-gray);
}

.breadcrumbs a:hover {
    color: var(--nm-red-dark);
}

.grayscale-hover {
    filter: grayscale(1);
    transition: .5s linear filter;
}

.grayscale-hover:hover {

    filter: grayscale(0);
}


.navigation.pagination {
    align-items: center;
    justify-content: center;
    margin: 1rem 0;
}

.nav-links {
    display: flex;
    padding-left: 0;
    list-style: none;
}

.nav-links .page-numbers:first-child {
    border-top-left-radius: var(--bs-pagination-border-radius);
    border-bottom-left-radius: var(--bs-pagination-border-radius);
}

.page-numbers {
    position: relative;
    display: block;
    padding: var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);
    font-size: var(--bs-pagination-font-size);
    color: var(--bs-pagination-color);
    text-decoration: none;
    background-color: var(--bs-pagination-bg);
    border: var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);
    transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
    cursor: pointer;
}

.page-numbers.dots {
    color: var(--nm-gray);
    cursor: inherit;
    pointer-events: none;
}

.page-numbers.current {
    color: var(--nm-black);
    font-weight: 500;
    cursor: inherit;
    pointer-events: none;
}

.nav-links .page-numbers:last-child {
    border-top-right-radius: var(--bs-pagination-border-radius);
    border-bottom-right-radius: var(--bs-pagination-border-radius);
}

.nav-links .page-numbers:not(:first-child) {
    margin-left: calc(var(--bs-border-width) * -1);
}

body.error404 {
    height: 100%;
    display: flex;
    flex-direction: column;
}

body.error404 .page404 {
    flex-grow: 1;
    display: flex;
    align-items: center;
    text-align: center;

}

body.error404 .page404 img {
    margin-bottom: 3rem;
    margin-top: 1rem;
    max-width: 75%;
}

body.error404 .page404 h1 {
    font-weight: 500;
    font-size: 36px;
    line-height: 1.3;
    letter-spacing: 0.29em;
    margin-bottom: 1rem;
    text-transform: uppercase;
}

.card-projects .ratio {
    border-radius: 12px;
    overflow: hidden;
}

.card-projects .card-title {
    font-weight: 600;
    line-height: 1.3;
}

.card-projects .card-description {
    font-weight: 400;
    color: var(--nm-gray);
    margin-top: .5rem;
}

.thumbnail-fullscreen {
    width: 100%;
    height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    background-color: #00000099;
    color: white;
}

.thumbnail-fullscreen > .thumbnail-image {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    object-fit: cover;
    object-position: center;
    z-index: -1;
}

.thumbnail-fullscreen h1 {
    text-transform: unset;
    margin: auto;
    line-height: 1;
    font-size: 78px;
}

article {
    margin-bottom: var(--nm-section-distance);
}

article.type-page {
    word-break: break-word;
}

.custom-section {
    margin-top: var(--nm-section-distance);
}

.event-block {
    background-color: white;
    margin: var(--nm-section-distance) 0;
    position: relative;
    overflow: hidden;
}

.join-block {
    padding: var(--nm-stat-distance) 0;
    background-color: white;
    margin: var(--nm-section-distance) 0;
    position: relative;
    overflow: hidden;
}

.join-steps {
    list-style: none;
    padding-left: 0;
    margin: 1.5rem 0;
}

.join-steps li {
    display: flex;
    align-items: center;
    margin-bottom: 1rem;
}

.join-steps svg, .join-steps i {
    height: 50px;
    width: 40px;
    margin-right: 0.5rem;
    font-size: 46px;
    font-style: normal;
    line-height: 1;
}

.join-steps span {
    font-size: 24px;
    line-height: 1;
}

.join-block .circle {
    width: 260px;
    height: 260px;
    flex-shrink: 0;
    border-radius: 50%;
    border: 2px solid var(--nm-red);
    position: absolute;
}

.join-block .circle.circle-fill {
    border: 0;
    overflow: hidden;
    background-color: var(--nm-red);
}

.join-block .circle.circle-fill img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: top center;
    filter: grayscale(1);
    transition: .3s linear filter;
}

.join-block .circle-fill:hover img {
    filter: grayscale(0);
}


.join-block .circle.с-1 {
    top: -7.1%;
    left: 83.3%;
}

.join-block .circle.с-2 {
    top: 53%;
    left: 86%;
}

.join-block .circle.с-3 {
    top: 21.2%;
    left: 63%;
}

.join-block .circle.с-4 {
    left: 43.5%;
    top: 56%;
}

.join-block .circle.с-5 {
    top: 82%;
    left: 65.8%;
}

.join-block .circle.с-6 {
    left: 22.6%;
    top: 97%;
}

.join-block .circle.с-7 {
    left: 46%;
    top: 120%;
}

.join-block .circle.с-8 {
    top: 122.5%;
    left: 87%;
}

.join-block .circle.с-9 {
    left: 108%;
    top: 93%;
}

.join-block .circle.с-10 {
    left: 108%;
    top: 23%;
}

.join-block .circle.с-11 {
    bottom: 90%;
    left: 103%;
}

.partner {
    height: 160px;
    border-radius: 12px;
    padding: .75rem;
    background-color: white;
    position: relative;
    font-size: 1.75rem;
    font-weight: 500;
    color: var(--nm-red);
    display: flex;
    justify-content: center;
    align-items: center;
}

.partner img, .grant img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    flex-grow: 1;
}

.grant {
    height: 220px;
    border-radius: 12px;
    padding: .75rem .75rem 1.5rem .75rem;
    box-shadow: var(--nm-shadow-normal);
    position: relative;
    display: flex;
    align-items: center;
    flex-direction: column;
}

.grant a {
    flex-grow: 1;
}


.grant .grant-num {
    line-height: 1;
    width: 100%;
    text-align: center;
    font-size: 2rem;
}

.grant img {
    position: absolute;
}

.grant .name {
    flex-grow: 1;
    display: flex;
    align-items: center;
    text-align: center;
    font-size: 1.25rem;
    line-height: 1.3;
}

.grant .grant-num:before {
    content: "";
    width: 100px;
    max-width: 100%;
    display: block;
    margin: 0 auto 1.5rem;
    height: 1px;
    background-color: var(--nm-grayborder);
}

.grant .grant-num span {
    font-weight: 600;
    color: var(--nm-red);
}

.entry-content .custom-section:first-child {
    margin-top: 0;
}

.custom-section .btn-lavalamp {
    font-size: 32px;
}

.tns-nav {
    display: flex;
    gap: 10px;
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 1;
    flex-direction: column-reverse;
    flex-wrap: wrap-reverse;
    width: auto;
    padding: 2rem 2rem 2rem 0;
    height: 100%;
}

.tns-nav button {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: 1px solid var(--nm-lightgray);
    background-color: transparent;
    transition: .3s linear border, .3s linear background;
}

.tns-nav button.tns-nav-active {
    background-color: var(--nm-lightgray);
}

.tns-nav button:hover {
    background-color: var(--nm-red);
    border-color: var(--nm-red);
}

.gallery-slider img, .gallery-slider-vertical img {
    width: 100%;
    object-fit: cover;
    object-position: center;
    border-radius: 12px;
}

.gallery-wrapper .tns-outer {
    position: absolute;
    border-radius: 12px;
    overflow: hidden;
}

.gallery-wrapper .tns-controls button {
    top: 0;
    transform: none;
    background-color: #f2f2f2;
    border-top-right-radius: 0;
    border-top-left-radius: 0;
    box-shadow: unset;
}

.gallery-wrapper .tns-controls button:hover {
    box-shadow: unset;

}

.gallery-wrapper .tns-controls button:active {
    box-shadow: var(--nm-shadow-active);
}

.gallery-wrapper .tns-controls button[data-controls="prev"] {
    border-bottom-left-radius: 0;
}

.gallery-wrapper .tns-controls button[data-controls="next"] {
    border-bottom-right-radius: 0;
}

.quote {
    box-shadow: var(--nm-shadow-normal);
    background-image: url('data:image/svg+xml,<svg width="756" height="240" viewBox="0 0 756 240" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M376.392 1.15646L382.733 6.93162C387.247 11.032 391.766 15.1268 396.148 19.3613C418.222 40.6548 440.224 61.9764 462.229 83.2923L521.596 140.787C521.877 141.063 522.19 141.342 522.575 141.668L523.014 142.046L527.26 139.011C530.901 136.413 534.526 133.818 538.308 131.075L619.289 72.1798C622.842 69.5903 625.571 68.4464 628.093 68.8488C630.617 69.2494 632.852 71.1775 635.426 74.7265L647.471 91.3272L754.5 239H753.184C717.511 189.708 682.063 140.83 646.611 91.9588L634.559 75.3505C632.162 72.0419 630.137 70.2535 627.927 69.907C625.716 69.5586 623.233 70.6317 619.916 73.0367L538.937 131.936C535.388 134.52 531.643 137.191 527.883 139.881L522.953 143.404L521.881 142.477C521.488 142.141 521.166 141.86 520.853 141.558L461.486 84.058C439.471 62.7234 417.448 41.3963 395.414 20.1269C391.035 15.9055 386.528 11.8126 382.015 7.72151L375.837 2.08794L370.637 2.29288C350.151 23.4076 329.646 44.4907 309.207 65.6352C305.336 69.6555 301.46 73.6757 297.475 77.6345C296.921 78.1803 296.178 78.6666 295.381 79.015C294.607 79.3615 293.764 79.5757 293.006 79.5962C284.095 79.8048 275.185 79.9819 266.29 80.1365C257.363 80.2948 248.468 80.4308 239.582 80.5668L239.558 80.5705C236.894 80.6078 234.786 81.3865 233.367 82.834C231.951 84.2648 231.19 86.3885 231.227 89.1085L231.232 89.1327C231.432 101.926 231.679 114.692 231.93 127.454L232.197 141.014L232.252 141.651C232.31 142.167 232.37 142.676 232.217 143.186L232.057 143.728C231.718 144.867 231.359 146.1 230.499 146.823C230.136 147.121 229.498 147.102 228.826 146.907C228.135 146.707 227.341 146.32 226.81 145.973C219.581 141.15 212.473 136.351 205.377 131.556L130.154 80.7867C127.28 78.8529 124.912 78.0593 122.839 78.4468C120.76 78.8287 118.895 80.4066 117.009 83.2085L3.15098 238.426L2.76945 239H1.5L2.26869 237.834L116.123 82.6067C118.176 79.5626 120.265 77.8338 122.645 77.3923C125.022 76.9489 127.632 77.8059 130.746 79.9036L205.975 130.669C213.143 135.515 220.312 140.353 227.404 145.087C227.854 145.388 228.532 145.711 229.12 145.88C229.479 145.983 229.762 146.042 229.814 146.001C230.425 145.487 230.741 144.418 231.031 143.423L231.193 142.883C231.283 142.588 231.236 142.182 231.19 141.78C231.165 141.543 231.138 141.301 231.13 141.038L230.868 127.472C230.62 114.702 230.369 101.924 230.164 89.1736L230.16 89.1457C230.118 86.111 230.99 83.7301 232.612 82.0833C234.231 80.4439 236.585 79.5496 239.515 79.5049L239.543 79.5012C248.472 79.3671 257.382 79.2273 266.265 79.0708C275.166 78.9125 284.076 78.7392 292.975 78.5269C293.595 78.5082 294.3 78.3257 294.953 78.0407C295.633 77.7426 296.271 77.3271 296.725 76.8726C300.662 72.9622 304.552 68.9308 308.438 64.8975C328.974 43.6468 349.545 22.4054 370.175 1.24033L376.23 1L376.392 1.15646Z" fill="white" stroke="white" stroke-miterlimit="22.9256"/></svg>');
    background-position: center;
    background-repeat: no-repeat;
    background-size: 80%;
    border-radius: 32px;
    padding: 3rem 4rem;
    display: flex;
    flex-direction: column;
    min-height: 476px;
    margin-bottom: 0;
}

.quote .quote-content {
    font-weight: 300;
    font-size: 1.5rem;
    line-height: 1.25;
    flex-grow: 1;
    display: flex;
    align-items: center;
}

.quote figcaption {
    text-align: right;
}

.quote .quote-person-name {
    font-weight: 400;
    font-size: 1.5rem;
    line-height: 1.25;
    font-style: normal;
    display: block;

}

.quote .quote-person-info {
    line-height: 1.25;
}

.quote-image {
    position: absolute;
    width: 100%;
    height: 100%;
    filter: grayscale(1);
    object-fit: cover;
    object-position: top center;
    transition: .3s linear filter;
}

.quote-image:hover {
    filter: grayscale(0);
}

.persons-slider .person {
    border-radius: 12px;
    position: relative;
    box-shadow: var(--nm-shadow-normal);
    background-color: white;
    padding: 12px 14px;
    overflow: hidden;
    height: 100%;
}

.persons-slider {
    display: flex;
}

.persons-slider img {
    height: 100%;
    border-radius: 6px;
    object-fit: cover;
}

.persons-slider .person-info-row {
    position: absolute;
    bottom: 0;
    width: 100%;
    background-color: rgba(255, 255, 255, 0.5);
    padding: 2rem 1.5rem;
    line-height: 1.3;
    margin-left: -14px;
    transition: .3s linear opacity;
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
    max-height: 100%;
    display: flex;
    flex-direction: column;
}


.persons-slider .person-about {
    overflow: auto;
    height: 0;
    transition: .3s linear height;
}

.persons-slider .person:hover .person-about {
    height: 600px;
}

.persons-slider .person-info {
    font-size: 1rem;
    margin-bottom: 1rem;
}

.persons-slider .person-name {
    font-weight: 600;
    font-size: 1.5rem;
}

.directions-card {
    position: relative;
}

.directions-card .directions-card-shadow {
    background: linear-gradient(303.13deg, #2B2A29 43.16%, rgba(43, 42, 41, 0) 112.09%);
    opacity: 0.6;
    filter: blur(50px);
}

.directions-card .tns-nav {
    gap: 6px;
    padding: 1rem 1rem 2rem 0;
}

.directions-card .tns-nav button {
    width: 12px;
    height: 12px;
    padding: 0;
}

.directions-card .directions-link {
    display: flex;
    position: absolute;
    bottom: 1.5rem;
    left: 2rem;
    right: 2.5rem;
    align-items: center;
    gap: 1.5rem;
}

.directions-card .directions-link p {
    margin-bottom: 0;
    text-transform: uppercase;
    font-weight: 600;
    font-size: 2.25rem;
    line-height: 1.2;
    color: white;
    max-width: 50%;
}

.directions-card .directions-link .btn {
    flex-shrink: 0;
}

.uacf7-step.step-content.step-start button.uacf7-prev, .uacf7-step.step-content.step-end button.uacf7-next, .uacf7-step.step-content.step-end span.uacf7-ajax-loader {
    display: none !important;
}

.uacf7-step.step-content {
    position: relative;
}

.steps-form .steps-row {
    display: flex;
    flex-wrap: nowrap;
    width: 100%;
    --nm-progress-bg-size: 0% 0%;
    --nm-progress-border: var(--nm-midgray);
    --nm-progress-line: var(--nm-midgray);
    margin-bottom: 2.25rem;
}

.steps-form .steps-row .steps-step {
    display: flex;
    flex-direction: column;
}

.steps-form .steps-row .steps-step .step-title {
    font-size: 10px;
    text-transform: uppercase;
    text-align: center;
    color: var(--nm-gray);
    line-height: 1;
    margin-top: .25rem;
}

.form-progress .progress-block .progress-circle, .steps-form .steps-row .steps-step .btn-circle {
    width: 32px;
    height: 32px;
    background: radial-gradient(var(--nm-red) 0%, var(--nm-red) 70%, transparent 0%) no-repeat center;
    background-size: var(--nm-progress-bg-size);
    border: 2px solid var(--nm-progress-border);
    border-radius: 50%;
    flex-shrink: 0;
    transition: .3s background;
    position: relative;
    padding: 0;
}

.steps-form .steps-row .steps-step .btn-circle:after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background: url('data:image/svg+xml,<svg width="15" height="12" viewBox="0 0 15 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1.66699 6.83301L5.00033 10.1663L13.3337 1.83301" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>');
    background-position: center;
    background-repeat: no-repeat;
    background-size: 53%;
    opacity: 0;
    left: 0;
    top: 0;
}

.steps-form .steps-row .steps-step.uacf7-btn-active .btn-circle {
    --nm-progress-bg-size: 50% 50%;
    --nm-progress-border: var(--nm-red);
    transform: unset;
}

.steps-form .steps-row .steps-step.complete .btn-circle {
    --nm-progress-bg-size: 110% 110%;
    --nm-progress-border: var(--nm-red);
}

.steps-form .steps-row .steps-step.complete .btn-circle:after {
    opacity: 1;
    transition: .3s opacity;
    transition-delay: .3s;
}

.steps-wrapper {
    flex-grow: 1;
    position: relative;
    transition: .3s linear background;
}

.steps-wrapper:after {
    content: "";
    position: absolute;
    background-color: var(--nm-progress-line);
    height: 2px;
    top: 15px;
    width: 100%;
}

.steps-wrapper:before {
    content: "";
    position: absolute;
    background-color: var(--nm-red);
    height: 2px;
    top: 15px;
    width: 0;
    transition: .3s width;
    transition-delay: .3s;
    z-index: 1;
}

.steps-form .steps-row .steps-step.complete + .steps-wrapper:before {
    width: 100%;
}

.move_to_top {
    display: none;
    position: fixed;
    width: 3rem;
    height: 3rem;
    background-color: var(--nm-red);
    right: 1.5rem;
    bottom: 1.5rem;
    z-index: 5;
    border-radius: 50%;
    background-image: url("./img/scroll-to-top.svg");
    background-position: center 44%;
    background-repeat: no-repeat;
    background-size: 50%;
}

.move_to_top:hover {
    background-color: var(--nm-red-dark);
}

.move_to_top.show {
    display: flex;
}

#cookie-banner{
    position: fixed;
    width: 100%;
    bottom: 0;
    left: 0;
    background-color: var(--nm-lightgray);
    z-index: 100;
}

.cookie-container{
    padding-top: 12px;
    padding-bottom: 12px;
    font-weight: 250;
    font-size: 14px;
    display: flex;
    align-items: center;
    gap: 1rem;
}


@media (max-width: 1399.98px) {

    body {
        --nm-stat-distance: 90px;
        --nm-section-distance: 80px;
    }

    .h2, h2 {
        font-size: 44px;
    }

    .stat-text .number {
        font-size: 64px;
    }

    #intro {
        min-height: 600px;
        max-height: 800px;
        padding-top: 95px;
    }

    .header-gestures h1 {
        font-size: 100px;
    }

    .header-gestures .ff-hand {
        font-size: 90px;
    }

    .header-gestures .subtitle {
        font-size: 32px;
    }

    #intro .item {
        font-size: 24px;
        height: 80px;
    }

    #intro .intro-slider__bg {
        height: 300px;
    }

    #intro .tns-inner {
        margin: 80px 0 !important;
    }


    .join-block .circle {
        width: 225px;
        height: 225px;
    }

    .header-animate h1 {
        font-size: 135px;
    }

    .directions-card .directions-link p {
        max-width: 60%;
    }

    .thumbnail-fullscreen h1 {
        font-size: 72px;
    }
}

@media (max-width: 1199.98px) {

    .h2, h2 {
        font-size: 36px;
    }

    .stat-text .number {
        font-size: 42px;
    }

    #primary-menu {
        margin-top: max(4.5vh, 1.5rem);
        margin-bottom: max(6.5vh, 1.5rem);
        gap: 1.25rem 0;
    }

    #primary-menu .nav-link {
        font-size: 24px;
    }

    .menu-contacts__wrapper {
        padding-bottom: 1.5rem;
    }

    .social-row {
        gap: 1rem;
    }

    .social-row .btn-social {
        display: flex;
        width: 36px;
        height: 36px;
    }

    .bvi-open {
        max-width: 220px;
    }


    .join-block .circle {
        width: 190px;
        height: 190px;
    }

    .header-gestures .ff-hand {
        font-size: 80px;
        margin-top: -1.5rem;
    }

    .header-gestures h1 {
        font-size: 92px;
    }

    .header-animate h1 {
        font-size: 92px;
    }

    .custom-section .btn-lavalamp {
        font-size: 28px;
    }

    .directions-card .directions-link {
        bottom: 1rem;
        left: 1.5rem;
        right: 2rem;
    }

    .directions-card .directions-link p {
        max-width: unset;
        font-size: 1.75em;
    }

    .directions-card .tns-nav button {
        width: 10px;
        height: 10px;
    }

    .directions-card .tns-nav {
        gap: 5px;
        padding: 1rem 1rem 1.25rem 0;
    }

    .thumbnail-fullscreen h1 {
        font-size: 62px;
    }

}

@media (max-width: 991.98px) {

    .navbar {
        --bs-navbar-padding-y: 1.75rem;
    }

    .navbar .offcanvas-header {
        min-height: unset;
    }

    .menu-contacts {
        border: none;
        border-radius: 0;
        padding: 0;
    }

    .menu-contacts.menu-contacts__wide {
        padding: 1.5rem 0;
    }

    #primary-menu {
        margin-top: 0;
        gap: 1rem 0;
    }

    .menu-contacts .menu-contacts-title {
        font-size: 16px;
    }

    .menu-contacts p {
        font-size: 14px;
    }

    .stat-text .number {
        font-size: 70px;
    }

    .modal-header {
        padding: 1.5rem 2rem 1.5rem 2rem;
        border-bottom: 0;
    }

    .modal-body {
        padding: 0 2rem 1.5rem 2rem;
    }

    .modal-header .btn-close {
        font-size: 0;
        padding-left: 1.5rem;
    }

    body.has-featured-image .navbar, body.home .navbar, .navbar {
        position: sticky;
    }

    #intro {
        padding-top: 0;
    }

    .header-gestures {
        padding-top: 0;
        min-height: unset;
        padding-bottom: 80px;
    }

    .header-gestures h1 {
        font-size: 72px;
    }

    .header-gestures .ff-hand {
        font-size: 62px;
        margin-top: -0.5rem;
    }

    .header-gestures .subtitle {
        font-size: 30px;
    }

    .navbar .bvi-open {
        max-width: 215px;
    }

    .bvi-open {
        font-size: 0;
    }

    .stat-grid {
        display: grid;
        grid-template-rows: repeat(1, 1fr);
        grid-template-columns: repeat(2, 1fr);
    }

    .stat-photo.stat-cell__photo2 {
        border-radius: 0;
    }

    .stat-photo.stat-cell__photo3 {
        border-radius: 0 0 12px 0;
    }

    .stat-text.stat-cell__stat1 {
        min-height: 217.5px;
    }

    .stat-text.stat-cell__stat4 {
        border-radius: 0 0 0 12px;
        grid-column: 1/2;
        grid-row: 6/7;
    }

    .review-slider .item, .review-slider .item.active {
        filter: unset;
        transform: unset;
    }

    .join-block .circle {
        width: 160px;
        height: 160px;
        left: unset;
        top: unset;
    }

    .join-block .circle.с-1 {
        top: 25%;
        left: 80%;
    }

    .join-block .circle.с-2 {
        top: 64.1%;
        left: 85.3%;
    }

    .join-block .circle.с-3 {
        top: 53%;
        left: 59%;
    }

    .join-block .circle.с-4 {
        top: 87%;
        left: 40.5%;
    }

    .join-block .circle.с-5 {
        top: 91%;
        left: 66.8%;
    }

    .join-block .circle.с-6 {
        top: 31%;
        left: 106%;
    }

    .join-block .circle.с-7 {
        top: 72%;
        left: 113%;
    }

    .join-block .circle.с-8 {
        top: 109%;
        left: 19%;
    }

    .join-block .circle.с-9 {
        top: 103%;
        left: 93%;
    }

    .join-block .circle.с-10 {
        display: none;
    }

    .join-block .circle.с-11 {
        bottom: 75%;
        left: 98%;
    }

    .header-animate h1 {
        font-size: 80px;
    }

    .quote {
        padding: 24px;
        min-height: 300px;
    }

    .quote .quote-content {
        font-size: 1.25rem;
    }

    .thumbnail-fullscreen h1 {
        font-size: 46px;
    }
}

@media (max-width: 767.98px) {

    .custom-section .btn-lavalamp {
        font-size: 28px;
        min-height: 120px;
    }

    body {
        --nm-section-distance: 60px;
        --nm-stat-distance: 70px
    }

    #wp-admin-bar-wpseo-menu {
        display: none !important;
    }

    .navbar {
        --bs-navbar-padding-y: 1rem;
    }

    .navbar > .container, .navbar-bg > .container {
        gap: 0.5rem;
    }

    .stat-text .number {
        font-size: 54px;
    }

    #primary-menu {
        gap: 0.25rem;
    }

    #primary-menu .nav-link {
        font-weight: 500;
    }

    .menu-contacts.menu-contacts__wide {
        padding: 0;
        font-size: 18px;
    }

    .menu-contacts .menu-contacts-title {
        margin-bottom: 0.5rem;
    }

    .menu-contacts__wrapper {
        padding-bottom: 1rem;
    }

    .h1, h1, .fs-1 {
        font-size: 36px;
    }

    .h2, h2, .fs-2 {
        font-size: 32px;
    }

    .h3, h3, .fs-3 {
        font-size: 24px;
    }

    .h4, h4, .fs-4 {
        font-size: 20px;
    }

    .h5, h5, .fs-5 {
        font-size: 18px;
    }

    .h6, h6, .fs-6 {
        font-size: 16px;
    }

    .form-success .h1 {
        font-size: 100px;
    }

    .admin-bar .navbar {
        top: 0;
    }

    .tns-controls ~ .tns-ovh {
        margin-left: 0;
        margin-right: 0;
        padding: 2rem 0;
    }

    .tns-controls {
        position: relative;
        height: 60px;
        width: 100%;
    }

    .review-slider {
        padding: 2rem 0 1.5rem 0;
    }

    .review-text, .review-meta {
        line-height: 1.3;
    }

    .stat-text.stat-cell__stat1 {
        min-height: 161.25px;
    }

    #intro .intro-slider__bg {
        width: 100vw;
        height: 200px;
        margin-left: calc(var(--bs-gutter-x) * -.5);
    }

    #intro .intro-bg {
        left: -8vw;
        object-position: center;
        max-width: unset;
        width: 116vw;
        height: 104%;
    }

    #intro .tns-inner {
        margin: 60px 0 !important;
    }

    #intro .tns-outer {
        top: 10px;
        bottom: 10px;
        left: 12px;
        width: calc(100% - 24px);
    }

    #intro .item {
        font-size: 26px;
        height: 60px;
    }

    #intro {
        min-height: 512px;
        max-height: unset;
        height: auto;
        padding-top: 0;
    }

    .header-gestures {
        padding-bottom: 60px;
    }

    .header-gestures .nm-roof {
        margin-top: 2rem;
        width: 100%;
    }

    .header-gestures .ff-hand {
        font-size: 58px;
    }

    .header-gestures h1 {
        font-size: 64px;
    }

    .header-gestures .subtitle {
        font-size: 24px;
    }

    .join-block .circle {
        width: 120px;
        height: 120px;
    }

    .join-block .container {
        padding-bottom: 100px;
    }

    .join-block .circle.с-1 {
        top: 52%;
        left: 79%;
    }

    .join-block .circle.с-2 {
        top: 76.1%;
        left: 85.3%;
    }

    .join-block .circle.с-3 {
        top: 71%;
        left: 58%;
    }

    .join-block .circle.с-4 {
        top: 92%;
        left: 40.5%;
    }

    .join-block .circle.с-5 {
        top: 95%;
        left: 66.8%;
    }

    .join-block .circle.с-6 {
        top: 56%;
        left: 106%;
    }

    .join-block .circle.с-7 {
        top: 83%;
        left: 113%;
    }

    .join-block .circle.с-8 {
        top: 109%;
        left: 19%;
    }

    .join-block .circle.с-9 {
        top: 103%;
        left: 93%;
    }

    .join-block .circle.с-10 {
        display: none;
    }

    .join-block .circle.с-11 {
        bottom: 47%;
        left: 98%;
    }

    .header-animate h1 {
        font-size: 58px;
    }

    .checkbox-inline-column {
        grid-template-columns: 1fr;
    }

    .steps-form {
        position: sticky;
        top: 0;
        background-color: white;
        z-index: 10;
    }

    .steps-form .steps-row {
        padding-bottom: 1.5rem;
        margin-bottom: 0;
    }

    .thumbnail-fullscreen h1 {
        font-size: 34px;
    }

    #intro .support-button-row {
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        gap: .5rem .5rem;
    }
    #intro .support-button-row .btn{
        --bs-border-width: 0;
        --bs-btn-padding-y: .75rem;
        --bs-btn-padding-x: .75rem;
        --bs-btn-font-size: 13px;
        flex-grow: 1;
    }
}

@media (max-width: 575.98px) {

    body {
        --nm-stat-distance: 40px;
    }

    ol, ul {
        padding-left: 1.25rem;
    }

    .h1, h1, .fs-1 {
        font-size: 26px;
    }

    .h2, h2, .fs-2 {
        font-size: 24px;
    }

    .navbar {
        /*backdrop-filter: unset;*/
    }

    .navbar .offcanvas {
        height: 100%;
        min-height: 90vh;
    }

    .navbar .navbar-brand {
        width: 126px;
        margin-right: 0;
    }


    .custom-logo {
        width: 45vw;
    }

    .navbar .btn-menu {
        gap: .5rem;
    }


    .navbar .btn.btn-primary {
        width: 100%;
    }

    .program-event {
        padding-left: 1rem;
    }

    .modal-header {
        padding: 1rem 1.25rem 1rem 1.25rem;
        border-bottom: 0;
    }

    .modal-body {
        padding: 0 1.25rem 1rem 1.25rem;
    }

    .modal-header .btn-close {
        font-size: 0;
        padding-left: 1.125rem;
        margin-right: 0;
        height: 18px;
        background: transparent var(--bs-btn-close-bg) left/1.125rem auto no-repeat;
    }

    .btn-send {
        width: 100%;
    }

    .form-success {
        padding: 1rem;
    }

    .form-success .h1 {
        font-size: 18vw;
    }

    .form-success .text-center {
        font-size: 14px;
    }

    .stat-grid {
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: 1fr;
    }

    .stat-cell {
        grid-column: span 1 !important;
        grid-row: span 1 !important;
    }

    .stat-photo {
        margin-left: -12px;
        margin-right: -12px;
        border-radius: 0 !important;
    }

    .stat-photo.stat-cell__photo1 {
        grid-row: 3 / 4 !important;
    }

    .stat-text, .stat-text.stat-cell__stat1 {
        padding: 0;
        margin-top: 1rem;
        margin-bottom: 1rem;
        min-height: unset;
        line-height: 1.3;
        border: 0;
    }

    .stat-text.stat-cell__stat1 {
        margin-top: 2rem;
    }

    footer .container {
        padding-top: 2rem;
        padding-bottom: 2rem;
        gap: 2.25rem .5rem
    }

    footer .custom-logo-link {
        margin: auto;
        width: 80%;
    }

    footer .custom-logo {
        width: 100%;
    }

    footer .btn-primary {
        width: 100%;
    }

    .category-name {
        width: 100%;
    }

    .category-link {
        font-size: 1rem;
        margin: .5rem auto 1rem 0;
        border-bottom: 1px dashed;
    }

    .category-link:after {
        content: " >";
    }

    body.error404 .page404 h1 {
        font-size: 9vw;
        letter-spacing: 0.1em;
    }

    .join-block .container {
        padding-bottom: 0;
    }

    .header-gestures .ff-hand {
        font-size: 10vw;
    }

    .header-gestures h1 {
        font-size: 12vw;
    }

    .header-gestures .subtitle {
        font-size: 4.6vw;
    }

    .header-animate {
        width: 100%;
        min-height: unset;
    }

    .header-animate h1 {
        font-size: 10.5vw;
    }

    .quote .quote-content {
        font-size: 1.1rem;
    }

    .quote .quote-person-name {
        font-size: 1.25rem;
    }

    .quote .quote-person-info {
        font-size: .75rem;
    }

    .directions-card .tns-nav {
        gap: 4px;
        padding: 0.5rem 0.5rem .8rem 0;
    }

    .directions-card .tns-nav button {
        width: 8px;
        height: 8px;
    }

    .directions-card .directions-link .btn {
        padding: .75rem 1rem;
    }

    .directions-card .directions-link {
        bottom: 0.75rem;
        left: 0.75rem;
        right: 1.5rem;
        gap: 1rem;
        align-items: flex-end;
    }

    .directions-card .directions-link p {
        font-size: 6vw;
        flex-grow: 1;
    }

    .join-steps svg, .join-steps i {
        height: 30px;
        width: 22px;
        font-size: 32px;
    }

    .join-steps span {
        font-size: 18px;
    }

    .breadcrumbs {
        line-height: 14px;
    }

    .custom-section .btn-lavalamp {
        font-size: 28px;
        min-height: 90px;
    }

    .tns-controls ~ .tns-ovh {
        margin-left: 0;
        margin-right: 0;
        padding: 0;
    }

    .tns-controls ~ .tns-ovh .tns-inner {
        margin-top: -1.25rem;
    }

    .tns-controls {
        position: absolute;
        right: 0;
        display: flex;
        gap: 12px;
        width: auto;
        bottom: calc(100% + 1rem);
    }

    .tns-controls button[data-controls="prev"], .tns-controls button[data-controls="next"] {
        position: relative;
        left: unset;
        right: unset;
    }

    .form-end .ff-hand {
        font-size: 14vw;
    }

    .form-end h1 {
        font-size: 16vw;
    }

    .thumbnail-fullscreen h1 {
        font-size: 34px;
        word-break: break-word;
    }
}

@media (max-width: 350px) {
    .directions-card .directions-link p {
        font-size: 4.9vw;
    }

    .tns-controls button[data-controls="prev"], .tns-controls button[data-controls="next"] {
        width: 36px;
        height: 36px;
    }
}