html {
    @media (max-width: 991.98px) {
        .navbar {
            .navbar-collapse {
                position: absolute;
                top: 100%;
                left: 0;
                right: 0;
                background-color: var(--bs-body-bg);
                box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
                border-radius: 0 0 16px 16px;
                z-index: 1050;

                .navbar-nav {
                    .nav-item {
                        padding: 4px 16px;
                    }
                }
            }
        }
    }

    @media (max-width: 990px) {
        #main-content {
            table.odds {
                width: 100%;
                border-collapse: separate;
                border-spacing: 0 0.75rem;
                
                thead {
                    display: none;
                }

                tbody {
                    tr {
                        padding: 0.75rem;
                        border-radius: 12px;
                        background: var(--bs-body-bg);
                        margin: 10px 0;
                        box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);

                        td {
                            &.time {
                                background-color: #1987543d;
                                font-weight: bold;
                                max-width: 48px!important;

                                div {
                                    position: relative;

                                    &::before {
                                        content: attr(data-trust);
                                        font-weight: normal;
                                        font-size: smaller;
                                        opacity: .8;
                                    }

                                    .status {
                                        transform: scale(0.65);
                                    }
                                }
                            }

                            &.score {
                                div:not(.score-result, .score-left, .score-right) {
                                    flex-direction: column!important;
                                    align-items: flex-start!important;
                                    padding: 0 6px;
                                    position: relative;
                                }

                                .score-left, .score-right {
                                    gap: 12px!important;
                                }

                                .score-left {
                                    flex-direction: row-reverse !important;

                                    &::after {
                                        content: attr(data-score);
                                        position: absolute;
                                        right: 6px;
                                    }
                                }

                                .score-right {
                                    &::before {
                                        content: '';
                                        position: absolute;
                                        height: 1px;
                                        width: 100%;
                                        background-color: var(--bs-secondary-color);
                                        top: 50%;
                                        background: radial-gradient(circle at top, var(--bs-secondary-color), transparent);
                                    }

                                    &::after {
                                        content: attr(data-score);
                                        position: absolute;
                                        right: 6px;
                                    }
                                }

                                .score-result {
                                    display: none!important;
                                }
                            }

                            &.odd {
                                &:not(.best-tip) {
                                    display: none;
                                }

                                &.best-tip {
                                    border-top-right-radius: 12px;
                                    border-bottom-right-radius: 12px;

                                    .odd-info {
                                        width: auto!important;
                                        height: auto!important;
                                        padding: 2px 10px 2px 6px!important;
                                        border: 1px solid #3ca574a5;
                                        background-color: #3ca5744e;
                                        border-radius: 4px;
                                        font-weight: normal!important;
                                        font-size: 12px!important;
                                        justify-content: flex-start!important;
                                        margin: auto 10px!important;
                                        
                                        &::after {
                                            content: '›';
                                            position: absolute;
                                            right: 10px;
                                            font-size: 22px;
                                            top: -8px;
                                            opacity: .6;
                                        }

                                        .perc {
                                            display: none;
                                        }
                                    }
                                }
                            }

                            &.trust {
                                display: none;
                            }
                        }
                    }
                }
            }

            &.details {
                .details-game-score {
                    .score-details {
                        transform: scale(0.8);
                    }
                }
            }
        }
    }

    @media (max-width: 500px) {
        .slips {
            .matches {
                .matches-header {
                    gap: 20px!important;
                }
            }
        }
    }

    #main-content {

        .banner {
            position: relative;
            width: 100%;
            height: 132px;
            overflow: hidden;
            border-radius: 20px;
            background: url("/assets/images/stadium.webp") top center / cover no-repeat;
            margin-bottom: 16px;

            &::before {
                content: "";
                position: absolute;
                inset: 0;
                background: #1e533b3d;
            }
        }

        .slips {
            position: relative;

            .nav {
                .nav-item {
                    .nav-link {
                        padding: 8px 16px;
                        position: relative;

                        &.active {
                            color: #3ca574!important;
                            border-bottom-color: transparent;
                            
                            &::after {
                                content: "";
                                position: absolute;
                                left: 0;
                                right: 0;
                                bottom: -2px;
                                height: 2px;
                                background: #3ca574;
                                border-radius: 999px;
                                box-shadow: 0 0 6px #4acc8f;
                                pointer-events: none;
                            }
                        }
                    }
                }
            }

            .leagues {
                .accordion-item {
                    overflow: hidden;
                    border: none;
                    background-color: #f2f2f2;
                    margin: 4px 0;
                    
                    &:first-of-type {
                        border-top-left-radius: 20px;
                        border-top-right-radius: 20px;
                    }
                    &:last-of-type {
                        border-bottom-left-radius: 20px;
                        border-bottom-right-radius: 20px;
                    }

                    .accordion-header {
                        .accordion-button {
                            box-shadow: none;
                            background-color: transparent;
                            color: #333333;

                            &::after {
                                background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23333333'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e");
                            }

                            &:not(.collapsed) {
                                color: #333333;

                                &::after {
                                    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23333333'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e");
                                }
                            }

                            img {
                                height: 16px;
                                margin-right: 12px;
                                border-radius: 4px;
                            }
                        }
                    }
                }
            }

            .matches {
                position: relative;
                display: flex;
                flex-direction: column;

                .matches-header {
                    display: flex;
                    flex-direction: row;
                    align-items: center;
                    justify-content: flex-start;
                    flex-wrap: wrap;
                    gap: 60px;
                    padding: 10px 0 20px 0;

                    .matches-summary {
                        display: flex;
                        flex-direction: row;
                        align-items: center;
                        justify-content: flex-end;
                        gap: 20px;
                        font-size: 14px;

                        span {
                            display: flex;
                            flex-direction: row;
                            align-items: center;
                            justify-content: flex-start;
                            gap: 4px;
                        }
                    }
                }

                .matches-results {
                    display: flex;
                    flex-direction: row;
                    align-items: center;
                    justify-content: flex-start;
                    flex-wrap: wrap;
                    gap: 14px;

                    .match {
                        width: 280px;
                        height: 120px;
                        border-radius: 20px;
                        background-color: #f2f2f2;
                        display: flex;
                        flex-direction: row;
                        align-items: center;
                        justify-content: center;
                        cursor: pointer;
                        opacity: 1;
                        transition: opacity .2s ease;

                        &:hover {
                            opacity: .7;
                            transition: opacity .2s ease;
                        }

                        div {
                            height: 120px;
                            display: flex;
                            flex-direction: column;
                            align-items: center;
                            justify-content: center;

                            &.team {
                                width: 93px;
                                gap: 10px;

                                img {
                                    max-height: 50px;
                                    max-width: 37px;
                                }

                                span {
                                    text-align: center;
                                    font-size: 12px;
                                    line-height: 12px;
                                    display: -webkit-box;
                                    line-clamp: 2;
                                    -webkit-box-orient: vertical;
                                    -webkit-line-clamp: 2;
                                    overflow: hidden;
                                }
                            }

                            &.score {
                                width: 94px;
                                display: flex;
                                flex-direction: column;
                                align-items: center;
                                justify-content: center;
                                position: relative;

                                span {
                                    font-size: 24px;
                                    font-weight: bold;
                                }

                                .status {
                                    content: '';
                                    position: absolute;
                                    bottom: 0;
                                    display: flex;
                                    flex-direction: column;
                                    align-items: center;
                                    justify-content: center;
                                    background-color: #198754;
                                    color: #fff;
                                    height: 24px;
                                    border-top-right-radius: 12px;
                                    border-top-left-radius: 12px;
                                    font-size: 12px;
                                    padding: 2px 12px;
                                }

                                &.finished {
                                    .status {
                                        background-color: #3ca5744e;
                                        color: #fff;
                                    }
                                }

                                &.ongoing {
                                    span {
                                        color: #ed1c24;
                                    }

                                    .status {
                                        background-color: #ed1c24;
                                        color: #fff;
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }

        .odds {
            width: 100%;
            padding: 0;
            
            thead {
                font-size: 14px;

                th {
                    padding: 8px 0;
                    text-align: center;
                    vertical-align: middle;
                }
            }

            tbody {
                font-size: 14px;

                tr {
                    cursor: pointer;

                    &:nth-child(odd) {
                        background:#1987540a;
                        position: relative;
                        overflow: hidden;

                        &::after{
                            content: ' ';
                            position: absolute;
                            top: 0;
                            bottom: 0;
                            left: 0;
                            width: 100%;
                            background: radial-gradient(circle at top, #3ca5742d, transparent);
                        }
                    }
                    
                    td {
                        padding: 8px 0;
                        vertical-align: middle;

                        &:first-child {
                            border-top-left-radius: 8px;
                            border-bottom-left-radius: 8px;
                        }

                        &:last-child {
                            border-top-right-radius: 8px;
                            border-bottom-right-radius: 8px;
                        }

                        p {
                            margin: 0 0 2px 0;
                            font-size: 12px;
                            font-weight: bold;
                        }

                        &.time {
                            padding: 10px;

                            .score-time {
                                font-size: 14px;
                            }

                            .status {
                                font-size: 10px;
                                padding: 2px 8px;
                                border: 1px solid #3ca574cb;
                                background-color: #3ca5744e;
                                border-radius: 4px;

                                &.finished {
                                    opacity: .6;
                                }

                                &.ongoing {
                                    border: 1px solid #ed1c24cb;
                                    background-color: #ed1c244e;
                                }
                            }
                        }

                        &.score {
                            max-width: 200px;
                            
                            .score-left,
                            .score-right {
                                gap: 4px;
                                min-width: 120px;

                                span {
                                    font-size: 12px;
                                }

                                div {
                                    display: inline-block;
                                    width: 27px; 
                                    max-height: 30px;
                                    text-align: center;

                                    img {
                                        max-width: 27px;
                                        max-height: 30px;
                                    }
                                }
                            }

                            .score-result {
                                gap: 4px;

                                &.ongoing {
                                    color: #ed1c24;
                                }

                                span {
                                    font-weight: bold;
                                }

                                .vs {
                                    display: flex;
                                    flex-direction: column;
                                    align-items: center;
                                    justify-content: center;
                                    width: 20px;
                                    height: 20px;
                                    border-radius: 22px;
                                    background-color: #198754;
                                    position: relative;
                                    margin: 0 6px;

                                    span {
                                        color: #ffffff;
                                        font-size: 10px;
                                        font-weight: 200;
                                        z-index: 1;
                                    }

                                    &::before {
                                        content: '';
                                        position: absolute;
                                        width: 32px;
                                        height: 1px;
                                        background-color: #198754;
                                        transform: rotate(-45deg);
                                    }
                                }
                            }
                        }

                        &.odd {
                            text-align: center;

                            .odd-info {
                                width: 42px;
                                height: 20px;
                                display: flex;
                                flex-direction: row;
                                align-items: center;
                                justify-content: center;
                                font-size: 10px;
                                padding: 2px 8px;
                                /* border: 1px solid #3ca574cb; */
                                background-color: #3ca5744e;
                                border-radius: 4px;
                                margin: auto;
                                font-weight: bold;
                                overflow: hidden;
                                position: relative;

                                .perc {
                                    position: absolute;
                                    background-color: #3ca57482;
                                    top: 0;
                                    bottom: 0;
                                    left: 0;
                                }

                                span {
                                    z-index: 1;
                                }
                            }
                        }

                        &.trust {
                            text-align: center;

                            span {
                                font-weight: bold;
                                color: #2e9f6a; /* #198754 */
                            }
                        }

                        .odd-none {
                            display: none;
                        }
                    }
                }
            }
        }

        .countries {
            margin: 10px 0;
            position: sticky;
            top: 142px;
            height: calc(100vh - 150px);
            overflow-y: auto;
            padding-left: 12px;

            &::-webkit-scrollbar {
                width: 4px;
            }

            &::-webkit-scrollbar-track {
                background-color: transparent;
            }

            &::-webkit-scrollbar-thumb {
                background-color: #f2f2f2;
                border-radius: 2px;
            }

            .nav-link {
                margin: 4px 0;
                background-color: #f2f2f2;
                font-size: 14px;
                display: flex;
                flex-direction: row;
                align-items: center;
                justify-content: flex-start;
                gap: 8px;
                border-radius: 10px;
                padding: 6px 12px;
                position: relative;
                opacity: 1;
                transition: opacity .2s ease;

                &:hover {
                    opacity: .7;
                    transition: opacity .2s ease;
                }

                img {
                    width: 19px;
                    height: 14px;
                    border-radius: 4px;
                }

                &.active {
                    /* font-weight: bold; */

                    &::after {
                        content: '✓';
                        position: absolute;
                        right: 12px;
                        top: 5px;
                        color: var(--bs-secondary-color);
                    }
                }
            }
        }

        .search {
            position: relative;

            .search-icon {
                position: absolute;
                left: 12px;
                top: 8px;
            }

            input {
                padding-left: 36px;
            }
        }

        &.details {
            .details-game-header {
                background-color: #f2f2f2;
                position: relative;
                padding: 16px 0;
                margin-top: -24px;

                &::after {
                    content: '';
                    position: absolute;
                    top: 0;
                    bottom: 0;
                    width: 100%;
                    background: radial-gradient(circle at top, #3ca5742d, transparent);
                }

                h5 {
                    text-align: center;
                    color: var(--bs-secondary-color);
                    position: relative;
                    z-index: 1;
                    margin: 0;
                }
            }

            .details-game-score {
                padding: 20px 0;

                .league {
                    display: flex;
                    flex-direction: row;
                    justify-content: center;
                    align-items: center;
                    gap: 12px;
                    padding: 12px;

                    img {
                        border-radius: 3px;
                        height: 16px;
                        border-radius: 4px;
                    }

                    span {
                        color: var(--bs-secondary-color);
                    }
                }

                .score-details {
                    display: flex;
                    flex-direction: row;
                    justify-content: center;
                    align-items: center;

                    .sect {
                        display: flex;
                        flex-direction: column;
                        justify-content: center;
                        align-items: center;
                        gap: 12px;
                        min-height: 200px;

                        &.team {
                            min-width: 180px;
                        }

                        .team-logo {
                            width: 100px;
                            height: 100px;
                            display: flex;
                            flex-direction: column;
                            justify-content: center;
                            align-items: center;
                            box-shadow: rgba(13, 15, 19, 0.202) 0px 6px 15px 0px;
                            filter: brightness(1.05);
                            background-color: var(--bs-body-bg);
                            border-radius: 50%;

                            img {
                                max-width: 70px;
                                max-height: 70px;
                            }
                        }

                        .team-info {
                            display: flex;
                            flex-direction: column;
                            justify-content: center;
                            align-items: center;

                            .team-name {
                                margin: 0;
                                font-size: 18px;
                                font-weight: 500;
                            }

                            .team-val {
                                font-size: 12px;
                                opacity: .8;
                            }
                        }

                        &.game-info {
                            /* min-width: 180px; */
                            
                            .game-time {
                                font-size: 14px;
                                margin: 0;

                                span {
                                    opacity: .8;
                                }
                            }

                            h3 {
                                display: flex;
                                flex-direction: row;
                                justify-content: center;
                                align-items: center;
                                gap: 6px;
                                font-weight: bold;
                            }

                            .match-bet-options {
                                display: flex;
                                flex-direction: row;
                                justify-content: center;
                                align-items: center;
                                gap: 12px;
                                margin-top: 20px;

                                .match-bet-option {
                                    background-color: #198754bc;
                                    color: #fff;
                                    padding: 2px 6px;
                                    border-radius: 4px;
                                    font-size: 12px;
                                }
                            }
                        }
                    }
                }

                .match-meta {
                    padding: 20px 0;
                    max-width: 640px;
                    margin: 20px auto;

                    .nav {
                        .nav-item {
                            .nav-link {
                                padding: 8px 16px;
                                position: relative;

                                &.active {
                                    color: #3ca574!important;
                                    border-bottom-color: transparent;
                                    
                                    &::after {
                                        content: "";
                                        position: absolute;
                                        left: 0;
                                        right: 0;
                                        bottom: -2px;
                                        height: 2px;
                                        background: #3ca574;
                                        border-radius: 999px;
                                        box-shadow: 0 0 6px #4acc8f;
                                        pointer-events: none;
                                    }
                                }
                            }
                        }
                    }

                    .match-tips {
                        display: flex;
                        flex-direction: column;
                        align-items: center;
                        justify-content: flex-start;
                        gap: 12px;

                        .match-tip {
                            display: flex;
                            flex-direction: row;
                            align-items: center;
                            justify-content: flex-start;
                            background-color: #f2f2f2;
                            position: relative;
                            width: 100%;
                            min-height: 40px;
                            border-radius: 6px;
                            padding: 10px 20px;
                            font-size: 14px;

                            /* &::after {
                                content: '';
                                position: absolute;
                                top: 0;
                                bottom: 0;
                                width: 100%;
                                background: radial-gradient(circle at top, #3ca5742d, transparent);
                            } */

                            .tip-header {
                                min-width: 200px;
                            }

                            .tip-val {
                                min-width: 120px;
                                display: flex;
                                flex-direction: column;
                                align-items: center;
                                justify-content: center;
                                gap: 2px;

                                span {
                                    display: flex;
                                    flex-direction: row;
                                    align-items: center;
                                    justify-content: center;
                                    gap: 6px;
                                    font-size: 13px;

                                    svg.arrw {
                                        height: 12px;

                                        &.down {
                                            color: rgb(184, 11, 11);
                                        }

                                        &.up {
                                            color: #198754;
                                        }
                                    }

                                    &:last-of-type {
                                        padding: 0 8px;
                                        border-radius: 4px;
                                        background-color: #1987544b;
                                        /* border: 1px solid #198754; */
                                    }
                                }
                            }

                            .tip-summ {
                                flex: 1;
                                display: flex;
                                flex-direction: row;
                                align-items: center;
                                justify-content: flex-end;
                                
                                span {
                                    font-weight: bold;
                                }
                            }
                        }
                    }
                }
            }
        }
    }

    header {
        .primary-nav {
            background-color: #f2f2f2;
        }

        .secondary-nav {
            background-color: #f2f2f2;
            position: relative;

            &::after{
                content: ' ';
                position: absolute;
                top: 0;
                bottom: 0;
                width: 100%;
                background: radial-gradient(circle at top, #3ca5742d, transparent);
            }

            .day-nav {
                position: relative;
                z-index: 1;
            }

            .btn {
                padding: 4px 16px;
                border: none;
                color: #4d9a76;
                border-radius: 20px;

                &:hover,
                &:focus,
                &:focus-visible,
                &:focus-within,
                &.active {
                    background-color: #198754;
                    color: #fff;
                }
            }
        }

        .navbar-nav .nav-link {
            &.active {
                font-weight: bold;
                color: #198754!important;
            }
        }
    }

    footer {
        background-color: #f2f2f2;

        .app-stores {
            a {
                &:last-of-type {
                    opacity: .4;
                }
            }
        }
    }

    &[data-bs-theme='dark'] {

        #main-content {
            .slips {
                .leagues {
                    .accordion-item {
                        background-color: #191d20;

                        .accordion-header {
                            .accordion-button {
                                color: #ffffff;

                                &::after {
                                    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e");
                                }

                                &:not(.collapsed) {
                                    color: #ffffff;

                                    &::after {
                                        background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e");
                                    }
                                }
                            }
                        }
                    }
                }

                .matches {
                    .matches-results {
                        .match {
                            background-color: #191d20;
                        }
                    }
                }
            }

            .countries {
                &::-webkit-scrollbar-thumb,
                .nav-link {
                    background-color: #191d20;
                }
            }

            &.details {
                .details-game-header {
                    background-color: #191d20;
                }

                .match-meta {
                    .match-tips {
                        .match-tip {
                            background-color: #191d20;
                        }
                    }
                }
            }
        }

        header {
            .primary-nav {
                background-color: #191d20;
            }

            .secondary-nav {
                background-color: #191d20;
                
                &::after{
                    content: ' ';
                    background: radial-gradient(circle at top, #3ca5742d, transparent);
                }
            }

            .nav .nav-link {
                &.active {
                    color: #3ca574!important;
                }
            }
        }
        
        footer {
            background-color: #191d20;
        }
    }

    .auth {
        width: 100%;
        max-width: 580px;
        padding: 15px;
        margin: auto;
    }

    #footer-content {
        margin-top: 20px;
    }
}

.loader {
    animation: spin 2s linear infinite;
    transform-origin: center;
}

@keyframes spin {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}