

/* Start:/local/templates/safronovs_2026/css/reset.css?17832562523765*/
@charset "UTF-8";
*, ::before, ::after {
     outline: none;
     background-size: contain;
     background-repeat: no-repeat;
     background-position: center;
     background-color: transparent;
     box-sizing: border-box;
     margin-block-start: 0;
     margin-block-end: 0;
     margin-inline-start: 0;
     margin-inline-end: 0;
}

*::-webkit-scrollbar {
     width: 0.6rem;
     background-color: transparent;
     transition: all 0.5s ease-out 0s;
     z-index: 9999;
}
*::-webkit-scrollbar:hover { background-color: #010101; }
*::-webkit-scrollbar-thumb {
     width: 0.6rem;
     background-color: #db1a55;
     border-radius: 2rem;
     transition: all 0.5s ease-out 0s;
}

html {
     line-height: 1.15;
     -webkit-text-size-adjust: 100%;
     scroll-behavior: smooth;
}

body, main {
     display: flex;
     flex-direction: column;
     justify-content: flex-start;
     align-items: center;
}

input {
     border: none;
     background-color: transparent;
}

button {
     text-align: center;
     background-color: transparent;
     border: none;
     cursor: pointer;
}

hr {
     -webkit-box-sizing: content-box;
     box-sizing: content-box;
     height: 0;
     overflow: visible
}

pre {
     font-family: monospace, monospace;
     font-size: 1em
}

a {
     transition: all 0.5s ease;
     text-decoration: none;
     background-color: transparent
}

abbr[title] {
     border-bottom: none;
     text-decoration: underline;
     -webkit-text-decoration: underline dotted;
     text-decoration: underline dotted
}
iframe {
     width: 100%;
     height: 100%;
}
.video-overlay {
     position: absolute;
     width: 100%;
     height: 100%;
     top: 0;
     left: 0;
     z-index: 9;
}
b, strong { font-weight: bolder }

code, kbd, samp {
     font-family: monospace, monospace;
     font-size: 1em
}

small { font-size: 80% }

sub, sup {
     font-size: 75%;
     line-height: 0;
     position: relative;
     vertical-align: baseline
}
sub { bottom: -.25em }
sup { top: -.5em  }
img { border-style: none }

button, input, optgroup, select, textarea {
     font-family: inherit;
     font-size: 100%;
     line-height: 1.15;
     margin: 0
}
button, input { overflow: visible }
button, select { text-transform: none }
[type=button], [type=reset], [type=submit], button { -webkit-appearance: button }

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {
     border-style: none;
     padding: 0
}

[type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring, button:-moz-focusring {
     outline: 1px dotted ButtonText
}

fieldset { padding: .35em .75em .625em }

legend {
     -webkit-box-sizing: border-box;
     box-sizing: border-box;
     color: inherit;
     display: table;
     max-width: 100%;
     padding: 0;
     white-space: normal
}

progress { vertical-align: baseline }

textarea {
     resize: none;
     overflow: auto;
}

[type=checkbox], [type=radio] {
     -webkit-box-sizing: border-box;
     box-sizing: border-box;
     padding: 0
}

[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
     height: auto
}

[type=search] {
     -webkit-appearance: textfield;
     outline-offset: -2px
}

[type=search]::-webkit-search-decoration {
     -webkit-appearance: none
}

::-webkit-file-upload-button {
     -webkit-appearance: button;
     font: inherit
}
details { display: block }
summary { display: list-item }
template, [hidden] { display: none }

picture, img { width: 100%; height: auto; object-fit: cover; }
/* End */


/* Start:/local/templates/safronovs_2026/css/flex.css?17832560616679*/
/**
     * CSS-библиотека "flex"
     ** ОСНОВНЫЕ КЛАССЫ КОМПОНОВКИ (FLEX LAYOUT CLASSES):
*/

/**
     Ось и Направление (Axis and Direction) Определяет направление потока flex элементов,
     включая возможность wrap и reverse:
          @class .flex-[wrap (Опционально)]-[direction]
          @class .flex-[direction]-reverse (Опционально)


     Выравнивание (ALIGNMENT) Управляет выравниванием элементов
     внутри flex контейнера  по основной и поперечной осям:

          @class .flex-[justify/align] - Если justify и align имеют
          одинаковые значения, используется один класс.
          @class .flex-[justify]-[align]: Выравнивает элементы с использованием различных значений
          для основной и поперечной оси.
*/

.flex-column, .flex-row, .flex-wrap-column, .flex-wrap-row, .flex-column-reverse,
.flex-row-reverse, .flex-wrap-column-reverse, .flex-wrap-row-reverse {
    display: flex;
}

/* Компоновка элементов в вертикальном направлении */
.flex-column, .flex-wrap-column {
    flex-direction: column;
}

/* Компоновка элементов в горизонтальном направлении */
.flex-row, .flex-wrap-row {
    flex-direction: row;
}

/* Вертикальная компоновка с обратным порядком элементов */
.flex-column-reverse, .flex-wrap-column-reverse {
    flex-direction: column-reverse;
}

/* Горизонтальная компоновка с обратным порядком элементов */
.flex-row-reverse, .flex-wrap-row-reverse {
    flex-direction: row-reverse;
}

/* Включает перенос элементов для соответствующих классов */
.flex-wrap-column, .flex-wrap-row, .flex-wrap-column-reverse, .flex-wrap-row-reverse {
    flex-wrap: wrap;
}

/* Классы выравнивания */
/* Выравнивание элементов в начале основной оси */
.flex-start, .flex-start-center, .flex-start-between, .flex-start-around,
.flex-start-evenly, .flex-start-end, .flex-start-stretch, .flex-start-baseline {
    justify-content: start;
}

/* Центрирование элементов по основной оси */
.flex-center, .flex-center-start, .flex-center-between, .flex-center-around,
.flex-center-evenly, .flex-center-end, .flex-center-stretch, .flex-center-baseline {
    justify-content: center;
}

/* Распределение элементов с равным пространством между ними по основной оси */
.flex-between, .flex-between-start, .flex-between-center, .flex-between-around,
.flex-between-evenly, .flex-between-end, .flex-between-stretch, .flex-between-baseline {
    justify-content: space-between;
}

/* Распределение элементов с равным пространством вокруг них по основной оси */
.flex-around, .flex-around-start, .flex-around-center, .flex-around-between,
.flex-around-evenly, .flex-around-end, .flex-around-stretch, .flex-around-baseline {
    justify-content: space-around;
}

/* Распределение элементов с равным пространством между, вокруг и в начале/конце по основной оси */
.flex-evenly, .flex-evenly-start, .flex-evenly-center, .flex-evenly-between,
.flex-evenly-around, .flex-evenly-end, .flex-evenly-stretch, .flex-evenly-baseline {
    justify-content: space-evenly;
}

/* Выравнивание элементов в конце основной оси */
.flex-end, .flex-end-start, .flex-end-center, .flex-end-between,
.flex-end-evenly, .flex-end-around, .flex-end-stretch, .flex-end-baseline {
    justify-content: end;
}

/* Выравнивание элементов в начале поперечной оси */
.flex-start, .flex-center-start, .flex-between-start, .flex-around-start,
.flex-evenly-start, .flex-end-start {
    align-items: start;
    align-content: start;
}

/* Центрирование элементов по поперечной оси */
.flex-center, .flex-start-center, .flex-between-center, .flex-around-center,
.flex-evenly-center, .flex-end-center {
    align-items: center;
    align-content: center;
}

/* Распределение элементов с равным пространством между ними по поперечной оси */
.flex-between, .flex-start-between, .flex-center-between, .flex-around-between,
.flex-evenly-between, .flex-end-between {
    align-content: space-between;
}

/* Распределение элементов с равным пространством вокруг них по поперечной оси */
.flex-around, .flex-start-around, .flex-center-around, .flex-between-around,
.flex-evenly-around, .flex-end-around {
    align-content: space-around;
}

/* Распределение элементов с равным пространством между, вокруг и в начале/конце по поперечной оси */
.flex-evenly, .flex-start-evenly, .flex-center-evenly, .flex-between-evenly,
.flex-around-evenly, .flex-end-evenly {
    align-content: space-evenly;
}

/* Выравнивание элементов в конце поперечной оси */
.flex-end, .flex-start-end, .flex-center-end, .flex-between-end,
.flex-around-end, .flex-evenly-end {
    align-items: end;
    align-content: end;
}

/* Растягивание элементов, чтобы они заняли всю доступную по поперечной оси (высоту или ширину)  */
.flex-stretch, .flex-start-stretch, .flex-center-stretch, .flex-between-stretch, .flex-around-stretch,
.flex-evenly-stretch, .flex-end-stretch {
    align-items: stretch;
    align-content: stretch;
}

/* Выравнивание элементов по базовой линии поперечной оси текста внутри них */
.flex-baseline, .flex-start-baseline, .flex-center-baseline, .flex-between-baseline, .flex-around-baseline,
.flex-evenly-baseline, .flex-end-baseline {
    align-items: baseline;
    align-content: baseline;
}

/* End */


/* Start:/local/templates/safronovs_2026/css/main.css?17850653752158*/
.one {
    overflow-x: hidden !important;
}

.title-shadow {
    text-shadow: 0 0 2.8rem rgba(0, 57, 135, 0.85),
    0 0 2.8rem rgba(0, 57, 135, 0.85),
    0 0 2.8rem rgba(0, 57, 135, 0.85),
    0 0 2.8rem rgba(0, 57, 135, 0.85),
    0 0 3rem rgba(0, 192, 255, 0.85),
    0 0 3rem rgba(0, 192, 255, 0.85),
    0 0 3rem rgba(0, 192, 255, 0.85),
    0 0 3rem rgba(0, 192, 255, 0.85),
    0 0.4rem 2rem rgba(0, 192, 255, 0.8),
    0 0 1.6rem rgba(0, 192, 255, 0.75),
    0 0 1.2rem rgba(0, 192, 255, 0.7);
}

.title-shadow--blur {
    text-shadow: 0 0 6rem rgba(0, 57, 135, 0.85),
    0 0 6rem rgba(0, 57, 135, 0.85),
    0 0 6.2rem rgba(0, 192, 255, 0.85),
    0 0 6.2rem rgba(0, 192, 255, 0.85),
    0 0.4rem 4rem rgba(0, 192, 255, 0.8),
    0 0 3.2rem rgba(0, 192, 255, 0.75),
    0 0 2.4rem rgba(0, 192, 255, 0.7);
}

.title-small--shadow {
    text-shadow: -0.5rem 0 1rem #002b59,
    0 -0.5rem 1rem #002b59,
    0.5rem 0 1rem #002b59,
    0 0.5rem 1rem #002b59,
    -0.5rem 0 1rem #002b59,
    0 -0.5rem 1rem #002b59,
    0.5rem 0 1rem #002b59,
    0 0.5rem 1rem #002b59,
    -0.5rem 0 1rem #002b59,
    0 -0.5rem 1rem #002b59,
    0.5rem 0 1rem #002b59,
    0 0.5rem 1rem #002b59;
}

.title-shadow--red {
    text-shadow: 0 0 6.2rem rgba(255, 0, 150, 0.85),
    0 0.4rem 4rem rgba(255, 0, 150, 0.8),
    0 0 3.2rem rgba(255, 0, 150, 0.75),
    0 0 2.4rem rgba(255, 0, 150, 0.7);
}

@media (min-width: 600px) {
    html {
        font-size: calc(100vw / 384);
    }

    .one {
        margin-top: 16rem;
    }

    .one .wrapper {
        width: 186rem;
        left: calc((100% - 184rem) / 2);
    }

    br.only-mobile {
        display: none;
    }
}

@media (max-width: 599px) {
    html {
        font-size: calc(100vw / 120);
    }

    .one .wrapper {
        width: 111.7rem;
        left: calc((100% - 111.7rem) / 2);
    }

    br.only-desktop {
        display: none;
    }
    .title-small--shadow {
        text-shadow: -0.5rem 0 2.5rem #002b59,
        0 -0.5rem 2.5rem #002b59,
        0.5rem 0 2.5rem #002b59,
        0 0.5rem 2.5rem #002b59;
    }
}
/* End */


/* Start:/local/templates/safronovs_2026/template_styles.css?17850489562793*/
@charset "UTF-8";
html, body { background-color: #000b1a; }
#panel {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 99999999999999;
}
section {
    position: relative;
    width: 100%;
}
section .wrapper {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
@font-face {
    font-family: Montserrat;
    src: url(/local/templates/safronovs_2026/fonts/Montserrat-Regular/Montserrat-Regular.woff2) format("woff2"),
    url(/local/templates/safronovs_2026/fonts/Montserrat-Regular/Montserrat-Regular.woff) format("woff"),
    url(/local/templates/safronovs_2026/fonts/Montserrat-Regular/Montserrat-Regular.eot) format("eot"),
    url(/local/templates/safronovs_2026/fonts/Montserrat-Regular/Montserrat-Regular.ttf) format("truetype");
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: MontserratBold;
    src: url(/local/templates/safronovs_2026/fonts/Montserrat-Bold/Montserrat-Bold.woff2) format("woff2"),
    url(/local/templates/safronovs_2026/fonts/Montserrat-Bold/Montserrat-Bold.woff) format("woff"),
    url(/local/templates/safronovs_2026/fonts/Montserrat-Bold/Montserrat-Bold.eot) format("eot"),
    url(/local/templates/safronovs_2026/fonts/Montserrat-Bold/Montserrat-Bold.ttf) format("truetype");
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: MontserratItalic;
    src: url(/local/templates/safronovs_2026/fonts/Montserrat-Italic/Montserrat-Italic.woff2) format("woff2"),
    url(/local/templates/safronovs_2026/fonts/Montserrat-Italic/Montserrat-Italic.woff) format("woff"),
    url(/local/templates/safronovs_2026/fonts/Montserrat-Italic/Montserrat-Italic.eot) format("eot"),
    url(/local/templates/safronovs_2026/fonts/Montserrat-Italic/Montserrat-Italic.ttf) format("truetype");
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: MontserratMedium;
    src: url(/local/templates/safronovs_2026/fonts/Montserrat-Medium/Montserrat-Medium.woff2) format("woff2"),
    url(/local/templates/safronovs_2026/fonts/Montserrat-Medium/Montserrat-Medium.woff) format("woff"),
    url(/local/templates/safronovs_2026/fonts/Montserrat-Medium/Montserrat-Medium.eot) format("eot"),
    url(/local/templates/safronovs_2026/fonts/Montserrat-Medium/Montserrat-Medium.ttf) format("truetype");
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

img.lazy-bg-img {
    display: block;
    width: 100%;
    height: auto;
    background-color: transparent;
    opacity: 0;
    transition: all 1s linear;
}

img.lazy-bg-img.lazy-loaded { opacity: 1; }

/* End */
/* /local/templates/safronovs_2026/css/reset.css?17832562523765 */
/* /local/templates/safronovs_2026/css/flex.css?17832560616679 */
/* /local/templates/safronovs_2026/css/main.css?17850653752158 */
/* /local/templates/safronovs_2026/template_styles.css?17850489562793 */
