/*
Theme Name: Sanosil Hungary
Author: LEXO GmbH
Author URI: https://www.lexo.ch/
Version: 1.0
*/

/* BASE / GENERAL */

:root {
    --header-nav-height: 80px;
}

html, body {
    scroll-behavior: smooth;
    scroll-padding-top: var(--header-nav-height);
}

body {
    --flexstrap-container-width: 1600px;
    --flexstrap-container-padding: 30px;
    --flexstrap-base-column-gap: 60px;
    --flexstrap-base-row-gap: 48px;
}

body.has-popup {
    overflow-y: hidden;
}

#page-content:not(.auto-hyphenation-disabled) {
    -webkit-hyphens: auto;
    -webkit-hyphenate-limit-before: 3;
    -webkit-hyphenate-limit-after: 3;
    -webkit-hyphenate-limit-chars: 6 3 3;
    -webkit-hyphenate-limit-lines: 2;
    -webkit-hyphenate-limit-last: always;
    -webkit-hyphenate-limit-zone: 8%;
    -moz-hyphens: auto;
    -moz-hyphenate-limit-chars: 6 3 3;
    -moz-hyphenate-limit-lines: 2;
    -moz-hyphenate-limit-last: always;
    -moz-hyphenate-limit-zone: 8%;
    -ms-hyphens: auto;
    -ms-hyphenate-limit-chars: 6 3 3;
    -ms-hyphenate-limit-lines: 2;
    -ms-hyphenate-limit-last: always;
    -ms-hyphenate-limit-zone: 8%;
    hyphens: auto;
    hyphenate-limit-chars: 6 3 3;
    hyphenate-limit-lines: 2;
    hyphenate-limit-last: always;
    hyphenate-limit-zone: 8%;
}

#page-wrapper {
    overflow-x: hidden;
}


:is(#page-content, #flexible-content) .section {
    position: relative;
    padding: 100px 0;
}

:is(#page-content, #flexible-content) .section .section-container.section-container-full {
    overflow-x: hidden;
    --flexstrap-container-width: 100%;
    --flexstrap-container-padding: 0;
}

:is(#page-content, #flexible-content) .section:not(.section-separator-none):before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    background: rgb(0 0 0 / 10%);
    width: 100%;
    height: 32px;
}

:is(#page-content, #flexible-content) .section.section-separator-ltr:before {
    clip-path: polygon(0 0, 100% 0%, 100% 2px, 0% 100%);
}

:is(#page-content, #flexible-content) .section.section-separator-balanced:before {
    height: 16px;
}

:is(#page-content, #flexible-content) .section.section-separator-rtl:before {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 2px);
}

:is(#page-content, #flexible-content) .section .section-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    overflow: hidden;
}

:is(#page-content, #flexible-content) .section .section-background .section-background-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
    user-select: none;
    pointer-events: none;
    filter: grayscale(1) contrast(0.75) brightness(1.25);
}

:is(#page-content, #flexible-content) .section .section-background.background-size-minimum .section-background-image {
    height: auto;
}

:is(#page-content, #flexible-content) .section .section-background:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    --gray-color: rgb(245 245 246 / 90%);
}

:is(#page-content, #flexible-content) .section.section-blank-background .section-background:after {
    --gray-color: rgb(245 245 246);
}

:is(#page-content, #flexible-content) .section .section-background.background-overlay-a:after {
    background: linear-gradient(to bottom, #FFF 0% 10%, var(--gray-color) 30% 70%, #FFF 90% 100%) no-repeat;
}

:is(#page-content, #flexible-content) .section .section-background.background-overlay-b:after {
    background: linear-gradient(to bottom, #FFF, var(--gray-color)) no-repeat;
}

:is(#page-content, #flexible-content) .section .section-background.background-overlay-c:after {
    background: linear-gradient(to top, #FFF, var(--gray-color)) no-repeat;
}

:is(#page-content, #flexible-content) .section .section-background.background-overlay-d:after {
    background: var(--gray-color);
}

:is(#page-content, #flexible-content) .section.remove-section-padding-top {
    padding-top: 0;
}

:is(#page-content, #flexible-content) .section.remove-section-padding-bottom {
    padding-bottom: 0;
}

:is(#page-content, #flexible-content) :is(.sub-section, .deep-section):last-child {
    margin-bottom: 0;
}

:is(#page-content, #flexible-content) :is(.sub-section, .deep-section) {
    --flexstrap-base-row-gap: 65px;
    margin-bottom: 65px;
}

:is(#page-content, #flexible-content) .post_content_block > :first-child {
    margin-top: 0 !important;
}

:is(#page-content, #flexible-content) .post_content_block > :last-child {
    margin-bottom: 0 !important;
}

.acf-image-focus {
    user-select: none;
    pointer-events: none;
}

.clear-link-style {
    color: inherit;
    text-decoration: none;
}

.flex-centered {
    display: flex;
    justify-content: center;
    align-items: center;
}

#main-heading-title {
    margin-bottom: 20px;
}

#main-heading-subtitle {
    margin-bottom: 60px;
}

.floating-icon {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    color: var(--sanosil-blue);
    background: #FFF;
    border-radius: 50%;
    width: 100px;
    height: 100px;
    font-size: 50px;
    transform: translate(-33.33%, -33.33%);
    box-shadow: 0 10px 20px #00000029;
    pointer-events: none;
}

.floating-icon:before,
.floating-icon:after {
    position: absolute;
    top: 50%;
    left: 50%;
    content: '';
    border-radius: 50%;
    background: #FFF;
    transform: translate(-50%, -50%);
    box-shadow: 0px 10px 20px #00000029;
    z-index: -1;
}

.floating-icon:before {
    width: 150px;
    height: 150px;
    opacity: 0.1;
}

.floating-icon:after {
    width: 125px;
    height: 125px;
    opacity: 0.3;
}

/* HEADER */

@keyframes logo-materialize {
    0% {
        stroke-dasharray: 0 400;
        stroke-dashoffset: 200;
        fill-opacity: 0;
        stroke-width: 1;
    }

    37% {
        stroke-dasharray: 200 0;
        stroke-dashoffset: 200;
        fill-opacity: 0;
        stroke-width: 1;
    }

    50% {
        fill-opacity: 1;
        stroke-width: 0;
    }

    100% {
        fill-opacity: 1;
        stroke-width: 0;
    }
}

#header-nav.header-nav-home svg#header-logo {
    stroke: #1c689d;
    fill-opacity: 0;
    stroke-width: 0;
    stroke-dasharray: 0 400;
    stroke-dashoffset: 200;
    animation-name: logo-materialize;
    animation-duration: 4s;
    animation-timing-function: ease-in-out;
    animation-fill-mode: forwards;
    animation-delay: 1s;
}

@keyframes imgLoad {
    0% {
        opacity: 0;
    }

    37% {
        opacity: 0;
    }

    50% {
        opacity: 1;
    }

    100% {
        opacity: 1;
    }
}

#header-nav.header-nav-home svg#header-logo .header-logo-image {
    opacity: 0;
    animation-name: imgLoad;
    animation-duration: 4s;
    animation-timing-function: ease-in-out;
    animation-fill-mode: forwards;
    animation-delay: 1s;
}

header {
    position: relative;
    margin-top: var(--header-nav-height);
}

#header-nav {
    position: fixed;
    top: 0;
    left: 0;
    background: #FFF;
    border-top: 4px solid var(--sanosil-blue);
    border-bottom: 1px solid rgb(0 0 0 / 7%);
    width: 100%;
    height: var(--header-nav-height);
    box-sizing: border-box;
    box-shadow: 0 5px 20px rgb(0 0 0 / 5%);
    z-index: 20;
}

#header-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 100%;
}

#header-block-left,
#header-block-right {
    min-width: 250px;
}

#header-block-left {
    display: flex;
    align-items: center;
}

#header-block-right {
    display: flex;
    justify-content: flex-end;
    height: 100%;
}

#header-mobile-burger-button {
    color: var(--sanosil-blue);
    background: none;
    border: none;
    font-size: 24px;
}

#header-logo {
    width: auto;
    max-width: 250px;
    margin-left: 20px;
    height: auto;
    max-height: 100%;
}

@media (min-width: 1281px) {
    #header-block-center {
        display: flex;
        justify-content: center;
        gap: 32px;
        height: 100%;
    }

    #header-product-menu {
        display: flex;
        align-items: center;
        gap: 8px;
        color: #7F8696;
        border-bottom: 9px solid transparent;
        height: 100%;
    }

    #header-product-menu-button {
        color: inherit;
        background: none;
        border: none;
        padding: 0;
        margin: 0;
        font-family: 'Manrope-Medium';
        font-size: 20px;
    }

    .header-product-menu-opener {
        font-size: 12px;
        transform-origin: center 25%;
        transform: translateY(25%);
        transition: transform 0.2s;
    }

    #header-product-menu-container {
        position: absolute;
        top: calc(var(--header-nav-height) - 4px);;
        left: 0;
        width: 100%;
        pointer-events: none;
    }

    #header-product-menu-body {
        display: flex;
        flex-direction: column;
        gap: 32px;
        background: #FFF;
        border: 1px solid rgb(0 0 0 / 7%);
        border-radius: 12px;
        max-height: calc(100vh - var(--header-nav-height) - 20px);
        padding: 40px 32px;
        transform: translateY(8px) scale(1);
        transform-origin: top center;
        box-sizing: border-box;
        box-shadow: 0 5px 20px rgb(0 0 0 / 5%);
        transition: opacity 0.25s ease, transform 0.25s ease;
        pointer-events: all;
        overflow: auto;
    }

    #header-product-menu:not(:hover, :focus, :focus-within) #header-product-menu-body:not(:hover) {
        opacity: 0;
        pointer-events: none;
        user-select: none;
        transform: translateY(8px) scale(0);
    }

    #header-product-menu:is(:hover, :focus, :focus-within) .header-product-menu-opener  {
        transform: translateY(25%) rotate(180deg);
    }

    #header-product-menu-categories {
        display: flex;
        flex-wrap: wrap;
        gap: 32px;
        margin-right: -32px;
    }

    #header-product-menu-usecases,
    .header-product-menu-category {
        display: flex;
        flex-direction: column;
        gap: 8px;
        position: relative;
        border: 1px solid #EDEDED;
        border-radius: 8px;
        width: calc(33.33% - 32px);
        padding: 15px 50px;
        box-shadow: 0 2px 6px #0000001A;
        box-sizing: border-box;
        transition: transform 0.125s ease;
    }

    .header-product-menu-category {
        width: calc(50% - 32px);
    }

    .header-product-menu-category.header-product-menu-category-third {
        width: calc(33.33% - 32px);
    }

    .header-product-menu-category:active {
        transform: scale(0.95);
    }

    #header-product-menu-usecases-title,
    .header-product-menu-category-title {
        color: #32353D;
        margin: 0;
        font-family: 'Manrope-Bold';
        font-size: 24px;
        line-height: 24px;
        transition: color 0.2s;
    }

    .header-product-menu-category:is(.current-post, :hover, :focus) .header-product-menu-category-title {
        color: var(--sanosil-blue);
    }

    .header-product-menu-category-description {
        color: #32353D;
        margin: 0;
        font-family: 'Manrope-Regular';
        font-size: 20px;
        line-height: 28px;
    }

    .header-product-menu-category-description > :last-child {
        margin: 0;
    }

    #header-product-menu-usecases {
        gap: 20px;
        width: 100%;
    }

    #header-product-menu-usecases-container {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        grid-template-rows: repeat(var(--product-rows), 1fr);
        grid-auto-flow: column;
        column-gap: 26px;
        row-gap: 5px;
    }

    .header-product-menu-usecase {
        display: flex;
        align-items: center;
        gap: 12px;
        color: #868686;
        background: #F5F5F5;
        border-radius: 6px;
        padding: 14px 12px;
        box-sizing: border-box;
        font-family: 'Manrope-Medium';
        font-size: 20px;
        transition: color 0.2s, background 0.2s, transform 0.125s ease;
    }
}

.header-product-menu-usecases-icon-wrapper,
.header-product-menu-category-icon-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 0;
    left: 0;
    background: #FFF;
    border-radius: 50%;
    width: 60px;
    height: 60px;
    font-size: 32px;
    box-shadow: 0 3px 10px #00000029;
    transform: translate(-33.33%, -33.33%);
}

.header-product-menu-usecases-icon,
.header-product-menu-category-icon {
    color: var(--sanosil-blue-bright);
}

.header-product-menu-usecase:is(.current-post, :hover, :focus) {
    color: var(--sanosil-blue);
    background: #DEF0FF;
}

.header-product-menu-usecase:active {
    transform: scale(0.95);
}

.header-product-menu-usecase-icon {
    font-size: 24px;
}

@media (min-width: 1281px) {
    #downloads-menu-item {
        display: none;
    }

    #mobile-home-text {
        display: none;
    }

    .header-menu {
        display: flex;
        gap: 32px;
        color: #7F8696;
        height: 100%;
        font-family: 'Manrope-Medium';
        font-size: 20px;
    }

    .header-menu .submenu-opener {
        font-size: 12px;
        transform-origin: center 25%;
        transform: translateY(25%);
        transition: transform 0.2s;
    }

    .header-menu,
    .header-menu ul {
        list-style: none;
        margin: 0;
        padding: 0;
    }

    .header-menu > .menu-item {
        display: flex;
        align-items: center;
        gap: 8px;
        position: relative;
        height: 100%;
    }

    .header-menu .menu-item > a {
        display: inline-block;
        font-size: 18px;
        transform-origin: center center;
        transition: background 0.2s, color 0.2s, transform 0.125s ease;
    }

    .header-menu > .menu-item > a:is(:hover, :focus),
    .header-menu > .menu-item.current-menu-item > a  {
        color: var(--sanosil-blue);
    }

    .header-menu .menu-item > a:active {
        transform: scale(0.95);
    }

    .header-menu > .menu-item.menu-item-has-children {
        border-bottom: 8px solid transparent;
    }

    .header-menu > .menu-item.current-menu-item:after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        background: var(--sanosil-blue);
        width: 100%;
        height: 3px;
        pointer-events: none;
    }

    .header-menu > .menu-item > .sub-menu {
        display: flex;
        flex-direction: column;
        gap: 5px;
        position: absolute;
        bottom: 0;
        background: #FFF;
        border: 1px solid rgb(0 0 0 / 7%);
        border-radius: 12px;
        padding: 16px;
        width: max-content;
        transform: translateY(calc(100% + 8px)) scale(1);
        transform-origin: top center;
        box-shadow: 0 5px 20px rgb(0 0 0 / 5%);
        transition: opacity 0.25s ease, transform 0.25s ease;
    }

    .header-menu .menu-item:not(:hover, :focus, :focus-within) > .sub-menu:not(:hover) {
        opacity: 0;
        pointer-events: none;
        user-select: none;
        transform: translateY(calc(100% + 8px)) scale(0);
    }

    .header-menu .menu-item:is(:hover, :focus, :focus-within) .submenu-opener {
        transform: translateY(25%) rotate(180deg);
    }

    .header-menu > .menu-item > .sub-menu > .menu-item > a {
        display: block;
        color: #868686;
        background: #F5F5F5;
        border-radius: 6px;
        padding: 14px 12px;
        text-align: left;
        transform-origin: center center;
        transition: background 0.2s, color 0.2s, transform 0.125s ease;
    }

    .header-menu > .menu-item > .sub-menu > .menu-item > a:is(:hover, :focus),
    .header-menu > .menu-item > .sub-menu > .menu-item.current-menu-item > a {
        color: var(--sanosil-blue);
        background: #DEF0FF;
    }
}

#header-shop-button-wrapper {
    transition: opacity 0.25s ease, transform 0.4s ease;
}

#header-shop-button-wrapper.queued-animation:not(.queued-animation-active) {
    transform: scale(0);
    opacity: 0;
}

#header-shop-button {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    color: #FFF;
    background: var(--sanosil-blue);
    border: none;
    height: 100%;
    padding: 0 24px;
    transition: background 0.2s, transform 0.125s ease;
}

#header-shop-button:is(:hover, :focus) {
    background: var(--sanosil-blue-bright);
}

#header-shop-button:active {
    transform: scale(0.95);
}

#header-shop-button .icomoon-icon {
    font-size: 26px;
}

:is(#header-search-button, #header-downloads-button) {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    color: #7F8696;
    background: none;
    border: none;
    border-left: 1px solid #EDEDED;
    height: 100%;
    min-width: 75px;
    aspect-ratio: 1;
    padding: 0;
    font-size: 26px;
    transition: background 0.2s, transform 0.125s ease;
}

#header-search-button {
    border-right: 1px solid #EDEDED;
}

:is(#header-search-button, #header-downloads-button):active {
    transform: scale(0.95);
}

:is(#header-search-button, #header-downloads-button) .icomoon-icon {
    transition: transform .25s ease-in-out;
}

:is(#header-search-button, #header-downloads-button):is(:hover, :focus) .icomoon-icon {
    transform: rotateY(180deg);
}

#search-popup-content {
    position: relative;
    width: 100%;
    max-width: 950px;
}

#search-popup-input {
    color: #32353D;
    background: #FFF;
    border: 1px solid #C9D2E6;
    border-radius: 8px;
    width: 100%;
    padding: 24px 108px 24px 32px;
    box-sizing: border-box;
    font-family: 'Manrope-Regular';
    font-size: 22px;
    line-height: 34px;
}

#search-popup-input::placeholder {
    color: #7F8696;
}

#search-popup-button {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 50%;
    right: 0;
    color: #FFF;
    background: #1B689F;
    border: none;
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
    height: 100%;
    margin: 0;
    padding: 0;
    aspect-ratio: 1;
    font-size: 28px;
    transform: translateY(-50%);
    transition: background 0.2s, transform 0.125s ease;
}

#search-popup-button:is(:hover, :focus) {
    background: var(--sanosil-blue-bright);
}

#search-popup-button:active {
    transform: translateY(-50%) scale(0.95);
}

#search-popup-button .icomoon-icon {
    transition: transform .25s ease-in-out;
}

#search-popup-button:is(:hover, :focus) .icomoon-icon {
    transform: rotateY(180deg);
}

#header-lang-switcher {
    display: flex;
    align-items: center;
    position: relative;
    border-bottom: 8px solid transparent;
    height: 100%;
    padding: 0 20px;
    font-family: 'Manrope-Medium';
}

#header-lang-switcher-button {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    color: #7F8696;
    background: none;
    border: none;
    padding: 0;
}

#header-lang-switcher-button .icomoon-icon {
    font-size: 12px;
    transform-origin: center 25%;
    transform: translateY(25%);
    transition: transform 0.2s;
}

.header-lang-switcher-flag {
    display: none;
    border-radius: 50%;
    width: 28px;
    height: 28px;
    user-select: none;
}

#header-lang-switcher-menu {
    display: flex;
    flex-direction: column;
    gap: 10px;
    position: absolute;
    bottom: 0;
    left: 0;
    color: #7F8696;
    background: #FFF;
    border: 1px solid rgb(0 0 0 / 7%);
    border-radius: 8px;
    width: 100%;
    padding: 10px 20px;
    box-sizing: border-box;
    box-shadow: 0 5px 20px rgb(0 0 0 / 5%);
    transform-origin: top center;
    transform: translateY(calc(100% + 8px)) scale(1);
    transition: opacity 0.25s ease, transform 0.25s ease;
}

#header-lang-switcher:not(:hover, :focus-within) #header-lang-switcher-menu:not(:hover) {
    opacity: 0;
    pointer-events: none;
    user-select: none;
    transform: translateY(calc(100% + 8px)) scale(0);
}

.header-lang-switcher-menu-item {
    display: flex;
    align-items: center;
    gap: 8px;
    transform-origin: center center;
    transition: color 0.2s, transform 0.125s ease;
}

.header-lang-switcher-menu-item:is(:hover, :focus) {
    color: var(--sanosil-blue);
}

.header-lang-switcher-menu-item:active {
    transform: scale(0.9);
}

#header-lang-switcher:is(:hover, :focus-within) #header-lang-switcher-button .icomoon-icon {
    transform: translateY(25%) rotate(180deg);
}

#breadcrumbs {
    display: flex;
    align-items: center;
    background: #FFF;
    border-bottom: 1px solid rgb(0 0 0 / 7%);
    width: 100%;
    height: 58px;
    box-sizing: border-box;
}

#breadcrumb-item-container {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0;
    padding: 0;
}

.breadcrumb-item {
    display: flex;
    align-items: center;
    gap: 12px;
    list-style: none;
}

.breadcrumb-item:not(:last-child):after {
    content: '/';
    color: #E6E6E6;
    font-size: 22px;
    line-height: 1;
}

.breadcrumb-link {
    display: inline-block;
    color: #898989;
    font-family: 'Manrope-Regular';
    font-size: 16px;
    line-height: 26px;
    transform-origin: center center;
    transition: color 0.2s, transform 0.125s ease;
}

.breadcrumb-link:is(:hover, :focus) {
    color: var(--sanosil-blue);
}

.breadcrumb-link:active {
    transform: scale(0.95);
}

#breadcrumb-current {
    color: var(--sanosil-blue);
}

#header-slider {
    --override-color: #FFF;
}

#header-slider[data-header-size="large"] {
    height: 725px;
}

#header-slider[data-header-size="medium"] {
    height: 600px;
}

#header-slider[data-header-size="small"] {
    height: 475px;
}

.slick-list, .slick-track {
    height: 100%;
}

.header-slider-item {
    position: relative;
    width: 100%;
    height: 100%;
}

.header-slider-item-background {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
}

.header-slider-item-background .acf-image-focus {
    width: 100% !important;
    height: 100% !important;
}

.header-slider-item-background:before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    background: rgb(0 0 0 / 25%);
    width: 100%;
    height: 32px;
}

.header-slider-item[data-slide-anchor="left"] .header-slider-item-background:before {
    clip-path: polygon(0 0, 100% calc(100% - 2px), 100% 100%, 0% 100%);
}

.header-slider-item[data-slide-anchor="center"] .header-slider-item-background:before {
    height: 16px;
}

.header-slider-item[data-slide-anchor="right"] .header-slider-item-background:before {
    clip-path: polygon(0 calc(100% - 2px), 100% 0, 100% 100%, 0% 100%);
}

.header-slider-item-content {
    display: flex;
    align-items: center;
    height: 100%;
    transition: opacity 1.5s ease;
}

.header-slider-item-content.queued-animation:not(.queued-animation-active) {
    opacity: 0;
}

.header-slider-item[data-slide-anchor="left"] .header-slider-item-content {
    background: linear-gradient(to right, #0D3B5C 0%, transparent 50%);
}

.header-slider-item[data-slide-anchor="left"] .header-slider-item-content > .container > .row {
    justify-content: flex-start;
}

.header-slider-item[data-slide-anchor="center"] .header-slider-item-content {
    background: rgb(13 59 92 / 50%);
}

.header-slider-item[data-slide-anchor="center"] .header-slider-item-content > .container > .row {
    justify-content: center;
}

.header-slider-item[data-slide-anchor="right"] .header-slider-item-content {
    background: linear-gradient(to left, #0D3B5C 0%, transparent 50%);
}

.header-slider-item[data-slide-anchor="right"] .header-slider-item-content > .container > .row {
    justify-content: flex-end;
}

.header-slider-item-content-wrapper {
    transition: opacity 2s ease, transform 1.5s ease;
}

.header-slider-item-content-wrapper.queued-animation:not(.queued-animation-active) {
    opacity: 0;
}

.header-slider-item[data-slide-anchor="left"] .header-slider-item-content-wrapper.queued-animation:not(.queued-animation-active) {
    transform: translateX(-30px) scale(0.95);
}

.header-slider-item[data-slide-anchor="center"] .header-slider-item-content-wrapper.queued-animation:not(.queued-animation-active) {
    transform: translateY(30px) scale(0.95);
}

.header-slider-item[data-slide-anchor="right"] .header-slider-item-content-wrapper.queued-animation:not(.queued-animation-active) {
    transform: translateX(30px) scale(0.95);
}

header-slider-item-content-wrapper p {
    font-size: 24px;
    line-height: 32px;
}

#header-badge-container {
    position: absolute;
    left: 0;
    z-index: 5;
    text-align: right;
    transform: translateY(-50%);
}

#header-slider[data-header-size="large"] ~ #header-badge-container {
    top: 725px;
}

#header-slider[data-header-size="medium"] ~ #header-badge-container {
    top: 600px;
}

#header-slider[data-header-size="small"] ~ #header-badge-container {
    top: 475px;
}

#header-badge {
    width: 170px;
    height: 170px;
    user-select: none;
    filter: drop-shadow(0 10px 20px #00000017);
    transition: opacity 1s ease, transform 0.75s ease;
}

#header-badge.queued-animation:not(.queued-animation-active) {
    transform: rotateY(360deg) scale(0.5);
    opacity: 0;
}

/* WAVE CUT-OUT IMAGE */

.wavy-cutout-image {
    mask-size: cover;
}

.wavy-cutout-image[data-wave-type="ltr"] {
    mask-image: url('images/wave-ltr.svg');
}

.wavy-cutout-image[data-wave-type="rtl"] {
    mask-image: url('images/wave-rtl.svg');
}

.wavy-cutout-image .acf-image-focus {
    width: 100% !important;
}

/* POPUP */

.popup {
    display: flex;
    justify-content: center;
    align-items: center;
    position: fixed;
    top: 0;
    left: 0;
    background: rgb(37 38 43 / 80%);
    backdrop-filter: blur(10px);
    width: 100%;
    height: 100%;
    z-index: 30;
    transition: opacity 0.25s;
}

.popup:not(.popup-active) {
    opacity: 0;
    pointer-events: none;
    user-select: none;
}

.popup-close {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 16px;
    right: 20px;
    color: #FFF;
    background: none;
    border: 1px solid #FFF;
    border-radius: 50%;
    width: 42px;
    height: 42px;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-size: 14px;
    transition: transform 0.125s ease;
}

.popup-close:active {
    transform: scale(0.9);
}

/* FOOTER */

footer hr {
    background: rgb(0 0 0 / 5%);
}

#footer-upper {
    position: relative;
    padding: 120px 0;
    --override-color: #FFF;
}

#footer-upper p {
    font-size: 24px;
    line-height: 32px;
    hyphens: none;
}

#footer-upper-background {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
}

#footer-upper-background:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    background: rgb(0 0 0 / 25%);
    width: 100%;
    height: 32px;
    clip-path: polygon(0 0, 100% 0%, 100% 2px, 0% 100%);
}

#footer-upper-background .acf-image-focus {
    width: 100% !important;
    height: 100% !important;
}

#footer-upper-distributors-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    color: #FFF;
    border: 2px solid #FFF;
    border-radius: 8px;
    padding: 12px 48px;
    text-transform: uppercase;
    font-family: 'Manrope-Bold';
    font-size: 20px;
    transition: color 0.2s, transform 0.125s ease;
}

#footer-upper-distributors-link:active {
    transform: scale(0.95);
}

#footer-upper-distributors-link .icomoon-icon {
    font-size: 22px;
    transition: transform .25s ease-in-out;
}

#footer-upper-distributors-link:is(:hover, :focus) .icomoon-icon {
    transform: rotateY(180deg);
}

#footer-center {
    background: #F4F4F4;
    padding: 65px 0;
    --flexstrap-base-row-gap: 65px;
}

#footer-center .container {
    gap: 65px;
}

#footer-address {
    line-height: 24px;
}

#footer-address :last-child {
    margin-bottom: 0;
}

#footer-customer-email {
    display: flex;
    align-items: end;
    height: 100%;
    font-family: 'Manrope-Bold';
    font-size: 20px;

}

#footer-customer-email > a {
    display: inline-block;
    width: max-content;
    transform-origin: center center;
    transition: color 0.2s, transform 0.125s ease;
}

#footer-customer-email > a:is(:hover, :focus) {
    color: var(--sanosil-blue);
}

#footer-customer-email > a:active {
    transform: scale(0.95);
}

#footer-nav {
    display: flex;
    gap: 128px;
    width: 100%;
}

.footer-upper-menu-heading {
    color: #5A5A5A;
    font-size: 24px;
    line-height: 28px;
    margin-bottom: 35px;
    transition: color 0.2s, transform 0.125s ease;
}

.footer-upper-menu-heading-link:is(:hover, :focus) > .footer-upper-menu-heading {
    color: var(--sanosil-blue);
}

.footer-upper-menu-heading-link:active > .footer-upper-menu-heading {
    transform: scale(0.95);
}

.footer-upper-menu-links {
    color: #4E5669;
    display: flex;
    flex-direction: column;
    gap: 24px;
    line-height: 1;
    font-family: 'Manrope-Regular';
    font-size: 18px;
}

.footer-upper-menu-links > a {
    display: inline-block;
    width: max-content;
    transform-origin: center center;
    transition: color 0.2s, transform 0.125s ease;
}

.footer-upper-menu-links > a:is(:hover, :focus) {
    color: var(--sanosil-blue);
}

.footer-upper-menu-links > a:active {
    transform: scale(0.95);
}

#footer-lower {
    color: #4E5669;
    background: #FFF;
    padding: 38px 0;
    font-family: 'Manrope-Regular';
    font-size: 18px;
}

#footer-lower-menu {
    display: flex;
    align-items: center;
    gap: 8px;
    height: 100%;
}

.footer-lower-menu-item > a {
    display: inline-block;
    transform-origin: center center;
    transition: color 0.2s, transform 0.125s ease;
}

.footer-lower-menu-item > a:is(:hover, :focus) {
    color: var(--sanosil-blue);
}

.footer-lower-menu-item > a:active {
    transform: scale(0.95);
}

.footer-lower-menu-separator:before {
    content: '|';
    color: #B0B2B7;
}

#footer-youtube {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 20px;
}

#footer-youtube-link {
    color: #4E5669;
    font-size: 36px;
    transform-origin: center center;
    transition: color 0.2s, transform 0.125s ease;
}

#footer-youtube-link:is(:hover, :focus) {
    color: var(--sanosil-blue);
}

#footer-youtube-link:active {
    transform: scale(0.9125);
}

::selection {
    color: #FFF;
    background: var(--sanosil-blue);
}

:focus-visible {
    outline: 2px solid var(--sanosil-blue);
}

/* DISTRIBUTION / DISTRIBUTORS */

.distributors {
    display: flex;
    flex-direction: column;
    gap: 80px;
}

.distributors-search-row {
    --flexstrap-base-column-gap: 0px;
    --flexstrap-base-row-gap: 32px;
}

.distributors-search {
    color: #32353D;
    background: #FFF;
    border: 1px solid #C9D2E6;
    border-radius: 8px;
    width: 100%;
    padding: 24px 32px;
    box-sizing: border-box;
    font-family: 'Manrope-Regular';
    font-size: 22px;
    line-height: 34px;
}

.distributors-search::placeholder {
    color: #7F8696;
}

.distributors-or {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 4px;
    color: #7F8696;
    height: 100%;
    text-transform: uppercase;
}

.distributors-head-office {
    position: relative;
    color: var(--sanosil-blue);
    background: #FFF;
    border: 1px solid #C9D2E6;
    border-radius: 8px;
    width: 100%;
    padding: 24px 32px 24px 104px;
    font-family: 'Manrope-Bold';
    font-size: 22px;
    line-height: 34px;
    text-align: left;
    transition: color 0.2s, transform 0.125s ease;
}

.distributors-head-office:is(:hover, :focus) {
    color: var(--sanosil-blue-bright);
}

.distributors-head-office:active {
    transform: scale(0.95);
}

.distributors-head-office > .icomoon-icon {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 0;
    left: 0;
    color: #FFF;
    background: #D40F17;
    border-top-left-radius: 8px;
    border-bottom-left-radius: 8px;
    height: 100%;
    aspect-ratio: 1;
    font-size: 30px;
    transition: background 0.2s;
}

.distributors-head-office:is(:hover, :focus) >.icomoon-icon {
    background: #DF1F27;
}

.distributors-or:before,
.distributors-or:after {
    content: '-';
}

.distributors-card-row {
    --flexstrap-base-row-gap: 64px;
}

.distributors-card-hide {
    display: none;
}

.distributors-empty-results-message {
    display: flex;
    justify-content: center;
    width: 100%;
}

.distributors:not(.distributors-empty-results) .distributors-empty-results-message {
    display: none;
}

.distributors-card {
    position: relative;
    background: #FFF;
    border-radius: 20px;
    height: 100%;
    padding: 28px 24px;
    box-sizing: border-box;
    box-shadow: 0px 10px 20px #00000017;
    transition: opacity 1.25s ease, transform 1.25s ease;
}

.distributors-card.queued-animation:not(.queued-animation-active) {
    transform: translateY(25px) scale(0.9);
    opacity: 0;
}

.distributors-card-flag-badge {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 0;
    right: 0;
    background: #FFF;
    border-radius: 50%;
    width: 70px;
    height: 70px;
    box-shadow: 0px 10px 20px #00000029;
    transform: translate(33.33%, -33.33%);
}

.distributors-card-flag-badge:before,
.distributors-card-flag-badge:after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: -1;
    background: #FFF;
    border-radius: 50%;
    box-shadow: 0px 10px 20px #00000029;
    transform: translate(-50%, -50%);
}

.distributors-card-flag-badge:before {
    width: 85px;
    height: 85px;
    opacity: 0.3;
}

.distributors-card-flag-badge:after {
    width: 100px;
    height: 100px;
    opacity: 0.1;
}

.distributors-card-flag {
    width: 32px;
    height: 24px;
    user-select: none;
    image-rendering: pixelated;
    box-shadow: 0px 0px 15px #00000047;
}

.distributors-card-title {
    margin-bottom: 16px;
    font-family: 'Manrope-Regular';
    font-size: 28px;
    line-height: 34px;
}

.distributors-card > address {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.distributors-card-location {
    font-size: 20px;
    line-height: 24px;
}

.distributors-card-location-label {
    text-transform: uppercase;
}

.distributors-card-location-content * {
    margin: 0;
}

.distributors-card-email {
    font-size: 20px;
    line-height: 26px;
}

.distributors-card-email-label {
    font-family: 'Manrope-Bold';
}

.distributors-card-email > a {
    font-family: 'Manrope-Regular';
}

/* PRODUCTS */

.product {
    display: flex;
    flex-direction: column;
    transition: opacity 1.25s ease, transform 1.25s ease;
}

.product.queued-animation:not(.queued-animation-active) {
    transform: translateY(75px) scale(0.95);
    opacity: 0;
}

.product-info-group {
    display: flex;
    gap: 35px;
    background: #F0F0F0;
    border: 1px solid #DBDBDB;
    border-bottom: none;
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
    padding: 25px;
    box-sizing: border-box;
}

.product-image-container {
    border: 1px solid #DBDBDB;
    border-radius: 20px;
    width: 500px;
    height: 350px;
    overflow: hidden;
}

.product .video_link {
    width: 100%;
    height: 100%;
}

.product .video_link:before,
.product .video_link:after {
    border-radius: 0;
    z-index: 5;
}

.product-image {
    border-radius: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    object-position: center center;
    transition: transform 0.2s ease;
}

.product-image-container .video_link:is(:hover, :focus) .product-image {
    transform: scale(1.1);
}

.product-description-container {
    position: relative;
    width: calc(100% - 485px);
    height: 350px;
    box-sizing: border-box;
}

.product-shop-link-container {
    display: flex;
    align-items: end;
    width: 100%;
    height: 70px;
}

.product-description {
    height: calc(100% - 70px);
    overflow: auto;
}

.product:not(.product-has-shop-button) .product-description {
    height: 100%;
}

.product-title {
    margin: 0;
    margin-bottom: 8px;
    font-family: 'Manrope-Light';
    font-size: 30px;
    line-height: 42px;
}

.product-subtitle {
    margin-bottom: 22px;
    font-family: 'Manrope-Bold';
    font-size: 20px;
    line-height: 28px;
}

a.product-shop-link {
    margin: 0 !important;
}

.product-button-group {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-start;
    background: #D7DAE0;
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
    padding: 15px;
    box-sizing: border-box;
}

.product-button {
    margin: 0 !important;
    font-family: 'Manrope-Regular' !important;
}

.row_children_2 .product-info-group {
    flex-direction: column;
}

.row_children_2 .product-image-container {
    width: 100%;
    height: auto;
    aspect-ratio: 6 / 5;
}

.row_children_2 .product-description-container {
    width: 100%;
}

.row_children_2 a.product-shop-link {
    width: 100%;
}

.row_children_2 .product-button {
    min-width: auto !important;
}

/* BROCHURE */

.brochure {
    display: flex;
    flex-direction: column;
    margin-bottom: 16px;
    transition: opacity 1.25s ease, transform 1.25s ease;
}

.brochure.queued-animation:not(.queued-animation-active) {
    transform: translateY(75px) scale(0.95);
    opacity: 0;
}

.brochure-thumbnail-group {
    display: flex;
    justify-content: center;
    align-items: center;
    background-image: url('./images/brochure-bg.webp');
    background-size: cover;
    background-position: center center;
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
    height: 920px;
    padding: 32px;
    box-sizing: border-box;
    overflow: hidden;
}

.brochure-thumbnail {
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 100%;
    transition: transform 0.125s ease;
}

.brochure-thumbnail:hover  {
    transform: scale(1.05);
}

.brochure-button-group {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #F4F5F8;
    border: 1px solid #D8D8D8;
    border-top: none;
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
    padding: 18px 32px;
}

.brochure-button-group > .link-button {
    margin: 0 !important;
}

.brochure-fullscreen-button {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 16px;
    color: var(--sanosil-blue);
    background: none;
    border: none;
    margin: 0;
    padding: 0;
    font-family: 'Manrope-Bold';
    font-size: 20px;
    line-height: 24px;
    transform-origin: center center;
    transition: color 0.2s, transform 0.125s ease;
}

.brochure-fullscreen-button:is(:hover, :focus) {
    color: var(--sanosil-blue-bright);
}

.brochure-fullscreen-button:active {
    transform: scale(0.95);
}

.brochure-fullscreen-button-icon {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #FFF;
    background: var(--sanosil-blue);
    border-radius: 50%;
    width: 75px;
    height: 75px;
    box-shadow: 0 10px 20px #00000029;
    font-size: 24px;
    transition: background 0.2s;
}

.brochure-fullscreen-button:is(:hover, :focus) .brochure-fullscreen-button-icon  {
    background: var(--sanosil-blue-bright);
}

.brochure-fullscreen-button-icon:before {
    transform-origin: center center;
    transition: 0.125s transform ease;
}

.brochure-fullscreen-button:is(:hover, :focus) .brochure-fullscreen-button-icon:before {
    transform: scale(1.2);
}

.row_children_2 .brochure-thumbnail-group {
    height: 500px;
}

.brochure-popup {
    display: flex;
    justify-content: center;
    align-items: center;
    width: calc(100% - 128px);
    height: calc(100% - 128px);
}

.brochure-popup-object {
    width: 100%;
    height: 100%;
}

/* SEARCH */

#search-results {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 0;
    margin-top: 55px;
    padding: 0;
    list-style: none;
}

.search-result-link {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #FFF;
    border-radius: 20px;
    width: 100%;
    padding: 24px 24px 24px 36px;
    box-shadow: 0 10px 20px #00000017;
    box-sizing: border-box;
    transition: transform 0.125s ease;
}

.search-result-link:active {
    transform: scale(0.975);
}

.search-result-title {
    color: var(--sanosil-blue);
    font-size: 30px;
    line-height: 42px;
    margin-bottom: 12px;
}

.search-result-url {
    transition: color 0.2s;
}

.search-result-link:is(:hover, :focus) .search-result-url {
    color: var(--sanosil-blue);
}

.search-result-button-outer {
    display: flex;
    justify-content: center;
    align-items: center;
    background: rgb(222 222 222 / 30%);
    border-radius: 50%;
    width: 60px;
    height: 60px;
    box-shadow: 0 10px 20px #00000029;
}

.search-result-button {
    display: flex;
    justify-content: center;
    align-items: center;
    background: #FFF;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    box-shadow: 0 10px 20px #00000029;
    font-size: 20px;
    transition: background 0.2s, color 0.2s;
}

.search-result-link:is(:hover, :focus) .search-result-button {
    color: #FFF;
    background: var(--sanosil-blue-bright);
}

/* USECASES */

#usecases-block {
    margin-bottom: 100px;
}

#casestudies-slider {
    border-radius: 20px;
    margin: 0 !important;
    overflow: hidden;
}

#casestudies-slider .slick-dots {
    position: absolute;
    left: 0;
    bottom: 32px;
}

#casestudies-slider .slick-dots li:first-child:last-child {
    display: none;
}

#casestudies-slider .slick-dots li button {
    transition: transform 0.125s ease;
}

#casestudies-slider .slick-dots li button:active {
    transform: scale(0.9);
}

#casestudies-slider .slick-dots li button:before {
    content: '';
    background: none;
    border: 4px solid #FFF;
    border-radius: 50%;
    width: 18px;
    height: 18px;
    box-sizing: border-box;
    opacity: 1;
    transition: background 0.15s;
}

#casestudies-slider .slick-dots li.slick-active button:before,
#casestudies-slider .slick-dots li button:is(:hover, :focus):before {
    background: #FFF;
}

.casestudies-slider-item {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    position: relative;
    height: 650px;
    padding: 60px;
    box-sizing: border-box;
    --override-color: #FFF;
}

.casestudies-slider-item-background {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
}

.casestudies-slider-item-background > .acf-image-focus {
    width: 100% !important;
    height: 100% !important;
}

.casestudies-slider-item-box {
    position: relative;
    background: rgb(27 104 159 / 80%);
    border-radius: 20px;
    width: 675px;
    max-height: 100%;
    padding: 85px 50px 50px 50px;
    box-shadow: 0px 10px 20px #00000055;
    box-sizing: border-box;
    backdrop-filter: blur(4px);
    transition: opacity 1.25s ease, transform 1.25s ease;
}

.casestudies-slider-item-box.queued-animation:not(.queued-animation-active) {
    transform: translateY(12.5%) scale(0.9);
    opacity: 0;
}

.casestudies-slider-item-box .floating-icon {
    --override-color: none;
}

.casestudies-slider-item-title {
    font-family: 'Manrope-Regular';
    font-size: 28px;
    line-height: 34px;
}

.casestudies-slider-item-content {
    font-family: 'Manrope-Regular';
    font-size: 20px;
    line-height: 28px;
}

.casestudies-slider-item-content :last-child {
    margin-bottom: 0 !important;
}

/* USECASES SECTION */

#usecases-section > .row {
    --flexstrap-base-column-gap: 64px;
    --flexstrap-base-row-gap: 64px;
}

.usecases-section-usecase-cat {
    position: relative;
    background: #FFF;
    border-radius: 20px;
    box-shadow: 0px 10px 20px #00000017;
    transition: opacity 1.25s ease, transform 1.25s ease;
}

.usecases-section-usecase-cat.queued-animation:not(.queued-animation-active) {
    transform: translateY(-50px) scale(0.9);
    opacity: 0;
}

.usecases-section-usecase-cat-image {
    display: flex;
    position: relative;
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
    width: 100%;
    height: 330px;
    overflow: hidden;
    transition: transform 0.125s ease;
}

.usecases-section-usecase-cat-image:active {
    transform: scale(0.95);
}

.usecases-section-usecase-cat-image > .acf-image-focus {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
    transition: transform 0.2s ease;
}

.usecases-section-usecase-cat-image:is(:focus, :hover) > .acf-image-focus {
    transform: scale(1.1);
}

.usecases-section-usecase-cat-image-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: absolute;
    bottom: 0;
    left: 0;
    color: #FFF;
    background: rgb(150 150 150 / 35%);
    width: 100%;
    height: 64px;
    padding-left: 25px;
    box-sizing: border-box;
    font-family: 'Manrope-Medium';
    font-size: 20px;
    line-height: 24px;
    backdrop-filter: blur(6px) brightness(0.75);
    transition: background 0.2s ease;
}

.usecases-section-usecase-cat-image-bar-button {
    display: flex;
    justify-content: center;
    align-items: center;
    background: var(--sanosil-blue);
    border-top-left-radius: 20px;
    width: 86px;
    height: 100%;
    font-size: 24px;
    transition: background 0.2s ease;
}

.usecases-section-usecase-cat-image:is(:focus, :hover) .usecases-section-usecase-cat-image-bar  {
    background: rgb(27 104 159 / 35%);
}

.usecases-section-usecase-cat-image:is(:focus, :hover) .usecases-section-usecase-cat-image-bar-button {
    background: var(--sanosil-blue-bright);
}

.usecases-section-usecase-cat-body {
    display: flex;
    flex-direction: column;
    gap: 50px;
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
    padding: 25px;
}

.usecases-section-usecase-cat-title {
    color: var(--sanosil-blue);
}

.usecases-section-usecase-cat-content > p {
    margin-bottom: 20px;
}

.usecases-section-usecase-cat-content > :last-child {
    margin-bottom: 0;
}

.usecases-section-usecase-cat-usecases {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.usecases-section-usecase-cat-usecases-item {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #868686;
    background: #F5F5F5;
    border-radius: 6px;
    padding: 12px;
    box-sizing: border-box;
    transition: color 0.2s, background 0.2s, transform 0.125s ease;
}

.usecases-section-usecase-cat-usecases-item:active {
    transform: scale(0.95);
}

.usecases-section-usecase-cat-usecases-item:is(:hover, :focus) {
    color: var(--sanosil-blue);
    background: #DEF0FF;
}

.usecases-section-usecase-cat-usecases-item > .icomoon-icon {
    font-size: 44px;
}

.usecases-section-usecase-cat-usecases-title-container {
    display: flex;
    flex-direction: column;
}

.usecases-section-usecase-cat-usecases-title {
    font-family: 'Manrope-Regular';
    font-size: 24px;
    line-height: 34px;
}

.usecases-section-usecase-cat-usecases-subtitle {
    font-family: 'Manrope-Regular';
    font-size: 18px;
    line-height: 24px;
}

/* COMPETENCES SECTION */

.competences-row {
    margin-top: 75px;
    --flexstrap-base-column-gap: 90px;
    --flexstrap-base-row-gap: 64px;
}

.card-wrapper {
    height: 100%;
    transition: opacity 1.25s ease, transform 1.25s ease;
}

.card-wrapper.queued-animation:not(.queued-animation-active) {
    transform: translateY(25px) scale(0.9);
    opacity: 0;
}

.card {
    height: 100%;
}

.card,
.competences-item {
    display: flex;
    position: relative;
    flex-direction: column;
    background: #FFF;
    border-radius: 20px;
    box-shadow: 0 10px 20px #00000017;
    transition: transform 0.125s ease;
}

.competences-item-column {
    transition: opacity 1.25s ease, transform 1.25s ease;
}


.competences-item-column.queued-animation:not(.queued-animation-active) {
    transform: translateY(-25px) scale(0.9);
    opacity: 0;
}

.competences-item:active {
    transform: scale(0.95);
}

.card-image,
.competences-item-image {
    position: relative;
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
    width: 100%;
    height: 230px;
    overflow: hidden;
}

.card-image > .acf-image-focus,
.competences-item-image > .acf-image-focus {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
    transition: transform 0.2s ease;
}

.card:is(:hover, :focus) .card-image > .acf-image-focus,
.competences-item:is(:hover, :focus) .competences-item-image > .acf-image-focus {
    transform: scale(1.1);
}

.card-content,
.competences-item-body {
    padding: 24px;
}

.competences-item-title {
    color: #757781;
    margin-bottom: 18px;
    font-family: 'Manrope-Regular';
    font-size: 30px;
    line-height: 42px;
    transition: color 0.2s ease;
}

.competences-item:is(.current-post, :hover, :focus) .competences-item-title {
    color: var(--sanosil-blue);
}

.card-content > :last-child,
.competences-item-content > :last-child {
    margin-bottom: 0;
}

/* USECASES LISTING */

#usecases-listing {
    --flexstrap-base-column-gap: 64px;
    --flexstrap-base-row-gap: 48px;
}

.usecases-listing-item-column {
    transition: opacity 1.25s ease, transform 1.25s ease;
}

.usecases-listing-item-column.queued-animation:not(.queued-animation-active) {
    transform: translateY(-10px) scale(0.95);
    opacity: 0;
}

.usecases-listing-item {
    display: flex;
    background: #FFF;
    border: 1px solid #F7F7F7;
    border-radius: 20px;
    height: 250px;
    box-sizing: border-box;
    box-shadow: 0px 10px 20px #00000017;
    overflow: hidden;
    transition: transform 0.125s ease;
}

.usecases-listing-item:active {
    transform: scale(0.95);
}

.usecases-listing-item-icon {
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--sanosil-blue);
    background: linear-gradient(to bottom, #F4F4F6, #E4E5E7 55%, #F6F6F8 80%, #E4E5E7 100%);
    width: 250px;
    height: 100%;
    font-size: 128px;
    overflow: hidden;
}

.usecases-listing-item-icon .icomoon-icon {
    transition: transform 0.2s ease;
}

.usecases-listing-item:is(:hover, :focus) .usecases-listing-item-icon .icomoon-icon {
    transform: scale(1.1);
}

.usecases-listing-item-body {
    display: flex;
    flex-direction: column;
    position: relative;
    width: calc(100% - 250px);
    height: 100%;
    padding: 20px 86px 64px 32px;
    box-sizing: border-box;
}

.usecases-listing-item-title {
    color: #757781;
    font-family: 'Manrope-Regular';
    font-size: 30px;
    line-height: 42px;
    transition: color 0.2s;
}

.usecases-listing-item:is(:hover, :focus) .usecases-listing-item-title {
    color: var(--sanosil-blue);
}

.usecases-listing-item-content :last-child {
    margin-bottom: 0;
}

.usecases-listing-item-button {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    bottom: 0;
    right: 0;
    color: #FFF;
    background: var(--sanosil-blue);
    border-top-left-radius: 20px;
    width: 86px;
    height: 64px;
    font-size: 24px;
    transition: background 0.2s ease;
}

.usecases-listing-item:is(:hover, :focus) .usecases-listing-item-button {
    background: var(--sanosil-blue-bright);
}

/* PARTNER FORM SECTION */

#partner-form-arrow-wrapper {
    display: flex;
    justify-content: center;
    transition: opacity 1.25s ease;
}

#partner-form-arrow-wrapper.queued-animation:not(.queued-animation-active) {
    opacity: 0;
}

#partner-form-content-row {
    align-items: center;
}

#partner-form-benefits {
    background: #FFF;
    border-radius: 20px;
    padding: 50px;
    transition: opacity 1.25s ease, transform 1.25s ease;
}

#partner-form-benefits.queued-animation:not(.queued-animation-active) {
    transform: translateY(-25px) scale(0.95);
    opacity: 0;
}

#partner-form-wrapper {
    display: flex;
    flex-direction: column;
    background: #FFF;
    border-radius: 20px;
    padding: 32px;
    box-sizing: border-box;
    box-shadow: 0px 10px 20px #00000017;
    transition: opacity 1.25s ease, transform 1.25s ease;
}

#partner-form-wrapper.queued-animation:not(.queued-animation-active) {
    transform: translateY(-25px) scale(0.95);
    opacity: 0;
}

/* CONTACT FORM SECTION */

#contact-form-row {
    --flexstrap-base-column-gap: 8px;
    --flexstrap-base-row-gap: 6px;
}

.contact-form-column {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

#contact-form-privacy-policy {
    justify-content: center;
}

#contact-form-message-field-wrapper {
    height: 100%;
}

/* CONTACT MAP SECTIONS */

#flexible-content.contact-template {
    overflow-x: hidden;
}

:is(#page-content, #flexible-content) .contact-map-section {
    padding-bottom: 400px;
    box-sizing: border-box;
}

:is(#page-content, #flexible-content) .contact-map-section:not(.contact-map-section-last) {
    min-height: 800px;
}

:is(#page-content, #flexible-content) .contact-map-section.contact-map-section-last {
    min-height: 600px;
}

#flexible-content.contact-template .section:first-child,
:is(#page-content, #flexible-content) .contact-map-section.contact-map-section-last {
    padding-bottom: 200px;
}

.contact-map-section:not(.contact-map-section-even) {
    background: #000;
    --override-color: #FFF;
}

.contact-map-column {
    position: relative;
}

.contact-map-image-wrapper {
    display: flex;
    position: absolute;
    top: 0;
    border-radius: 20px;
    width: 1350px;
    height: 695px;
    transform: translateY(-300px);
    overflow: hidden;
    transition: transform 0.125s ease;
}

.contact-map-section.contact-map-section-even .contact-map-image-wrapper {
    right: 0;
}

.contact-map-section:not(.contact-map-section-even) .contact-map-image-wrapper {
    left: 0;
}

.contact-map-image-wrapper[href]:active {
    transform: translateY(-300px) scale(0.95);
}

.contact-map-image-hint {
    position: absolute;
    top: 0;
    color: #32353D;
    background: rgb(255 255 255 / 80%);
    padding: 14px 24px;
    font-family: 'Manrope-Regular';
    font-size: 18px;
    line-height: 28px;
}

.contact-map-section.contact-map-section-even .contact-map-image-hint {
    right: 0;
    border-bottom-left-radius: 18px;
}

.contact-map-section:not(.contact-map-section-even) .contact-map-image-hint {
    left: 0;
    border-bottom-right-radius: 18px;
}

.contact-map-image {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    object-position: center center;
    transition: filter 0.25s;
}

.contact-map-image-wrapper:is(:hover, :focus) .contact-map-image {
    filter: brightness(1.05);
}

/* COMMENTS SECTION */

#comment-add,
.comment-reply {
    margin: 0 !important;
}

#comment-section-heading {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 36px;
    font-size: 38px;
    font-family: 'Manrope-Light';
    line-height: 46px;
}

.comment-section-heading-icon {
    color: var(--sanosil-blue);
    font-size: 32px;
}

.comment {
    transition: opacity 1.25s ease, transform 1.25s ease;
}

.comment.queued-animation:not(.queued-animation-active) {
    transform: translateY(75px) scale(0.95);
    opacity: 0;
}

#comments,
.comment,
.comment-children {
    display: flex;
    flex-direction: column;
    gap: 56px;
}

#comment-section-note {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 24px;
    line-height: 28px;
    font-family: 'Manrope-Bold';
}

.comment-body {
    background: #FFF;
    border-radius: 20px;
    padding: 56px 32px;
    box-shadow: 0 10px 20px #00000017;
    --override-color: #5A5A5A;
}

.comment-body,
.comment-content-container {
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.comment-author {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 24px;
    font-family: 'Manrope-Bold';
    line-height: 28px;
}

.comment-author.comment-verified-author {
    --override-color: var(--sanosil-blue);
}

.comment-content {
    font-size: 20px;
    font-family: 'Manrope-Regular';
    line-height: 28px;
}

.comment-author,
.comment-content {
    overflow: hidden;
    text-overflow: ellipsis;
    hyphens: auto;
}

.comment-children {
    position: relative;
    padding-left: 92px;
}

.comment-children-icon {
    position: absolute;
    top: 0;
    left: 46px;
    color: var(--sanosil-blue);
    font-size: 56px;
    transform: translateX(-50%);
}

.comment-children .comment-body {
    background: #EBEBEB;
    box-shadow: none;
}

#comment-form-container {
    transition: transform 0.2s ease, opacity 0.2s ease, width 0s 0.2s, height 0s 0.2s;
}

#comment-form-container.comment-form-submitted {
    width: 0;
    height: 0;
    transform: scale(0);
    transform-origin: center center;
    opacity: 0;
}

#comment-form-response-container {
    transition: transform 0.2s 0.25s ease, opacity 0.2s 0.25s ease, width 0s 0.25s, height 0s 0.25s;
}

#comment-form-container:not(.comment-form-submitted) ~ #comment-form-response-container {
    width: 0;
    height: 0;
    transform: scale(0);
    transform-origin: center center;
    opacity: 0;
}

#comment-form-container,
#comment-form-response-container {
    display: flex;
    flex-direction: column;
    gap: 24px;
    width: 100%;
    max-width: 950px;
}

#comment-form-response-container {
    gap: 18px;
}

#comment-form {
    display: flex;
    flex-direction: column;
    gap: 18px;
    width: 100%;
}

#comment-form-heading,
#comment-form-response-heading {
    color: #FFF;
    margin: 0;
    font-size: 38px;
    line-height: 46px;
    font-family: 'Manrope-Light';
    text-align: center;
}

#comment-form-authorized-note,
#comment-form-response-message {
    color: #FFF;
    margin: 0;
    font-size: 20px;
    line-height: 28px;
    font-family: 'Manrope-Light';
    text-align: center;
}

#comment-form-input-container {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.comment-form-input {
    color: #32353D;
    background: #FFF;
    border: 1px solid #C4C4C4;
    border-radius: 8px;
    padding: 12px 18px;
    box-sizing: border-box;
    font-size: 20px;
    font-family: 'Manrope-Regular';
}

textarea.comment-form-input {
    height: 250px;
    padding: 18px;
    resize: none;
}

.comment-form-input::placeholder {
    color: #C4C4C4;
    opacity: 1;
}

#comment-form-submit {
    margin: 0;
}

/* RESOURCE LISTING */

.resource-listing {
    background: #FFF;
    border-radius: 20px;
    margin: 0;
    padding: 32px;
    box-shadow: 0 10px 20px #00000017;
    transition: opacity 1.25s ease, transform 1.25s ease;
}

.resource-listing.queued-animation:not(.queued-animation-active) {
    transform: translateY(-25px) scale(0.95);
    opacity: 0;
}

.resource-listing-heading {
    margin-bottom: 24px;
}

.resource-listing-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 0;
    list-style: none;
}

.resource-listing-list a:is(:hover, :focus) {
    text-decoration: none;
}

/* LANDING PAGE */

#header-landing-page-email-wrapper {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-right: 16px;
    transition: color 0.2s, transform 0.125s ease;
}

.header-landing-page-email-icon {
    color: #7F8696;
    font-size: 48px;
}

#header-landing-page-email-wrapper:is(:hover, :focus) {
    color: var(--sanosil-blue);
}

#header-landing-page-email-wrapper:active {
    transform: scale(0.95);
}

/* FORM */

.generic-form {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 20px;
}

.form-input-wrapper {
    display: flex;
    position: relative;
}

.form-input {
    color: #32353D;
    border: 1px solid #C4C4C4;
    border-radius: 8px;
    width: 100%;
    padding: 12px 20px;
    box-sizing: border-box;
    font-family: 'Manrope-Regular';
    font-size: 20px;
    line-height: 24px;
    transition: border 0.2s;
}

.form-input:is(:hover, :focus, :not(:placeholder-shown)) {
    border-color: var(--sanosil-blue-bright);
    outline: none;
}

.form-input::placeholder {
    color: #ADADAD;
    opacity: 1;
}

textarea.form-input {
    min-height: 135px;
    resize: vertical;
}

.generic-form button[type="submit"] {
    margin: 0;
}

span.error {
    max-height: 0px !important;
    max-width: 0px !important;
    overflow: hidden;
    display: inline-block !important;
    border: 0px !important;
}

form em {
    position: absolute;
    top: 50%;
    right: 10px;
    z-index: 100;
    font-style: normal;
    transform: translateY(-50%);
}

form em:before {
    content: "\f06a";
    display: inline-block;
    font: normal normal normal 14px/1 FontAwesome;
    font-size: inherit;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    background: #FFF;
    color: #DB0132;
    font-weight: 700;
    font-size: 22px;
    width: 20px;
    height: 16px;
    display: inline-block;
    text-align: center;
    line-height: 20px;
    border-radius: 100%;
}

span.error.hover-active {
    max-height: none !important;
    max-width: 300px !important;
    position: absolute;
    top: 0;
    right: 30px;
    background: #DB0132;
    padding: 6px 10px;
    line-height: 15px;
    border: 0px;
    z-index: 100;
    display: inline-block !important;
    font-size: 13px;
    color: #FFF;
    overflow: visible;
    font-family: 'Manrope-Bold';
    text-align: center;
    transform: translateY(-10%);
}

form em.hover-active {
    width: 90%;
    text-align: right;
}

span.error.hover-active:after {
    content: "";
    display: inline-block;
    border: 6px solid #DB0132;
    border-top-color: transparent;
    border-right-color: transparent;
    border-bottom-color: transparent;
    position: absolute;
    top: 7px;
    right: -12px;
}

/* --------------------------- */
/* --RESPONSIVE MEDIA UPDATE-- */
/* --------------------------- */

.youtube-responsive-container {
    position: relative;
    padding-top: calc(9 / 16 * 100%);
    height: 0;
    overflow: hidden;
    margin-bottom: 25px;
}
    
.youtube-responsive-container iframe,
.youtube-responsive-container object,
.youtube-responsive-container embed {
    position:absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.youtube_container {
    margin-bottom: 25px;
}

.video_link {
    display: flex !important;
    position: relative;
}

.video_link:before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    background: rgba(57, 56, 55, 0.1);
    border-radius: 30px;
    width: 100%;
    height: 100%;
}

.video_link:after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100px;
    height: 100px;
    background-image: url(images/play.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    transform: translate(-50%, -50%);
    transition: transform 0.125s ease;
}

.product .video_link:active:after {
    transform: translate(-50%, -50%) scale(0.9);
}

.video_link > img {
    border-radius: 30px;
    box-shadow: 20px 20px 60px #00000045;
}

/* ADVANCED GALLERY */

#page-content .wp_gallery_advanced_slider_wrapper {
    margin-bottom: 45px !important;
}

#page-content .wp_gallery_advanced_slider_wrapper .slick-track {
    display: flex;
    align-items: center;
}

#page-content .wp_gallery_advanced_slider .slick-slide .wp_gallery_advanced_gal_item:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    background: var(--dark-color);
    border-radius: 30px;
    width: 100%;
    height: 100%;
    opacity: 0.75;
    transition: opacity 0.25s ease;
}

#page-content .wp_gallery_advanced_slider .slick-slide.slick-current + .slick-slide .wp_gallery_advanced_gal_item:after {
    opacity: 0;
}

#page-content .wp_gallery_advanced_slider .wp_gallery_advanced_image {
    border-radius: 30px;
    object-fit: cover;
    object-position: center center;
    width: 100% !important;
    height: 500px !important;
}

#page-content .wp_gallery_advanced_type-thumbnails img.wp_gallery_advanced_image {
    border-radius: 30px;
    width: 100%;
    height: 100%;
    box-shadow: 20px 20px 60px #00000045;
    object-fit: cover;
    object-position: center center;
}

.wp_gallery_advanced_caption {
    color: white;
    background-color: rgb(6 49 59 / 70%);
    font-size: 1.4rem;
    line-height: 1.4;
}

.wp_gallery_advanced_gal_item {
    position: relative;
    display: block;
    width: 100%;
    padding-top: calc(9 / 16 * 100%);
}

.wp_gallery_advanced_type-slider .wp_gallery_advanced_caption {
    padding: 15px 20px;
    margin: 0;
    position: absolute;
    width: 100%;
    left: 0;
    bottom: 0;
}

.wp_gallery_advanced_slider.slick-dotted {
    margin-bottom: 60px;
}

.wp_gallery_advanced_slider .slick-arrow {
    position: absolute;
    width: 64px;
    height: 64px;
    color: #4E5669;
    background:#F2F2F2;
    border: none;
    border-radius: 50%;
    margin: 0;
    padding: 0;
    font-size: 28px;
    z-index: 10;
    cursor: pointer;
    top: 50%;
    transform: translate(0px, -50%);
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    transition: color 0.2s, background 0.2s, transform 0.125s ease;
}

.wp_gallery_advanced_slider .slick-arrow:is(:hover, :focus) {
    color: #FFF;
    background: var(--sanosil-blue);
}

.wp_gallery_advanced_slider .slick-arrow:active {
    transform: translate(0px, -50%) scale(0.9);
}

.wp_gallery_advanced_slider .slick-arrow.slide_prev {
    left: 24px;
}

.wp_gallery_advanced_slider .slick-arrow.slide_next {
    right: 24px;
}

.wp_gallery_advanced_slider .slick-slide {
    padding: 0;
}

a.wp_gallery_advanced_gal_item_thumb {
    display: flex;
    position: relative;
    width: 100%;
    height: 100%;
}

.wp_gallery_advanced_thumbnails:not(.captions-enabled) .wp_gallery_advanced_gal_item_thumb {
    margin-bottom: 18px;
}

.wp_gallery_advanced_gal_item_thumb:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background: var(--dark-color);
    border-radius: 30px;
    width: 100%;
    height: 100%;
    opacity: 0.75;
    z-index: 1;
    transition: opacity 0.25s;
}

.wp_gallery_advanced_gal_item_thumb:not(:hover):before {
    opacity: 0;
}

.wp_gallery_advanced_gal_item_thumb:after {
    content: "\ea1c";
    font-family: 'icomoon' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 65px;
    height: 65px;
    color: #19222A;
    background: rgb(233 236 243 / 80%);
    border: #D8DCE6 1px solid;
    border-radius: 50%;
    font-size: 25px;
    line-height: 1;
    z-index: 2;
    transform: translate(-50%, -50%) scale(1);
    transition: opacity 0.25s ease, transform 0.15s ease-in-out;
}

.wp_gallery_advanced_gal_item_thumb:not(:hover):after {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0);
}

.wp_gallery_advanced_thumbnails {
    flex-wrap: wrap;
    margin-top: 18px;
}

.wp_gallery_advanced_single_thumb_wrapper .wp_gallery_advanced_caption {
    position: absolute;
    width: 100%;
    left: 0;
    bottom: 0;
    padding: 10px 15px;
}

/* L-NOTIFY */

#l-notify {
    position: fixed;
    left: 0;
    bottom: 0;
    color: #FFF;
    background: var(--sanosil-blue-bright);
    width: 100%;
    padding: 25px 15px;
    visibility: hidden;
    font-family: 'Manrope-Medium';
    font-size: 2.5rem;
    line-height: 1.3em;
    text-align: center;
    z-index: 100;
    transform: translate(0,100%);
    transition: transform .25s, opacity .25s, visibility .25s;
}


#l-notify.l-error{
    background-color: #DB0132;
}

#l-notify.active {
    visibility: visible;
    transform: translate(0,0);
}

/*
 * General
 */

#page-content img,
#page-content video {
    max-width: 100%;
    height: auto;
}

#page-content video {
    border-radius: 30px;
    box-shadow: 20px 20px 60px #00000045;
}

/*
 * Youtube video
 */

.ytv_wrapper {
    position: relative;
    margin-bottom: 30px;
}

.ytv_action_wrapper {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
}

.queued-animation.queued-animation-instant {
    transition: none !important;
}

/*
 *
 * MEDIA QUERY
 *
 */

.yt-embed-popup:after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-image: url(./images/playvideo.webp);
    background-repeat: no-repeat;
    background-position: center;
    width: 196px;
    height: 195px;
    margin: auto;
    transition: transform .2s;
}

.yt-embed-popup:hover:after,
.yt-embed-popup:focus:after {
    transform: scale(1.1);
}

.yt-embed-popup-container {
    display: flex;
    justify-content: center;
    align-items: center;
    position: fixed;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.7);
    width: 100vw;
    height: 100vh;
    z-index: 100000;
}

.yt-embed-popup-container iframe {
    border: none;
    width: 80%;
    aspect-ratio: 16 / 9;
}

@media (max-width: 560px) {
    .yt-embed-popup-container iframe {
        width: 90%;
    }
}

@media (max-width: 1919px) {

}

@media (min-width: 1281px) {
    #header-mobile-burger-button {
        display: none;
    }
}

@media (max-width: 1350px) {
    .desktop-home-icon {
        display: none;
    }
}

@media (max-width: 1280px) {
    .header-lang-switcher-flag {
        display: none;
    }

    #header-downloads-button {
        display: none;
    }

    h1, .h1 {
        font-size: 28px;
        line-height: 36px;
        margin-bottom: 18px;
    }

    h2, .h2 {
        font-size: 26px;
        line-height: 34px;
        margin-bottom: 18px;
    }

    h3, .h3 {
        font-size: 24px;
        line-height: 30px;
        margin-bottom: 18px;
    }

    body {
        font-size: 16px;
    }

    p, ul, ol {
        font-size: 16px;
        line-height: 22px;
        margin-bottom: 16px;
    }

    a.isolated-link:not(.link-button, .clear-link-style) {
        font-size: 16px;
        line-height: 24px;
        margin: 16px auto;
    }

    :is(a, button).link-button:not(.clear-link-style) {
        font-size: 16px;
    }

    .subtitle {
        font-size: 18px;
        line-height: 22px;
    }

    ul.check-list li {
        padding: 6px 0 6px 44px;
        text-align: left;
    }

    ul.check-list li:before {
        top: 4px;
        width: 32px;
        height: 32px;
        font-size: 12px;
    }
    
    ul.check-list li:not(:last-child) {
        margin-bottom: 8px;
    }

    ul.angle-bracket-list li {
        padding: 0 0 12px 20px;
        text-align: left;
    }

    ul.check-list,
    ul.angle-bracket-list,
    ul.arrow-list {
        margin: 16px 0;
    }

    ul.arrow-list li {
        padding: 16px 0 16px 26px;
        text-align: left;
    }

    ul.arrow-list li:before {
        font-size: 18px;
    }

    :is(#page-content, #flexible-content) .section {
        padding: 48px 0;
    }

    :is(#page-content, #flexible-content) .section:not(.section-separator-none):before,
    #footer-upper-background:before {
        height: 12px;
    }

    #header-slider {
        height: 420px !important;
    }

    #header-slider ~ #header-badge-container {
        top: 420px !important;
    }

    .header-slider-item-background .acf-image-focus {
        object-position: center center !important;
    }

    .header-slider-item .header-slider-item-background:before {
        display: none;
    }

    .header-slider-item .header-slider-item-content {
        background: linear-gradient(to top, #FFF 0%, transparent 115px) !important;
    }

    .header-slider-item-content.queued-animation:not(.queued-animation-active) {
        opacity: 1 !important;
    }

    .header-slider-item-content-wrapper {
        position: absolute;
        left: 0;
        bottom: 0;
        background: rgb(13 59 92 / 80%);
        border-radius: 14px;
        width: calc(100% - 16px);
        margin: 0 8px;
        padding: 20px 32px 60px 32px;
        box-sizing: border-box;
    }

    #header-badge-container {
        text-align: center;
    }

    #header-badge {
        width: 80px;
        height: 80px;
    }

    .header-slider-item .header-slider-item-content-wrapper.queued-animation:not(.queued-animation-active) {
        transform: translateX(-30px) scale(0.95) !important;
    }

    .form-input,
    .distributors-search,
    .distributors-head-office,
    .usecases-section-usecase-cat-image-bar {
        font-size: 16px;
        line-height: 24px;
    }

    #partner-form-benefits {
        background: none;
        border-radius: 0;
        padding: 0;
    }

    #partner-form-wrapper {
        padding: 18px;
    }

    #footer-upper {
        padding: 48px 0;
    }

    #footer-upper p {
        font-size: 16px;
        line-height: 24px;
        margin-bottom: 26px;
    }

    #footer-upper-distributors-link {
        width: 100%;
        box-sizing: border-box;
        font-size: 16px;
    }

    .usecases-section-usecase-cat-body {
        gap: 35px;
    }

    .usecases-section-usecase-cat-usecases-item > .icomoon-icon {
        font-size: 32px;
    }

    .usecases-section-usecase-cat-usecases-title {
        font-size: 18px;
        line-height: 26px;
    }

    .usecases-section-usecase-cat-usecases-subtitle {
        font-size: 14px;
        line-height: 18px;
    }

    .usecases-section-usecase-cat-image {
        height: 265px;
    }

    .usecases-section-usecase-cat-image-bar {
        height: 52px;
    }

    .usecases-section-usecase-cat-image-bar-button {
        width: 64px;
        font-size: 16px;
    }

    #footer-lower-menu {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
        font-size: 16px;
        line-height: 26px;
    }

    .footer-lower-menu-separator {
        display: none;
    }

    #footer-lower .row {
        flex-direction: column-reverse;
        --flexstrap-base-row-gap: 16px;
    }

    #footer-youtube {
        justify-content: flex-start;
    }

    .floating-icon {
        left: 50%;
        transform: translate(-50%, -33.33%);
    }

    blockquote {
        margin: 70px 0 32px 0;
        padding: 64px 12px 18px 12px;
    }

    blockquote:before,
    blockquote:after {
        left: 50%;
        transform: translate(-50%, -50%);
    }

    .distributors {
        gap: 48px;
    }

    .distributors-search-row {
        --flexstrap-base-row-gap: 16px;
    }

    .distributors-card-row {
        --flexstrap-base-row-gap: 48px;
    }

    #breadcrumbs {
        height: auto;
        padding: 8px 0;
    }

    #header-badge-container ~ #breadcrumbs {
        padding-top: 48px;
    }

    #breadcrumb-item-container {
        flex-direction: column;
    }

    .breadcrumb-item {
        flex-direction: column;
    }

    .breadcrumb-item:not(:last-child):after {
        content: '\ea1f';
        color: #898989;
        font-family: 'icomoon' !important;
        font-size: 16px;
    }

    #breadcrumb-item-container,
    .breadcrumb-item {
        gap: 2px;
    }

    .breadcrumb-link {
        font-size: 14px;
    }

    .usecases-listing-item {
        flex-direction: column;
        height: auto;
    }

    .usecases-listing-item-icon {
        width: 100%;
        height: 250px;
    }

    .usecases-listing-item-body {
        width: 100%;
        height: auto;
        padding: 15px 64px 52px 24px;
    }

    .usecases-listing-item-button {
        width: 64px;
        height: 52px;
        font-size: 16px;
    }

    .usecases-listing-item-title,
    .usecases-listing-item-content {
        text-align: center;
    }

    .footer-upper-menu-heading {
        color: #32353D;
        font-size: 22px;
        margin-bottom: 24px;
    }

    .footer-upper-menu-heading-link > .footer-upper-menu-heading {
        color: #4E5669;
    }

    .footer-upper-menu-links {
        gap: 25px;
        font-size: 16px;
    }

    .casestudies-slider-item {
        padding: 16px;
    }

    .casestudies-slider-item-box {
        width: 100%;
        padding: 85px 16px 16px 16px;
    }

    .floating-icon {
        width: 75px;
        height: 75px;
    }

    .floating-icon:before {
        width: 125px;
        height: 125px;
    }

    .floating-icon:after {
        width: 100px;
        height: 100px;
    }

    .casestudies-slider-item-title {
        font-size: 22px;
    }

    .product-info-group {
        flex-direction: column;
        padding: 16px;
    }

    .product-image-container {
        width: 100%;
        height: auto;
        max-height: 350px;
        aspect-ratio: 1 / 1;
    }

    .product-description-container {
        width: 100%;
    }

    .product-title {
        font-size: 26px;
    }

    .product-subtitle {
        font-size: 18px;
    }

    a.product-shop-link {
        width: 100%;
    }

    #footer-lower,
    #footer-center {
        padding: 35px 0;
    }

    #footer-center .container {
        gap: 35px;
    }

    #footer-center .container .row {
        --flexstrap-base-row-gap: 35px;
    }

    #footer-nav {
        flex-direction: column;
        gap: 35px;
    }

    .brochure-button-group {
        flex-direction: column;
        gap: 16px;
    }

    .brochure-fullscreen-button {
        display: none;
    }

    .brochure-thumbnail {
        max-height: 500px;
        pointer-events: none;
    }

    .distributors-card {
        padding: 48px 24px 18px 24px;
    }

    .distributors-card-flag-badge {
        left: 50%;
        width: 55px;
        height: 55px;
        transform: translate(-50%, -50%);
    }

    .distributors-card-flag-badge:before {
        width: 70px;
        height: 70px;
    }

    .distributors-card-flag-badge:after {
        width: 85px;
        height: 85px;
    }

    #header-logo {
        width: 200px;
        height: 40px;
        margin: 0;
    }

    #header-mobile-burger-button {
        position: relative;
        border-right: 1px solid #DFDFDF;
        width: auto;
        height: 100%;
        padding: 0 16px;
        aspect-ratio: 1 / 1;
    }

    #header-mobile-burger-button > .icomoon-icon {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        transition: transform 0.25s ease;
    }

    body.burger-open {
        overflow: hidden;
    }

    body.burger-open .header-mobile-burger-closed-icon,
    body:not(.burger-open) .header-mobile-burger-open-icon {
        opacity: 0;
        transform: translate(-50%, -50%) scale(0);
    }

    #header-block-left {
        height: 100%;
    }

    #header-block-right {
        border-left: 1px solid #DFDFDF;
    }

    #header-block-left,
    #header-block-right {
        min-width: unset;
    }

    #header-block-center {
        position: fixed;
        top: var(--header-nav-height);
        left: 0;
        width: 100%;
        padding-top: 54px;
        background: #F7F7F7;
        height: calc(100% - var(--header-nav-height));
        transform-origin: top center;
        transition: opacity 0.25s ease, transform 0.25s ease;
        overflow: auto;
    }

    #header-product-menu-button {
        border: none;
    }

    .header-menu {
        flex-direction: column;
        list-style-type: none;
        margin: 0;
        padding: 0;
    }

    .header-menu > .menu-item,
    #header-product-menu {
        display: flex;
        justify-content: space-between;
        align-items: center;
        flex-wrap: wrap;
        gap: 0;
        background: linear-gradient(to bottom, #FFF 0%, #EFEFEF 54px, transparent 55px 100%);
        border: none;
        height: auto;
        min-height: 54px;
    }

    .header-menu > .menu-item > a,
    #header-product-menu-button {
        display: flex;
        align-items: center;
        color: #7F8696;
        background: transparent;
        width: 100%;
        height: 54px;
        padding: 0;
        padding-left: 16px;
        box-sizing: border-box;
        font-size: 18px;
        font-family: 'Manrope-Regular';
        transition: background 0.2s, color 0.2s, transform 0.125s ease;
    }

    .header-menu > .menu-item > a:active {
        transform: scale(0.975);
    }

    #header-product-menu-button,
    .header-menu > .menu-item.menu-item-has-children > a {
        width: calc(100% - 54px);
    }

    .header-menu > .menu-item.menu-item-has-children {
        border: none;
    }

    .header-product-menu-opener,
    .header-menu .submenu-opener {
        display: flex;
        justify-content: center;
        align-items: center;
        color: var(--sanosil-blue);
        background: transparent;
        border-left: 1px solid #DFDFDF;
        width: 53px;
        height: 54px;
        font-size: 18px;
        user-select: none;
        transition: background 0.2s, color 0.2s, transform 0.125s ease;
    }

    .header-product-menu-opener:active,
    .header-menu .submenu-opener:active {
        transform: scale(0.95);
    }

    #header-product-menu.open-submenu #header-product-menu-button,
    .header-menu > .menu-item.open-submenu > a,
    .header-menu > .menu-item.current-menu-item > a,
    .header-menu > .menu-item > a:is(:hover, :focus) {
        color: #FFF;
        background: var(--sanosil-blue);
    }

    #header-product-menu.open-submenu .header-product-menu-opener,
    .header-menu > .menu-item.open-submenu > .submenu-opener,
    .header-menu > .menu-item.current-menu-item > .submenu-opener,
    .header-menu > .menu-item > a:is(:hover, :focus) ~ .submenu-opener {
        color: #FFF;
        background: var(--sanosil-blue-bright);
        border-color: var(--sanosil-blue-bright);
    }

    #header-product-menu > .header-product-menu-opener:before,
    .header-menu .menu-item > .submenu-opener:before {
        transition: transform 0.2s;
    }

    #header-product-menu:not(.open-submenu) > .header-product-menu-opener:before,
    .header-menu .menu-item:not(.open-submenu) > .submenu-opener:before {
        transform: rotate(-90deg);
    }

    .header-menu .sub-menu,
    #header-product-menu-body {
        display: flex;
        flex-direction: column;
        gap: 8px;
        width: 100%;
        margin: 0;
        padding: 16px;
        box-sizing: border-box;
        list-style: none;
    }

    .header-menu .sub-menu > .menu-item > a {
        display: flex;
        align-items: center;
        background: #FFF;
        border: 1px solid #EDEDED;
        border-radius: 8px;
        min-height: 64px;
        padding: 8px 16px;
        box-sizing: border-box;
        box-shadow: 0 2px 6px #0000001A;
        font-size: 20px;
        transition: background 0.2s, color 0.2s, transform 0.125s ease;
    }

    .header-product-menu-category {
        display: flex;
        align-items: center;
        gap: 12px;
        background: #FFFFFF;
        border: 1px solid #EDEDED;
        border-radius: 8px;
        padding: 8px;
        box-shadow: 0 2px 6px #0000001A;
        transition: background 0.2s, color 0.2s, transform 0.125s ease;
    }

    .header-menu .sub-menu > .menu-item.current-menu-item > a,
    .header-menu .sub-menu > .menu-item > a:is(:hover, :focus),
    .header-product-menu-category.current-post,
    .header-product-menu-category:is(:hover, :focus) {
        color: var(--sanosil-blue);
    }

    .header-menu .sub-menu > .menu-item > a:active,
    .header-product-menu-category:active {
        transform: scale(0.95);
    }

    .header-menu .menu-item:not(.open-submenu) .sub-menu,
    #header-product-menu:not(.open-submenu) #header-product-menu-container #header-product-menu-body {
        display: none;
    }

    #header-product-menu-container {
        width: 100%;
        overflow: hidden;
    }

    #header-product-menu-container > .container {
        width: 100%;
        max-width: unset;
        padding: 0;
        margin: 0;
    }

    #header-product-menu-categories {
        display: flex;
        flex-direction: column;
        gap: 8px;
    }

    .header-product-menu-category-title {
        font-size: 20px;
    }

    .header-product-menu-category-description {
        display: none;
    }

    #header-product-menu-usecases {
        display: flex;
        flex-wrap: wrap;
        gap: 12px;
        background: #FFF;
        border: 1px solid #EDEDED;
        border-radius: 8px;
        padding: 8px;
        box-shadow: 0 2px 6px #0000001A;
    }

    .header-product-menu-usecases-icon-wrapper,
    .header-product-menu-category-icon-wrapper {
        position: relative;
        transform: none;
        width: 48px;
        height: 48px;
        font-size: 32px;
    }

    #header-product-menu-usecases-title {
        display: flex;
        align-items: center;
        font-size: 20px;
    }

    #header-product-menu-usecases-container {
        display: flex;
        flex-direction: column;
        gap: 6px;
        width: 100%;
    }

    .header-product-menu-usecase {
        display: flex;
        align-items: center;
        gap: 12px;
        color: #868686;
        background: #F5F5F5;
        border-radius: 6px;
        width: 100%;
        padding: 10px;
        box-sizing: border-box;
        font-size: 18px;
    }

    body:not(.burger-open) #header-block-center {
        opacity: 0;
        transform: scale(0);
    }

    #header-search-button {
        left: 0;
    }

    #header-shop-button {
        right: 0;
    }

    #header-search-button,
    #header-shop-button {
        position: fixed;
        top: var(--header-nav-height);
        width: 50%;
        height: 54px;
        padding: 0;
        transform-origin: top center;
        transition: opacity 0.25s ease, transform 0.25s ease;
    }

    body:not(.burger-open) :is(#header-search-button, #header-shop-button) {
        opacity: 0;
        transform: scale(0);
        pointer-events: none;
    }

    body:not(.shop-button-loaded) #header-search-button {
        width: 100%;
    }

    #header-lang-switcher {
        padding: 0 12px;
    }

    #header-lang-switcher-button,
    .header-lang-switcher-menu-item {
        font-size: 18px;
    }

    :root {
        --header-nav-height: 60px;
    }

    #header-nav {
        border-top-width: 2px;
    }

    #comment-section-heading {
        flex-direction: column;
    }

    #comments,
    .comment,
    .comment-children {
        gap: 36px;
    }

    .comment-body {
        padding: 24px;
    }

    .comment-children {
        padding-left: 50px;
    }

    .comment-children-icon {
        left: 25px;
    }

    .section-container > .row {
        --flexstrap-base-row-gap: 48px;
    }

    :is(#page-content, #flexible-content) .contact-map-section.contact-map-section-last,
    :is(#page-content, #flexible-content) .contact-map-section:not(.contact-map-section-last) {
        min-height: unset;
    }

    #flexible-content.contact-template .section:first-child,
    :is(#page-content, #flexible-content) .contact-map-section.contact-map-section-last {
        padding-bottom: 48px;
    }

    .contact-map-image-wrapper {
        position: relative;
        width: 100%;
        height: auto;
        aspect-ratio: 1 / 1;
        transform: none;
    }

    .contact-map-image-wrapper[href]:active {
        transform: scale(0.95);
    }

    .contact-map-section-even .row-reverse {
        flex-direction: row;
        margin-left: 0;
        margin-right: calc(var(--flexstrap-base-column-gap) * -1);
    }

    #main-heading-title {
        margin-bottom: 12px;
    }

    #main-heading-subtitle {
        margin-bottom: 28px;
    }

    #main-heading-title:last-child,
    #main-heading-subtitle:last-child {
        margin-bottom: 0;
    }

    .brochure-thumbnail-group {
        height: auto;
    }

    #page-content .wp_gallery_advanced_slider .wp_gallery_advanced_image {
        height: 400px !important;
    }

    .wp_gallery_advanced_slider .slick-arrow {
        width: 48px;
        height: 48px;
        font-size: 22px;
    }

    .wp_gallery_advanced_slider .slick-arrow.slide_prev {
        left: 8px;
    }

    .wp_gallery_advanced_slider .slick-arrow.slide_next {
        right: 8px;
    }

    .comment-section-heading-icon {
        font-size: 28px;
    }

    #comment-section-heading,
    #comment-form-heading,
    #comment-form-response-heading,
    .distributors-card-title,
    .search-result-title {
        font-size: 24px;
        line-height: 26px;
    }

    .comment-author,
    .comment-content,
    #comment-form-authorized-note,
    #comment-form-response-message,
    #comment-section-note,
    .distributors-card-email-label,
    .distributors-card-email,
    .distributors-card-location {
        font-size: 18px;
        line-height: 22px;
    }

    .comment-body,
    .comment-content-container {
        gap: 18px;
    }

    .distributors-search-row {
        flex-direction: column-reverse;
    }

    .header-landing-page-email-icon {
        font-size: 40px;
    }

    #header-search-button {
        color: #FFF;
        background: var(--sanosil-blue);
    }

    #header-search-button:is(:hover, :focus) {
        background: var(--sanosil-blue-bright);
    }

    .search-content-wrapper {
        width: 100%;
    }

    .search-result-button-outer {
        display: none;
    }
}

@media (max-width: 767px) {
    body {
        --flexstrap-container-padding: 16px;
    }

    .comment-reply {
        width: 100%;
    }

    #page-content .wp_gallery_advanced_slider .wp_gallery_advanced_image {
        height: 300px !important;
    }

    #search-popup-input {
        padding: 16px 100px 16px 24px;
        font-size: 18px;
        line-height: 22px;
    }

    #search-popup-button {
        font-size: 22px;
    }

    .distributors-search {
        padding: 16px 24px;
    }

    .distributors-head-office {
        padding: 16px 24px 16px 96px;
    }

    .search-content-wrapper {
        overflow: hidden;
        text-overflow: ellipsis;
    }

    #header-landing-page-email {
        display: none;
    }
}