/* GM SITE LANGUAGE V3 */

.gm-language-picker {
    position: relative;

    display: inline-flex;
    align-items: center;
    gap: 7px;

    flex: 0 0 auto;

    min-height: 38px;

    padding: 4px 8px;

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

    border-radius: 10px;

    background:
        rgba(255,255,255,.055);
}


.gm-language-picker-icon {
    font-size: 16px;
    line-height: 1;
}


.gm-language-picker select {
    max-width: 155px;

    border: 0;
    outline: 0;

    background: transparent;

    color: inherit;

    font: inherit;

    font-size: 13px;
    font-weight: 650;

    cursor: pointer;
}


.gm-language-picker select option {
    background: #15171c;
    color: #fff;
}


.gm-language-picker-loading {
    opacity: .65;
}


@media (max-width: 760px) {

    .gm-language-picker {
        min-height: 35px;

        padding:
            3px 6px;
    }


    .gm-language-picker select {
        max-width: 112px;

        font-size: 12px;
    }


    .gm-language-picker-icon {
        font-size: 14px;
    }
}


/* ==========================================================
   GM TOP NOTICE LANGUAGE SELECTOR V4
   Notice = left area
   Language selector = top-right area
   ========================================================== */

:root {
    --gm-language-top-width: 250px;
}


/*
 * Notice ends exactly before
 * the language selector.
 */

.gm-global-notice {
    left: 0 !important;

    right:
        var(--gm-language-top-width)
        !important;

    width: auto !important;

    max-width: none !important;
}


/*
 * Selector visually belongs to the
 * notice bar, NOT the menu/header.
 */

#gm-language-picker.gm-language-picker {
    position: fixed !important;

    top: 0 !important;
    right: 0 !important;

    left: auto !important;

    width:
        var(--gm-language-top-width)
        !important;

    height:
        var(
            --gm-notice-height,
            44px
        ) !important;

    min-height:
        var(
            --gm-notice-height,
            44px
        ) !important;

    margin: 0 !important;

    padding:
        4px 10px
        !important;

    border: 0 !important;

    border-left:
        1px solid
        rgba(255,255,255,.16)
        !important;

    border-bottom:
        1px solid
        rgba(255,255,255,.15)
        !important;

    border-radius:
        0 !important;

    box-shadow:
        0 4px 18px
        rgba(0,0,0,.45);

    background:
        linear-gradient(
            135deg,
            #17171f,
            #0d0d12
        )
        !important;

    z-index:
        2147483646
        !important;

    box-sizing:
        border-box;

    justify-content:
        flex-start;
}


#gm-language-picker
.gm-language-picker-icon {
    flex:
        0 0 auto;
}


#gm-language-picker
select {
    display: block;

    width: 100% !important;

    max-width: none !important;

    min-width: 0;

    padding:
        4px 3px;

    overflow:
        hidden;

    text-overflow:
        ellipsis;

    white-space:
        nowrap;
}


@media (
    max-width: 700px
) {

    :root {
        --gm-language-top-width:
            184px;
    }


    #gm-language-picker.gm-language-picker {
        padding:
            3px 6px
            !important;
    }


    #gm-language-picker
    .gm-language-picker-icon {
        display:
            none;
    }


    #gm-language-picker
    select {
        font-size:
            11px !important;
    }


    /*
     * Keep the notice useful even on
     * narrow mobile screens.
     */

    .gm-global-notice-badge {
        flex-basis:
            34px !important;

        min-width:
            34px !important;
    }
}


@media (
    max-width: 390px
) {

    :root {
        --gm-language-top-width:
            170px;
    }
}


/* ==========================================================
   GM LANGUAGE TOP BAR V4.1
   ========================================================== */

:root {
    --gm-language-width:
        255px;
}


.gm-global-notice {
    right:
        var(--gm-language-width)
        !important;

    width:
        auto !important;
}


#gm-language-picker.gm-language-picker {

    position:
        fixed !important;

    top:
        0 !important;

    right:
        0 !important;

    left:
        auto !important;

    z-index:
        2147483646 !important;

    width:
        var(--gm-language-width)
        !important;

    height:
        var(
            --gm-notice-height,
            44px
        ) !important;

    min-height:
        var(
            --gm-notice-height,
            44px
        ) !important;

    margin:
        0 !important;

    padding:
        4px 8px !important;

    border:
        0 !important;

    border-left:
        1px solid
        rgba(255,255,255,.15)
        !important;

    border-radius:
        0 !important;

    background:
        #111319 !important;

    box-sizing:
        border-box !important;
}


#gm-language-picker
.gm-language-picker-icon {
    display:
        none !important;
}


#gm-language-picker
select {

    width:
        100% !important;

    max-width:
        none !important;

    height:
        100% !important;

    min-height:
        0 !important;

    border:
        0 !important;

    outline:
        0 !important;

    background:
        transparent !important;

    color:
        inherit !important;

    font-size:
        13px !important;

    font-weight:
        650 !important;

    cursor:
        pointer;
}


#gm-language-picker
select option {

    background:
        #14161c;

    color:
        #fff;
}


@media (max-width: 700px) {

    :root {
        --gm-language-width:
            195px;
    }


    #gm-language-picker
    select {

        font-size:
            11px !important;
    }
}


/* ==========================================================
   HOME LIVE TV CARD COMPACT
   Remove giant blank area
   ========================================================== */

@media (max-width: 760px) {

    body.gm-home-page
    a[href^="/live-tv/watch/"],

    body.gm-home-page
    .live-tv-card,

    body.gm-home-page
    .home-live-card {

        height:
            auto !important;

        min-height:
            0 !important;

        max-height:
            260px !important;

        aspect-ratio:
            auto !important;

        align-self:
            flex-start !important;

        overflow:
            hidden !important;
    }


    body.gm-home-page
    a[href^="/live-tv/watch/"]
    > * {

        min-height:
            0 !important;
    }


    body.gm-home-page
    a[href^="/live-tv/watch/"]
    img {

        display:
            block !important;

        width:
            100% !important;

        height:
            105px !important;

        min-height:
            0 !important;

        max-height:
            105px !important;

        object-fit:
            contain !important;

        object-position:
            center !important;
    }


    body.gm-home-page
    a[href^="/live-tv/watch/"]
    h1,

    body.gm-home-page
    a[href^="/live-tv/watch/"]
    h2,

    body.gm-home-page
    a[href^="/live-tv/watch/"]
    h3,

    body.gm-home-page
    a[href^="/live-tv/watch/"]
    h4,

    body.gm-home-page
    a[href^="/live-tv/watch/"]
    p {

        margin-top:
            6px !important;

        margin-bottom:
            5px !important;
    }
}


/* ==========================================================
   GM AUTO PERSONALIZATION MODE
   No manual language selector
   ========================================================== */

#gm-language-picker,
.gm-language-picker {
    display: none !important;
}


/*
 * Language picker no longer occupies
 * the right side of the announcement bar.
 */

.gm-global-notice {
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: none !important;
}


/*
 * Never leave page hidden by an obsolete
 * locale preload class.
 */

html.gm-i18n-pending body {
    visibility: visible !important;
}
