/*
Theme Name: instinctools
Version: 1.0.0
Author: Artsiom Kamarets
Description: Description
Text Domain: instinctools
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready
*/

/*---------- MAIN ----------*/

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {
    --container: 1440px;
    --container-safe-padding: 40px;
    --container-inner: calc(var(--container) - (2 * var(--container-safe-padding)));
    --white: #FFFFFF;
    --white-5: #FFFFFF0D;
    --white-20: #FFFFFF33;
    --white-80: #FFFFFFCC;
    --grey: #F6F7F8;
    --grey-90: #F6F7F8E6;
    --grey-border: #E8EDF2;
    --grey-border-20: #E8EDF233;
    --grey-border-40: #E8EDF266;
    --blue: #1C477E;
    --blue-10: #1C477E1A;
    --blue-20: #1C477E33;
    --blue-50: #1C477E80;
    --blue-80: #1C477ECC;
    --blue-light: #7791B2;
    --blue-light-60: #7791B299;
    --blue-dark: #082C5A;
    --blue-dark-15: #082C5A26;
    --red: #FB4646;
    --star: url("data:image/svg+xml,%3Csvg%20width='8'%20height='8'%20viewBox='0%200%208%208'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M0%205.22539L0.9686%206.8356L3.04611%205.63571V8L4.95389%208V5.63571L7.03366%206.8356L8%205.22539L5.87949%204.00111L8%202.7746L7.0314%201.1644L4.95389%202.36651V0H3.04611V2.36429L0.9686%201.1644L0%202.7746L2.12277%204.00111L0%205.22539Z'/%3E%3C/svg%3E");
    --arrow-slider-right: url("data:image/svg+xml,%3Csvg%20width='8'%20height='12'%20viewBox='0%200%208%2012'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M2.07031%200L7.62305%205.9043L7.7168%205.99707L7.71387%206L7.7168%206.00293L7.62305%206.09668L2.07031%2012H0L5.40723%206L0%200H2.07031Z'/%3E%3C/svg%3E");
    --document: url("data:image/svg+xml,%3Csvg%20width='16'%20height='20'%20viewBox='0%200%2016%2020'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M16%207.00391V18C16%2019.1046%2015.1046%2020%2014%2020H2C0.895431%2020%200%2019.1046%200%2018V2C0%200.895431%200.895431%201.28853e-07%202%200H8.97656L16%207.00391ZM2%201C1.44772%201%201%201.44772%201%202V18C1%2018.5523%201.44772%2019%202%2019H14C14.5523%2019%2015%2018.5523%2015%2018V7.49609H8.5V1H2ZM9.5%206.49609H14.0752L9.5%201.93359V6.49609Z'/%3E%3C/svg%3E");
    --delete: url("data:image/svg+xml,%3Csvg%20width='9'%20height='9'%20viewBox='0%200%209%209'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M2.82843%204.24264L0%201.41421L1.41421%202.38418e-07L4.24264%202.82843L7.07107%200L8.48528%201.41421L5.65685%204.24264L8.48528%207.07107L7.07107%208.48528L4.24264%205.65685L1.41421%208.48528L0%207.07107L2.82843%204.24264Z'%20fill='white'/%3E%3C/svg%3E");
    --info: url("data:image/svg+xml,%3Csvg%20width='21'%20height='21'%20viewBox='0%200%2021%2021'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M20%2010.5C20%205.25329%2015.7467%201%2010.5%201C5.25329%201%201%205.25329%201%2010.5C1%2015.7467%205.25329%2020%2010.5%2020C15.7467%2020%2020%2015.7467%2020%2010.5ZM21%2010.5C21%2016.299%2016.299%2021%2010.5%2021C4.70101%2021%200%2016.299%200%2010.5C0%204.70101%204.70101%200%2010.5%200C16.299%200%2021%204.70101%2021%2010.5Z'%20/%3E%3Cpath%20d='M10%2014.5V10.5C10%2010.2239%2010.2239%2010%2010.5%2010C10.7761%2010%2011%2010.2239%2011%2010.5V14.5C11%2014.7761%2010.7761%2015%2010.5%2015C10.2239%2015%2010%2014.7761%2010%2014.5Z'%20/%3E%3Cpath%20d='M10.5098%206C10.7859%206%2011.0098%206.22386%2011.0098%206.5C11.0098%206.77614%2010.7859%207%2010.5098%207H10.5C10.2239%207%2010%206.77614%2010%206.5C10%206.22386%2010.2239%206%2010.5%206H10.5098Z'%20/%3E%3C/svg%3E");
    --transition: all .4s ease;
}

html {
    height: 100%;
    scroll-behavior: auto !important;
    overflow-x: hidden;
}

body {
    font-family: "Aeonik Pro", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.563em;
    letter-spacing: 1%;
    color: var(--blue);
    overflow-x: hidden;
}

html:has(body.lock),
body.lock {
    overflow: hidden;
    overscroll-behavior: contain;
}

body::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--grey);
    transition: var(--transition);
    opacity: 0;
    visibility: hidden;
    z-index: 9;
}

body.overlay::before {
    transition-delay: 0.15s;
    opacity: 0.3;
    visibility: visible;
}

.container {
    max-width: var(--container);
    margin: 0 auto;
    padding: 0 var(--container-safe-padding);
}

.full-width {
    margin-inline: calc((100% - 100vw) / 2) !important;
    padding-inline: calc((100vw - 100%) / 2) !important;
}

a {
    color: inherit;
    text-decoration: none;
    transition: var(--transition);
}

strong {
    font-weight: 500;
}

input,
textarea,
button {
    font-family: "Aeonik Pro", sans-serif;
}

button {
    border: none;
    outline: none;
    cursor: pointer;
}

header+main {
    margin-top: 120px;
}

@media (max-width: 1023px) {
    .full-width-mob {
        margin-inline: calc((100% - 100vw) / 2) !important;
        padding-inline: calc((100vw - 100%) / 2) !important;
    }
}

@media (max-width: 767px) {

}

/*---------- TYPOGRAPHY ----------*/

h1,
.h1,
.h1 h1,
.h1 .elementor-heading-title {
    font-size: 80px;
    font-weight: 400;
    line-height: 1em;
    letter-spacing: -0.02em;
}

h2,
.h2,
.h2 h2,
.h2 .elementor-heading-title {
    font-size: 60px;
    font-weight: 400;
    line-height: 1em;
    letter-spacing: -0.02em;
}

.h2-custom,
.h2-custom h2,
.h2-custom .elementor-heading-title {
    font-size: 95px;
    font-weight: 300;
    line-height: 1.18em;
    letter-spacing: -0.03em;
}

h3,
.h3,
.h3 h3,
.h3 .elementor-heading-title {
    font-size: 28px;
    font-weight: 400;
    line-height: 1.07em;
    letter-spacing: -0.01em;
}

h4,
.h4,
.h4 h4,
.h4 .elementor-heading-title {
    font-size: 20px;
    font-weight: 400;
    line-height: 1.5em;
    letter-spacing: 0.01em;
}

.body {
    font-weight: 400;
    font-size: 16px;
    line-height: 25px;
    letter-spacing: 1%;
}

.body-small {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.43em;
    letter-spacing: 0.01em;
}

.caption {
    font-size: 12px;
    font-weight: 400;
    line-height: 1.67em;
    letter-spacing: 0.01em;
}

.caption-custom {
    font-family: 'IBM Plex Mono';
    font-size: 11px;
    font-weight: 500;
    line-height: 1.82em;
    letter-spacing: 0.17em;
}

@media (max-width: 1023px) {}

@media (max-width: 767px) {
    h1,
    .h1,
    .h1 h1,
    .h1 .elementor-heading-title {
        font-size: 50px;
    }

    h2,
    .h2,
    .h2 h2,
    .h2 .elementor-heading-title {
        font-size: 40px;
    }

    .h2-custom,
    .h2-custom h2,
    .h2-custom .elementor-heading-title {
        font-size: 45px;
        line-height: 1.12em;
    }

    h3,
    .h3,
    .h3 h3,
    .h3 .elementor-heading-title {
        font-size: 24px;
        line-height: 1.17em;
    }

    h4,
    .h4,
    .h4 h4,
    .h4 .elementor-heading-title {
        font-size: 18px;
    }
}

/*---------- TYPOGRAPHY - END ----------*/


/*---------- COLORS ----------*/

.white {
    color: var(--white);
}

.grey {
    color: var(--grey);
}

.grey-border {
    color: var(--grey-border);
}

.grey-border-40 {
    color: var(--grey-border-40);
}

.blue {
    color: var(--blue);
}

.blue-light {
    color: var(--blue-light);
}

.blue-light-60 {
    color: var(--blue-light-60);
}

.blue-dark {
    color: var(--blue-dark);
}

.red {
    color: var(--red);
}

/*---------- COLORS - END ----------*/


/*---------- BUTTONS ----------*/

.button {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 100px;
    height: 50px;
    padding: 0px 30px;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.563em;
    text-decoration: none;
    color: var(--white);
    background: transparent;
    border-radius: 100px;
    outline: none;
    transition: var(--transition);
    cursor: pointer;
    z-index: 1;
}

.button::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--red);
    border-radius: 100px;
    transition: var(--transition);
    z-index: -1;
}

.button::after {
    content: '';
    position: absolute;
    left: 20px;
    width: 8px;
    height: 8px;
    background-color: var(--white);
    mask-image: var(--star);
    mask-size: contain;
    mask-repeat: no-repeat;
    transform: translateY(6px) rotate(0deg);
    opacity: 0;
    transition: var(--transition);
}

/* Hover */
.button:hover::before {
    transform: scale(0.96);
}

.button:hover::after {
    transform: translateY(-9px) rotate(-180deg);
    opacity: 1;
}

/* Focus — only keyboard (Tab), not after mouse click (hover wins when both apply) */
.button:focus:not(:focus-visible):not(:hover)::before {
    transform: none;
}

.button:focus:not(:focus-visible):not(:hover)::after {
    transform: translateY(6px) rotate(0deg);
    opacity: 0;
}

.button:focus-visible::before {
    box-shadow: 0px 0px 0px 2px var(--white), 0px 0px 12px 0px #FF6AA1;
    transform: none;
}

.button:focus-visible::after {
    content: none;
}

/* Disabled */
.button:disabled,
.button.disabled,
.button[aria-disabled="true"] {
    color: var(--blue-20) !important;
    cursor: default;
    pointer-events: none;
    user-select: none;
}

.button:disabled::before,
.button.disabled::before,
.button[aria-disabled="true"]::before {
    background-color: var(--grey) !important;
}

.button:disabled::after,
.button.disabled::after,
.button[aria-disabled="true"]::after {
    content: none;
}

/* Buttons - Types */

/* Buttons - Types - With icon */
.button.button-with-icon {
    justify-content: space-between;
    gap: 20px;
    min-width: 130px;
    height: 50px;
    padding-right: 20px;
}

.button.button-with-icon .icon,
.button.button-with-icon .text {
    transition: var(--transition);
}

.button.button-with-icon svg.arrow path:first-child {
    clip-path: inset(0 0 0 0);
    transition: clip-path 0.3s ease;
}

/* Hover */
.button.button-with-icon:hover svg.arrow path:first-child {
    clip-path: inset(0 0 0 20%);
}

/* Buttons - Types - Icon */
.button.button-icon {
    min-width: auto;
    width: 50px;
    height: 50px;
    padding: 0;
}

.button.button-icon::after {
    content: none;
}

.button.button-icon svg.arrow path:first-child {
    clip-path: inset(0 0 0 0);
    transition: clip-path 0.3s ease;
}

/* Hover */
.button.button-icon:hover svg.arrow path:first-child {
    clip-path: inset(0 0 0 20%);
}

/* Buttons - Types - Secondary */
.button.button-secondary {
    color: var(--blue);
}

.button.button-secondary::before {
    background-color: var(--grey);
}

.button.button-secondary::after {
    background-color: var(--red);
}

/* Hover */
.button.button-secondary:hover {
    color: var(--red);
}

.button.button-secondary:focus:not(:focus-visible):not(:hover) {
    color: var(--blue);
}

.button.button-secondary:focus-visible {
    color: var(--blue);
}

/* Buttons - Types - Link */
.button.button-link {
    height: 45px;
    padding-inline: 25px;
    color: var(--blue);
}

.button.button-link::before {
    background-color: transparent;
    border: 1px solid var(--grey-border);
}

.button.button-link::after {
    left: 17px;
    background-color: var(--red);
}

/* Hover */
.button.button-link:hover {
    color: var(--red);
}

.button.button-link:focus:not(:focus-visible):not(:hover) {
    color: var(--blue);
}

.button.button-link:focus-visible {
    color: var(--blue);
}

/* Buttons - Types - Link - With icon */
.button.button-link.button-with-icon:not(.button-without-border)::after {
    content: none;
}

.button.button-link.button-with-icon:not(.button-without-border) {
    gap: 8px;
    min-width: 120px;
}

.button.button-link.button-with-icon.button-without-border {
    padding-inline: 27px;
}

.button.button-link:not(.button-with-icon)::after,
.button.button-link.button-with-icon.button-without-border::after {
    background-color: var(--grey);
    opacity: 1;
    top: 13px;
}

/* Hover */
.button.button-link.button-with-icon:not(.button-without-border):hover svg.arrow path:first-child {
    clip-path: none;
}

.button.button-link:not(.button-with-icon):hover::after,
.button.button-link:not(.button-with-icon).button-without-border:hover::after {
    background-color: var(--red);
    transform: translateY(-3px) rotate(-180deg);
}

/* Buttons - Types - Link - With icon - Without border */
.button.button-link.button-with-icon.button-without-border:hover::after {
    opacity: 0;
}

.button.button-link.button-with-icon.button-without-border::before {
    border: none;
}

/* Focus (using TAB) */
.button.button-link.button-with-icon.button-without-border:focus-visible::before {
    box-shadow: 0px 0px 10px 0px #FF6AA1;
}

/* Buttons - Types - Link - Icon */
.button.button-link.button-icon::before {
    border: none;
    background-color: var(--grey);
}

/* Hover */
.button.button-link.button-icon:hover {
    color: var(--blue);
}

.button.button-link.button-icon:hover svg.arrow path:first-child {
    clip-path: inset(0 0 0 0);
}


@media (hover: none) and (pointer: coarse) {
    .button:hover::before {
        transform: none;
    }

    .button:hover::after {
        transform: translateY(6px) rotate(0deg);
        opacity: 0;
    }

    .button.button-secondary:hover {
        color: var(--blue);
    }

    .button.button-link:hover {
        color: var(--blue);
    }

    header .header-wrapper .burger-icon:hover .icon span {
        background-color: var(--blue) !important;
    }

    header.overlay .burger-icon:hover .icon span {
        background-color: var(--white) !important;
    }

    .header-search-bar-closing.button.button-link:hover {
        color: var(--blue);
    }

    .header-search-bar.menu-active .header-search-bar-closing.button.button-link:hover {
        color: var(--white);
    }
}

/* Buttons - Colors */
/* Buttons - Colors - Red */

@media (max-width: 1359.75px) {}

@media (max-width: 1023px) {}

@media (max-width: 767px) {}

@media (max-width: 499.75px) {
    .btn,
    .button.elementor-widget-button .elementor-button {
        min-width: 100% !important;
    }
}

/*---------- BUTTONS - END ----------*/


/*---------- SLIDER ----------*/

.swiper .swiper-controls {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-top: 50px;
    z-index: 1;
}

/* Swiper - Navigation - Arrows */
.swiper-controls .swiper-arrow.swiper-button-disabled {
    pointer-events: none;
    cursor: default;
}

.swiper-controls .swiper-arrow.swiper-button-disabled,
.swiper-controls .swiper-arrow:hover.swiper-button-disabled {
    color: var(--gray) !important;
    border-color: var(--gray) !important;
}

@media (max-width: 767px) {
    
}

/*---------- SLIDER - END ----------*/


/*---------- PAGINATION ----------*/

.pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    margin-top: 50px;
}

.pagination .page-numbers {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: 1px solid var(--gray-light);
    transition: var(--transition);
}

.pagination .page-numbers.current {
    color: var(--white-secondary);
    background-color: var(--red);
    border-color: var(--red);
    cursor: default;
    pointer-events: none;
}

.pagination .page-numbers.dots {
    width: 20px;
    border: none;
    cursor: default;
    pointer-events: none;
}

.pagination .page-numbers:hover {
    color: var(--white-secondary);
    background-color: var(--red);
    border-color: var(--red);
}

.pagination .page-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--black);
    transition: var(--transition);
}

.pagination .page-icon.disabled {
    color: var(--gray-light);
    cursor: default;
    pointer-events: none;
}

.pagination .page-icon:hover {
    color: var(--red);
}

@media (max-width: 1023px) {
    .pagination {
        margin-top: 40px;
    }
}

@media (max-width: 767px) {
    .pagination {
        gap: 12px;
        margin-top: 30px;
    }

    .pagination .page-numbers {
        width: 32px;
        height: 32px;
    }

    .pagination .page-numbers.dots {
        width: 16px;
    }
}

@media (max-width: 449.75px) {
    .pagination {
        gap: 10px;
    }

    .pagination .page-numbers.dots {
        width: 12px;
    }

    .pagination .page-icon.start,
    .pagination .page-icon.end {
        display: none;
    }
}

/*---------- PAGINATION - END ----------*/


/*---------- GLOBAL ----------*/

.section-padding {
    padding-block: 100px 100px;
}

.section-padding-top {
    padding-block-start: 100px;
}

.margin-left-center {
    margin-left: calc(50% + 10px);
}

.fade-in-section {
    opacity: 0;
    transform: translateY(72px) scale(0.985);
    filter: blur(8px);
    transition:
        opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1),
        transform 1.25s cubic-bezier(0.16, 1, 0.3, 1),
        filter 1.25s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: opacity, transform, filter;
}

.fade-in-section.is-inview {
    opacity: 0.82;
    transform: translateY(16px) scale(0.997);
    filter: blur(1.5px);
}

.fade-in-section.is-visible {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
}

/* Inner reveal priority: title first, content after */
/* Works with nested Elementor structure too */
.fade-in-section .fade-priority-title,
.fade-in-section .fade-priority-content {
    opacity: 0;
    transform: translateY(24px);
}

.fade-in-section.is-visible .fade-priority-title,
.fade-in-section.is-visible .fade-priority-content {
    animation-name: fade-priority-in;
    animation-duration: 0.75s;
    animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
    animation-fill-mode: both;
}

.fade-in-section.is-visible .fade-priority-title {
    animation-delay: 0.22s;
}

.fade-in-section.is-visible .fade-priority-content {
    animation-delay: 0.38s;
}

@keyframes fade-priority-in {
    from {
        opacity: 0;
        transform: translateY(24px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* Elementor editor/preview: keep content fully visible */
body.elementor-editor-active .fade-in-section,
body.elementor-editor-active .fade-in-section > :not(script):not(style),
body.elementor-editor-active .fade-in-section .fade-priority-title,
body.elementor-editor-active .fade-in-section .fade-priority-content,
body.elementor-editor-preview .fade-in-section,
body.elementor-editor-preview .fade-in-section > :not(script):not(style),
body.elementor-editor-preview .fade-in-section .fade-priority-title,
body.elementor-editor-preview .fade-in-section .fade-priority-content {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    transition: none !important;
    animation: none !important;
}

@media (prefers-reduced-motion: reduce) {
    .fade-in-section,
    .fade-in-section > :not(script):not(style),
    .fade-in-section .fade-priority-title,
    .fade-in-section .fade-priority-content,
    .fade-in-section.is-inview,
    .fade-in-section.is-visible {
        transition: none;
        transform: none;
        filter: none;
        opacity: 1;
        animation: none;
    }
}

@media (max-width: 1023px) {
    .margin-left-center {
        margin-left: 0;
    }
}

@media (max-width: 767px) {
    .section-padding {
        padding-block: 50px 50px;
    }

    .section-padding-top {
        padding-block-start: 50px;
    }

    .mobile-hide-br br {
        display: none;
    }
}

/*---------- GLOBAL - END ----------*/


/*---------- BREADCRUMBS ----------*/

.intro-breadcrumbs {
    width: 100%;
    max-width: 1360px;
    padding-inline: 22px;
}

.breadcrumbs {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px 10px;
    color: rgba(119, 145, 178, 0.4);
}

.breadcrumbs .breadcrumbs-separator {
    color: rgba(119, 145, 178, 0.2);
}

.breadcrumbs .breadcrumbs-item a:hover {
    color: var(--blue-light);
}

@media (max-width: 767px) {
    .intro-breadcrumbs {
        padding-inline: 12px;
    }
    .breadcrumbs {
        display: none;
        font-size: 14px;
    }
}

/*---------- BREADCRUMBS - END ----------*/


/*---------- POPUPS ----------*/

.popup {
    position: fixed;
    inset: 0;
    max-height: 100dvh;
    transition: var(--transition);
    opacity: 1;
    z-index: 9999;
}

.popup.hidden {
    opacity: 0;
}

.popup .popup-overlay {
    position: absolute;
    inset: 0;
    background: var(--blue-dark);
    opacity: 0.95;
}

.popup .popup-content {
    position: relative;
    display: flex;
    align-items: center;
    width: calc(100% - 80px);
    height: calc(100% - 180px);
    margin: 90px auto;
    /* Let clicks outside the video hit the overlay underneath. */
    pointer-events: none;
}

.popup .popup-close,
.popup .popup-video {
    pointer-events: auto;
}

.popup .popup-close {
    position: absolute;
    top: -65px;
    left: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 66px;
    height: 45px;
    font-size: 16px;
    color: var(--white);
    background: none;
    border-radius: 100px;
    transform: translateX(-50%);
    transition: var(--transition);
}

/* Hover */
.popup .popup-close:hover::before {
    transform: scale(0.96);
}

.popup .popup-close:focus:not(:focus-visible):not(:hover)::before {
    transform: none;
}

.popup .popup-close:focus-visible::before {
    box-shadow: 0px 0px 0px 2px var(--white), 0px 0px 12px 0px #FF6AA1;
    transform: none;
}

.popup .popup-close::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 1px solid var(--white);
    border-radius: 100px;
    transition: var(--transition);
    z-index: -1;
}

.popup .popup-close svg {
    width: 1em;
    height: 1em;
}

.popup .popup-close:hover {
    color: var(--red);
}

.popup .popup-video {
    display: flex;
    width: 100%;
    max-width: 1200px;
    height: auto;
    max-height: 100%;
    margin-inline: auto;
    aspect-ratio: 16 / 9;
    transition: var(--transition);
}

.popup .popup-video.hidden {
    opacity: 0;
}

.popup .popup-video iframe {
    width: 100%;
    height: 100%;
}

@media (max-width: 1023px) {
    .popup .popup-content {
        height: calc(100% - 140px);
        margin-block: 70px;
    }

    .popup .popup-close {
        top: -55px;
        width: 60px;
        height: 38px;
        font-size: 14px;
    }
}

@media (max-width: 767px) {
    .popup .popup-content {
        height: calc(100% - 120px);
        margin-top: 50px;
    }

    .popup .popup-close {
        top: auto;
        bottom: -50px;
        width: 54px;
        height: 34px;
        font-size: 12px;
    }
}

/*---------- POPUPS - END ----------*/


/*---------- HEADER ----------*/

header {
    position: fixed;
    top: 30px;
    left: max(20px, (100% - var(--container) + 40px) / 2);
    width: min(var(--container) - 40px, 100% - (var(--container-safe-padding)));
    z-index: 100;
    opacity: 0;
    pointer-events: none;
    transition: opacity .4s linear, top .4s linear;
}

header.header-menu-intro-ready {
    opacity: 1;
    pointer-events: auto;
}

@media (prefers-reduced-motion: reduce) {
    header,
    header.header-menu-intro-ready {
        opacity: 1 !important;
        top: var(--header-top-rest) !important;
        transition: none !important;
        pointer-events: auto !important;
    }
}

header::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 100px;
    background-color: transparent;
    transition: var(--transition);
}

/* Full-page menu overlay: keep on header (not inside .menu overflow),
   otherwise Safari treats position:fixed as clipped to the scroll container. */
header::after {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    min-height: 100dvh;
    background: radial-gradient(100% 100% at 50% 153%, #33F8E9 0%, var(--blue-dark) 100%);
    transition: var(--transition);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    user-select: none;
    z-index: -1;
}

header .container {
    padding: 0 20px;
}

header .header-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    gap: 32px;
    padding-block: 10px;
    transition: var(--transition);
}

header .logo {
    flex-shrink: 0;
    max-width: 149px;
    margin-right: auto;
}

header .logo a {
    display: flex;
    width: 100%;
    height: 100%;
    transition-property: width, height;
    transition-duration: 0.4s, 0.4s;
    transition-delay: 0.15s;
}

header .logo a::before {
    content: '';
    position: absolute;
    top: 25px;
    left: 5px;
    width: 16px;
    height: 16px;
    background-color: var(--red);
    mask-image: var(--star);
    mask-size: contain;
    mask-repeat: no-repeat;
    transition: var(--transition);
    transition-duration: 0.45s;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

header .logo svg {
    width: 100%;
    height: 100%;
    transition: opacity .45s ease 0.25s, visibility .45s ease 0.25s, fill .3s ease 0s;
}

header .logo a:hover svg {
    fill: var(--blue-light) !important;
}

header .header-menu .header-menu__back.button.button-link.button-with-icon:not(.button-without-border) {
    position: absolute;
    left: 0;
    gap: 15px;
    justify-content: center;
    color: var(--white);
    transition: opacity .45s ease 0.25s, visibility .45s ease 0.25s, fill .3s ease 0s;
}

header .header-menu .header-menu__back.button.button-link.button-with-icon:not(.button-without-border):hover {
    color: var(--red);
}

header .header-menu .header-menu__back.hidden {
    opacity: 0;
    visibility: hidden;
    user-select: none;
    pointer-events: none;
}

header .menu {
    display: flex;
    align-items: center;
}

header .menu .menu-wrapper {
    display: flex;
    width: 100%;
}

header .menu .menu-list {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    width: 100%;
    list-style: none;
}

header .menu .menu-list>li>a {
    position: relative;
}

header .menu .menu-list>li>a::before {
    content: '';
    position: absolute;
    top: -8px;
    left: 0;
    width: 0;
    height: 2px;
    background-color: var(--red);
    transition: var(--transition);
}

header .menu .menu-list>li>a:hover::before {
    width: 15px;
}

header .button.button-link:not(.button-with-icon)::after {
    background-color: var(--white);
}

/* Menu */

header .menu .menu-list>li.menu-item-has-children>.menu-item-subtitle {
    cursor: pointer;
}

header .menu .menu-list>li.menu-item-has-children>.menu-item-subtitle::before {
    content: '';
    position: absolute;
    top: -8px;
    left: 0;
    width: 10px;
    height: 2px;
    background-color: var(--red);
    transition: var(--transition);
    opacity: 0;
}

header .menu .menu-list>li.menu-item-has-children>.menu-item-subtitle:hover::before {
    width: 15px;
    opacity: 1;
}

header .menu .menu-list>li.menu-item-has-children.active>.menu-item-subtitle::before {
    width: 20px;
    opacity: 1;
}

header .menu .menu-list>li.menu-item-has-children ul.sub-menu {
    list-style: none;
}

header .menu .menu-list .menu-item-spacer {
    display: block;
    height: 50px;
}

header .menu .menu-list>li .menu-item-subtitle {
    transition: var(--transition);
}

header .menu .menu-list li.menu-item .menu-item-subtitle {
    position: relative;
}

header .menu .menu-list .menu-item-subtitle.tag {
    margin-bottom: 20px;
}

header .menu .menu-item-testimonial {
    position: fixed;
    top: 140px;
    right: max(var(--container-safe-padding), (100vw - var(--container-inner)) / 2);
    width: min(440px, (100vw - (var(--container-safe-padding) * 2) - 50px) * 0.36);
    height: calc(100dvh - 240px);
    transition: var(--transition);
    opacity: 0;
    pointer-events: none;
    user-select: none;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
}

header .menu .menu-item-testimonial::-webkit-scrollbar {
    width: 4px;
}

header .menu .menu-item-testimonial::-webkit-scrollbar-thumb {
    border-radius: 10px;
    background-color: var(--blue-light);
}

header .menu .menu-item-testimonial::-webkit-scrollbar-track {
    border-radius: 10px;
    background-color: var(--blue);
}

header .menu .menu-item-testimonial__inner {
    display: flex;
    flex-direction: column;
    padding: 60px 50px;
    background-color: var(--white-5);
}

header .menu .menu-item-testimonial__text {
    width: 100%;
    color: var(--white);
}

header .menu .menu-item-testimonial__author {
    display: flex;
    gap: 20px;
    margin-top: 40px;
}

header .menu .menu-item-testimonial__author-image {
    position: relative;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
}

header .menu .menu-item-testimonial__author-image::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--blue-dark);
    opacity: 0.5;
    border-radius: 50%;
    mix-blend-mode: screen;
    z-index: 1;
}

header .menu .menu-item-testimonial__author-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
    filter: grayscale(1);
}

header .menu .menu-item-testimonial__author-info {
    display: flex;
    flex-direction: column;
}

header .menu .menu-item-testimonial__author-name {
    color: var(--white);
}

header .menu .menu-item-testimonial__author-position {
    color: var(--blue-light);
}

header .menu .menu-item-testimonial__author-logo {
    display: flex;
    margin-top: 10px;
}

header .menu .menu-item-testimonial__author-logo img {
    width: auto;
    max-height: 48px;
}

.header--light-menu .menu-list > li > a {
    color: #fff;
}

.header--light-menu .menu-item-subtitle,
.header--light-menu .header-search,
.header--light-menu .header-button .button {
    color: #fff;
}

.header--light-menu .logo svg{
    fill: #fff;
}

.header--light-menu .burger-icon .icon span {
    background-color: #fff;
}

.header--light-menu.scroll .menu-list > li > a {
    color: inherit;
}

.header--light-menu.scroll .menu-item-subtitle,
.header--light-menu.scroll .header-search,
.header--light-menu.scroll .header-button .button {
    color: inherit;
}

.header--light-menu.scroll .logo svg{
    color: inherit;
}

.header--light-menu.scroll .burger-icon .icon span {
    color: inherit;
}

/* Menu - Level 1 */

header .menu .menu-list ul.sub-menu--level-1 {
    position: fixed;
    top: 140px;
    left: max(var(--container-safe-padding), (100vw - var(--container-inner)) / 2);
    width: min(var(--container-inner), 100vw - (var(--container-safe-padding) * 2));
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
    grid-template-rows: min-content;
    gap: 50px;
    height: calc(100dvh - 240px);
    margin-bottom: 100px;
    color: var(--white);
    transition: var(--transition);
    opacity: 0;
    pointer-events: none;
    user-select: none;
    overflow-x: hidden;
    overscroll-behavior: contain;
    overflow-y: auto;
    z-index: 0;
}

header .menu .menu-list ul.sub-menu--level-1::-webkit-scrollbar {
    width: 4px;
}

header .menu .menu-list ul.sub-menu--level-1::-webkit-scrollbar-thumb {
    border-radius: 10px;
    background-color: var(--blue-light);
}

header .menu .menu-list ul.sub-menu--level-1::-webkit-scrollbar-track {
    border-radius: 10px;
    background-color: var(--blue);
}

/* Firefox only (-moz-appearance): thin colored scrollbar. Chrome keeps ::-webkit-scrollbar. */
@supports (-moz-appearance: none) {
    header .menu .menu-item-testimonial,
    header .menu .menu-list ul.sub-menu--level-1,
    header .menu .menu-wrapper {
        scrollbar-width: thin;
        scrollbar-color: #7791B2 #1C477E; /* blue-light, blue */
    }
}

header .menu .menu-list ul.sub-menu--level-1:has(+ .menu-item-testimonial) {
    grid-template-columns: repeat(auto-fit, minmax(310px, 1fr));
    width: calc(min(var(--container-inner), 100vw - (var(--container-safe-padding) * 2)) * 0.64);
}

header .menu .menu-list ul.sub-menu--level-1 li {
    width: 100%;
}

header .menu .menu-list ul.sub-menu--level-1>li:has(.sub-menu--level-3) {
    grid-column: span 2;
}

header .menu .menu-list ul.sub-menu--level-1>li:has(.sub-menu--level-3) .sub-menu--level-2 {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
    grid-template-rows: min-content;
    gap: 50px;
}

/* Menu - Level 1 - END */


/* Menu - Level 2 */

header .menu .menu-list ul.sub-menu--level-2 {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

header .menu .menu-list ul.sub-menu--level-2 a {
    position: relative;
    display: inline-block;
    max-width: 100%;
    white-space: normal;
    padding-left: 0;
    transition: var(--transition);
}

header .menu .menu-list ul.sub-menu--level-2 a::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.55em;
    width: 0;
    height: 2px;
    background-color: transparent;
    transition: var(--transition);
}

header .menu .menu-list ul.sub-menu--level-2 a:hover {
    padding-left: 30px;
}

header .menu .menu-list ul.sub-menu--level-2 a:hover::before {
    width: 15px;
    background-color: var(--red);
}

/* Menu - Level 2 - END */


/* Menu - Level 3 */

header .menu .menu-list ul.sub-menu--level-3 {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

/* Menu - Level 3 - END */


header .menu .menu-button {
    display: none;
}

header .burger-icon {
    display: none;
}

header .header-search {
    display: flex;
    transition: var(--transition);
    cursor: pointer;
}

header .header-search:hover {
    color: var(--red)
}


/* Menu - Active */

header .menu .menu-list>li.menu-item-has-children.active>.menu-item-testimonial {
    transition-delay: 0.15s;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    user-select: auto;
    z-index: 9;
}

header .menu .menu-list>li.menu-item-has-children.active ul.sub-menu--level-1 {
    transition-delay: 0.15s;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    user-select: auto;
    z-index: 9;
}

/* Menu - Active - END */


/* Menu - Overlay */

header.overlay.scroll::before {
    background-color: transparent;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
}

header.overlay::after {
    opacity: 1;
    visibility: visible;
}

header.overlay .logo svg {
    fill: var(--white);
}

header.overlay .menu .menu-list>li>a {
    color: var(--white);
}

header.overlay .menu .menu-list>li>.menu-item-subtitle {
    color: var(--white);
}

header.overlay .header-search {
    color: var(--white);
}

header.overlay .header-button .button {
    color: var(--white);
}

/* Menu - Overlay - END */


/* Header - Scroll */

header.scroll::before {
    background: #F6F7F899;
    -webkit-backdrop-filter: blur(30px);
    backdrop-filter: blur(30px);
}

header.scroll .logo a {
    width: 25px;
    height: 25px;
    transition-duration: 0.5s, 0.5s;
    transition-delay: 0s;
}

header.scroll .logo svg {
    opacity: 0;
    visibility: hidden;
    transition-property: opacity, visibility;
    transition: 0.15s, 0.15s;
}

header.scroll .logo a::before {
    opacity: 1;
    visibility: visible;
    transform: scale(1.5625);
    transition-delay: 0.3s;
}

header .button.button-link:not(.button-with-icon)::after {
    background-color: #f6f7f800;
}

/* Header - Scroll - END */


/* Header - Admin Bar */

body.admin-bar header {
    --header-top-rest: calc(30px + 32px);
}

body.admin-bar header::after {
    top: var(--wp-admin--admin-bar--height);
    height: calc(100% - var(--wp-admin--admin-bar--height));
    min-height: calc(100dvh - var(--wp-admin--admin-bar--height));
}

body.admin-bar header .menu .menu-item-testimonial {
    top: calc(140px + var(--wp-admin--admin-bar--height));
    height: calc(100dvh - 240px - var(--wp-admin--admin-bar--height));
}

body.admin-bar header .menu .menu-list ul.sub-menu--level-1 {
    top: calc(140px + var(--wp-admin--admin-bar--height));
    height: calc(100dvh - 240px - var(--wp-admin--admin-bar--height));
}

/* Header - Admin Bar - END */

@media (max-width: 1199px) {
    header .header-wrapper {
        gap: 20px;
    }

    header .menu .menu-list {
        gap: 16px;
    }
}

@media (max-width: 1199px) and (min-width: 1024px) {
    header .menu .menu-list>li {
        font-size: 15px;
    }
}

@media (max-width: 1023px) {
    header .header-menu {
        order: 1;
    }

    header .menu {
        --mobile-menu-top: 95px;
        --header-offset-top: 30px;
        position: absolute;
        top: -100svh;
        left: 0;
        display: flex;
        flex-direction: column;
        gap: 40px;
        width: 100%;
        /* svh = Safari chrome expanded: menu always fits; list scrolls inside */
        height: calc(100svh - var(--mobile-menu-top) - var(--header-offset-top));
        max-height: calc(100dvh - var(--mobile-menu-top) - var(--header-offset-top));
        padding-bottom: max(24px, env(safe-area-inset-bottom, 0px));
        overflow: hidden;
        transition: var(--transition);
        transition-duration: 0.6s;
    }

    header .header-wrapper.active .menu {
        top: var(--mobile-menu-top);
    }

    header .menu .menu-wrapper {
        flex: 1 1 auto;
        min-height: 0;
        width: 100%;
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
        touch-action: pan-y;
    }

    header .menu .menu-wrapper::-webkit-scrollbar {
        width: 4px;
    }

    header .menu .menu-wrapper::-webkit-scrollbar-thumb {
        border-radius: 10px;
        background-color: var(--blue-light);
    }

    header .menu .menu-wrapper::-webkit-scrollbar-track {
        border-radius: 10px;
        background-color: var(--blue);
    }

    header .menu .menu-list {
        flex-direction: column;
        align-items: stretch;
        gap: 0;
    }

    header .menu .menu-list>li+li {
        padding-top: 22px;
    }

    header .menu .menu-list>li+li>span,
    header .menu .menu-list>li+li>a {
        position: relative;
    }

    header .menu .menu-list>li+li>span::after,
    header .menu .menu-list>li+li>a::after {
        content: "";
        position: absolute;
        top: -22px;
        left: 0;
        width: 100%;
        height: 1px;
        background: var(--grey-border-20);
        transition: opacity 0.3s ease, transform 0.3s ease;
    }

    header .menu .menu-list>li.menu-item-has-children>.menu-item-subtitle,
    header .menu .menu-list>li>a {
        display: flex;
    }

    header .menu .menu-list>li.menu-item-has-children>.menu-item-subtitle::before {
        top: 10px;
        right: 10px;
        left: initial;
        width: 8px !important;
        height: 12px;
        background-color: var(--white);
        mask-image: var(--arrow-slider-right);
        mask-size: contain;
        mask-repeat: no-repeat;
        opacity: 1;
    }

    header .menu .menu-list>li.menu-item-has-children.active>.menu-item-subtitle::before {
        opacity: 0;
    }

    header .menu .menu-list>li.hidden, header .menu .menu-list>li.hidden,
    header .menu .menu-list>li.menu-item-has-children.active{
        pointer-events: none;
    }


    header .menu .menu-list ul.sub-menu--level-1 {
        width: calc(100vw - (var(--container-safe-padding) * 2)) !important;
        display: flex;
        flex-direction: column;
        gap: 40px;
    }

    header .menu .menu-list .menu-item-spacer {
        display: none;
    }

    header .menu .menu-item-testimonial {
        display: none;
    }

    header .menu .menu-button {
        display: flex;
        flex-shrink: 0;
        transition: display 0s ease 0.4s, opacity 0.4s ease;
    }

    header .menu .menu-button.hidden {
        display: none;
        opacity: 0;
    }

    header .menu .menu-button .button {
        color: var(--white);
    }

    header .menu .menu-button .button:hover,
    header .menu .menu-button .button:focus-visible {
        color: var(--red);
    }

    header .burger-icon {
        display: flex;
        gap: 15px;
    }

    header .burger-icon .icon {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 22px;
        height: 20px;
        z-index: 5;
        overflow: hidden;
    }

    header .burger-icon .icon span {
        position: absolute;
        left: 0;
        height: 1px;
        width: 72%;
        background-color: var(--blue);
        transition: background-color 0.4s ease, width 0.4s ease, transform 0.4s ease;
    }

    header .burger-icon .icon span:nth-child(1) {
        transform: translate(0px, -5px);
        transition-delay: 0s;
    }

    header .burger-icon .icon span:nth-child(2) {
        width: 100%;
        transition: background-color 0.4s ease, width 0.4s ease 0.2s, transform 0.4s ease;
    }

    header .burger-icon .icon span:nth-child(3) {
        transform: translate(0px, 5px);
        transition-delay: 0s;
    }

    header .burger-icon .text {
        transition: var(--transition);
    }

    header .burger-icon:hover .icon span {
        background-color: var(--red) !important;
    }

    header .header-wrapper.active .burger-icon {
        gap: 0 !important;
        min-width: 72px !important;
    }

    header .header-wrapper.active .burger-icon .icon span:nth-child(1) {
        width: 100%;
        transform: rotate(45deg);
        transition: background-color 0.4s ease, width 0.4s ease 0.15s, transform 0.4s ease 0.15s;
    }

    header .header-wrapper.active .burger-icon .icon span:nth-child(2) {
        width: 0%;
        transition: background-color 0.4s ease, width 0.4s ease, transform 0.4s ease;
    }

    header .header-wrapper.active .burger-icon .icon span:nth-child(3) {
        width: 100%;
        transform: rotate(-45deg);
        transition: background-color 0.4s ease, width 0.4s ease 0.15s, transform 0.4s ease 0.15s;
    }

    header .header-wrapper.active .burger-icon .text {
        font-size: 0;
        opacity: 0;
        visibility: hidden;
    }

    @media (hover: none) and (pointer: coarse) {
        header .burger-icon:focus::before,
        header .burger-icon:focus-visible::before {
            box-shadow: none;
            transform: none;
        }

        header .burger-icon:focus::after,
        header .burger-icon:focus-visible::after {
            content: none;
            opacity: 0;
        }
    }

    header .header-button {
        display: none;
    }

    /* Menu - Active */

    header .menu .menu-list>li.menu-item-has-children.active ul.sub-menu--level-1 {
        transition: 0.3s;
    }

    header .header-wrapper.active:has(.menu-list>.menu-item.active) .logo svg {
        opacity: 0;
    }

    header .menu .menu-list>li {
        padding-bottom: 22px;
        font-size: 28px;
        line-height: 1.07em;
        letter-spacing: -0.01em;
    }

    header .menu .menu-list>li,
    header .menu .menu-list>li.hidden .menu-item-subtitle {
        transition: opacity 0.45s ease !important;
    }

    header .menu .menu-list>li.hidden,
    header .menu .menu-list>li.hidden .menu-item-subtitle {
        opacity: 0;
    }

    /* Menu - Active - END */

    /* Menu - Submenu Active */

    header .menu .menu-list:has(li.active) {
        overflow: hidden;
    }

    header .menu .menu-list>li.active .sub-menu.sub-menu--level-1 {
        top: 215px;
    }

    header .menu .menu-list>li.hidden+li>span::after,
    header .menu .menu-list>li.hidden>span::after,
    header .menu .menu-list>li.hidden+li>a::after,
    header .menu .menu-list>li.hidden>a::after{
        opacity: 0;
        transform: scaleX(0);
    }

    header .menu .menu-list>li.menu-item-has-children.active>.menu-item-subtitle {
        opacity: 0;
    }

    /* Menu - Submenu End */
    
    /* Menu - Overlay */

    header.overlay .burger-icon .icon span {
        background-color: var(--white);
    }

    /* Menu - Overlay - END */
}

@media (max-width: 767px) {
    body.admin-bar header {
        --header-top-rest: 46px;
    }

    header {
        --header-top-rest: 20px;
        --header-offset-top: 10px;
        --mobile-menu-top: 98px;
        top: 10px;
    }

    header+main,
    header+div[data-elementor-type="single-post"],
    header+div[data-elementor-type="archive"] {
        margin-top: 105px;
    }

    header .menu {
        padding-bottom: max(24px, env(safe-area-inset-bottom, 0px));
    }
    .header-search-bar.menu-active .search-loop-icon-container {
        left: 24px;
    }

    header .header-search,
    header .burger-icon .text {
        display: none;
    }

    header.overlay .header-search {
        display: flex;
    }

    header .burger-icon.button.button-link.button-with-icon:not(.button-without-border) {
        min-width: 72px;
    }

    header .menu .menu-list>li {
        font-size: 24px;
        line-height: 28px;
        letter-spacing: -1%;
    }
}

@media (max-width: 480px) {
    header .menu .menu-button,
    header .menu .menu-button .button {
        width: calc(100% - 2px);
    }
}

@media (max-width: 375px) {
    header .container {
        padding: 0px 20px;
    }
}

/*---------- HEADER - END ----------*/


/*---------- FOOTER ----------*/

/* Footer top - start */

footer .footer-wrapper {
    margin: 0 calc((100% - 100vw) / 2);
    padding: 100px calc((100vw - 100%) / 2) 40px;
    background: linear-gradient(180deg, #F3F5F7 0%, #F3F5F780 100%);
}

footer .footer-top {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-areas:
        "ai data development development"
        "consulting industries about-us about-us";
    column-gap: 50px;
    row-gap: 111px;
}

footer .footer-box-ai-column {
    grid-area: ai;
}

footer .footer-box-data-column {
    grid-area: data;
}

footer .footer-box-development-column {
    grid-area: development;
}

footer .footer-box-consulting-column {
    grid-area: consulting;
}

footer .footer-box-industries-column {
    grid-area: industries;
}

footer .footer-box-about-us-column {
    grid-area: about-us;
}

footer .footer-box--extra-desktop {
    margin-top: 40px;
}

footer .footer-box--extra-mobile {
    display: none;
}

footer .footer-top .footer-box-two-columns {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 50px 111px;
}

footer .footer-box__inner {
    margin: 20px 0 0;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

footer .footer-box__no-heading .footer-box__inner {
    margin: 50px 0 0;
}

.footer-box__column + .footer-box__column {
    margin: 20px 0 0;
}

footer .footer-column-title {
    margin-bottom: 16px;
    color: var(--white);
    opacity: 0.6;
}

footer .footer-box__subtitle {
    margin: 0 0 15px;
}

footer .menu-list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

footer .menu-list li {
    display: flex;
}

footer .menu-list li a {
    color: var(--blue-light);
}

footer .menu-list li a:hover,
footer .footer-box--extra .menu-list li a:hover {
    color: var(--red);
}

footer .footer-box--extra .menu-list li a {
    color: var(--blue);
}

footer .footer-box--extra .menu-list {
    gap: 24px;
}

/* Footer main - start */

footer .footer-main {
    margin: 50px 0px 0px;
    padding: 50px 0px 0px;
    display: flex;
    justify-content: space-between;
    gap: 40px;
    border-top: 1px solid var(--grey-border);
}

footer .footer-main__countries-list {
    display: flex;
    gap: 20px;
}

footer .footer-main__country-container {
    max-width: 172px;
    width: 100%;
    display: flex;
    flex-direction: column;
    font-style: normal;
}

.footer-main__country-address {
    margin: 6px 0px 0px;
    color: var(--blue-light);
}

.footer-main__country-phone {
    margin: 8px 0px 0px;
}

.footer-main__country-phone:hover {
    color: var(--red);
}

.footer-main__certificates-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

/* Footer main - end */

/* Footer bottom - start */

.footer-bottom {
    margin: 50px 0px 0px;
    display: grid;
    grid-template-columns: repeat(3,1fr);
    justify-content: space-between;
    gap: 40px;
}
/* Left column */
.footer-bottom__left-column {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 20px;
}

.footer-left-column__email {
    padding: 4px 10px;
    width: fit-content;
    border: 1px solid var(--grey-border);
    border-radius: 100px;
}
.footer-left-column__email:hover {
    box-shadow: 0px 0px 10px 0px #FF6AA1;
}
.footer-left-column__extra-links {
    display: flex;
    gap: 35px;
    align-items: center;
}

.footer-extra__link:hover {
    color: var(--red);
}

/* Socials */

.footer-bottom__socials-list {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    gap: 30px;
}

.footer-social__link {
    color: var(--blue-light);
}

.footer-social__link:hover {
    color: var(--blue);
}

/* Right column */
.footer-bottom__right-column {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 10px;
    text-align: right;
}

.footer-right-column__prohibition {
    max-width: 289px;
    width: 100%;
}

/* Footer bottom - end */

@media (max-width: 1023px) {
    footer .footer-wrapper {
        padding: 60px calc((100vw - 100%) / 2) 40px;
    }

    footer .footer-top {
    grid-template-columns: 1fr;
    grid-template-areas:
        "ai"
        "data"
        "development"
        "consulting"
        "industries"
        "about-us"
        "extra";
    gap: 25px;
    }

    footer .footer-box__subtitle {
        font-family: 'IBM Plex Mono';
        text-transform: uppercase;
        letter-spacing: 0.17px;
        margin: 0 0 20px;
        padding: 5px 10px;
        width: fit-content;
        border: 1px solid var(--blue-light);
        border-radius: 100px;
        color: var(--blue-light);
        font-size: 11px;
        line-height: 20px;
    }

    footer .footer-box + .footer-box,
    footer .footer-box--extra li + li {
        padding: 25px 0 0;
        border-top: 1px solid var(--grey-border);
    }

    footer .footer-box__inner {
        margin: 0;
        gap: 0;
    }

    .footer-box__column {
        padding: 40px 0 0;
    }

    .footer-box__column + .footer-box__column {
        margin: 40px 0 0;
        padding: 0;
    }

    footer .footer-box--extra-desktop {
        display: none;
    }

    footer .footer-box--extra-mobile {
        display: block;
    }

    footer .footer-box--extra-mobile .footer-box__menu {
        padding-top: 0;
    }

    footer .footer-box--extra-mobile .menu-list {
        gap: 25px;
    }

    /* Footer main - start */
    footer .footer-main {
        margin: 60px 0px 0px;
        padding: 0px;
        flex-direction: column;
        gap: 60px;
        border: 0px;
    }
    footer .footer-main__country-container {
        max-width: 100%;
    }
    .footer-main__countries-list {
        gap: 30px;
    }
    /* Footer main - end */

    /* Footer bottom - start */

    .footer-bottom {
        margin: 60px 0px 0px;
        grid-template-columns: repeat(2, 1fr);
        grid-template-areas:
            "left-column right-column"
            "socials socials";
        gap: 60px 30px;
    }

    .footer-bottom__left-column {
        grid-area: left-column;
    }

    .footer-bottom__socials-list {
        grid-area: socials;
    }

    .footer-bottom__right-column {
        grid-area: right-column;
    }

    .footer-main__certificates-list {
        justify-content: center;
    }

    /* Footer bottom - end */
}

@media (max-width: 767px) {
    footer .footer-wrapper {
        padding: 50px calc((100vw - 100%) / 2) 40px;
    }

    footer .footer-top {
        gap: 20px;
    }

    footer .footer-box + .footer-box,
    footer .footer-box--extra li + li {
        padding: 20px 0 0;
    }

    footer .footer-top .footer-box-two-columns {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .footer-box-two-columns > .footer-box__column {
        padding: 0;
    }

    /* Footer main - start */

    footer .footer-main {
        margin: 40px 0px 0px;
        gap: 50px;
    }
    footer .footer-main__countries-list {
        flex-wrap: wrap;
    }
    /* Footer main - end */

    /* Footer bottom - start */
    .footer-bottom {
        margin: 50px 0px 0px;
        grid-template-columns: 1fr;
        grid-template-areas:
        "left-column"
        "right-column"
        "socials";
        gap: 40px;
    }
    .footer-bottom__left-column {
        gap: 40px;
    }
    .footer-bottom__socials-list {
        flex-wrap: wrap;
    }
    .footer-bottom__right-column {
        align-items: flex-start;
        text-align: left;
    }
    /* Footer bottom - end */
}

/*---------- FOOTER - END ----------*/


/*---------- ELEMENTOR ----------*/

/* .e-con.e-parent .e-con.e-parent {
    padding: 0px;
} */

.elementor-element h1+*,
.elementor-element h2+*,
.elementor-element h3+*,
.elementor-element h4+*,
.elementor-element h5+*,
.elementor-element h6+* {
    margin-top: 0.8em;
}

.elementor-element p {
    min-height: 1px;
}

.elementor-element p+* {
    margin-top: 1em;
}

.elementor-element p+h1,
.elementor-element p+h2,
.elementor-element p+h3,
.elementor-element p+h4,
.elementor-element p+h5,
.elementor-element p+h6 {
    margin-top: 1.2em;
}

.elementor-element p+ul,
.elementor-element p+ol {
    margin-top: 1em;
}

.elementor-element ul+*,
.elementor-element ol+* {
    margin-top: 1em;
}

.elementor-element ul+h1,
.elementor-element ul+h2,
.elementor-element ul+h3,
.elementor-element ul+h4,
.elementor-element ul+h5,
.elementor-element ul+h6,
.elementor-element ol+h1,
.elementor-element ol+h2,
.elementor-element ol+h3,
.elementor-element ol+h4,
.elementor-element ol+h5,
.elementor-element ol+h6 {
    margin-top: 1.4em;
}

.elementor-element ul>li {
    position: relative;
    list-style-type: none;
    padding-left: 40px;
}

.elementor-element ul>li+li {
    margin-top: 10px;
}

.elementor-element ul>li:not([class])::before {
    content: '';
    position: absolute;
    top: 0.75em;
    left: 0;
    width: 20px;
    height: 2px;
    background-color: var(--blue);
} 

/* Ul list with stars - start */

.ul-stars-list.elementor-element   ul>li:not([class])::before,
.ul-stars-list ul>li:not([class])::before {
    content: '';
    position: absolute;
    top: 0.5em;
    left: 0;
    width: 8px;
    height: 8px;
    background-image: url("data:image/svg+xml,%3Csvg width='8' height='8' viewBox='0 0 8 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M8 2.77461L7.0314 1.1644L4.95389 2.36429V0H3.04611V2.36429L0.966338 1.1644L0 2.77461L2.12051 3.99889L0 5.2254L0.968599 6.8356L3.04611 5.63349V8H4.95389V5.63571L7.0314 6.8356L8 5.2254L5.87723 3.99889L8 2.77461Z' fill='%237791B2'/%3E%3C/svg%3E");
    background-color: transparent;
}

.ul-stars-list.white.elementor-element   ul>li:not([class])::before,
.ul-stars-list.white ul>li:not([class])::before {
    background-image: url("data:image/svg+xml,%3Csvg width='8' height='8' viewBox='0 0 8 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M8 2.77461L7.0314 1.1644L4.95389 2.36429V0H3.04611V2.36429L0.966338 1.1644L0 2.77461L2.12051 3.99889L0 5.2254L0.968599 6.8356L3.04611 5.63349V8H4.95389V5.63571L7.0314 6.8356L8 5.2254L5.87723 3.99889L8 2.77461Z' fill='%23FFFFFF'/%3E%3C/svg%3E");
}

.ul-stars-list.elementor-element ul>li,
.ul-stars-list ul>li {
    position: relative;
    list-style-type: none;
    padding-left: 25px;
}

/* Ul list with stars - end */

.elementor-element ol {
    counter-reset: orderedCounter;
}

.elementor-element ol>li {
    position: relative;
    list-style: none;
    padding-left: 40px;
}

.elementor-element ol>li::before {
    counter-increment: orderedCounter;
    content: counter(orderedCounter, decimal-leading-zero);
    position: absolute;
    left: 0;
    top: 3px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: 'IBM Plex Mono';
    font-size: 11px;
    font-weight: 500;
    line-height: 1.82em;
    letter-spacing: 0.17em;
    color: var(--blue-80);
}

.elementor-element ol>li+li {
    margin-top: 10px;
}

.elementor-element p a,
.elementor-element ul a,
.elementor-element ol a,
.elementor-widget-text-editor a {
    color: var(--blue-light);
    background: linear-gradient(currentColor, currentColor) 0 100% / 100% 1px no-repeat;
    transition: color 0.3s ease, background-position 0s ease, background-size .45s ease;
}

.elementor-element .white p a,
.elementor-element .white ul a,
.elementor-element .white ol a,
.elementor-widget-text-editor.white a {
    color: var(--white);
    background: linear-gradient(currentColor, currentColor) 0 100% / 100% 1px no-repeat;
    transition: color 0.3s ease, background-position 0s ease, background-size .45s ease;
}

.elementor-element p a:hover,
.elementor-element ul a:hover,
.elementor-element ol a:hover,
.elementor-widget-text-editor a:hover,
.elementor-element .white p a:hover,
.elementor-element .white ul a:hover,
.elementor-element .white ol a:hover,
.elementor-widget-text-editor.white a:hover {
    background-position: 100% 100%;
    background-size: 0% 1px;
}

.elementor-widget-icon-box a {
    display: inline-flex;
}

@media (max-width: 767.75px) {
    .elementor .elementor-hidden-mobile,
    .elementor .elementor-hidden-phone {
        display: none;
    }
}

/* Elementor - Icon  */
.elementor-widget-icon .elementor-icon-wrapper {
    display: flex;
}

/*---------- ELEMENTOR - END ----------*/


/*---------- SECTIONS ----------*/

.seo h2,
.seo h3 {
    margin-bottom: 1em;
}

/*---------- SECTIONS - END ----------*/

/*---------- SEARCH START ----------*/

.header-search-bar {
    position: fixed;
    top: -64px;
    left: max(20px, (100% - var(--container) + 40px) / 2);
    width: min(var(--container) - 40px, 100% - (var(--container-safe-padding)));
    padding: 7px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-radius: 100px;
    background-color: var(--white);
    z-index: 100;
    transition: var(--transition);
}  

.header-search-bar:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 100px;
    background-color: transparent;
    transition: var(--transition);
}

.search-show .header-search-bar {
    top: 30px;
    z-index: 101;
    min-height: 65px;
}

/*---------- HEADER SEARCH SCROLL - START ----------*/

.header-search-logo-container .logo {
    flex-shrink: 0;
    max-width: 149px;
    margin-right: auto;
}

.header-search-logo-container .logo a {
    display: flex;
    width: 100%;
    height: 100%;
    transition-property: width, height;
    transition-duration: 0.4s, 0.4s;
    transition-delay: 0.15s;
}

.header-search-logo-container .logo a::before {
    content: '';
    position: absolute;
    top: 25px;
    left: 25px;
    width: 16px;
    height: 16px;
    background-color: var(--red);
    mask-image: var(--star);
    mask-size: contain;
    mask-repeat: no-repeat;
    transition: var(--transition);
    transition-duration: 0.45s;
    opacity: 0;
    visibility: hidden;
}

.header-search-logo-container .logo svg {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    transition: opacity .45s ease 0.25s, visibility .45s ease 0.25s, fill .3s ease 0s;
}

.header-search-logo-container .logo a:hover svg {
    fill: var(--blue-light) !important;
}

.header-search-bar.scroll {
    background-color: transparent;
}

.header-search-bar.scroll::before {
    background-color: #F6F7F899;
    -webkit-backdrop-filter: blur(30px);
    backdrop-filter: blur(30px);
}

.header-search-bar.scroll.menu-active::before {
    display: none;
}

.header-search-bar.scroll .header-search-logo-container .logo a {
    width: 25px;
    height: 25px;
    transition-duration: 0.5s, 0.5s;
    transition-delay: 0s;
}

.header-search-bar.scroll .header-search-logo-container .logo svg {
    opacity: 0;
    visibility: hidden;
    transition-property: opacity, visibility;
    transition: 0.15s, 0.15s;
}

.header-search-bar.scroll .header-search-logo-container .logo a::before {
    opacity: 1;
    visibility: visible;
    transform: scale(1.5625);
    transition-delay: 0.3s;
}

/*---------- HEADER SEARCH SCROLL - END ----------*/

.header-search-logo-container {
    min-width: 149px;
}

.header-search-bar-container {
    margin-left: 80px;
    width: 100%;
    display: flex;
    gap: 20px;
    z-index: 101;
}

.header-search-bar-form {
    width: 100%;
    display: flex;
    align-items: flex-end;
    gap: 30px;
}

.header-search-field-container {
    position: relative;
    max-width: 1014px;
    width: 100%;
}

.search-loop-icon-container {
    position: absolute;
    left: 0;
    top: 4px;
}

.search-loop-icon-container svg {
    width: 21px;
    height: 15px;
    color: var(--blue-light);
}

.header-search-field {
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    height: 25px;
    padding-left: 30px;
    padding-bottom: 10px;
    background-color: transparent;
    border: 0px;
    border-bottom: 1px solid var(--grey-border);
    outline: none;
    font-size: 16px; 
    font-weight: 400;
    line-height: 25px;
    letter-spacing: 1%;
    color: var(--blue-light);
}

.header-search-field::-webkit-search-cancel-button {
    -webkit-appearance: none;
    appearance: none;
    display: none;
}


.header-search-field::-webkit-search-results-button {
    display: none;
}

.header-search-field::-webkit-search-results-decoration {
    display: none;
}

.header-search-field::placeholder {
    color: var(--blue-light);
}

.header-search-field:-webkit-input-placeholder {
    color: var(--blue-light);
}

.header-search-field::-moz-placeholder {
    color: var(--blue-light);
    opacity: 1;
}

.header-search-field:-ms-input-placeholder {
    color: var(--blue-light);
}

.header-search-bar-form .button.button-with-icon {
    min-width: 143px;
}

.header-search-bar-closing.button.button-link {
    min-width: 60px;
    min-height: 50px;
}

.header-search-bar-closing.button.button-link::after {
    display: none;
}

.header-search-bar-closing.button.button-link:hover {
    color: var(--red);
}

@media (max-width: 1023px) {
    .header-search-bar-form {
        justify-content: flex-end;
    }
    .header-search-bar-form {
        gap: 30px;
    }

    /* Menu active - search - start */
    .header-search-bar.menu-active {
        background: var(--blue-dark);
        left: 0px;
        height: 100svh;
        width: 100%;
        border-radius: 0px;
        /* Stay fully off-screen until search is actually opened (.search-show).
           Previously top:-64px + height:100vh leaked search UI into the menu. */
        top: -100svh;
        visibility: hidden;
        pointer-events: none;
        overflow: hidden;
    }

    .search-show .header-search-bar.menu-active {
        top: 0px;
        visibility: visible;
        pointer-events: auto;
    }

    .header-search-bar.menu-active .header-search-logo-container .logo svg {
        fill: var(--white);
    }

    .header-search-bar.menu-active .header-search-bar:before {
        display: none;
    }

    .header-search-bar.menu-active .header-search-logo-container,
    .header-search-bar.menu-active .header-search-bar-closing.button.button-link {
        position: absolute;
        top: 40px;
    }

    .header-search-bar.menu-active .header-search-logo-container {
        left: 40px;
    }

    .header-search-bar.menu-active .header-search-bar-closing.button.button-link {
        right: 40px;
        color: var(--white);
    }

    .header-search-bar.menu-active .header-search-bar-closing.button.button-link:hover {
        color: var(--red);
    }

    .header-search-bar.menu-active .header-search-field-container {
        max-width: 100%;
        padding: 0px 44px;
    }

    .header-search-bar.menu-active .search-loop-icon-container {
        left: 44px;
    }

    .header-search-bar.menu-active .header-search-field {
        border-color: var(--white-20);
    }

    .header-search-bar.menu-active .header-search-bar-form .button.button-with-icon {
        position: absolute;
        max-width: fit-content;
        margin: 0 auto;
        bottom: 40px;
        left: 40px;
        right: 40px;
        justify-content: center;
        background-color: var(--blue-dark);
    }

    .header-search-bar.menu-active .header-search-bar-form .button.button-with-icon::after {
        display: none;
    }

    .header-search-bar.menu-active .header-search-bar-form .button.button-with-icon .text {
        position: relative;
    }

    .header-search-bar.menu-active .header-search-bar-form .button.button-with-icon .text::after {
        content: '';
        position: absolute;
        left: -10px;
        transform: translateX(-44%);
        width: 8px;
        height: 8px;
        background-color: var(--white);
        mask-image: var(--star);
        mask-size: contain;
        mask-repeat: no-repeat;
        transform: translateY(6px) rotate(0deg);
        opacity: 0;
        transition: var(--transition);
    }

    .header-search-bar.menu-active .header-search-bar-form .button.button-with-icon:hover .text::after {
        transform: translateY(-9px) rotate(-180deg);
        opacity: 1;
    }
    /* Menu active - search - end */

    /* Search - scroll - start */

    .header-search-bar-container {
        margin-left: 40px;
    }

    .header-search-bar-form {
        gap: 20px;
    }

    /* Search - scroll - end */
}

@media (max-width: 767px) {
    .search-show .header-search-bar,
    .header-search-bar-form {
        gap: 20px;
    }
    .header-search-bar-container {
        margin-left: 0px;
        gap: 10px;
    }
}

@media (max-width: 480px) {
    .search-show .header-search-bar {
        padding-right: 4px;
        gap: 10px;
    }
    .header-search-bar-form {
        gap: 10px;
    }
    .header-search-field-wrapper {
        position: relative;
        display: inline-block;
    }
    .header-search-field-wrapper::after {
        content: "";
        position: absolute;
        top: 0;
        right: 0;
        height: 100%;
        width: 60px;
        pointer-events: none;

        background: linear-gradient(
            to right,
            rgba(255,255,255,0),
            rgba(255,255,255,1)
        );
        opacity: 1;
        transition: var(--transition);
    }
    .header-search-field-wrapper.has-overflow::after {
        opacity: 0;
    }
    .header-search-bar-closing.button.button-link {
        display: none;
    }
    .header-search-bar-form .button.button-with-icon {
        min-width: 123px;
        padding: 0px 18px;
    }
    .header-search-bar-form .button::after {
        left: 10px;
    }
    .header-search-bar .header-search-logo-container .logo a {
        width: 25px;
        height: 25px;
        transition-duration: 0.5s, 0.5s;
        transition-delay: 0s;
    }

    .header-search-bar .header-search-logo-container .logo svg {
        opacity: 0;
        visibility: hidden;
        transition-property: opacity, visibility;
        transition: 0.15s, 0.15s;
    }

    .header-search-bar .header-search-logo-container .logo a::before {
        opacity: 1;
        visibility: visible;
        transform: scale(1.5625);
        transition-delay: 0.3s;
    }

    /* Menu active - search - start */

    .header-search-bar.menu-active.scroll::before {
        background-color: transparent;
        -webkit-backdrop-filter: none;
        backdrop-filter: none;
    }

    .search-show .header-search-bar.menu-active {
        padding-right: 20px;
    }

    .header-search-bar.menu-active .header-search-logo-container, .header-search-bar.menu-active .header-search-bar-closing.button.button-link {
        top: 20px;
    }

    .header-search-bar.menu-active .header-search-logo-container .logo a {
        max-width: 149px;
        width: 100%;
        height: auto;
    }

    .header-search-bar.menu-active .header-search-logo-container .logo svg,
    .header-search-bar.menu-active.scroll .header-search-logo-container .logo svg {
        opacity: 1;
        visibility: visible;
    }

    .header-search-bar.menu-active .header-search-logo-container .logo a::before {
        opacity: 0;
        visibility: hidden;
    }

    .header-search-bar.menu-active .header-search-field-wrapper {
        width: 100%;
    }

    .header-search-bar.menu-active .header-search-field-wrapper::after {
        display: none;
    }

    .header-search-bar.menu-active .header-search-field-container {
        padding: 0px 24px;
    } 
    .header-search-bar.menu-active .search-loop-icon-container {
        left: 24px;
    }
    .header-search-bar.menu-active .header-search-bar-closing.button.button-link {
        display: flex;
    }
    .header-search-bar.menu-active .header-search-bar-form .button.button-with-icon {
        max-width: 100%;
    }
    /* Menu active - search - end */
}

/*---------- SEARCH END ----------*/

/*---------- GOOGLE reCaptcha ----------*/

.grecaptcha-badge {
    display: none !important;
}

/*---------- GOOGLE reCaptcha - END ----------*/


/*---------- HEADING WITH STAR ----------*/

.heading-with-star {
    position: relative;
    text-align: left;
}

.heading-with-star::before {
    content: '';
    position: absolute;
    top: -12px;
    left: -21px;
    width: 22px;
    height: 22px;
    background-color: var(--red);
    mask-image: var(--star);
    mask-size: contain;
    mask-repeat: no-repeat;
    transition: transform 0.15s ease-out;
    transform-origin: center;
    transform: rotate(var(--rotation));
    pointer-events: none;
}

.heading-with-star+.heading-with-star-subtitle {
    margin: 40px 0px 0px;
}

.heading-with-star.left,
.heading-with-star-subtitle.left {
    margin-right: calc(50% + 10px);
    text-align: right;
}

.heading-with-star.left::before {
    right: -21px;
    left: initial;
}

.heading-with-star.right,
.heading-with-star-subtitle.right {
    margin-left: calc(50% + 10px);
}

@media (max-width: 1023px) {
    .heading-with-star,
    .heading-with-star.left,
    .heading-with-star.right,
    .heading-with-star-subtitle.left,
    .heading-with-star-subtitle.right {
        text-align: left;
        margin-inline: 0;
    }

    .heading-with-star.left::before,
    .heading-with-star.right::before {
        left: -21px;
        right: initial;
    }
}

@media (max-width: 767px) {
    .heading-with-star,
    .heading-with-star.left,
    .heading-with-star.right,
    .heading-with-star-subtitle.left,
    .heading-with-star-subtitle.right {
        text-align: left;
        margin-inline: 0;
    }

    .heading-with-star::before,
    .heading-with-star.left::before,
    .heading-with-star.right::before {
        top: -8px;
        left: -16px;
        width: 16px;
        height: 16px;
    }
}

/*---------- HEADING WITH STAR - END ----------*/

/*---------- TAG ----------*/

.tag {
    position: relative;
    display: inline-flex;
    max-width: max-content !important;
    height: fit-content;
    padding: 4px 10px;
    font-family: 'IBM Plex Mono';
    font-size: 11px;
    font-weight: 500;
    line-height: 1.82em;
    letter-spacing: 0.17em;
    text-transform: uppercase;
    text-align: center;
    border: 1px solid var(--grey-border);
    border-radius: 100px;
}

.tag .elementor-heading-title {
    line-height: inherit;
}

.tag.tag-blue-light {
    color: var(--blue-light);
    border-color: var(--blue-light);
}

.tag.tag-with-star {
    padding-left: 30px;
}

.tag.tag-with-star::before {
    content: '';
    position: absolute;
    left: 10px;
    top: calc(50% - 5px);
    width: 10px;
    height: 10px;
    background-color: var(--red);
    mask-image: var(--star);
    mask-size: contain;
    mask-repeat: no-repeat;
}

/*---------- TAG - END ----------*/

/*---------- JS ACCORDION - START ----------*/

.js-accordion-content {
    overflow: hidden;
    max-height: none;
    transition: max-height 0.35s ease, opacity 0.25s ease;
}

.js-accordion-trigger {
    cursor: pointer;
    position: relative;
}

.accordion-mobile-only .js-accordion-trigger {
    cursor: initial;
}
.accordion-mobile-only .accordion-arrow {
    display: none;
}
.accordion-arrow {
    position: absolute;
    right: 0;
    top: 50%;
    right: 10px; 
    display: flex;
    transition: var(--transition);
}

.js-accordion.active > .js-accordion-trigger .accordion-arrow {
    transform: rotate(180deg);
}

@media (max-width: 1023px) {
    .accordion-mobile-only .js-accordion-trigger {
        cursor: pointer;
    }
    .accordion-mobile-only .accordion-arrow {
        display: flex;
    }
    .accordion-mobile-only + .js-accordion-content,
    .accordion-mobile-only ~ .js-accordion-content {
        max-height: 0;
    }
    .js-accordion:not(.active) > .js-accordion-content {
        max-height: 0;
        opacity: 0;
    }
    .js-accordion.active > .js-accordion-content {
        opacity: 1;
    }
}

/*---------- JS ACCORDION - END ----------*/

/*---------- BORDERED TEXT - START ----------*/
.bordered {
    position: relative;
    display: inline-flex;
    max-width: max-content !important;
    height: fit-content;
    padding: 4px 10px;
    text-align: center;
    border: 1px solid var(--grey-border);
    border-radius: 100px;
}
/*---------- BORDERED TEXT - END ----------*/

.blog-inner-item__date-update{
	display:none;
}

/*---------- COOKIE CONSENT - START ----------*/

body #cookie-notice {
    min-width: auto;
    width: 100%;
    background-color: rgba(23,30,42,.8);
    height: 70px;
    transform: skewX(-12deg);
    margin-left: -50px;
    max-width: calc(100% - 360px)
}

body #cookie-notice.cookie-notice-hidden {
    display: none !important
}

body #cookie-notice button {
    background-color: transparent !important;
    background-image: none !important;
    border: none !important;
    box-shadow: none !important;
}

@media (min-width: 1760px) {
    body #cookie-notice {
        height:80px;
        max-width: calc(100% - 470px)
    }
}

@media (max-width: 1540px) {
    body #cookie-notice {
        max-width:calc(100% - 280px)
    }
}

@media (max-width: 1299px) {
    body #cookie-notice {
        height:62px
    }
}

@media (max-width: 1200px) {
    body #cookie-notice {
        max-width:630px
    }
}

@media (max-width: 767px) {
    body #cookie-notice {
        bottom:65px !important;
        height: 180px !important;
        max-width: 325px !important
    }
}

body #cookie-notice #cn-notice-text {
    color: #fff;
    font-size: 14px;
    letter-spacing: -.008em;
    line-height: 1.286em;
    margin: 0;
    font-family: "Aeonik Pro", sans-serif;
    position: absolute;
    left: calc(50% - 355px);
    text-align: left
}

@media (min-width: 1760px) {
    body #cookie-notice #cn-notice-text {
        left:calc(50% - 560px);
        font-size: 16px
    }
}

@media (max-width: 1540px) {
    body #cookie-notice #cn-notice-text {
        left:calc(50% - 420px)
    }
}

@media (max-width: 1299px) {
    body #cookie-notice #cn-notice-text {
        left:calc(50% - 350px);
        font-size: 12px
    }
}

@media (max-width: 1200px) {
    body #cookie-notice #cn-notice-text {
        max-width:190px;
        left: calc(50% - 240px);
        text-align: left
    }
}

@media (max-width: 767px) {
    body #cookie-notice #cn-notice-text {
        width:212px;
        max-width: none;
        font-size: 12px;
        position: relative;
        margin-bottom: 3px;
        left: 67px
    }
}

@media (max-width: 575px) {
    body #cookie-notice #cn-notice-text {
        font-size:12px;
        width: 220px;
        margin-bottom: 10px
    }
}

body #cookie-notice .cn-close-icon {
    display: none !important;
    opacity: 1;
    right: 30px
}

@media (max-width: 1200px) {
    body #cookie-notice .cn-close-icon {
        right:12px
    }
}

@media (max-width: 767px) {
    body #cookie-notice .cn-close-icon {
        top:20px
    }
}

@media (max-width: 1200px) {
    body #cookie-notice .cn-close-icon:after,body #cookie-notice .cn-close-icon:before {
        height:13px
    }
}

body #cookie-notice .cookie-notice-container {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    height: 100%;
    transform: skewX(12deg);
    padding-right: 80px;
    position: relative
}

@media (max-width: 1200px) {
    body #cookie-notice .cookie-notice-container {
        padding-right:40px
    }
}

@media (max-width: 767px) {
    body #cookie-notice .cookie-notice-container {
        flex-direction:column;
        padding: 0;
        justify-content: center;
        align-items: flex-start;
        height: 100%
    }
}

body #cookie-notice #cn-notice-buttons {
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    gap: 12px;
    margin-left: 5px
}

@media (max-width: 1200px) {
    body #cookie-notice #cn-notice-buttons {
        margin:0;
        left: 0;
        position: relative;
        gap: 8px
    }
}

@media (max-width: 767px) {
    body #cookie-notice #cn-notice-buttons {
        left:55px;
        flex-wrap: wrap;
        flex-direction: row;
        max-width: 230px;
        gap: 10px
    }

    body #cookie-notice #cn-refuse-cookie {
        order: 1
    }

    body #cookie-notice #cn-accept-cookie {
        order: 2
    }

    body #cookie-notice #cn-more-info {
        order: 3
    }
}

/* Site-standard buttons inside cookie notice */
body #cookie-notice .cn-button {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 100px;
    height: 50px;
    margin: 0;
    padding: 0 30px !important;
    font-family: "Aeonik Pro", sans-serif;
    font-size: 16px !important;
    font-weight: 400;
    line-height: 1.563em;
    letter-spacing: normal;
    text-transform: none;
    text-decoration: none;
    color: var(--white) !important;
    background: transparent !important;
    border-radius: 100px;
    outline: none;
    transition: var(--transition);
    cursor: pointer;
    z-index: 1
}

body #cookie-notice .cn-button::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--red);
    border-radius: 100px;
    transition: var(--transition);
    z-index: -1
}

body #cookie-notice .cn-button::after {
    content: '';
    position: absolute;
    left: 20px;
    width: 8px;
    height: 8px;
    background-color: var(--white);
    mask-image: var(--star);
    mask-size: contain;
    mask-repeat: no-repeat;
    transform: translateY(6px) rotate(0deg);
    opacity: 0;
    transition: var(--transition)
}

body #cookie-notice .cn-button:hover::before {
    transform: scale(0.96)
}

body #cookie-notice .cn-button:hover::after {
    transform: translateY(-9px) rotate(-180deg);
    opacity: 1
}

body #cookie-notice .cn-button:focus:not(:focus-visible):not(:hover)::before {
    transform: none
}

body #cookie-notice .cn-button:focus:not(:focus-visible):not(:hover)::after {
    transform: translateY(6px) rotate(0deg);
    opacity: 0
}

body #cookie-notice .cn-button:focus-visible::before {
    box-shadow: 0px 0px 0px 2px var(--white), 0px 0px 12px 0px #FF6AA1;
    transform: none
}

body #cookie-notice .cn-button:focus-visible::after {
    content: none
}

/* Decline / Privacy — secondary */
body #cookie-notice #cn-refuse-cookie,
body #cookie-notice #cn-more-info {
    color: var(--blue) !important
}

body #cookie-notice #cn-refuse-cookie::before,
body #cookie-notice #cn-more-info::before {
    background-color: var(--grey)
}

body #cookie-notice #cn-refuse-cookie::after,
body #cookie-notice #cn-more-info::after {
    background-color: var(--blue)
}

body #cookie-notice #cn-refuse-cookie:hover,
body #cookie-notice #cn-more-info:hover {
    color: var(--blue) !important
}

@media (max-width: 1299px) {
    body #cookie-notice .cn-button {
        min-width: 80px;
        height: 40px;
        padding: 0 20px !important;
        font-size: 14px !important
    }
}

@media (max-width: 575px) {
    body #cookie-notice .cn-button {
        min-width: 70px;
        height: 36px;
        padding: 0 16px !important;
        font-size: 12px !important
    }

    body #cookie-notice .cn-button::after {
        left: 14px
    }
}

body[data-default-status=granted] #cookie-notice #cn-refuse-cookie {
    display: none !important
}

/*---------- COOKIE CONSENT - END ----------*/
