/* ==================================================
   CONTINUOUS SPONSOR AD MARQUEE
================================================== */

.mf-sponsor-carousel,
.mf-sponsor-carousel *{
    box-sizing:border-box;
}

.mf-sponsor-carousel{
    --mf-carousel-visible:3;
    --mf-carousel-gap:18px;
    --mf-ad-ratio:2/1;
    --mf-slide-width:300px;

    position:relative;
    display:block;

    width:100%;
    max-width:100%;
    min-width:0;

    margin:0;
    padding:0;

    overflow:hidden;

    background:transparent !important;
}


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

.mf-sponsor-carousel__viewport{
    position:relative;
    display:block;

    width:100%;
    max-width:100%;
    min-width:0;

    margin:0;
    padding:0;

    overflow:hidden;

    background:transparent !important;
}


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

.mf-sponsor-carousel__track{
    display:flex;
    align-items:stretch;

    width:max-content;
    min-width:max-content;

    margin:0;
    padding:0;

    will-change:transform;

    background:transparent !important;
}


/*
 * Each group contains one complete copy of all ads.
 */
.mf-sponsor-carousel__group{
    display:flex;
    align-items:stretch;

    flex:0 0 auto;

    gap:var(--mf-carousel-gap);

    margin:0;
    padding:0;

    background:transparent !important;
}


/*
 * Space between the end of group one and the start of group two.
 */
.mf-sponsor-carousel__group + .mf-sponsor-carousel__group{
    margin-left:var(--mf-carousel-gap);
}


/* ==================================================
   HORIZONTAL MODE
================================================== */

.mf-sponsor-carousel--horizontal
.mf-sponsor-carousel__track,
.mf-sponsor-carousel--horizontal
.mf-sponsor-carousel__group{
    flex-direction:row;
}

.mf-sponsor-carousel--horizontal
.mf-sponsor-carousel__slide{
    flex:0 0 var(--mf-slide-width);

    width:var(--mf-slide-width);
    max-width:var(--mf-slide-width);
}


/* ==================================================
   VERTICAL MODE
================================================== */

.mf-sponsor-carousel--vertical
.mf-sponsor-carousel__viewport{
    width:100%;
}

.mf-sponsor-carousel--vertical
.mf-sponsor-carousel__track,
.mf-sponsor-carousel--vertical
.mf-sponsor-carousel__group{
    flex-direction:column !important;
}

.mf-sponsor-carousel--vertical
.mf-sponsor-carousel__track{
    width:100% !important;
    min-width:0 !important;

    height:max-content;
    min-height:max-content;
}

.mf-sponsor-carousel--vertical
.mf-sponsor-carousel__group{
    width:100% !important;
    min-width:0 !important;
}

.mf-sponsor-carousel--vertical
.mf-sponsor-carousel__group + .mf-sponsor-carousel__group{
    margin-left:0 !important;
    margin-top:var(--mf-carousel-gap);
}

.mf-sponsor-carousel--vertical
.mf-sponsor-carousel__slide{
    flex:0 0 auto !important;

    width:100% !important;
    max-width:100% !important;
}


/* ==================================================
   SLIDE
================================================== */

.mf-sponsor-carousel__slide{
    position:relative;

    min-width:0;

    margin:0;
    padding:0;

    overflow:hidden;

    background:transparent !important;
}


/* ==================================================
   AD CARD
================================================== */

.mf-sponsor-carousel__ad{
    position:relative;

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

    width:100%;
    max-width:100%;
    min-width:0;

    aspect-ratio:var(--mf-ad-ratio);

    margin:0;
    padding:8px;

    overflow:hidden;

    background:transparent !important;

    border:1px solid rgba(255,255,255,.12);
    border-radius:16px;
}


/* ==================================================
   ADVANCED ADS WRAPPERS
================================================== */

.mf-sponsor-carousel__ad > div,
.mf-sponsor-carousel__ad > span,
.mf-sponsor-carousel__ad figure,
.mf-sponsor-carousel__ad .advads-ad,
.mf-sponsor-carousel__ad .advads-ad-wrapper,
.mf-sponsor-carousel__ad .advads-ad-container,
.mf-sponsor-carousel__ad .advads-placement,
.mf-sponsor-carousel__ad [id^="advads-"],
.mf-sponsor-carousel__ad [id^="wrapper-"]{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;

    height:100% !important;
    max-height:100% !important;

    margin:0 !important;
    padding:0 !important;

    overflow:hidden !important;

    background:transparent !important;
}


/* ==================================================
   LINKS
================================================== */

.mf-sponsor-carousel__ad a{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;

    height:100% !important;
    max-height:100% !important;

    margin:0 !important;
    padding:0 !important;

    overflow:hidden !important;

    background:transparent !important;
}


/* ==================================================
   IMAGE, GIF, VIDEO
================================================== */

.mf-sponsor-carousel__ad img,
.mf-sponsor-carousel__ad video,
.mf-sponsor-carousel__ad iframe{
    display:block !important;

    width:100% !important;
    max-width:100% !important;

    height:100% !important;
    max-height:100% !important;

    margin:0 !important;
    padding:0 !important;

    object-position:center center !important;

    background:transparent !important;
    border:0 !important;
}


/*
 * Show the complete artwork.
 */
.mf-sponsor-carousel--fit-contain
.mf-sponsor-carousel__ad img,
.mf-sponsor-carousel--fit-contain
.mf-sponsor-carousel__ad video{
    object-fit:contain !important;
}


/*
 * Fill the complete card, with possible cropping.
 */
.mf-sponsor-carousel--fit-cover
.mf-sponsor-carousel__ad img,
.mf-sponsor-carousel--fit-cover
.mf-sponsor-carousel__ad video{
    object-fit:cover !important;
}


/* ==================================================
   LABEL
================================================== */

.mf-sponsor-carousel__label{
    width:100%;

    margin:9px 0 0;
    padding:0;

    color:rgba(255,255,255,.48);

    font-size:9px;
    line-height:1.3;
    font-weight:700;
    letter-spacing:1.5px;

    text-align:center;
    text-transform:uppercase;
}


/* ==================================================
   ELEMENTOR/PARENT CONTAINER FIT
================================================== */

.elementor-widget-shortcode:has(.mf-sponsor-carousel),
.elementor-widget-shortcode:has(.mf-sponsor-carousel)
.elementor-widget-container,
.elementor-widget-shortcode:has(.mf-sponsor-carousel)
.elementor-shortcode{
    display:block !important;

    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;

    margin:0 !important;
    padding:0 !important;
}

.elementor-shortcode > .mf-sponsor-carousel{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
}


/* ==================================================
   RESPONSIVE
================================================== */

@media(max-width:900px){

    .mf-sponsor-carousel--horizontal{
        --mf-carousel-visible:2 !important;
    }
}

@media(max-width:560px){

    .mf-sponsor-carousel--horizontal{
        --mf-carousel-visible:1 !important;
    }

    .mf-sponsor-carousel{
        --mf-carousel-gap:12px;
    }

    .mf-sponsor-carousel__ad{
        border-radius:13px;
    }
}


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

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

    .mf-sponsor-carousel__track{
        transform:none !important;
    }
}