/*==================================================
            SAIRAM PREMIUM PROMO BANNER
==================================================*/

:root{

    --promo-height-desktop:calc(100vh - 82px);
    --promo-height-tablet:72vh;
    --promo-height-mobile:100svh;

    --promo-radius:0;

    --promo-green:#22c55e;

    --promo-white:#ffffff;

    --promo-shadow:
    0 25px 60px rgba(0,0,0,.18);

}

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

.promo-banner{

    position:relative;

    width:100%;

    overflow:hidden;

    background:#000;

}

/*==================================================
                SLIDER
==================================================*/

#promoSlider{

    position:relative;

}

#promoSlider .carousel-inner{

    overflow:hidden;

}

#promoSlider .carousel-item{

    position:relative;

    height:calc(100svh - 82px);

    display:flex;

    align-items:center;

    justify-content:center;

    overflow:hidden;

    background:#000;

}

/*==================================================
                LINK
==================================================*/

.promo-link{

    display:block;

    width:100%;

    height:100%;

    text-decoration:none;

}

/*==================================================
                PICTURE
==================================================*/

.promo-link picture{

    display:block;

    width:100%;

    height:100%;

}

/*==================================================
                IMAGE
==================================================*/

.promo-image{

    width:100%;

    height:100%;

    display:block;

    object-fit:cover;

    object-position:center;

    user-select:none;

    -webkit-user-drag:none;

    will-change:transform;

    transform:translateZ(0);

    transition:

    transform 8s ease,

    filter .4s ease;

}

/*==================================================
            ACTIVE IMAGE ZOOM
==================================================*/

.carousel-item.active .promo-image{

    transform:scale(1.04);

}

/*==================================================
            HOVER
==================================================*/

@media(min-width:992px){

.promo-link:hover .promo-image{

transform:scale(1.06);

}

}

/*==================================================
                ARROWS
==================================================*/

.promo-control{

    width:90px;

    opacity:1;

}

.promo-arrow{

    width:62px;

    height:62px;

    display:flex;

    justify-content:center;

    align-items:center;

    border-radius:50%;

    color:#fff;

    font-size:38px;

    background:rgba(255,255,255,.15);

    backdrop-filter:blur(18px);

    border:1px solid rgba(255,255,255,.22);

    transition:.35s ease;

}

.promo-control:hover .promo-arrow{

    background:var(--promo-green);

    transform:scale(1.08);

}

/*==================================================
                INDICATORS
==================================================*/

.promo-indicators{

    position:absolute;

    bottom:28px;

    left:50%;

    transform:translateX(-50%);

    margin:0;

    z-index:20;

}

.promo-indicators button{

    width:12px !important;

    height:12px !important;

    border-radius:50%;

    border:none !important;

    margin:0 6px !important;

    background:rgba(255,255,255,.55) !important;

    opacity:1;

    transition:.35s;

}

.promo-indicators .active{

    width:42px !important;

    border-radius:30px;

    background:#22c55e !important;

}

/*==================================================
                PROGRESS BAR
==================================================*/

.promo-progress{

    position:absolute;

    bottom:0;

    left:0;

    width:100%;

    height:4px;

    background:rgba(255,255,255,.18);

    z-index:25;

    overflow:hidden;

}

.promo-progress-fill{

    width:0;

    height:100%;

    background:linear-gradient(
        90deg,
        #22c55e,
        #4ade80
    );

}

/*==================================================
            LARGE DESKTOP
==================================================*/

@media(min-width:1600px){

#promoSlider .carousel-item{

height:900px;

}

}

/*==================================================
                LAPTOP
==================================================*/

@media(max-width:1400px){

#promoSlider .carousel-item{

height:calc(100vh - 75px);

}

}

/*==================================================
                TABLET
==================================================*/

@media(max-width:991px){

#promoSlider .carousel-item{

height:72vh;

min-height:580px;

}

.promo-control{

width:60px;

}

.promo-arrow{

width:48px;

height:48px;

font-size:28px;

}

}

/*==================================================
                MOBILE
==================================================*/

@media(max-width:767px){

#promoSlider .carousel-item{

height:auto;

}

.promo-image{

    width:100%;

    height:calc(100svh - 30px);

    object-fit:cover;

    object-position:center;

    background:#000;

}

.promo-control{

display:none;

}

.promo-indicators{

bottom:16px;

}

.promo-indicators button{

width:10px !important;

height:10px !important;

margin:0 4px !important;

}

.promo-indicators .active{

width:28px !important;

}

}

/*==================================================
            SMALL MOBILE
==================================================*/

@media(max-width:480px){

.promo-image{

aspect-ratio:9/16;

}

}

/*==================================================
            FULL-BLEED IMAGE / NO GAPS
==================================================*/

#promoSlider .carousel-inner,
#promoSlider .carousel-item,
.promo-link,
.promo-link picture {
    width:100%;
    height:100%;
}

.promo-image {
    min-width:100%;
    min-height:100%;
    object-fit:cover;
    object-position:center;
}

@media(max-width:767px){
    #promoSlider .carousel-item,
    .promo-link,
    .promo-link picture {
        height:calc(100svh - 30px);
    }

    .promo-image {
        width:100%;
        height:100%;
        object-fit:cover;
    }
}

/*==================================================
            PERFORMANCE
==================================================*/

.promo-image{

    backface-visibility:hidden;

    -webkit-backface-visibility:hidden;

    image-rendering:auto;

}


/* ==================================================
   FULL BLEED PROMO BANNER
   NO GAP + NO OVERFLOW
================================================== */

.promo-banner {
    position: relative;
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
    overflow: hidden;
    background: #000;
}

#promoSlider {
    position: relative;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
}

#promoSlider .carousel-inner {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
}

#promoSlider .carousel-item {
    position: relative;

    width: 100%;
    max-width: 100%;

    height: min(
        calc(100vh - 82px),
        850px
    );

    min-height: 420px;

    overflow: hidden;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #000;
}

.promo-link {
    display: block;
    width: 100%;
    max-width: 100%;
    height: 100%;
    overflow: hidden;
    text-decoration: none;
}

.promo-link picture {
    display: block;
    width: 100%;
    max-width: 100%;
    height: 100%;
    overflow: hidden;
}

.promo-image {
    display: block;

    width: 100%;
    max-width: 100%;

    height: 100%;
    max-height: 100%;

    object-fit: cover;
    object-position: center;

    margin: 0;
    padding: 0;

    user-select: none;
    -webkit-user-drag: none;

    transform: translateZ(0);

    transition:
        transform 8s ease,
        filter .4s ease;
}

.carousel-item.active .promo-image {
    transform: scale(1.02);
}


/* ==================================================
   TABLET
================================================== */

@media (max-width: 991px) {

    #promoSlider .carousel-item {
        height: min(
            72vh,
            700px
        );

        min-height: 420px;
        max-height: 700px;
    }

}


/* ==================================================
   MOBILE
================================================== */

@media (max-width: 767px) {

    #promoSlider .carousel-item {
        width: 100%;
        height: auto;

        min-height: 0;
        max-height: none;

        aspect-ratio: 9 / 16;

        overflow: hidden;
    }

    .promo-image {
        width: 100%;
        height: 100%;

        max-width: 100%;
        max-height: 100%;

        object-fit: cover;
        object-position: center;
    }

}


/* ==================================================
   SMALL MOBILE
================================================== */

@media (max-width: 480px) {

    #promoSlider .carousel-item {
        aspect-ratio: 9 / 16;
    }

}


/* ==================================================
   EXTRA SAFETY
================================================== */

html,
body {
    max-width: 100%;
    overflow-x: hidden;
}

.promo-banner *,
#promoSlider * {
    box-sizing: border-box;
}