/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
html {
    line-height: 1.15;
    -webkit-text-size-adjust: 100%;
    margin: 0;
    padding: 0;
    height: 100%;
    overflow: hidden;
}

body {
    margin: 0;
    padding: 0;
    height: 100%;
    overflow: hidden;
}

main {
    display: block
}

hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible
}

pre {
    font-family: monospace, monospace;
    font-size: 1em
}

a {
    background-color: transparent
}

abbr[title] {
    border-bottom: none;
    text-decoration: underline;
    text-decoration: underline dotted
}

b,
strong {
    font-weight: bolder
}

code,
kbd,
samp {
    font-family: monospace, monospace;
    font-size: 1em
}

small {
    font-size: 80%
}

sub,
sup {
    font-size: 37.5%;
    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
}

button,
[type=button],
[type=reset],
[type=submit] {
    -webkit-appearance: button
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
    border-style: none;
    padding: 0
}

button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
    outline: 1px dotted ButtonText
}

fieldset {
    padding: .35em .75em .625em
}

legend {
    box-sizing: border-box;
    color: inherit;
    display: table;
    max-width: 100%;
    padding: 0;
    white-space: normal
}

progress {
    vertical-align: baseline
}

textarea {
    overflow: auto
}

[type=checkbox],
[type=radio] {
    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 {
    display: none
}

[hidden] {
    display: none
}

@font-face {
    font-family: swiper-icons;
    src: url("data:application/font-woff;charset=utf-8;base64,d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA") format("woff");
    font-weight: 400;
    font-style: normal
}

:root {
    --swiper-theme-color: #007aff
}

:host {
    position: relative;
    display: block;
    margin-left: auto;
    margin-right: auto;
    z-index: 1
}

.swiper {
    margin-left: auto;
    margin-right: auto;
    position: relative;
    overflow: hidden;
    list-style: none;
    padding: 0;
    z-index: 1;
    display: block
}

.swiper-vertical>.swiper-wrapper {
    flex-direction: column
}

.swiper-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 1;
    display: flex;
    transition-property: transform;
    transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
    box-sizing: content-box
}

.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
    transform: translateZ(0)
}

.swiper-horizontal {
    touch-action: pan-y
}

.swiper-vertical {
    touch-action: pan-x
}

.swiper-slide {
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    position: relative;
    transition-property: transform;
    display: block;
    background: #000;
}

.swiper-slide-invisible-blank {
    visibility: hidden
}

.swiper-autoheight,
.swiper-autoheight .swiper-slide {
    height: auto
}

.swiper-autoheight .swiper-wrapper {
    align-items: flex-start;
    transition-property: transform, height
}

.swiper-backface-hidden .swiper-slide {
    transform: translateZ(0);
    backface-visibility: hidden
}

.swiper-3d.swiper-css-mode .swiper-wrapper {
    perspective: 1200px
}

.swiper-3d .swiper-wrapper {
    transform-style: preserve-3d
}

.swiper-3d {
    perspective: 1200px
}

.swiper-3d .swiper-slide,
.swiper-3d .swiper-cube-shadow {
    transform-style: preserve-3d
}

.swiper-css-mode>.swiper-wrapper {
    overflow: auto;
    scrollbar-width: none;
    -ms-overflow-style: none
}

.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar {
    display: none
}

.swiper-css-mode>.swiper-wrapper>.swiper-slide {
    scroll-snap-align: start start
}

.swiper-css-mode.swiper-horizontal>.swiper-wrapper {
    scroll-snap-type: x mandatory
}

.swiper-css-mode.swiper-vertical>.swiper-wrapper {
    scroll-snap-type: y mandatory
}

.swiper-css-mode.swiper-free-mode>.swiper-wrapper {
    scroll-snap-type: none
}

.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide {
    scroll-snap-align: none
}

.swiper-css-mode.swiper-centered>.swiper-wrapper:before {
    content: "";
    flex-shrink: 0;
    order: 9999
}

.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide {
    scroll-snap-align: center center;
    scroll-snap-stop: always
}

.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child {
    margin-inline-start: var(--swiper-centered-offset-before)
}

.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper:before {
    height: 100%;
    min-height: 1px;
    width: var(--swiper-centered-offset-after)
}

.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child {
    margin-block-start: var(--swiper-centered-offset-before)
}

.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper:before {
    width: 100%;
    min-width: 1px;
    height: var(--swiper-centered-offset-after)
}

.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10
}

.swiper-3d .swiper-slide-shadow {
    background: #00000026
}

.swiper-3d .swiper-slide-shadow-left {
    background-image: linear-gradient(to left, #00000080, #0000)
}

.swiper-3d .swiper-slide-shadow-right {
    background-image: linear-gradient(to right, #00000080, #0000)
}

.swiper-3d .swiper-slide-shadow-top {
    background-image: linear-gradient(to top, #00000080, #0000)
}

.swiper-3d .swiper-slide-shadow-bottom {
    background-image: linear-gradient(to bottom, #00000080, #0000)
}

.swiper-lazy-preloader {
    width: 42px;
    height: 42px;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -21px;
    margin-top: -21px;
    z-index: 10;
    transform-origin: 50%;
    box-sizing: border-box;
    border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
    border-radius: 50%;
    border-top-color: transparent
}

.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,
.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader {
    animation: swiper-preloader-spin 1s infinite linear
}

.swiper-lazy-preloader-white {
    --swiper-preloader-color: #fff
}

.swiper-lazy-preloader-black {
    --swiper-preloader-color: #000
}

@keyframes swiper-preloader-spin {
    0% {
        transform: rotate(0)
    }

    to {
        transform: rotate(360deg)
    }
}

.swiper-fade.swiper-free-mode .swiper-slide {
    transition-timing-function: ease-out
}

.swiper-fade .swiper-slide {
    pointer-events: none;
    transition-property: opacity
}

.swiper-fade .swiper-slide .swiper-slide {
    pointer-events: none
}

.swiper-fade .swiper-slide-active,
.swiper-fade .swiper-slide-active .swiper-slide-active {
    pointer-events: auto
}

@font-face {
    font-family: Montserrat;
    src: url(Montserrat-Bold-f8eILIW-.woff) format("woff"), url(Montserrat-Bold-xHEfGz60.ttf) format("truetype");
    font-weight: 700
}

@font-face {
    font-family: Montserrat;
    src: url(Montserrat-Medium-esJ9utcD.woff) format("woff"), url(Montserrat-Medium-2eKrSLvl.ttf) format("truetype");
    font-weight: 500
}

@font-face {
    font-family: Montserrat;
    src: url(Montserrat-Regular-7SkOYunn.woff) format("woff"), url(Montserrat-Regular-ULFKXB4_.ttf) format("truetype");
    font-weight: 400
}

* {
    box-sizing: border-box
}

body {
    font-size: 15px;
    color: #fff;
    font-family: Montserrat, sans-serif
}

.h1 {
    font-size: 48px;
    font-style: normal;
    font-weight: 700;
    line-height: 120%;
    text-transform: uppercase
}

button {
    border: 0;
    padding: 0;
    margin: 0
}

.container {
    height: 100lvh;
    overflow: hidden;
}

/* Page Lang and Page Inner general styles moved below */

.imgs_start {
    display: flex;
    position: fixed;
    height: 100%;
    width: 100%
}

.img_start {
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    object-fit: cover;
    opacity: 0;
    transition: 1s ease opacity
}

.img_start.active {
    opacity: 1
}

.home .img_start1 {
    animation: animateWidthReverse 1s forwards
}

.home .img_start2 {
    animation: animateWidthReverse 1s forwards, animateMargin2Reverse 1s forwards
}

.home .img_start3 {
    animation: animateWidthReverse 1s forwards, animateMargin3Reverse 1s forwards
}

.home .img_start4 {
    animation: animateWidthReverse 1s forwards, animateMargin4Reverse 1s forwards
}

.home .tt_e1 {
    animation: tt_e1Reverse 1s forwards
}

.home .tt_e2 {
    animation: tt_e2Reverse 1s forwards
}

.home .btn {
    animation: texbbReverse 1s forwards
}

.step1 .img_start1 {
    animation: animateWidth 1s forwards, animateMargin1 1s forwards
}

.step1 .img_start2 {
    animation: animateWidth 1s forwards, animateMargin2 1s forwards
}

.step1 .img_start3 {
    animation: animateWidth 1s forwards, animateMargin3 1s forwards
}

.step1 .img_start4 {
    animation: animateWidth 1s forwards, animateMargin4 1s forwards
}

.step1 .img_prod {
    filter: blur(0);
    opacity: 1
}

.step1 .btn {
    animation: texbb 1s forwards
}

.step1 .tt_e1 {
    animation: tt_e1 .5s forwards
}

.step2 .tt_e1 {
    opacity: 0;
}

.step1 .tt_e2 {
    animation: tt_e2 1s forwards;
    display: block
}

.blocks4 {
    display: flex;
    gap: 18px;
    transform: translateY(50vh);
    height: 25%;
    transition: 1s ease all
}

.btn {
    background: linear-gradient(180deg, #000c, #000000a3);
    -webkit-backdrop-filter: blur(35px);
    backdrop-filter: blur(35px);
    color: #fff;
    font-family: Montserrat, sans-serif;
    font-size: 35px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    width: calc(25% - 13.5px);
    display: inline-flex;
    justify-content: center;
    flex-direction: column;
    padding: 45px;
    transition: .2s opacity ease;
    opacity: 0;
    text-align: left;
    text-transform: uppercase;
}

.home .btn,
.step1 .btn {
    opacity: 1;
}

.btn svg {
    display: block;
    margin-top: 20px;
    width: 72px;
    height: 24px
}

.imgs_prod_wrap {
    display: flex;
    gap: 18px;
    position: fixed;
    height: 100%;
    width: 100%
}

.imgs_prod_wrap img {
    filter: blur(30px);
    opacity: .6;
    width: calc(25% - 13.5px);
    object-fit: cover;
    transition: 1s ease filter, 1s ease opacity
}

.img_prod:nth-child(1) {
    object-position: 37% 100%
}

.img_prod:nth-child(2) {
    object-position: 60% 100%
}

.img_prod:nth-child(3) {
    object-position: 56% 100%
}

.img_prod:nth-child(4) {
    object-position: 20% 100%
}

/* New Redesign Styles */
.page_home,
.page_categories,
.page_inner {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    transition: 1s ease opacity, 1s ease visibility;
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
}

.home .page_home,
.step1 .page_categories,
.step2 .page_inner {
    visibility: visible;
    pointer-events: auto;
    opacity: 1;
}

.page_inner,
.page_categories {
    background: #000;
}

.columns_wrap {
    display: flex;
    width: 100%;
    height: 100%;
    gap: 0;
}

.column {
    position: relative;
    flex: 1;
    height: 100%;
    overflow: hidden;
    transition: 0.5s ease flex;
    cursor: pointer;
    padding: 0;
    /* Removing the 45px padding inherited from .btn */
}

.column img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: 1s ease transform, 1s ease filter;
}

.column:hover img {
    transform: scale(1.05);
}

.column .title_block {
    position: absolute;
    bottom: 20%;
    left: 0;
    width: 100%;
    background: rgba(0, 0, 0, 0.7);
    backdrop-filter: blur(10px);
    padding: 30px 40px;
    color: #fff;
    display: flex;
    flex-direction: column;
    gap: 10px;
    transition: 0.3s ease background;
    min-height: 190px;
}

.column:hover .title_block {
    background: rgba(0, 0, 0, 0.9);
}

.column .title_block .name {
    font-size: 28px;
    font-weight: 700;
    text-transform: uppercase;
}

.column .title_block svg {
    width: 40px;
    height: auto;
}

/* Unified Navigation */
.unified_nav {
    position: fixed;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 40px;
    z-index: 100;
    background: #000000b3;
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
    border-radius: 100px 100px 0 0;
    width: 40%;
    height: 15%;
    justify-content: center;
    align-items: center;
    transition: 1s transform ease;
    box-shadow: 0 -4px 11px #ffffff3b;
}

/* Show unified_nav on step1, step2, contact, widgets */
.step1 .unified_nav,
.step2 .unified_nav,
.contact .unified_nav,
.widgets .unified_nav {
    transform: translateX(-50%) translateY(0);
}

/* Narrower nav for contact and widgets */
.contact .unified_nav,
.widgets .unified_nav {
    width: 33%;
    gap: 100px;
}

.unified_nav .nav_btn {
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: 0.3s ease transform;
}

.unified_nav .nav_btn:hover {
    transform: scale(1.1);
}

.unified_nav .nav_btn svg {
    width: 100px;
    height: 100px;
}

/* Hide settings by default, show only for sun_protection */
.unified_nav .nav_settings {
    display: none;
}

.sun_protection .unified_nav .nav_settings {
    display: flex;
}

/* Hide close button by default */
.unified_nav .nav_close {
    display: none;
}

/* Step3 (video mode): show only close button */
.container.step3 ~ .unified_nav {
    transform: translateX(-50%) translateY(0);
    width: 20%;
}

.container.step3 ~ .unified_nav .nav_back,
.container.step3 ~ .unified_nav .nav_home,
.container.step3 ~ .unified_nav .nav_settings,
.container.step3 ~ .unified_nav .nav_envelope {
    display: none;
}

.container.step3 ~ .unified_nav .nav_close {
    display: flex !important;
}

/* Hide envelope on contact page */
.contact .unified_nav .nav_envelope,
.container.contact ~ .unified_nav .nav_envelope {
    display: none;
}

.nav_btn img {
    width: 40px;
    height: 40px;
}

/* Page Inner Adjustments */
.page_inner {
    background: #3B3938;
    display: flex;
    color: #fff;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
    visibility: hidden
}

.step2 .page_inner {
    visibility: visible;
    pointer-events: auto;
    opacity: 1
}

.page_inner_part {
    width: 50%;
    position: relative
}

.video_wr {
    position: absolute;
    z-index: -1;
    opacity: 0;
    left: 0;
    width: 100%;
    top: 0;
    height: 100%;
    transition: 1s opacity ease-in-out;
    background: #333
}

.video_wr.active {
    z-index: 10;
    width: 200%;
    opacity: 1
}

.video_wr video {
    width: 100%;
    height: 100%
}

.page_inner_part_right {
    padding: 140px 80px;
    font-size: 23px;
    font-style: normal;
    font-weight: 500
}

.product_type_header {
    font-size: 20px;
    font-weight: 700;
    text-transform: uppercase;
    color: #888;
    margin-bottom: 10px;
    letter-spacing: 1px;
}

.swiper_footer {
    position: absolute;
    bottom: 5%;
    left: 20%;
    transform: translateX(-50%);
    z-index: 2;
    display: flex;
    justify-content: center;
    align-items: center
}

.swiper_wrap,
.swiper {
    height: 100%
}

.img_slide {
    height: 100%;
    width: 100%;
    object-fit: cover;
    position: relative
}

.swiper_nav {
    display: flex;
    gap: 40px
}

.ic {
    position: absolute;
    width: 78px;
    height: 78px;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.ic .icon {
    width: 100%;
    height: 100%
}

.hint {
    position: absolute;
    padding: 33px;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 2px 33px #0000005e;
    color: #333;
    opacity: 0;
    pointer-events: none;
    width: 810px;
    z-index: 1;
    font-size: 15px;
    transition: .4s opacity ease-in-out
}

.ic.active .hint {
    opacity: 1
}

.hint:before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='21' viewBox='0 0 16 21' fill='none'%3E%3Cpath d='M1 12.3397C-0.333333 11.5699 -0.333333 9.64544 1 8.87564L16 0.215393V21L1 12.3397Z' fill='white'/%3E%3C/svg%3E");
    background-repeat: no-repeat no-repeat;
    background-position: center center;
    background-size: cover;
    position: absolute;
    width: 18px;
    height: 18px;
    content: ""
}

.hint p:last-child {
    margin-bottom: 0
}

.ic_right .hint {
    left: 100px;
    top: 50%;
    transform: translateY(-50%)
}

.ic_right .hint:before {
    left: -16px;
    top: 50%;
    transform: translateY(-50%)
}

.ic_left .hint {
    right: 100px;
    top: 50%;
    transform: translateY(-50%)
}

.ic_left .hint:before {
    right: -17px;
    top: 50%;
    transform: translateY(-50%) rotate(180deg)
}

.ic_bottom .hint {
    left: 50%;
    top: calc(100% + 21px);
    transform: translate(-50%)
}

.ic_bottom .hint:before {
    left: 50%;
    top: -17px;
    transform: translate(-50%) rotate(90deg)
}

.ic_top .hint {
    left: 50%;
    bottom: calc(100% + 21px);
    transform: translate(-50%)
}

.ic_top .hint:before {
    left: 50%;
    bottom: -15px;
    transform: translate(-50%) rotate(-90deg)
}

.h2 {
    font-size: 16.5px;
    font-weight: 600;
    margin-bottom: 20px
}

/* Page Lang hiding is already handled by the general rule above */

.step3 .to_home {
    opacity: 0;
    pointer-events: none
}

.icon-play {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 70px;
    height: 70px;
    transform: translate(-50%, -50%);
    z-index: 10;
    transition: 1s opacity ease-in-out;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.icon-close {
    top: 110px;
    right: 110px;
    position: fixed;
    width: 210px;
    height: 210px;
    z-index: 4;
    opacity: 0;
    transition: 1s opacity ease-in-out;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.step3 .icon-close {
    opacity: 1
}

.video_container {
    position: relative;
    height: 100%;
    transition: 1s all ease-in-out
}



.page_inner .product1,
.page_inner .product2,
.page_inner .product3,
.page_inner .product4,
.page_inner .product5,
.page_inner .product6,
.page_inner .product7,
.page_inner .product8,
.page_inner .product9,
.page_inner .product10,
.page_inner .product11 {
    display: none;
}

.product1 .page_inner .product1,
.product2 .page_inner .product2,
.product3 .page_inner .product3,
.product4 .page_inner .product4,
.product5 .page_inner .product5,
.product6 .page_inner .product6,
.product7 .page_inner .product7,
.product8 .page_inner .product8,
.product9 .page_inner .product9,
.product10 .page_inner .product10,
.product11 .page_inner .product11 {
    display: block;
}




.svg_p1.active {
    opacity: 0;
    pointer-events: none;
}

.svg_stop {
    opacity: 0;
    pointer-events: none;
}

.svg_stop.active {
    opacity: 1;
    pointer-events: auto;
}
.svg_p1,
.svg_stop{
    width: 70px;
    height: 70px;
    position: absolute;
    bottom: 5%;
    left: 45%;
    cursor: pointer;
    transition: 0.5s opacity ease;
    background: transparent !important;
    outline: none !important;
    border: none !important;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.svg_stop:focus,
.svg_stop:focus-visible,
.svg_stop:active {
    outline: none;
    background-color: transparent;
    /* Или ваш цвет фона */
    border: none;
}

/*@keyframes texbb{*/
/*    0%{*/
/*        justify-content:center;*/
/*        align-items:center*/
/*    }*/
/*    50%{*/
/*        justify-content:center;*/
/*        align-items:center*/
/*    }*/
/*    51%{*/
/*        justify-content:flex-start;*/
/*        align-items:flex-start*/
/*    }*/
/*    to{*/
/*        justify-content:flex-start;*/
/*        align-items:flex-start*/
/*    }*/
/*}*/
/*@keyframes texbbReverse{*/
/*    0%{*/
/*        justify-content:flex-start;*/
/*        align-items:flex-start*/
/*    }*/
/*    50%{*/
/*        justify-content:flex-start;*/
/*        align-items:flex-start*/
/*    }*/
/*    51%{*/
/*        justify-content:center;*/
/*        align-items:center*/
/*    }*/
/*    to{*/
/*        justify-content:center;*/
/*        align-items:center*/
/*    }*/
/*}*/

@keyframes tt_e1 {
    0% {
        opacity: 1
    }

    to {
        opacity: 0;
        display: none
    }
}

@keyframes tt_e1Reverse {
    0% {
        opacity: 0;
        display: none
    }

    50% {
        opacity: 0;
        display: none
    }

    51% {
        opacity: 0;
        display: block
    }

    to {
        opacity: 1;
        display: block
    }
}

@keyframes tt_e2 {
    0% {
        opacity: 0;
        display: none
    }

    50% {
        opacity: 0;
        display: none
    }

    51% {
        opacity: 0;
        display: block
    }

    to {
        opacity: 1;
        display: block
    }
}

@keyframes tt_e2Reverse {
    0% {
        opacity: 1
    }

    50% {
        opacity: 0
    }

    51% {
        opacity: 0;
        display: none
    }

    to {
        opacity: 0;
        display: none
    }
}

@keyframes animateWidth {
    0% {
        width: 100%
    }

    to {
        width: calc(25% - 13.5px)
    }
}

@keyframes animateWidthReverse {
    0% {
        width: calc(25% - 13.5px)
    }

    to {
        width: 100%
    }
}

@keyframes animateMargin1 {
    0% {
        object-position: center
    }

    to {
        object-position: 37% 100%
    }
}

@keyframes animateMargin2Reverse {
    0% {
        margin-left: calc(25% + 4.5px);
        object-position: 60% 100%
    }

    to {
        margin-left: 0;
        object-position: center
    }
}

@keyframes animateMargin2 {
    0% {
        margin-left: 0;
        object-position: center
    }

    to {
        margin-left: calc(25% + 4.5px);
        object-position: 60% 100%
    }
}

@-moz-keyframes animateMargin3 {
    0% {
        margin-left: 0;
        object-position: center
    }

    to {
        margin-left: calc(50% + 8.5px);
        object-position: 56% 100%
    }
}

@-webkit-keyframes animateMargin3 {
    0% {
        margin-left: 0;
        object-position: center
    }

    to {
        margin-left: calc(50% + 8.5px);
        object-position: 56% 100%
    }
}

@-o-keyframes animateMargin3 {
    0% {
        margin-left: 0;
        object-position: center
    }

    to {
        margin-left: calc(50% + 8.5px);
        object-position: 56% 100%
    }
}

@keyframes animateMargin3 {
    0% {
        margin-left: 0;
        object-position: center
    }

    to {
        margin-left: calc(50% + 8.5px);
        object-position: 56% 100%
    }
}

@-moz-keyframes animateMargin3Reverse {
    0% {
        margin-left: calc(50% + 8.5px);
        object-position: 56% 100%
    }

    to {
        margin-left: 0;
        object-position: center
    }
}

@-webkit-keyframes animateMargin3Reverse {
    0% {
        margin-left: calc(50% + 8.5px);
        object-position: 56% 100%
    }

    to {
        margin-left: 0;
        object-position: center
    }
}

@-o-keyframes animateMargin3Reverse {
    0% {
        margin-left: calc(50% + 8.5px);
        object-position: 56% 100%
    }

    to {
        margin-left: 0;
        object-position: center
    }
}

@keyframes animateMargin3Reverse {
    0% {
        margin-left: calc(50% + 8.5px);
        object-position: 56% 100%
    }

    to {
        margin-left: 0;
        object-position: center
    }
}

@-moz-keyframes animateMargin4 {
    0% {
        margin-left: 0;
        object-position: center
    }

    to {
        margin-left: calc(75% + 14.5px);
        object-position: 20% 100%
    }
}

@-webkit-keyframes animateMargin4 {
    0% {
        margin-left: 0;
        object-position: center
    }

    to {
        margin-left: calc(75% + 14.5px);
        object-position: 20% 100%
    }
}

@-o-keyframes animateMargin4 {
    0% {
        margin-left: 0;
        object-position: center
    }

    to {
        margin-left: calc(75% + 14.5px);
        object-position: 20% 100%
    }
}

@keyframes animateMargin4 {
    0% {
        margin-left: 0;
        object-position: center
    }

    to {
        margin-left: calc(75% + 14.5px);
        object-position: 20% 100%
    }
}

@-moz-keyframes animateMargin4Reverse {
    0% {
        margin-left: calc(75% + 14.5px);
        object-position: 20% 100%
    }

    to {
        margin-left: 0;
        object-position: center
    }
}

@-webkit-keyframes animateMargin4Reverse {
    0% {
        margin-left: calc(75% + 14.5px);
        object-position: 20% 100%
    }

    to {
        margin-left: 0;
        object-position: center
    }
}

@-o-keyframes animateMargin4Reverse {
    0% {
        margin-left: calc(75% + 14.5px);
        object-position: 20% 100%
    }

    to {
        margin-left: 0;
        object-position: center
    }
}

@keyframes animateMargin4Reverse {
    0% {
        margin-left: calc(75% + 14.5px);
        object-position: 20% 100%
    }

    to {
        margin-left: 0;
        object-position: center
    }
}

@-moz-keyframes vicdeoc {
    0% {
        width: 50%
    }

    to {
        width: 100%
    }
}

@-webkit-keyframes vicdeoc {
    0% {
        width: 50%
    }

    to {
        width: 100%
    }
}

@-o-keyframes vicdeoc {
    0% {
        width: 50%
    }

    to {
        width: 100%
    }
}

@keyframes vicdeoc {
    0% {
        width: 50%
    }

    to {
        width: 100%
    }
}

/* Contact Page Styles */
.page_contact {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: #000;
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
    transition: 1s ease opacity, 1s ease visibility;
    display: flex;
    align-items: center;
    justify-content: center;
}

.contact .page_contact {
    visibility: visible;
    pointer-events: auto;
    opacity: 1;
}

.contact_content {
    display: flex;
    width: 100%;
    height: 100%;
    gap: 0;
    align-items: stretch;
}

.contact_left {
    flex: 0 0 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border-radius: 0;
    padding: 40px;
}

.qr_code {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 30px;
}

.qr_code img {
    width: 100%;
    max-width: 300px;
    height: auto;
}

.qr_label {
    font-size: 28px;
    font-weight: 700;
    color: #000;
    text-align: center;
    letter-spacing: 8px;
    background: #fff;
    padding: 15px 50px;
    border-radius: 10px;
    border: 3px solid #000;
}

.contact_right {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 30px;
    height: 100%;
    justify-content: center;
    padding: 80px;
    background: #3B3938;
}

.contact_right h1 {
    font-size: 48px;
    font-weight: 700;
    color: #fff;
    margin: 0;
    text-transform: uppercase;
    line-height: 1.2;
}

.contact_right p {
    font-size: 24px;
    font-weight: 400;
    color: #ccc;
    line-height: 1.6;
    margin: 0;
}


/* Widgets Page Styles */
.page_widgets {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
    transition: 1s ease opacity, 1s ease visibility;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.widgets .page_widgets {
    visibility: visible;
    pointer-events: auto;
    opacity: 1;
}

.widgets_content {
    width: 100%;
    height: 100%;
    padding: 80px;
    overflow-y: auto;
}

.widgets_content h1 {
    font-size: 48px;
    font-weight: 700;
    color: #333;
    margin: 0 0 50px 0;
    text-transform: uppercase;
    line-height: 1.2;
    text-align: center;
}

.widgets_container {
    display: flex;
    flex-direction: column;
    gap: 50px;
    max-width: 1400px;
    margin: 0 auto;
}

.widget_block {
    background: #fff;
    border-radius: 20px;
    padding: 40px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.widget_block h2 {
    font-size: 32px;
    font-weight: 700;
    color: #333;
    margin: 0 0 30px 0;
    text-transform: uppercase;
}
video{
    width: 100%;
}
