/* Mollusca Slider — Component CSS */

/* SLIDER SECTIONS */
.slider-sections {
    width: 100vw;
    height: 100vh;
    height: calc(var(--vh, 1vh)*100);
    position: relative;
    overflow: hidden;
}

.slider-sections-wrapper {
    width: 100vw;
    height: 100vh;
    height: calc(var(--vh, 1vh)*100);
    position: relative;
}

.slider-sections-wrapper .swiper-container {
    height: 100%;
}

/* ARROWS */
.slider-sections-arrow-next {
    position: absolute;
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
    top: calc(var(--vh, 1vh)*50 - 2rem);
    z-index: 10;
    cursor: pointer;
    left: auto;
    transition: all 0.5s ease;
    width: auto;
    display: inline-block;
    border: none;
}

.slider-sections-arrow-next svg path {
    fill: var(--text-color-light-2);
    transition: all 0.5s ease;
}

.slider-sections-arrow-next:hover svg path {
    fill: var(--text-color-light-1);
}

.slider-sections-arrow-next:hover {
    transform: translateX(0.5rem);
}

@media (min-width: 992px) and (max-width: 1199.98px) { .slider-sections-arrow-next { right: var(--gutter-container-lg); } }
@media (min-width: 1200px) and (max-width: 1399.98px) { .slider-sections-arrow-next { right: var(--gutter-container-xl); } }
@media (min-width: 1400px) { .slider-sections-arrow-next { right: var(--gutter-container-xxl); } }

/* CONTROL BAR */
.slider-sections-control {
    position: relative;
    bottom: 3rem!important;
    transform: none;
}

@media (max-width: 991.98px) {
    .slider-sections-control {
        position: initial;
        bottom: auto!important;
    }

    .slider-sections-control-mobile-wrapper {
        position: absolute;
        transform: rotate(90deg);
        right: 1rem;
        z-index: 1;
        bottom: 3.5rem;
        max-width: calc(var(--vh)*100)!important;
        width: calc(var(--vh)*55)!important;
        transform-origin: 95% 100%;
        padding-right: 0;
        padding-left: 0;
        margin-right: 0;
        margin-left: 0;
    }
}

@media (min-width: 576px) and (max-width: 767.98px) {
    .slider-sections-control-mobile-wrapper {
        right: calc(var(--gutter-container-sm) + 0.5rem);
    }
}

@media (min-width: 768px) and (max-width: 991.98px) {
    .slider-sections-control-mobile-wrapper {
        right: calc(var(--gutter-container-md) + 0.5rem);
    }
}

/* CONTROL - CEO LINK */
.slider-sections-control-link {
    font-size: 8px;
    line-height: 150%;
    text-align: left;
    text-transform: uppercase!important;
    color: var(--text-color-dark-2);
    z-index: 1;
    text-decoration: none;
    transition: all 0.5s ease;
}

.slider-sections-control-link:hover {
    color: var(--text-color-light-1);
    opacity: 1;
}

.slider-sections-control-link svg {
    width: 10px;
    height: 10px;
    margin-left: 0.0rem;
}

.slider-sections-control-link svg path {
    fill: var(--text-color-dark-2);
}

.slider-sections-control-link:hover svg path {
    fill: var(--text-color-light-1);
}

/* CONTROL - LINE */
.slider-sections-control-line {
    height: 1px;
    background: var(--text-color-dark-2);
    z-index: 1;
    width: 100%;
}

@media (max-width: 991.98px) {
    .slider-sections-control-line {
        background: var(--text-color-light-2);
        opacity: 0.2;
    }
}

/* CONTROL - NUMBERS */
.slider-sections-control-numbers {
    z-index: 1;
    font-family: 'Cormorant', serif;
    font-size: 28px;
    color: var(--text-color-dark-2);
    line-height: 40%;
}

@media (max-width: 991.98px) {
    .slider-sections-control-numbers {
        transform: rotate(-90deg);
        color: var(--text-color-light-2);
        opacity: 0.2;
    }
}

/* CONTROL - PAGINATION */
.slider-sections-pagination {
    width: 100%!important;
    position: relative!important;
}

.slider-sections-pagination .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--text-color-dark-2);
    transition: all 0.5s ease;
    margin-right: 6px;
}

@media (max-width: 991.98px) {
    .slider-sections-pagination .swiper-pagination-bullet {
        background: var(--text-color-light-2);
        opacity: 0.2;
    }
}

.slider-sections-pagination .swiper-pagination-bullet:hover {
    background: var(--text-color-light-2);
}

.slider-sections-pagination .swiper-pagination-bullet-active {
    opacity: 1!important;
    background: var(--text-color-light-1);
}

/* SLIDE */
.slider-sections-slide {
    width: 100vw;
    height: 100vh;
    height: calc(var(--vh, 1vh)*100);
    position: relative;
    transition: all 2s ease;
    background: var(--background-color-dark-1);
}

.slider-sections-slide .container {
    position: relative;
    z-index: 2;
}

.slider-sections-slide .container > .row {
    width: 100%;
}

@media (max-width: 991.98px) {
    .slider-sections-slide .container { bottom: 3.5rem!important; }
}

/* SLIDE - IMAGE */
.slider-sections-slide-image-wrapper {
    width: 90vw;
    left: 5vw;
    height: 100%;
    position: absolute;
    overflow: hidden;
}

.slider-sections-slide--version-halfscreen .slider-sections-slide-image-wrapper {
    width: 50vw;
    left: 25vw;
}

.slider-sections-slide-image {
    position: relative;
    height: 100%;
    width: 100%;
    background-size: cover;
    background-position: center center;
}

.slider-sections-overlay {
    position: absolute;
    transition: all 3s linear;
    bottom: -3px;
    left: 0;
    width: 100%;
    height: 103%;
    z-index: 1;
    background: linear-gradient(90.22deg, #111111 1.87%, rgba(17, 17, 17, 0) 36.71%),
                linear-gradient(270deg, #111111 0%, rgba(17, 17, 17, 0) 45.87%),
                linear-gradient(14.29deg, #111111 3.83%, rgba(17, 17, 17, 0) 37.96%),
                linear-gradient(345.55deg, #111111 6.19%, rgba(17, 17, 17, 0) 44.97%),
                linear-gradient(132.62deg, #111111 7.55%, rgba(17, 17, 17, 0) 41.03%),
                linear-gradient(226.33deg, #111111 9.45%, rgba(17, 17, 17, 0) 39.74%),
                linear-gradient(180deg, rgba(17, 17, 17, 0) 60.94%, #111111 100%),
                linear-gradient(180deg, #111111 1.98%, rgba(17, 17, 17, 0) 40.05%);
}

@media (max-width: 991.98px) {
    .slider-sections-slide-image-wrapper,
    .slider-sections-slide--version-halfscreen .slider-sections-slide-image-wrapper {
        width: 100vw;
        left: 0vw;
        height: 100%;
        position: absolute;
        overflow: hidden;
    }

    .slider-sections-overlay {
        background: linear-gradient(180deg, rgba(0, 0, 0, 0) 10.9%, rgba(0, 0, 0, 0.96) 100%);
    }
}

/* SLIDE - TITLE */
.slider-sections-slide-title {
    font-size: 86px;
    line-height: 80%;
    font-family: 'Cormorant', serif;
    letter-spacing: 0.00em;
    position: relative;
    margin-bottom: 2.5rem;
    text-decoration: none;
}

@media (max-width: 1199.98px) { .slider-sections-slide-title { font-size: 72px; margin-bottom: 2rem; } }
@media (max-width: 991.98px) { .slider-sections-slide-title { font-size: 56px; margin-bottom: 1rem; } }
@media (max-width: 767.98px) { .slider-sections-slide-title { font-size: 42px; } }
@media (max-width: 575.98px) { .slider-sections-slide-title { font-size: 36px; } }
@media (max-width: 374.98px) { .slider-sections-slide-title { font-size: 32px!important; } }

/* SLIDE - DESCRIPTION */
.slider-sections-slide-description {
    text-transform: uppercase;
    margin-bottom: 2rem;
    font-size: 12px;
    color: var(--text-color-light-1);
    line-height: 200%;
    text-decoration: none;
}

@media (max-width: 991.98px) { .slider-sections-slide-description { margin-top: 0.5rem; margin-bottom: 2rem; } }
@media (max-width: 767.98px) { .slider-sections-slide-description { font-size: 10px; } }
@media (max-width: 374.98px) { .slider-sections-slide-description { font-size: 8px!important; } }

/* SLIDE - BUTTON */
.slider-sections-slide-button {
    position: relative;
    cursor: pointer;
    text-decoration: none;
    z-index: 2;
    display: inline-block;
    transition: all 0.5s ease;
    color: var(--text-color-light-2);
    width: auto;
    margin-left: 5rem;
    margin-top: 1rem;
    text-transform: uppercase!important;
    padding-top: 1rem;
    padding-bottom: 1rem;
    padding-right: 0;
    line-height: 100%;
    font-size: 10px;
}

.slider-sections-slide-button:hover {
    color: var(--text-color-light-1)!important;
}

.slider-sections-slide-button:hover svg path {
    fill: var(--text-color-light-1)!important;
}

.slider-sections-slide-button svg {
    width: 2rem;
    margin-left: 1rem;
    display: none;
}

.slider-sections-slide-button svg path {
    fill: var(--text-color-light-2);
}

@media (min-width: 992px) { .slider-sections-slide-button { padding-left: 0; } }
@media (max-width: 991.98px) { .slider-sections-slide-button { font-size: 14px; margin-left: 0rem; padding-top: 0; padding-bottom: 0; } .slider-sections-slide-button svg { display: flex; } }
@media (max-width: 767.98px) { .slider-sections-slide-button { font-size: 12px; } }
@media (max-width: 374.98px) { .slider-sections-slide-button { font-size: 10px!important; } }

.slider-sections-slide-button::after {
    content: '';
    width: 100%;
    height: 1px;
    background: var(--text-color-light-2);
    position: absolute;
    bottom: 0rem;
    left: 0.5rem;
    transition: all 0.5s ease;
    transform: scaleY(0.5);
}

.slider-sections-slide-button:hover::after {
    left: 1.5rem!important;
    background: var(--text-color-light-1);
}

@media (max-width: 991.98px) { .slider-sections-slide-button::after { content: none; } }

/* SLIDE - UNDERTITLE */
.slider-sections-slide-undertitle {
    font-size: 14rem;
    line-height: 100%;
    font-family: 'Cormorant', serif;
    font-weight: 600;
    letter-spacing: 0.00em;
    text-transform: uppercase;
    opacity: 0.05;
    z-index: 1;
    position: absolute;
    margin-left: -30vw;
    margin-top: -5rem;
    transition: all 1s linear;
    display: inline-block;
    width: auto;
}

@media (max-width: 991.98px) {
    .slider-sections-slide-undertitle {
        font-size: 8rem;
        margin-top: -4rem;
    }
}

@media (max-width: 767.98px) {
    .slider-sections-slide-undertitle {
        margin-left: -50vw;
    }
}

.slider-sections-slide.swiper-slide-next .slider-sections-slide-undertitle {
    top: calc(var(--vh)*20);
    margin-top: 0;
}

/* SWIPE ANIMATION */
.swipe-animation {
    position: absolute;
    top: 40%;
    z-index: 999999999999999;
    left: 70%;
}

html.desktop .swipe-animation {
    display: none!important;
    opacity: 0!important;
}

.swipe-animation-general {
    width: 2.8rem;
    height: 2.8rem;
    background: #fff;
    border-radius: 50%;
    top: 0;
    position: absolute;
    opacity: 0;
}

.swipe-animation-shadow {
    width: 2.8rem;
    height: 2.8rem;
    background: #fff;
    border-radius: 50%;
    top: 0;
    position: absolute;
    opacity: 0;
}

.swipe-animation {
    animation: swipe-animation-keyframe 0.1s forwards;
    animation-delay: 4s;
}

@keyframes swipe-animation-keyframe {
    from { transform: translateY(1); opacity: 0; }
    to { transform: translateY(-200vh); opacity: 0; }
}

.swipe-animation-general {
    animation: swipe-animation-general-keyframe 3s forwards;
    animation-delay: 1s;
}

@keyframes swipe-animation-general-keyframe {
    from { transform: translateY(1); opacity: 0.5; }
    to { transform: translateY(-15vh); opacity: 0; }
}

.swipe-animation-shadow {
    animation: swipe-animation-shadow-keyframe 3s forwards;
    animation-delay: 1.2s;
}

@keyframes swipe-animation-shadow-keyframe {
    from { transform: translateY(1); opacity: 0.3; }
    to { transform: translateY(-15vh); opacity: 0; }
}
