ul.row,
ol.row {
    list-style-type: none;
}

.before::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
}

.after::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
}

.icon {
    display: block;
    font-family: 'la-zona-icons';
    font-style: normal !important;
    font-variant: normal;
    text-transform: none;
    line-height: 1em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.icon:before,
.icon:after {
    display: block;
    width: 1em;
    height: 1em
}

.absolute {
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    width: 100%;
    height: 100%;
}

.section {
    width: 100%;
}

.figure img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    user-select: none;

    &.t-opacity {
        opacity: 0;
        transition: opacity 200ms linear;

        &.loaded {
            opacity: 1;
        }
    }
}

.media-con {
    display: block;
    overflow: hidden;
    background: no-repeat center center;
    background-size: cover;
}

.media-cover>img,
.media-cover>video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.media-con>video,
.media-con>img,
.figure {
    width: 100%;
    height: 100%;
}

.watermark,
.watermark * {
    pointer-events: none;
    user-select: none;
    -webkit-user-drag: none;
}

.no-drag-con * {
    -webkit-user-drag: none;
}

.sr-only {
    overflow: hidden !important;
    z-index: -9999 !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    width: 1px !important;
    height: 1px !important;
    white-space: nowrap !important;
}

@include lg-wmin {
    .media-xs {
        display: none !important;
    }
}

@include lg-wmax {
    .media-lg {
        display: none !important;
    }
}

.o_panel {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;

    &.o_panel-t--opacity {
        opacity: 0;
        transition: opacity $transitionDuration;

        &.active {
            position: relative;
            z-index: 1;
            opacity: 1;
        }
    }

    &.o_panel-t--scale {
        transform: scale3d(.9, .9, 1);
        opacity: 0;
        transition: opacity $transitionDuration, transform $transitionDuration;

        &.active {
            position: relative;
            z-index: 1;
            transform: scale3d(1, 1, 1);
            opacity: 1;
            transition: opacity $transitionDuration, transform 2000ms cubic-bezier(.1, .75, 0, 1);
        }
    }

    &:not(.active) {
        pointer-events: none;
    }
}

.rich-text {
    font-size: $text-body;

    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
        font-weight: 700;

        &:not(:first-child) {
            padding-top: 1em;
        }
    }

    h1 {
        font-size: 1.6em;
    }

    h2 {
        font-size: 1.5em;
    }

    h3 {
        font-size: 1.4em;
    }

    h4 {
        font-size: 1.3em;
    }

    h5 {
        font-size: 1.2em;
    }

    h6 {
        font-size: 1.1em;
    }

    * {
        line-height: 1.4em;

        &:not(:last-child):not(li) {
            margin-bottom: 1em;
        }
    }

    ol,
    ul {
        list-style-type: initial;
        padding-left: 2em;
    }

    li {
        &::marker {
            font-weight: 700;
            font-size: 1.2em;
        }

        &:not(:last-child),
        *:not(:last-child) {
            margin-bottom: 0.5em;
        }
    }

    a {
        text-decoration: underline;
    }

    table:not([class]) {
        table-layout: fixed;
        border-collapse: collapse;
        border-style: hidden;
        border: 1px solid rgba($duller, .2);

        td,
        th {
            padding: 1em;
            border: 1px solid rgba($duller, .2);
        }
    }
}

.keen-slider {
    list-style: none;

    &:not([data-keen-slider-disabled]) {
        align-content: flex-start;
        display: flex;
        overflow: hidden;
        position: relative;
        user-select: none;
        -webkit-touch-callout: none;
        -khtml-user-select: none;
        -ms-touch-action: pan-y;
        touch-action: pan-y;
        -webkit-tap-highlight-color: transparent;
        width: 100%;

        .keen-slider__slide {
            position: relative;
            overflow: hidden;
            width: 100%;
            min-height: 100%;
        }

        &[data-keen-slider-reverse] {
            flex-direction: row-reverse;
        }

        &[data-keen-slider-v] {
            flex-wrap: wrap;
        }
    }
}

.o_overlay {
    z-index: -1;
    background-color: rgba($primaryClear, .15);
    cursor: pointer;
}

.o_ring {

    &--before::before,
    &--after::after {
        content: "";
        position: absolute;
        z-index: -1;
        display: block;
        border: rgba($primaryClear, .25) solid;
        border-radius: 50%;
        pointer-events: none;
    }
}

.sxs-fdin {
    opacity: 0;
    transform: translate3d(0, calc(2rem + 5vh + 5vw), 1px);
    transition: transform 1000ms, opacity 1000ms;
    transition-delay: calc(var(--_idx) * 200ms);

    &.anmt {
        opacity: 1;
        transform: translate3d(0, 0, 1px);
    }
}

.o_tot {
    opacity: 0;
    transform: translate3d(0, 2rem, 1px);
    transition: transform 1000ms, opacity 1000ms;

    &.anmt {
        opacity: 1;
        transform: translate3d(0, 0, 1px);
    }
}

.o_suspended {
    $base : #EFEFEF;
    $shine: #FCFCFC;
    background: linear-gradient(-90deg, $base 0% 40%, $shine 50%, $base 60% 100%);
    background-size: 400% 400%;
    animation: _ld-4kuca 1200ms ease-in-out infinite;
    pointer-events: none;

    @keyframes _ld-4kuca {
        0% {
            background-position: 0% 0%;
        }

        100% {
            background-position: -135% 0%;
        }
    }
}