/*! CSS compiled by Switch - DO NOT EDIT THIS FILE ANY CHANGES WILL BE LOST */

/*! variables */

/*! mixins */

.carousel {
    margin: 0;
    padding: 0
}

.carousel .flickity-prev-next-button {
    display: none
}

.carousel .flickity-enabled {
    opacity: 1
}

.carousel .flickity-enabled .carousel__cell {
    visibility: visible
}

.carousel-container {
    position: relative;
    height: 280px;
    margin: 0;
    opacity: 0;
    -webkit-transition: opacity .3s ease-in-out;
    transition: opacity .3s ease-in-out
}

.carousel__cell {
    width: 100%;
    height: 100%;
    overflow: hidden;
    visibility: hidden
}

.carousel__image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: cover
}

.carousel__video-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.carousel__video {
    position: absolute;
    top: 50%;
    left: 50%;
    width: auto;
    min-width: 100%;
    height: auto;
    min-height: 100%;
    -o-object-fit: initial;
    object-fit: initial;
    -webkit-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%)
}

.carousel__content-container {
    position: relative;
    max-width: 1296px;
    height: 100%;
    margin: 0 auto
}

.carousel__content {
    position: absolute;
    padding: 24px;
    border-radius: 3px;
    color: #fff
}

.carousel__desc {
    /* display: none; */  
    position: relative
}

.carousel__desc--hidden-mobi {
    display: none;       
}

.carousel__content-bg {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: .7
}

.carousel__imagination-bubble {
    position: relative;
    left: -4px;
    margin: 0 0 .75rem;
    font-size: 3rem
}

.carousel__content-title {
    display: block;
    position: relative;
    margin: 0 0 .375rem;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.2;
}

.carousel__cta {
    position: relative;
    margin: 15px 0 0;           /* UPDATE 29/07 */
}

.carousel--no-ui-desktop .flickity-page-dots, .carousel--no-ui-desktop .flickity-prev-next-button {
    display: none!important
}

.carousel--single-slide .flickity-page-dots, .carousel--single-slide .flickity-prev-next-button {
    display: none!important
}

.carousel--full-height .carousel-container {
    height: 360px
}

.carousel-content-container-new {
    position: relative;
    max-width: 1296px;
    height: 100%;
    margin: 0 auto;
}

.carousel-content-container-new .carousel-wrap {
    position: absolute;
    background: transparent;
    width: fit-content;
    /* top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); */
}

.carousel-wrap--center {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.carousel-content-new {
    position: absolute;
    padding: 40px;
    border-radius: 3px;
    color: #fff;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 270px;
}

.carousel-content-new--customize {
    position: absolute;
    padding: 40px;
    border-radius: 3px;
    color: #fff;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 270px;
}

.carousel-content-title-new {
    display: block;
    position: relative;
    margin: 0 0 .375rem;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.2;
}

.carousel-desc-new {
    display: none;
    position: relative
}

.carousel-imagination-bubble-new {
    position: relative;
    left: -4px;
    margin: 0 0 .75rem;
    font-size: 22rem;
    opacity: 0.7;
}

.carousel-imagination-bubble-new--customize {
    left: 0;
    font-size: 17rem;
}

.carousel-cta-new {
    position: relative;
    margin: 0;
    font-size: 14px;
}

@media screen and (max-width:767px) {
    .carousel__content {
        min-height: 25%;  
        top: 24px;        
        right: 12px;      
        left: 12px;       
        width: auto;      
    }
}

/* UPDATE 29/07 */
@media screen and (min-width:767px) {
    .carousel__cta {
        margin: 0;
    }
}

@media screen and (min-width:440px) {
    .carousel__cta {
        display: inline-block
    }
}

@media screen and (min-width:768px) {
    .carousel__content {
        max-width: 61.81%
    }
    .carousel__desc {
        display: block;
        margin-bottom: .75rem;
    }
    .carousel-wrap--center {
        top: auto;
        left: auto;
        transform: translateY(0),
    }
    .carousel__content--bottom-left, .carousel__content--middle-left, .carousel__content--top-left {
        top: 50%;
        left: 12px;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%)
    }
    .carousel__content--bottom-center, .carousel__content--middle-center, .carousel__content--top-center {
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%)
    }
    .carousel__content--bottom-right, .carousel__content--middle-right, .carousel__content--top-right {
        top: 50%;
        right: 12px;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%)
    }
    .carousel__content--center {
        top: 50%;
        left: 50%;
        width: 84%;
        max-width: none;
        padding: 36px 60px 36px 108px;
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%)
    }
    .carousel__content--center .carousel__desc {
        font-weight: 300
    }
    .carousel__content--center .carousel__imagination-bubble {
        position: absolute;
        top: 33px;
        left: 30px;
        font-size: 4rem
    }
    .carousel--full-height .flickity-prev-next-button {
        display: block
    }
    .carousel--full-height .carousel__content--top-left {
        top: 12px;
        left: 12px;
        -webkit-transform: none;
        transform: none
    }
    .carousel--full-height .carousel__content--top-center {
        top: 12px;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%)
    }
    .carousel--full-height .carousel__content--top-right {
        top: 12px;
        -webkit-transform: none;
        transform: none
    }
    .carousel--full-height .carousel__content--bottom-left {
        top: auto;
        bottom: 18px;
        -webkit-transform: none;
        transform: none
    }
    .carousel--full-height .carousel__content--bottom-center {
        top: auto;
        bottom: 18px;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%)
    }
    .carousel--full-height .carousel__content--bottom-right {
        top: auto;
        bottom: 18px;
        -webkit-transform: none;
        transform: none
    }


    .top-left-new, .middle-left-new, .bottom-left-new {
        top: 50%;
        left: 12px;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%)
    }
    .bottom-center-new, .middle-center-new, .top-center-new {
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%)
    }
    .bottom-right-new, .middle-right-new, .top-right-new {
        top: 50%;
        right: 12px;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%)
    }

    .carousel--full-height .top-left-new {
        top: 12px;
        left: 12px;
        -webkit-transform: none;
        transform: none
    }
    .carousel--full-height .top-center-new {
        top: 12px;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%)
    }
    .carousel--full-height .top-right-new {
        top: 12px;
        -webkit-transform: none;
        transform: none
    }
    .carousel--full-height .bottom-left-new {
        top: auto;
        bottom: 18px;
        -webkit-transform: none;
        transform: none
    }
    .carousel--full-height .bottom-center-new {
        top: auto;
        bottom: 18px;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%)
    }
    .carousel--full-height .bottom-right-new {
        top: auto;
        bottom: 18px;
        -webkit-transform: none;
        transform: none
    }
}

@media screen and (min-width:960px) {
    .carousel-container {
        height: 420px
    }
    .carousel__imagination-bubble {
        font-size: 5rem
    }
    .carousel__content-title {
        font-size: 2.5em
    }
    .carousel__content--center {
        padding: 36px 60px 36px 144px
    }
    .carousel__content--center .carousel__imagination-bubble {
        left: 48px;
        font-size: 5rem
    }
    .carousel--full-height .carousel-container {
        height: 100vh
    }

    .carousel-imagination-bubble-new {
        font-size: 30rem;
    }

    .carousel-imagination-bubble-new--customize {
        font-size: 27rem;
        margin: 0 0 2rem;
    }
    .carousel-content-new {
        width: 370px;
    }
    .carousel-content-new--customize {
        padding: 35px 50px 35px 50px;
    }
    .carousel-content-new--customize .carousel-desc-new {
        font-size: 15px;
        line-height: 24px;
    }
    .carousel-content-title-new {
        font-size: 40px;
    }
    .carousel-desc-new {
        display: block;
        margin-bottom: .75rem;
        font-size: 17px;
        overflow: hidden;
        text-overflow: ellipsis;
        line-height: 25px;
        -webkit-line-clamp: 2;
        display: -webkit-box;
        -webkit-box-orient: vertical;
    }
    
}

@media screen and (min-width:1296px) {
    .carousel__content {
        max-width: 38.19%
    }
    .carousel__content--center {
        max-width: none
    }
    .carousel--full-height .carousel__content {
        max-width: 46%;
        padding-left: 156px
    }
    .carousel--full-height .carousel__desc {
        font-size: 1.5rem
    }
    .carousel--full-height .carousel__imagination-bubble {
        position: absolute;
        top: 18px;
        left: 16px;
        font-size: 7rem
    }
    .carousel--full-height .carousel__content--center {
        max-width: none;
        padding: 54px 168px 54px 204px
    }
    .carousel--full-height .carousel__content--center .carousel__imagination-bubble {
        top: 48px;
        left: 60px
    }


    .carousel-imagination-bubble-new {
        font-size: 37rem;
    }

    .carousel-imagination-bubble-new--customize {
        font-size: 27rem;
    }

    .carousel-content-new {
        width: 465px;
    }

    .carousel-content-new--customize {
        width: 390px;
    }

    .carousel-desc-new {
        font-size: 16px;
        overflow: hidden;
        text-overflow: ellipsis;
        line-height: 25px;
        -webkit-line-clamp: 7;
        display: -webkit-box;
        -webkit-box-orient: vertical;
    }
}