/* ============================================================== */

.full-height {
    height: 100%;
}

.full-width {
    width: 100%;
}

/* ============================================================== */
.body-overlay{
    position: fixed;
    z-index: 999;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: rgba(0, 0, 0, 0.6587009803921569);
    opacity: 0;
    pointer-events: none;
}

.body-overlay[data-visible]{

    opacity: 1;
    pointer-events: all;

}

.pointer-events-none{
    pointer-events: none !important;
}


.no-transition,
.no-transition * {
    transition: 0ms !important;
    transition-duration: 0ms !important;
}

body[data-prevent-spam]::after{
    content: "";
    position: fixed;
    z-index: 999999;
    height: 100vh;
    width: 100vw;
    background: transparent;
    top: 0;
    left: 0;

}


/* ============================================================== */

.bg-purple {
    background-color: var(--bg-purple);
}

.bg-white {
    background-color: var(--bg-white)
}

.bg-gray {
    background-color: var(--bg-gray);
}

.bg-gradient {
    position: relative;
}

.bg-full-gradient {
    background: var(--background-gradient-full);
}

.bg-gradient::after {
    content: '';
    position: absolute;
    height: 100%;
    width: 100%;
    left: 0;
    top: 0;
    background: linear-gradient(180deg, #120CE8 52%, #e485f4 100%);
    opacity: .1;
    clip-path: polygon(0 0, 100% 0%, 100% 52%, 0 100%);
    z-index: -1;   
}

.image-container,
.video-container,
.position-relative {
    position: relative;
}

.overflow-hidden,
.video-container,
.image-container {
    overflow: hidden;
}

.position-absolute,
.image-container__image,
.video-container__video {
    position: absolute;
}

.image-container__image,
.video-container__video {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 1;
}

.image-container,
.video-container {
    padding-bottom: calc(100% / (var(--aspect-ratio)));
    isolation: isolate;
}

a.image-container {
    display: block;
}

.image-container--16-9 {
    --aspect-ratio: 16/9;
}

.image-container--1-1 {
    --aspect-ratio: 1/1;
}

.image-container--supplier-ratio {
    --aspect-ratio: 159/200;
}

.image-container--circle-image {
    border-radius: var(--border-radius-50);
}


/* ============================================================== */

.border-radius-5 {
    border-radius: var(--border-radius-5);
}

.border-radius-10 {
    border-radius: var(--border-radius-10);
}

.border-radius-15 {
    border-radius: var(--border-radius-15);
}

.border-radius-50-p {
    border-radius: var(--border-radius-50-p);
}

.border-radius-full {
    border-radius: var(--border-radius-full);
}

/* ============================================================== */

strong {
    font-family: var(--f-bold);
}

.f-12>*,
.f-12 {
    font-size: var(--f-12);
}

.f-13>*,
.f-13 {
    font-size: var(--f-13);
}

.f-14>*,
.f-14 {
    font-size: var(--f-14);
}

.f-15>*,
.f-15 {
    font-size: var(--f-15);
}

.f-16>*,
.f-16 {
    font-size: var(--f-16);
}

.f-17>*,
.f-17 {
    font-size: var(--f-17);
}

.f-18>*,
.f-18 {
    font-size: var(--f-18);
}

.f-19>*,
.f-19 {
    font-size: var(--f-19);
}

.f-20>*,
.f-20 {
    font-size: var(--f-20);
}

.f-22>*,
.f-22 {
    font-size: var(--f-22);
}

.f-24>*,
.f-24 {
    font-size: var(--f-24);
}

.f-30>*,
.f-30 {
    font-size: var(--f-30);
}


.f-bold>*,
.f-bold {
    font-family: var(--f-bold);
}

.f-uppercase>*,
.f-uppercase {
    text-transform: var(--f-uppercase);
}

.f-italic>*,
.f-italic {
    font-style: var(--f-italic);
}

.f-gray>*,
.f-gray {
    color: var(--c-gray);
}

/* ============================================================== */

.margin-bottom-children-5>*:not(:last-child) {
    margin-bottom: var(--distance-5);
}

.margin-bottom-children-10>*:not(:last-child) {
    margin-bottom: var(--distance-10);
}

.margin-bottom-children-15>*:not(:last-child) {
    margin-bottom: var(--distance-15);
}

.margin-bottom-children-20>*:not(:last-child) {
    margin-bottom: var(--distance-20);
}

.margin-bottom-children-25>*:not(:last-child) {
    margin-bottom: var(--distance-25);
}

.margin-bottom-children-30>*:not(:last-child) {
    margin-bottom: var(--distance-30);
}

.margin-bottom-children-40>*:not(:last-child) {
    margin-bottom: var(--distance-40);
}

.margin-bottom-children-50>*:not(:last-child) {
    margin-bottom: var(--distance-50);
}

.margin-bottom-children-80>*:not(:last-child) {
    margin-bottom: var(--distance-80);
}

@media print,
screen and (min-width: 1024px) {

    .large-margin-bottom-children-5>*:not(:last-child) {
        margin-bottom: var(--distance-5);
    }

    .large-margin-bottom-children-10>*:not(:last-child) {
        margin-bottom: var(--distance-10);
    }

    .large-margin-bottom-children-15>*:not(:last-child) {
        margin-bottom: var(--distance-15);
    }

    .large-margin-bottom-children-20>*:not(:last-child) {
        margin-bottom: var(--distance-20);
    }

    .large-margin-bottom-children-25>*:not(:last-child) {
        margin-bottom: var(--distance-25);
    }

    .large-margin-bottom-children-30>*:not(:last-child) {
        margin-bottom: var(--distance-30);
    }

    .large-margin-bottom-children-40>*:not(:last-child) {
        margin-bottom: var(--distance-40);
    }

    .large-margin-bottom-children-50>*:not(:last-child) {
        margin-bottom: var(--distance-50);
    }

    .large-margin-bottom-children-80>*:not(:last-child) {
        margin-bottom: var(--distance-80);
    }

    
    .section {
        padding: 5.625rem 0;
    }

    .section .grid-container>*:not(:last-child) {
        margin-bottom: var(--distance-50);
    }

    .section--swiper .swiper-slide > *:first-child,
    .swiper-fade .swiper-slide > *:first-child {
        transition: var(--transition);
    } 

    .section--swiper .swiper-slide.swiper-slide-visible > *:first-child,
    .swiper-fade .swiper-slide.swiper-slide-visible > *:first-child {
        opacity: 1;
        pointer-events: all;
    }

    .section--swiper .swiper-slide > *:first-child,
    .swiper-fade .swiper-slide > *:first-child {
        opacity: 0;
        pointer-events: none;
        transition-property: opacity;
    }


    .large-f-12,
    .large-f-12>* {
        font-size: var(--f-12);
    }

    .large-f-13,
    .large-f-13>* {
        font-size: var(--f-13);
    }

    .large-f-14,
    .large-f-14>* {
        font-size: var(--f-14);
    }

    .large-f-15,
    .large-f-15>* {
        font-size: var(--f-15);
    }

    .large-f-16,
    .large-f-16>* {
        font-size: var(--f-16);
    }

    .large-f-17,
    .large-f-17>* {
        font-size: var(--f-17);
    }

    .large-f-18,
    .large-f-18>* {
        font-size: var(--f-18);
    }

    .large-f-19,
    .large-f-19>* {
        font-size: var(--f-19);
    }

    .large-f-20,
    .large-f-20>* {
        font-size: var(--f-20);
    }

    .large-f-22,
    .large-f-22>* {
        font-size: var(--f-22);
    }

    .large-f-24,
    .large-f-24>* {
        font-size: var(--f-24);
    }

    .large-f-30,
    .large-f-30>* {
        font-size: var(--f-30);
    }

}

@media print,
screen and (max-width: 1023px) {


    .small-margin-bottom-children-5>*:not(:last-child) {
        margin-bottom: var(--distance-5);
    }

    .small-margin-bottom-children-10>*:not(:last-child) {
        margin-bottom: var(--distance-10);
    }

    .small-margin-bottom-children-15>*:not(:last-child) {
        margin-bottom: var(--distance-15);
    }

    .small-margin-bottom-children-20>*:not(:last-child) {
        margin-bottom: var(--distance-20);
    }

    .small-margin-bottom-children-25>*:not(:last-child) {
        margin-bottom: var(--distance-25);
    }

    .small-margin-bottom-children-30>*:not(:last-child) {
        margin-bottom: var(--distance-30);
    }

    .small-margin-bottom-children-40>*:not(:last-child) {
        margin-bottom: var(--distance-40);
    }

    .small-margin-bottom-children-50>*:not(:last-child) {
        margin-bottom: var(--distance-50);
    }

    .small-margin-bottom-children-80>*:not(:last-child) {
        margin-bottom: var(--distance-80);
    }

    .section {
        padding: 2.5rem 0;
    }

    .section .grid-container>*:not(:last-child) {
        margin-bottom: var(--distance-30);
    }

    .small-f-12,
    .small-f-12>* {
        font-size: var(--f-12);
    }

    .small-f-13,
    .small-f-13 > * {
        font-size: var(--f-13);
    }

    .small-f-14,
    .small-f-14 > * {
        font-size: var(--f-14);
    }

    .small-f-15,
    .small-f-15 > * {
        font-size: var(--f-15);
    }

    .small-f-16,
    .small-f-16 > * {
        font-size: var(--f-16);
    }

    .small-f-17,
    .small-f-17 > * {
        font-size: var(--f-17);
    }

    .small-f-18,
    .small-f-18 > * {
        font-size: var(--f-18);
    }

    .small-f-19,
    .small-f-19 > * {
        font-size: var(--f-19);
    }

    .small-f-20,
    .small-f-20 > * {
        font-size: var(--f-20);
    }

    .small-f-22,
    .small-f-22 > * {
        font-size: var(--f-22);
    }

    .small-f-24,
    .small-f-24 > * {
        font-size: var(--f-24);
    }

    .small-f-30,
    .small-f-30 > * {
        font-size: var(--f-30);
    }
}


/* ============================================================== */

.full-width {
    width: 100%;
}

