.fw-300 {
    font-weight: 300 !important;
}
.fw-400 {
    font-weight: 400 !important;
}
.fw-500 {
    font-weight: 500 !important;
}
.fw-600 {
    font-weight: 600 !important;
}
.fw-700 {
    font-weight: 700 !important;
}
.fw-900 {
    font-weight: 900 !important;
}
.z-index-1 {
    z-index: 1 !important;
}
.z-index-2 {
    z-index: 2 !important;
}
.z-index-3 {
    z-index: 3 !important;
}
.z-index-4 {
    z-index: 4 !important;
}
.obj-cover {
    -o-object-fit: cover;
    object-fit: cover;
}
.obj-contain {
    -o-object-fit: contain;
    object-fit: contain;
}
.position-relative {
    position: relative;
}
.position-absolute {
    position: absolute;
}
.position-fixed {
    position: fixed;
}
.w-100 {
    width: 100%;
}
.h-100 {
    height: 100%;
}
.h-auto {
    height: auto !important;
}
.transition-def,
a,
.btn,
.btn-circle,
.spec-btn,
.swiper-pagination-bullet {
    -webkit-transition: var(--animation-default);
    -o-transition: var(--animation-default);
    transition: var(--animation-default);
}
.list-unstyled {
    padding-left: 0;
    list-style: none;
    margin-bottom: 0;
}
.list-unstyled li:before,
.nav li:before {
    content: none;
}
.list-unstyled li,
.nav li {
    padding-left: 0;
    margin-bottom: 0;
}
.nav {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding-left: 0;
    margin-bottom: 0;
    list-style: none;
}
.text-link .text-link__txt,
.underline-link .underline-link__txt {
    background-image: -webkit-gradient(linear, left top, right top, from(var(--gradient-underline-color-1)), to(var(--gradient-underline-color-2)));
    background-image: -o-linear-gradient(left, var(--gradient-underline-color-1) var(--gradient-underline-color-1-pos), var(--gradient-underline-color-2) var(--gradient-underline-color-2-pos));
    background-image: linear-gradient(to right, var(--gradient-underline-color-1) var(--gradient-underline-color-1-pos), var(--gradient-underline-color-2) var(--gradient-underline-color-2-pos));
    background-size: 0 1px;
    background-repeat: no-repeat;
    background-position: 100% 100%;
    padding: 0 0 1px;
    vertical-align: baseline;
    -webkit-transition: var(--animation-fast);
    -o-transition: var(--animation-fast);
    transition: var(--animation-fast);
}
.text-link--gradient {
    --gradient-txt-color-1-pos: 16.48%;
    --gradient-txt-color-2-pos: 48.52%;
    --gradient-underline-color-1: #d85fec;
    --gradient-underline-color-2: #7482ff;
    --gradient-underline-color-1-pos: 16.48%;
    --gradient-underline-color-2-pos: 48.52%;
}
.underline-link .underline-link__txt {
    padding-bottom: 0.3rem;
    line-height: 1.9;
}
.text-link--reverse .text-link__txt,
.underline-link .underline-link__txt {
    background-size: 100% 1px;
}
@media (hover: hover) and (pointer: fine) {
    .text-link:hover .text-link__txt {
        background-size: 100% 1px;
    }
    .text-link--reverse:hover .text-link__txt,
    .underline-link:hover .underline-link__txt {
        background-size: 0 1px;
    }
}
.text-link {
    display: inline-block;
    text-decoration: none !important;
    color: currentColor !important;
}
.underline-link {
    display: inline-block;
    line-height: 1.2;
    font-size: .75rem;
    font-weight: 500;
    text-transform: uppercase;
    text-decoration: none !important;
    color: currentColor !important;
}
.spec-btn,
.btn-wrap,
.btn,
.btn-wp-style input#submit {
    padding: 0;
    border: none;
    background: none;
    text-decoration: none !important;
    outline: none !important;
    cursor: pointer;
}
.btn,
.btn-wp-style input#submit {
    position: relative;
    text-align: center;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    line-height: 1.2;
    color: var(--light-color) !important;
    padding: 11px 32px;
    font-weight: 700;
    min-width: 140px;
}
.btn,
.btn-wp-style input#submit,
.btn:before,
.btn:after {
    border-radius: var(---btn-border-radius);
    -webkit-transition: var(--animation-fast);
    -o-transition: var(--animation-fast);
    transition: var(--animation-fast);
}
.btn-txt {
    position: relative;
    z-index: 2;
}
.btn:before,
.btn:after {
    content: "";
    position: absolute;
    z-index: 0;
}
.btn:before {
    top: 2px;
    bottom: 2px;
    right: 2px;
    left: 2px;
    background: var(--light-color);
    opacity: 0;
    z-index: 1;
}
.btn:after {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: -o-linear-gradient(353deg, #d85fec 18.54%, #7482ff 108.51%);
    background: linear-gradient(97deg, #d85fec 18.54%, #7482ff 108.51%);
}
.btn--secondary:after,
.btn-wp-style input#submit {
    background: var(--dark-color-900);
}
.btn + .btn-circle {
    margin-left: 6px;
}
.btn-circle {
    color: var(--light-color);
    width: 41px;
    height: 41px;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 41px;
    flex: 0 0 41px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    background: var(--dark-color-900);
    border: 2px solid var(--dark-color-900);
    border-radius: 50%;
}
.btn-wp-style input#submit {
    padding: 9px 28px;
    border: 2px solid var(--dark-color-900);
}
.btn__svg-2 {
    margin-left: 0.6rem;
}
.btn__svg-1 {
    margin-right: 0.5rem;
}
.btn__svg-pos {
    margin-top: -.2rem;
}
@media (hover: hover) and (pointer: fine) {
    .btn:hover:before {
        opacity: 1;
    }
    .btn:hover,
    .spec-btn:hover {
        color: #b26cf3 !important;
    }
    .btn-wrap:hover .btn,
    .btn-wrap:hover .btn-circle,
    .btn--secondary:hover,
    .btn-wp-style:hover input#submit,
    .btn-circle:hover {
        color: var(--dark-color-900) !important;
    }
    .btn-wrap .btn:hover:before {
        opacity: 0;
    }
    .btn-wrap .btn,
    .btn-wrap .btn-circle {
        color: var(--light-color) !important;
    }
    .btn-wrap:hover .btn:before {
        opacity: 1 !important;
    }
    .btn-wp-style:hover input#submit,
    .btn-wrap:hover .btn-circle {
        background: var(--light-color);
    }
}
.cursor-pointer {
    cursor: pointer;
}
.last-el-mb-0 > *:last-child {
    margin-bottom: 0;
}
.after-el:after,
.before-el:before {
    content: "";
    position: absolute;
}
.link-mask,
.overlay,
.after-el--full:after,
.before-el--full:before {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
}
.overlay,
.link-mask {
    position: absolute;
    z-index: 0;
}
.link-mask {
    z-index: 6;
}
.text-center {
    text-align: center;
}
.swiper-buttons {
    top: 50%;
    max-width: 80%;
    padding: 0 .75rem;
    z-index: 2;
    left: 0;
    right: 0;
}
.swiper-button {
    width: 2rem;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    cursor: pointer;
    -webkit-transition: var(--animation-fast);
    -o-transition: var(--animation-fast);
    transition: var(--animation-fast);
}
.kicker {
    font-size: 14px;
    font-weight: 500;
    line-height: 1.2;
    text-transform: uppercase;
    letter-spacing: 0;
    margin-bottom: .5rem;
}
.kicker a {
    color: currentColor;
    text-decoration: none;
}
.kicker a:hover {
    text-decoration: underline;
}
.text-right {
    text-align: right !important;
}
.text-left {
    text-align: left !important;
}
.overflow-hidden {
    overflow: hidden !important;
}
.overflow-visible {
    overflow: visible !important;
}
.overflow-auto {
    overflow: auto !important;
}
.text-uppercase {
    text-transform: uppercase !important;
}
.text-capitalize {
    text-transform: capitalize !important;
}
.hide-scrollbar {
    -ms-overflow-style: none;
    scrollbar-width: none;
}
.hide-scrollbar::-webkit-scrollbar {
    display: none;
}
.input-style {
    width: 100%;
    display: block;
    color: currentColor;
    font-size: 18px;
    outline: none;
    padding: 12px 18px 12px;
    border-radius: 6px;
    border: 1px solid #a2a1db;
    background: -o-linear-gradient(301deg, rgba(249, 248, 255, 0.70) 28.9%, rgba(255, 255, 255, 0.50) 121.86%);
    background: linear-gradient(149deg, rgba(249, 248, 255, 0.70) 28.9%, rgba(255, 255, 255, 0.50) 121.86%);
    -webkit-box-shadow: 4px -5px 16px -4px rgba(116, 110, 183, 0.10) inset, 0 0 9px 0 rgba(78, 134, 159, 0.10);
    box-shadow: 4px -5px 16px -4px rgba(116, 110, 183, 0.10) inset, 0 0 9px 0 rgba(78, 134, 159, 0.10);
}
.input-style__search-btn {
    top: 0;
    left: 1.7rem;
    bottom: 0;
    margin: auto;
    height: 1rem;
    width: 1rem;
    cursor: pointer;
    pointer-events: none;
}
.input-style--search {
    padding-left: 3.5rem;
}
.input-style:focus::-webkit-input-placeholder {
    opacity: 0;
}
.input-style:focus::-moz-placeholder {
    opacity: 0;
}
.input-style:focus:-ms-input-placeholder {
    opacity: 0;
}
.input-style:focus::-ms-input-placeholder {
    opacity: 0;
}
.input-style:focus::placeholder {
    opacity: 0;
}
.input-style::-webkit-input-placeholder {
    color: #a2a1db;
    -webkit-transition: var(--animation-default);
    -o-transition: var(--animation-default);
    transition: var(--animation-default);
}
.input-style::-moz-placeholder {
    color: #a2a1db;
    -webkit-transition: var(--animation-default);
    -o-transition: var(--animation-default);
    -moz-transition: var(--animation-default);
    transition: var(--animation-default);
}
.input-style:-ms-input-placeholder {
    color: #a2a1db;
    -webkit-transition: var(--animation-default);
    -o-transition: var(--animation-default);
    -ms-transition: var(--animation-default);
    transition: var(--animation-default);
}
.input-style::-ms-input-placeholder {
    color: #a2a1db;
    -webkit-transition: var(--animation-default);
    -o-transition: var(--animation-default);
    -ms-transition: var(--animation-default);
    transition: var(--animation-default);
}
.input-style::placeholder {
    color: #a2a1db;
    -webkit-transition: var(--animation-default);
    -o-transition: var(--animation-default);
    transition: var(--animation-default);
}
@media (max-width: 575px) {
    .input-style__search-btn {
        left: 0.8rem;
    }
    .input-style--search {
        padding-left: 2.5rem;
    }
}
.btn__txt-overflow {
    max-width: 6.25rem;
}
.text-truncate {
    overflow: hidden;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.container-hero-anim-js,
.container-anim-js {
    opacity: 0;
}
.primary-parallax-js,
.primary-parallax-js.s-banner__bg-img {
    top: -150px;
    height: calc(100% + 150px);
}
.parallax-def-reverse-js,
.parallax-def-reverse-js.s-banner__bg-img {
    top: 0;
}
.hero-title-line-wrap-js {
    overflow: hidden;
    margin-bottom: -7px;
}
.hero-title-line-js {
    padding-bottom: 7px;
}
.block-anim--scale {
    transform-origin: bottom center;
}
@media (max-width: 767px) {
    .primary-parallax-js,
    .primary-parallax-js.s-banner__bg-img {
        top: -70px;
        height: calc(100% + 70px);
    }
    .parallax-def-reverse-js,
    .parallax-def-reverse-js.s-banner__bg-img {
        top: 0;
    }
}
.after-el--line:after {
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    height: 0.0625rem;
    max-width: calc(100% - 1.5rem);
    background: currentColor;
}
.ratio {
    position: relative;
    width: 100%;
}
.ratio::before {
    display: block;
    padding-top: var(--bs-aspect-ratio);
    content: "";
}
.ratio > * {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.ratio-1x1 {
    --bs-aspect-ratio: 100%;
}
.ratio-4x3 {
    --bs-aspect-ratio: calc(3 / 4 * 100%);
}
.ratio-16x9 {
    --bs-aspect-ratio: calc(9 / 16 * 100%);
}
.ratio-21x9 {
    --bs-aspect-ratio: calc(9 / 21 * 100%);
}
.ff-secondary {
    font-family: 'IBM Plex Mono', monospace !important;
    font-weight: 400;
}
.color-1 {
    color: var(--light-color);
}
.color-2 {
    color: var(--dark-color-900);
}
.color-3 {
    color: var(--third-color);
}
.mh-100vh {
    min-height: 100vh;
}
@supports (-webkit-background-clip: text) {
    .gradient-txt,
    .text-link--gradient {
        background: -webkit-gradient(linear, left top, right top, from(#d85fec), to(#7482ff));
        background: -o-linear-gradient(left, #d85fec var(--gradient-txt-color-1-pos), #7482ff var(--gradient-txt-color-2-pos));
        background: linear-gradient(to right, #d85fec var(--gradient-txt-color-1-pos), #7482ff var(--gradient-txt-color-2-pos));
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
    }
}
.body-fz {
    font-size: 16px !important;
}
.md-fz {
    font-size: 18px;
}
.ls-primary {
    letter-spacing: -0.48px;
}
.overflow-auto {
    overflow: auto;
}
.modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1000;
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
    visibility: hidden;
    background: rgba(82, 77, 109, 0.7);
}
.modal-content {
    padding: 33px 35px;
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.90);
    -webkit-box-shadow: 4px -5px 16px -4px rgba(116, 110, 183, 0.10) inset, 0 0 9px 0 rgba(78, 134, 159, 0.10);
    box-shadow: 4px -5px 16px -4px rgba(116, 110, 183, 0.10) inset, 0 0 9px 0 rgba(78, 134, 159, 0.10);
    max-width: 838px;
    width: calc(100% - 30px);
    margin: auto;
}
.modal-close {
    top: 25px;
    right: 27px;
    height: 32px;
    width: 32px;
    cursor: pointer;
    z-index: 9;
}
.form-block {
    margin-bottom: 9px;
}
.form-block__label {
    font-size: 14px;
    padding-left: 16px;
    margin-bottom: 4px;
}
@media (max-width: 767px) {
    .modal-content {
        padding: 65px 35px 40px;
    }
}
.spec-btn {
    position: relative;
    color: var(--dark-color-900);
    text-align: center;
    font-size: 12px;
    padding: 20px 15px;
    min-width: 305px;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-family: var(--ff-secondary);
}
.spec-btn__icon {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    margin-right: 12px;
}
.spec-btn__border {
    position: absolute;
    width: 15px;
    height: 15px;
}
.spec-btn__border--top-left {
    top: 0;
    left: 0;
}
.spec-btn__border--top-right {
    top: 0;
    right: 0;
}
.spec-btn__border--bottom-left {
    bottom: 0;
    left: 0;
}
.spec-btn__border--bottom-right {
    bottom: 0;
    right: 0;
}
.spec-btn--mw-100 {
    min-width: 100%;
}
@media (max-width: 385px) {
    .spec-btn {
        min-width: 100%;
    }
}
html.disable-smooth-scroll {
    scroll-behavior: auto !important;
}