/* =========================================================
   ISIDORA FONT
========================================================= */

@font-face {
    font-family: "Isidora";

    src: url("./assets/fonts/isidora-light.woff")
        format("woff");

    font-weight: 300;
    font-style: normal;

    font-display: swap;
}


/* =========================================================
   RESET
========================================================= */

*,
*::before,
*::after {
    box-sizing: border-box;
}


html,
body {
    margin: 0;
    padding: 0;
}


body {
    min-width: 320px;

    background: #e8def0;

    font-family: "Isidora", sans-serif;
}


/* =========================================================
   MAIN SECTION
========================================================= */

.dev1-cbox-home-past-event-carousel {
    width: 100%;

    overflow: hidden;

    background: #e8def0;

    color: #24112f;

    font-family: "Isidora", sans-serif;
}


/* =========================================================
   CONTAINER
========================================================= */

.dev1-cbox-home-past-event-carousel__container {
    width: 100%;

    max-width: 1828px;

    margin: 0 auto;

    padding:
        68px
        55px
        48px;
}


/* =========================================================
   HEADER
========================================================= */

.dev1-cbox-home-past-event-carousel__header {
    width: 100%;

    display: flex;

    align-items: flex-start;

    justify-content: space-between;

    gap: 70px;

    margin-bottom: 31px;
}


/* =========================================================
   LEFT HEADING AREA
========================================================= */

.dev1-cbox-home-past-event-carousel__heading-wrap {
    flex: 1 1 auto;

    min-width: 0;
}


/* =========================================================
   EYEBROW
========================================================= */

.dev1-cbox-home-past-event-carousel__eyebrow {
    display: flex;

    align-items: center;

    gap: 14px;

    margin: 0 0 17px;

    color: #612d87;

    font-family: "Isidora", sans-serif;

    font-size: 14px;

    font-weight: 300;

    line-height: 1.2;

    letter-spacing: 1.5px;

    text-transform: uppercase;
}


/* =========================================================
   EYEBROW LINE
========================================================= */

.dev1-cbox-home-past-event-carousel__eyebrow-line {
    width: 42px;

    height: 3px;

    flex: 0 0 auto;

    background:
        linear-gradient(
            90deg,
            #ff9d22 0%,
            #f04a9c 100%
        );
}


/* =========================================================
   MAIN TITLE
========================================================= */

.dev1-cbox-home-past-event-carousel__title {
    width: 100%;

    margin: 0;

    color: #612d87;

    font-family: "Isidora", sans-serif;

    font-size: 62px;

    font-weight: 300;

    line-height: 1;

    letter-spacing: -2.8px;

    text-transform: uppercase;

    white-space: nowrap;
}


/* =========================================================
   RIGHT HEADER AREA
========================================================= */

.dev1-cbox-home-past-event-carousel__header-action {
    flex: 0 0 595px;

    width: 595px;

    max-width: 595px;
}


/* =========================================================
   DESCRIPTION
========================================================= */

.dev1-cbox-home-past-event-carousel__description {
    max-width: 590px;

    margin: 0 0 28px;

    color: #766b85;

    font-family: "Isidora", sans-serif;

    font-size: 18px;

    font-weight: 300;

    line-height: 1.8;
}


/* =========================================================
   VIEW ALL BUTTON
========================================================= */

.dev1-cbox-home-past-event-carousel__button {
    width: 270px;

    height: 62px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    padding:
        0
        28px;

    border: 1px solid #612d87;

    background: transparent;

    color: #612d87;

    font-family: "Isidora", sans-serif;

    font-size: 16px;

    font-weight: 300;

    line-height: 1;

    text-decoration: none;

    transition:
        background-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease;
}


.dev1-cbox-home-past-event-carousel__button:hover {
    background: #612d87;

    color: #ffffff;

    transform: translateY(-2px);
}


.dev1-cbox-home-past-event-carousel__button-arrow {
    font-size: 21px;

    line-height: 1;
}


/* =========================================================
   CAROUSEL
========================================================= */

.dev1-cbox-home-past-event-carousel__carousel {
    position: relative;

    width: 100%;
}


/* =========================================================
   VIEWPORT
========================================================= */

.dev1-cbox-home-past-event-carousel__viewport {
    width: 100%;

    overflow: hidden;
}


/* =========================================================
   TRACK
========================================================= */

.dev1-cbox-home-past-event-carousel__track {
    display: flex;

    gap: 21px;

    will-change: transform;

    transition:
        transform 0.65s cubic-bezier(
            0.22,
            0.61,
            0.36,
            1
        );
}


/* =========================================================
   CARD
   REDUCED HEIGHT
========================================================= */

.dev1-cbox-home-past-event-carousel__card {
    flex: 0 0 calc((100% - 63px) / 4);

    min-width: 0;

    overflow: hidden;

    height: 430px;

    border-radius: 27px;

    background: #ffffff;

    box-shadow:
        0 6px 20px rgba(62, 35, 76, 0.025);
}


/* =========================================================
   CARD IMAGE
   REDUCED HEIGHT
========================================================= */

.dev1-cbox-home-past-event-carousel__image-wrap {
    position: relative;

    width: 100%;

    height: 220px;

    overflow: hidden;
}


.dev1-cbox-home-past-event-carousel__image-wrap img {
    width: 100%;

    height: 100%;

    display: block;

    object-fit: cover;

    object-position: center;

    transform: scale(1);

    transition:
        transform 0.6s ease;
}


.dev1-cbox-home-past-event-carousel__card:hover
.dev1-cbox-home-past-event-carousel__image-wrap img {
    transform: scale(1.035);
}


/* =========================================================
   CARD CONTENT
   REDUCED HEIGHT
========================================================= */

.dev1-cbox-home-past-event-carousel__card-content {
    height: 210px;

    min-height: 210px;

    padding:
        24px
        26px
        20px;
}


/* =========================================================
   CATEGORY
========================================================= */

.dev1-cbox-home-past-event-carousel__category {
    display: block;

    margin: 0 0 8px;

    color: #612d87;

    font-family: "Isidora", sans-serif;

    font-size: 13px;

    font-weight: 300;

    line-height: 1.2;

    letter-spacing: 0.8px;

    text-transform: uppercase;
}


/* =========================================================
   CARD TITLE
========================================================= */

.dev1-cbox-home-past-event-carousel__card-title {
    margin: 0;

    color: #160d20;

    font-family: "Isidora", sans-serif;

    font-size: 27px;

    font-weight: 300;

    line-height: 1.17;

    letter-spacing: -0.7px;

    text-transform: uppercase;
}


/* =========================================================
   CARD DESCRIPTION
========================================================= */

.dev1-cbox-home-past-event-carousel__card-description {
    max-width: 340px;

    margin:
        14px
        0
        0;

    color: #877b93;

    font-family: "Isidora", sans-serif;

    font-size: 16px;

    font-weight: 300;

    line-height: 1.7;
}


/* =========================================================
   NAVIGATION
========================================================= */

.dev1-cbox-home-past-event-carousel__navigation {
    position: absolute;

    z-index: 10;

    top: 50%;

    width: 42px;

    height: 70px;

    display: flex;

    align-items: center;

    justify-content: center;

    padding: 0;

    border: 0;

    background: transparent;

    color: #17101e;

    font-family: "Isidora", sans-serif;

    font-size: 48px;

    font-weight: 300;

    line-height: 1;

    cursor: pointer;

    transform: translateY(-50%);

    transition:
        transform 0.2s ease,
        opacity 0.2s ease;
}


.dev1-cbox-home-past-event-carousel__navigation:hover {
    transform:
        translateY(-50%)
        scale(1.12);
}


.dev1-cbox-home-past-event-carousel__navigation span {
    display: block;

    line-height: 1;
}


/* =========================================================
   PREVIOUS
========================================================= */

.dev1-cbox-home-past-event-carousel__navigation--prev {
    left: -48px;
}


/* =========================================================
   NEXT
========================================================= */

.dev1-cbox-home-past-event-carousel__navigation--next {
    right: -48px;
}


/* =========================================================
   PAGINATION
========================================================= */

.dev1-cbox-home-past-event-carousel__pagination {
    display: flex;

    align-items: center;

    justify-content: center;

    gap: 7px;

    margin-top: 20px;
}


.dev1-cbox-home-past-event-carousel__pagination-dot {
    width: 8px;

    height: 8px;

    padding: 0;

    border: 0;

    border-radius: 999px;

    background: rgba(
        97,
        45,
        135,
        0.28
    );

    cursor: pointer;

    transition:
        width 0.25s ease,
        background-color 0.25s ease;
}


.dev1-cbox-home-past-event-carousel__pagination-dot.is-active {
    width: 34px;

    background:
        linear-gradient(
            90deg,
            #ff9d22 0%,
            #ef3c9b 100%
        );
}


/* =========================================================
   LARGE DESKTOP
   1600px+
========================================================= */

@media (min-width: 1600px) {

    .dev1-cbox-home-past-event-carousel__container {
        padding:
            68px
            55px
            42px;
    }


    .dev1-cbox-home-past-event-carousel__title {
        white-space: nowrap;

        font-size: 62px;
    }


    .dev1-cbox-home-past-event-carousel__card {
        flex-basis:
            calc((100% - 63px) / 4);

        height: 430px;
    }


    .dev1-cbox-home-past-event-carousel__image-wrap {
        height: 220px;
    }


    .dev1-cbox-home-past-event-carousel__card-content {
        height: 210px;

        min-height: 210px;
    }

}


/* =========================================================
   DESKTOP
   1401px - 1599px
========================================================= */

@media (min-width: 1401px) and (max-width: 1599px) {

    .dev1-cbox-home-past-event-carousel__container {
        padding:
            60px
            55px
            45px;
    }


    .dev1-cbox-home-past-event-carousel__header {
        gap: 55px;
    }


    .dev1-cbox-home-past-event-carousel__header-action {
        flex-basis: 540px;

        width: 540px;

        max-width: 540px;
    }


    .dev1-cbox-home-past-event-carousel__title {
        font-size: 56px;

        white-space: nowrap;
    }


    .dev1-cbox-home-past-event-carousel__description {
        font-size: 17px;
    }


    .dev1-cbox-home-past-event-carousel__card {
        flex-basis:
            calc((100% - 63px) / 4);

        height: 430px;
    }


    .dev1-cbox-home-past-event-carousel__image-wrap {
        height: 220px;
    }


    .dev1-cbox-home-past-event-carousel__card-content {
        height: 210px;

        min-height: 210px;
    }

}


/* =========================================================
   DESKTOP / SMALL DESKTOP
   1201px - 1400px
========================================================= */

@media (min-width: 1201px) and (max-width: 1400px) {

    .dev1-cbox-home-past-event-carousel__container {
        padding:
            52px
            48px
            43px;
    }


    .dev1-cbox-home-past-event-carousel__header {
        gap: 45px;
    }


    .dev1-cbox-home-past-event-carousel__header-action {
        flex-basis: 475px;

        width: 475px;

        max-width: 475px;
    }


    .dev1-cbox-home-past-event-carousel__title {
        font-size: 48px;

        letter-spacing: -2px;

        white-space: nowrap;
    }


    .dev1-cbox-home-past-event-carousel__description {
        font-size: 16px;

        line-height: 1.7;
    }


    .dev1-cbox-home-past-event-carousel__button {
        width: 250px;

        height: 59px;

        font-size: 15px;
    }


    .dev1-cbox-home-past-event-carousel__card {
        flex-basis:
            calc((100% - 42px) / 3);

        height: 425px;
    }


    .dev1-cbox-home-past-event-carousel__image-wrap {
        height: 215px;
    }


    .dev1-cbox-home-past-event-carousel__card-content {
        height: 210px;

        min-height: 210px;

        padding:
            23px
            24px
            23px;
    }


    .dev1-cbox-home-past-event-carousel__card-title {
        font-size: 25px;
    }


    .dev1-cbox-home-past-event-carousel__card-description {
        font-size: 16px;
    }


    .dev1-cbox-home-past-event-carousel__navigation--prev {
        left: -42px;
    }


    .dev1-cbox-home-past-event-carousel__navigation--next {
        right: -42px;
    }

}


/* =========================================================
   TABLET
   851px - 1200px
========================================================= */

@media (min-width: 851px) and (max-width: 1200px) {

    .dev1-cbox-home-past-event-carousel__container {
        padding:
            45px
            35px
            42px;
    }


    .dev1-cbox-home-past-event-carousel__header {
        display: block;

        margin-bottom: 28px;
    }


    .dev1-cbox-home-past-event-carousel__title {
        font-size:
            clamp(
                44px,
                6vw,
                58px
            );

        white-space: nowrap;
    }


    .dev1-cbox-home-past-event-carousel__header-action {
        width: 100%;

        max-width: 650px;

        margin-top: 23px;
    }


    .dev1-cbox-home-past-event-carousel__description {
        max-width: 650px;

        margin-bottom: 20px;

        font-size: 16px;
    }


    .dev1-cbox-home-past-event-carousel__card {
        flex-basis:
            calc((100% - 21px) / 2);

        height: 425px;
    }


    .dev1-cbox-home-past-event-carousel__image-wrap {
        height: 215px;
    }


    .dev1-cbox-home-past-event-carousel__card-content {
        height: 210px;

        min-height: 210px;

        padding:
            22px
            23px
            22px;
    }


    .dev1-cbox-home-past-event-carousel__card-title {
        font-size: 24px;
    }


    .dev1-cbox-home-past-event-carousel__card-description {
        font-size: 15px;

        line-height: 1.7;
    }


    .dev1-cbox-home-past-event-carousel__navigation--prev {
        left: -32px;
    }


    .dev1-cbox-home-past-event-carousel__navigation--next {
        right: -32px;
    }

}


/* =========================================================
   SMALL TABLET
   601px - 850px
========================================================= */

@media (min-width: 601px) and (max-width: 850px) {

    .dev1-cbox-home-past-event-carousel__container {
        padding:
            42px
            28px
            38px;
    }


    .dev1-cbox-home-past-event-carousel__header {
        display: block;

        margin-bottom: 26px;
    }


    .dev1-cbox-home-past-event-carousel__eyebrow {
        margin-bottom: 14px;

        font-size: 12px;

        letter-spacing: 1.2px;
    }


    .dev1-cbox-home-past-event-carousel__eyebrow-line {
        width: 34px;

        height: 3px;
    }


    .dev1-cbox-home-past-event-carousel__title {
        font-size:
            clamp(
                39px,
                7vw,
                51px
            );

        line-height: 1.02;

        letter-spacing: -1.8px;

        white-space: normal;
    }


    .dev1-cbox-home-past-event-carousel__header-action {
        width: 100%;

        max-width: 650px;

        margin-top: 22px;
    }


    .dev1-cbox-home-past-event-carousel__description {
        font-size: 15px;

        line-height: 1.7;

        margin-bottom: 19px;
    }


    .dev1-cbox-home-past-event-carousel__button {
        width: 245px;

        height: 57px;

        font-size: 14px;
    }


    .dev1-cbox-home-past-event-carousel__card {
        flex-basis: 100%;

        height: auto;

        border-radius: 23px;
    }


    .dev1-cbox-home-past-event-carousel__image-wrap {
        height: 285px;
    }


    .dev1-cbox-home-past-event-carousel__card-content {
        height: auto;

        min-height: 215px;

        padding:
            22px
            23px
            24px;
    }


    .dev1-cbox-home-past-event-carousel__card-title {
        font-size: 25px;
    }


    .dev1-cbox-home-past-event-carousel__card-description {
        font-size: 15px;

        line-height: 1.7;
    }


    .dev1-cbox-home-past-event-carousel__navigation--prev {
        left: -27px;
    }


    .dev1-cbox-home-past-event-carousel__navigation--next {
        right: -27px;
    }

}


/* =========================================================
   MOBILE
   381px - 600px
========================================================= */

@media (min-width: 381px) and (max-width: 600px) {

    .dev1-cbox-home-past-event-carousel__container {
        padding:
            34px
            18px
            32px;
    }


    .dev1-cbox-home-past-event-carousel__header {
        display: block;

        margin-bottom: 24px;
    }


    .dev1-cbox-home-past-event-carousel__eyebrow {
        gap: 10px;

        margin-bottom: 13px;

        font-size: 10px;

        letter-spacing: 0.9px;
    }


    .dev1-cbox-home-past-event-carousel__eyebrow-line {
        width: 28px;

        height: 3px;
    }


    .dev1-cbox-home-past-event-carousel__title {
        font-size:
            clamp(
                34px,
                9.5vw,
                46px
            );

        line-height: 1.03;

        letter-spacing: -1.5px;

        white-space: normal;
    }


    .dev1-cbox-home-past-event-carousel__header-action {
        width: 100%;

        max-width: none;

        margin-top: 19px;
    }


    .dev1-cbox-home-past-event-carousel__description {
        margin-bottom: 18px;

        font-size: 14px;

        line-height: 1.65;
    }


    .dev1-cbox-home-past-event-carousel__button {
        width: 230px;

        height: 54px;

        padding:
            0
            20px;

        font-size: 14px;
    }


    .dev1-cbox-home-past-event-carousel__track {
        gap: 14px;
    }


    .dev1-cbox-home-past-event-carousel__card {
        flex-basis: 100%;

        height: auto;

        border-radius: 20px;
    }


    .dev1-cbox-home-past-event-carousel__image-wrap {
        height: 240px;
    }


    .dev1-cbox-home-past-event-carousel__card-content {
        height: auto;

        min-height: 215px;

        padding:
            20px
            21px
            22px;
    }


    .dev1-cbox-home-past-event-carousel__category {
        margin-bottom: 8px;

        font-size: 10px;
    }


    .dev1-cbox-home-past-event-carousel__card-title {
        font-size: 22px;

        line-height: 1.17;

        letter-spacing: -0.5px;
    }


    .dev1-cbox-home-past-event-carousel__card-description {
        margin-top: 13px;

        font-size: 14px;

        line-height: 1.7;
    }


    .dev1-cbox-home-past-event-carousel__navigation {
        width: 32px;

        height: 50px;

        font-size: 38px;
    }


    .dev1-cbox-home-past-event-carousel__navigation--prev {
        left: -21px;
    }


    .dev1-cbox-home-past-event-carousel__navigation--next {
        right: -21px;
    }


    .dev1-cbox-home-past-event-carousel__pagination {
        margin-top: 17px;
    }


    .dev1-cbox-home-past-event-carousel__pagination-dot {
        width: 7px;

        height: 7px;
    }


    .dev1-cbox-home-past-event-carousel__pagination-dot.is-active {
        width: 28px;
    }

}


/* =========================================================
   VERY SMALL MOBILE
   320px - 380px
========================================================= */

@media (max-width: 380px) {

    .dev1-cbox-home-past-event-carousel__container {
        padding:
            30px
            15px
            30px;
    }


    .dev1-cbox-home-past-event-carousel__header {
        margin-bottom: 22px;
    }


    .dev1-cbox-home-past-event-carousel__eyebrow {
        gap: 8px;

        margin-bottom: 11px;

        font-size: 9px;

        letter-spacing: 0.7px;
    }


    .dev1-cbox-home-past-event-carousel__eyebrow-line {
        width: 25px;

        height: 3px;
    }


    .dev1-cbox-home-past-event-carousel__title {
        font-size: 32px;

        line-height: 1.03;

        letter-spacing: -1.2px;

        white-space: normal;
    }


    .dev1-cbox-home-past-event-carousel__header-action {
        margin-top: 17px;
    }


    .dev1-cbox-home-past-event-carousel__description {
        margin-bottom: 16px;

        font-size: 13px;

        line-height: 1.65;
    }


    .dev1-cbox-home-past-event-carousel__button {
        width: 215px;

        height: 51px;

        padding:
            0
            18px;

        font-size: 13px;
    }


    .dev1-cbox-home-past-event-carousel__button-arrow {
        font-size: 18px;
    }


    .dev1-cbox-home-past-event-carousel__image-wrap {
        height: 215px;
    }


    .dev1-cbox-home-past-event-carousel__card-content {
        min-height: 205px;

        padding:
            19px
            19px
            21px;
    }


    .dev1-cbox-home-past-event-carousel__category {
        font-size: 9px;
    }


    .dev1-cbox-home-past-event-carousel__card-title {
        font-size: 20px;

        line-height: 1.17;
    }


    .dev1-cbox-home-past-event-carousel__card-description {
        margin-top: 12px;

        font-size: 13px;

        line-height: 1.65;
    }


    .dev1-cbox-home-past-event-carousel__navigation {
        width: 29px;

        height: 45px;

        font-size: 35px;
    }


    .dev1-cbox-home-past-event-carousel__navigation--prev {
        left: -19px;
    }


    .dev1-cbox-home-past-event-carousel__navigation--next {
        right: -19px;
    }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .dev1-cbox-home-past-event-carousel__track,
    .dev1-cbox-home-past-event-carousel__image-wrap img,
    .dev1-cbox-home-past-event-carousel__button,
    .dev1-cbox-home-past-event-carousel__navigation,
    .dev1-cbox-home-past-event-carousel__pagination-dot {
        transition: none;
    }

}