﻿/*--------------------------------------------------------------
# Global Header
--------------------------------------------------------------*/
.header {
    display: flex;
    padding: 16px;
    align-items: flex-end;
    gap: 32px;
    align-self: stretch;
    color: var(--dark-color);
    background-color: transparent;
    transition: all 0.5s;
    z-index: 997;
}

.header-nav {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    z-index: 997;
}


.nav-basket {
    position: relative;
}

.basket-link {
    position: relative;
    display: inline-flex;
    align-items: center;
}

/* Counter */
.basket-count {
    position: absolute;
    top: -6px;
    right: -2px;
    min-width: 18px;
    height: 18px;
    padding: 0 6px;
    background: #000;
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    white-space: nowrap;
}

    /* Hide when empty */
    .basket-count:empty,
    .basket-count[data-count="0"] {
        display: none;
    }

/* Global Header on Scroll
------------------------------*/
.scrolled .header {
    background: linear-gradient(to top, rgba(0, 0, 0, 0.4), transparent)
}

/*--------------------------------------------------------------
# Navigation Menu
--------------------------------------------------------------*/
.navmenu a {
    color: var(--dark-color);
    text-align: right;
    font-family: Lato;
    leading-trim: both;
    text-edge: cap;
    font-size: 15px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    display: flex;
    height: 34px;
    padding: 8px 4px;
    justify-content: center;
    align-items: flex-end;
    gap: 8px;
}

.nav-link {
    position: relative;
    text-decoration: none;
}

    .nav-link::after {
        content: "";
        position: absolute;
        bottom: -2px;
        left: 0;
        width: 0;
        height: 1px;
        background-color: var(--orange-color);
        transition: width 0.1s ease-in-out;
    }

    .nav-link:hover::after,
    .nav-link.active::after {
        width: 100%;
    }

.navmenu ul {
    list-style: none !important;
}

/* Navmenu - Desktop */
@media (min-width: 1200px) {
    .navmenu {
        display: flex;
        flex-direction: column;
        justify-content: end;
        align-items: flex-end;
        gap: 32px;
        flex: 1 0 0;
    }

        .navmenu ul {
            display: flex;
            justify-content: flex-end;
            align-items: flex-end;
            gap: 32px;
            align-self: stretch;
            margin: 0;
        }

        .navmenu .last-login-date {
            display: flex;
            justify-content: flex-end;
            align-items: center;
            gap: 32px;
            align-self: stretch;
        }

            .navmenu .last-login-date p {
                color: #AEAEAE;
                text-align: right;
                font-family: Lato;
                font-size: 14px;
                font-style: normal;
                font-weight: 400;
                line-height: normal;
            }

        .navmenu .mobile-only {
            display: none;
        }

        .navmenu li:hover > a,
        .navmenu .active,
        .navmenu .active:focus {
            color: var(--dark-color);
        }
}

/* Navmenu - Mobile */

.footer p {
    margin: 0;
    color: var(--secondary-grey-color);
    font-family: Lato;
    font-size: 14px;
    font-weight: 400;
    line-height: 16.8px;
    text-align: left;
    text-underline-position: from-font;
    text-decoration-skip-ink: none;
}

@media (max-width: 1199px) {
    .mobile-nav-toggle {
        display: flex;
        justify-content: end;
        color: var(--dark-color);
        font-size: 30px;
        line-height: 0;
        cursor: pointer;
        transition: color 0.3s;
    }

    .searchIcon-desktop-only {
        display: none !important;
    }

    .navmenu {
        padding: 0;
    }

        .navmenu ul {
            display: none;
            list-style: none;
            position: absolute;
            inset: 0;
            padding-left: 0;
            padding-top: 50px;
            margin: 0;
            background-color: var(--light-color);
            overflow-y: auto;
            transition: 0.3s;
            z-index: 3;
        }

            .navmenu ul li {
                display: inline-flex;
                width: 100%;
                padding: 15px 20px;
            }

    .mobile-nav-active {
        overflow: hidden;
    }

        .mobile-nav-active .mobile-nav-toggle {
            color: var(--dark-color);
            position: absolute;
            top: 15px;
            right: 24px;
            margin-right: 0;
            z-index: 5;
            font-size: 35px;
        }

        .mobile-nav-active .navmenu {
            position: fixed;
            overflow: hidden;
            inset: 0;
            background: rgba(33, 37, 41, 0.8);
            transition: 0.3s;
        }

            .mobile-nav-active .navmenu > ul {
                display: block;
            }
}

/*--------------------------------------------------------------
    Checkbox
--------------------------------------------------------------*/
/*--------------------------------------------------------------
    Radio
--------------------------------------------------------------*/
.custom-checkbox, .custom-radio {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

    .custom-checkbox, .custom-radio label {
        text-align: right;
        leading-trim: both;
        text-edge: cap;
        font-family: Lato;
        font-size: 16px;
        font-style: normal;
        font-weight: 700;
        line-height: normal;
    }

    .custom-radio label {
        margin-top: 7px;
    }

        .custom-radio label a {
            font-size: 16px;
            font-weight: 400;
            text-decoration: underline;
        }

    .custom-checkbox input {
        display: flex;
        width: 40px;
        height: 40px;
        padding: 12px;
        justify-content: space-between;
        align-items: center;
        appearance: none;
        position: relative;
        border-radius: 10px;
        background: var(--light-color);
        box-shadow: 0px 3px 15.5px 0px rgba(0, 0, 0, 0.15);
    }

    .custom-radio input {
        display: flex;
        width: 40px;
        height: 40px;
        padding: 12px;
        justify-content: space-between;
        align-items: center;
        appearance: none;
        position: relative;
        border-radius: 10px;
        background: var(--light-color);
        box-shadow: 0px 3px 15.5px 0px rgba(0, 0, 0, 0.15);
    }

    .custom-checkbox input:checked {
        border-color: var(--teal-color);
        background-color: var(--teal-color);
    }

    .custom-radio input:checked {
        border-color: var(--teal-color);
        background-color: var(--teal-color);
    }

    .custom-checkbox input:checked::after {
        content: '\2713';
        font-size: 24px;
        color: white;
        font-weight: 600;
        position: absolute;
    }

    .custom-radio input:checked::after {
        content: '\2713';
        font-size: 24px;
        color: white;
        font-weight: 600;
        position: absolute;
    }
/*--------------------------------------------------------------
# Global Search Bar
--------------------------------------------------------------*/

.search-bar {
    display: flex;
    height: 40px;
    padding: 12px;
    align-items: center;
    gap: 6.691px;
    flex-shrink: 0;
    border-radius: 10px;
    background: var(--light-color);
    box-shadow: 0px 3px 15.5px 0px rgba(0, 0, 0, 0.15);
}

    .search-bar:focus-within {
        border: 2px solid var(--secondary-color);
        box-shadow: 0 0 5px var(--secondary-color);
    }

.search-input {
    flex: 1;
    padding: 10px;
    border: none;
    outline: none;
    font-size: 16px;
    background-color: transparent;
}

.clear-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 15px;
    cursor: pointer;
    font-size: 26px;
}

.search-btn {
    display: flex;
    align-items: center;
    padding: 0.375rem 0.75rem;
    text-align: center;
    border-left: 1px solid var(--box-shadow-color) !important;
    font-size: 22px !important;
}

    .clear-btn:hover, .search-btn:hover {
        color: var(--secondary-hover-color);
    }

    .clear-btn i, .search-btn i {
        pointer-events: none;
    }

/*--------------------------------------------------------------
# Qualification List Item
--------------------------------------------------------------*/
.qualifications-list-item {
    display: flex;
    padding: 16px;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    border-radius: 20px;
    border: 1px solid var(--dark-color);
    background: rgba(255, 255, 255, 0.50);
    backdrop-filter: blur(2px);
}

.qualifications-item-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    align-self: stretch;
}

    .qualifications-item-header h3 {
        color: var(--dark-color);
        text-align: right;
        leading-trim: both;
        text-edge: cap;
        margin-left: 12px;
    }

    .qualifications-item-header i {
        width: 50px;
        height: 50px;
    }

.qualifications-item-body {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-end;
    gap: 16px;
    align-self: stretch;
}

.qualifications-item {
    display: flex;
    align-items: flex-end;
    align-self: stretch;
}

.certifications-item {
    display: flex;
    align-items: flex-end;
    align-self: stretch;
}

.qualifications-item .select2-container--default.select2-container--disabled .select2-selection--single {
    background-color: var(--light-color);
    cursor: default;
}

.qualifications-item .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 0;
}


.qualifications-item .select2-container .select2-selection--single {
    align-items: center !important;
    border-radius: 10px !important;
    box-shadow: 0px 3px 15.5px 0px rgba(0, 0, 0, 0.15);
    border: 1px solid #ced4da;
}

/*--------------------------------------------------------------
# card-sm
--------------------------------------------------------------*/
.card-sm {
    display: flex;
    padding: 16px;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 24px;
    border-radius: 10px;
    border: 1px solid #E5E5E5;
    background: rgba(255, 255, 255, 0.50);
    backdrop-filter: blur(2px);
}

.card-sm-bg {
    border-radius: 10px;
    border: 3px solid var(--orange-color);
    background: var(--light-color);
    backdrop-filter: blur(2px);
}

.card-sm .card-sm-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    align-self: stretch;
}

@media (max-width: 1200px) {

    .card-sm .card-sm-header span {
        font-size: 12px !important;
    }
}

.card-sm .card-sm-header i {
    display: flex;
    width: 28px;
    height: 28px;
    padding: 0.467px 0.467px 0.465px 0px;
    justify-content: center;
    align-items: center;
}

.card-sm .header-sm-content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.card-sm .header-content {
    display: flex !important;
    align-items: flex-start;
    gap: 7px;
}

.card-sm .price {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    align-self: stretch;
    color: var(--orange-color);
    leading-trim: both;
    text-edge: cap;
    font-family: Lato;
    font-size: 14px;
    font-style: normal;
    font-weight: 900;
    line-height: normal;
    margin: 0;
}

.card-sm .details {
    display: flex;
    gap: 7px;
}

.card-sm .status-label {
    overflow: hidden;
    color: var(--label-color);
}

.card-sm .date-label {
    color: var(--dark-color);
}

.card-sm .card-sm-body {
    display: flex;
    flex-direction: column;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--dark-color);
    width: 100%;
}

.card-sm .card-sm-title {
    font-family: Lato, sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: var(--dark-color);
    min-height: 37px;
    /*  overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    display: -webkit-box;*/
}

.card-sm .card-sm-description {
    font-family: Lato, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 22px;
    color: var(--dark-color);
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 7;
    -webkit-box-orient: vertical;
    display: -webkit-box;
}

.card-sm .card-sm-footer {
    font-size: 14px;
    color: var(--dark-color);
    width: 100%;
}

.card-sm .dropdown-section {
    margin-top: 5px;
    display: flex;
    flex-direction: column;
    /*gap: 8px;*/
    width: 100%;
}

.card-sm .button {
    display: flex;
    padding-top: 14px;
    justify-content: center;
    align-items: center;
    gap: 6.691px;
    align-self: stretch;
}

.card-sm-title-min-height {
    min-height: 0 !important;
}
/*--------------------------------------------------------------
# modal popup
--------------------------------------------------------------*/
.modal-content {
    display: inline-flex;
    padding: 40px;
    flex-direction: column;
    align-items: center;
    gap: 32px;
    border-radius: 20px;
    background: var(--light-color);
}

.modal-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 22px;
    border-bottom: none;
    padding: 0 !important;
}

    .modal-header i {
        width: 53px;
        height: 55px;
    }

    .modal-header h3 {
        color: var(--dark-color);
        text-align: center;
        leading-trim: both;
        text-edge: cap;
    }

.modal-body {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 0 !important;
}

    .modal-body .additional-info {
        display: flex;
        padding: 12px 0px;
        align-items: flex-start;
        gap: 32px;
        border-bottom: 1px solid var(--dark-color);
        width: 100%;
    }

        .modal-body .additional-info p {
            margin: 0 !important;
        }

        .modal-body .additional-info .details {
            color: var(--dark-color);
            leading-trim: both;
            text-edge: cap;
            min-width: 70% !important;
            max-width: 70% !important;
        }

        .modal-body .additional-info .price {
            color: var(--dark-color);
            leading-trim: both;
            text-edge: cap;
            font-family: Lato;
            font-size: 16px;
            font-style: normal;
            font-weight: 700;
            line-height: 22px;
        }

.modal-description {
    align-self: stretch;
    color: var(--dark-color);
    leading-trim: both;
    text-edge: cap;
}

    .modal-description b {
        font-weight: 700;
        text-decoration-line: underline;
        text-decoration-style: solid;
        text-decoration-skip-ink: auto;
        text-decoration-thickness: auto;
        text-underline-offset: auto;
    }

.modal-content-footer {
    display: flex;
    align-items: center;
    gap: 16px;
}

/*--------------------------------------------------------------
# Attendees
--------------------------------------------------------------*/

.attendees-container {
    display: flex;
    padding: 32px;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    align-self: stretch;
    border-radius: 20px;
    border: 1px solid var(--dark-color);
    background: rgba(255, 255, 255, 0.50);
    backdrop-filter: blur(2px);
    max-width: 100%;
}

    .attendees-container .attendees-list {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        align-self: stretch;
        height: fit-content;
        overflow-x: auto;
        max-width: 100%;
    }

        .attendees-container .attendees-list.registered-attendees .attendees {
            height: 500px;
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            align-self: stretch;
            max-width: 100%;
            max-height: 105px;
            overflow: hidden;
            transition: max-height 0.3s ease-in-out;
        }

        .attendees-container .attendees-list.registered-attendees .attendees-scrollbar {
            max-height: 500px;
            overflow-y: scroll;
            scrollbar-color: var(--orange-color) white;
            overflow-x: auto;
        }


        .attendees-container .attendees-list .attendee {
            display: flex;
            padding: 8px 0px;
            align-items: center;
            gap: 32px;
            align-self: stretch;
            border-bottom: 1px solid var(--dark-color);
            min-width: 400px;
        }

            .attendees-container .attendees-list .attendee .additional-info {
                display: flex;
                align-items: center;
                gap: 16px;
                flex: 1 0 0;
            }

                .attendees-container .attendees-list .attendee .additional-info .attendee-name {
                    display: -webkit-box;
                    max-width: 116px;
                    -webkit-box-orient: vertical;
                    -webkit-line-clamp: 2;
                    flex: 1 0 0;
                    overflow: hidden;
                    font-weight: 700;
                }

                .attendees-container .attendees-list .attendee .additional-info .attendee-course {
                    display: -webkit-box;
                    -webkit-box-orient: vertical;
                    -webkit-line-clamp: 2;
                    flex: 1 0 0;
                    overflow: hidden;
                    min-width: 83px;
                }


            .attendees-container .attendees-list .attendee .additional-inf .attendee-price {
                text-align: right;
                display: -webkit-box;
                -webkit-box-orient: vertical;
                -webkit-line-clamp: 1;
                overflow: hidden;
                min-width: 62px;
            }

            .attendees-container .attendees-list .attendee .icon {
                width: 24px !important;
                height: 24px !important;
            }

        .attendees-container .attendees-list .attendee-total {
            padding: 0;
            gap: 0;
            justify-content: space-between;
        }

            .attendees-container .attendees-list .attendee-total .total {
                display: flex;
                justify-content: flex-start;
                font-size: 1.2rem;
                font-weight: bold;
            }

        .attendees-container .attendees-list .load-more-attendees {
            display: flex;
            height: 40px;
            padding: 12px;
            justify-content: center;
            align-items: center;
            gap: 6.691px;
            align-self: stretch;
            border-radius: 10px;
        }

            .attendees-container .attendees-list .load-more-attendees a {
                line-height: normal;
                text-decoration-line: underline;
                text-decoration-style: solid;
                text-decoration-skip-ink: auto;
                text-decoration-thickness: auto;
                text-underline-offset: auto;
                text-underline-position: from-font;
            }

/*--------------------------------------------------------------
# Headercard
--------------------------------------------------------------*/
.headercard {
    display: flex;
    padding: 32px 56px;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 11px;
    align-self: stretch;
    border-radius: 20px;
    background: var(--teal-00BBB3, #00BBB3);
}

    .headercard .headercard-header {
        display: flex;
        /*align-items: center;*/
        gap: 24px;
    }

        .headercard .headercard-header i {
            display: flex;
            width: 40px;
            height: 40.001px;
            padding: 0.669px 0.666px 0.664px 0.001px;
            flex-direction: column;
            justify-content: center;
            align-items: center;
        }

        .headercard .headercard-header content {
            leading-trim: both;
            text-edge: cap;
        }

    .headercard .headercard-body {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 6;
        align-self: stretch;
    }

        .headercard .headercard-body p {
            color: var(--dark-color);
            overflow: hidden;
            leading-trim: both;
            text-edge: cap;
            text-overflow: ellipsis;
            margin: 0
        }

@media (max-width: 456px) {
    .headercard {
        padding: 27px 35px;
    }
}
/*--------------------------------------------------------------
# Welcome Card
--------------------------------------------------------------*/
.welcome-card {
    display: flex;
    padding: 44px 52px;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 20px;
    align-self: stretch;
    border-radius: 20px;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.00) 0%, rgba(0, 0, 0, 0.20) 100%), #1AB86E;
}

@media (max-width: 456px) {
    .welcome-card {
        padding: 32px 34px;
        gap: 16px;
    }
}

.welcome-card p {
    align-self: stretch;
    leading-trim: both;
    text-edge: cap;
    margin: 0;
}

.welcome-card h1 {
    align-self: stretch;
    leading-trim: both;
    text-edge: cap;
    margin: 0;
}
/*--------------------------------------------------------------
# Resources Card
--------------------------------------------------------------*/
.resources-card-row {
    display: flex;
    padding: 0px 15px;
    justify-content: center;
    align-items: flex-start;
    align-content: flex-start;
    gap: 16px;
    align-self: stretch;
    flex-wrap: wrap;
}

.resources-card {
    display: flex;
    padding: 16px;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 15px;
    border-radius: 10px;
    border: 1px solid #E5E5E5;
    background: rgba(255, 255, 255, 0.50);
    backdrop-filter: blur(2px);
}

.resources-card-content {
    display: flex;
    /*flex-direction: column;*/
    flex-direction: row;
    align-items: center;
    gap: 20px;
    align-self: stretch;
}

    .resources-card-content h1 {
        flex-grow: 1;
        flex-shrink: 0;
        margin: 0;
        height: auto !important;
    }

    .resources-card-content .resources-card-header {
        display: flex;
        gap: 20px;
        justify-content: space-between;
        align-items: center;
        align-self: stretch;
    }

        .resources-card-content .resources-card-header .icon-wrapper {
            display: flex;
            width: 27px;
            height: 23.914px;
            padding: 0.412px 4.23px 0.412px 5.041px;
            justify-content: center;
            align-items: center;
        }

            .resources-card-content .resources-card-header .icon-wrapper i {
                width: 17.73px;
                height: 23.09px;
                flex-shrink: 0;
            }

        .resources-card-content .resources-card-header .date-label {
            color: var(--dark-color);
            ;
            text-align: right;
            leading-trim: both;
            text-edge: cap;
            font-family: Lato;
            font-size: 14px;
            font-style: normal;
            font-weight: 400;
            line-height: normal;
        }

    .resources-card-content h1 {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        align-self: stretch;
        overflow: hidden;
        text-overflow: ellipsis;
        font-size: 16px;
        height: 38px;
    }

    .resources-card-content p {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 1;
        overflow: hidden;
        color: #717171;
        text-overflow: ellipsis;
        font-size: 14px;
        margin: 0;
    }

/*--------------------------------------------------------------
#  coaches And Judges Card
--------------------------------------------------------------*/
.table-container {
    display: flex;
    padding: 32px;
    flex-direction: column;
    align-items: flex-start;
    border-radius: 20px;
    border: 1px solid var(--dark-color);
    background: rgba(255, 255, 255, 0.50);
    backdrop-filter: blur(2px);
    overflow-x: auto;
}

    .table-container h2 {
        leading-trim: both;
        text-edge: cap;
    }

    .table-container table {
        width: 100%;
        border-collapse: collapse;
        text-align: center;
    }

    .table-container thead th {
        padding: 12px;
        padding: 16px 0px;
        align-items: flex-start;
        gap: 16px;
        border-bottom: 1px solid var(--dark-color);
        background: var(--light-color);
    }

    .table-container thead, tbody, tfoot, tr, td, th {
        border-color: inherit;
        border-style: solid;
        border-width: 0;
        overflow: hidden;
        color: var(--dark-color);
        text-align: center;
        leading-trim: both;
        text-edge: cap;
        text-overflow: ellipsis;
        font-family: Lato;
        font-size: 18px;
        font-style: normal;
        font-weight: 700;
        line-height: normal;
    }

    .table-container tbody td {
        padding: 12px;
        font-size: 0.9rem;
        border-bottom: 1px solid var(--dark-color) !important;
    }

    .table-container tbody i {
        width: 63px;
        height: 63px;
    }

    .table-container tbody tr:last-child td {
        border-bottom: none;
    }

/*--------------------------------------------------------------
#  Dashboard- Card
--------------------------------------------------------------*/
.dashboard-card {
    display: flex;
    padding: 24px;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    justify-content: space-between;
    height: 100%;
    border-radius: 20px;
    background: var(--teal-00BBB3, #00BBB3);
}

    .dashboard-card.disabled {
        background: lightgray !important;
    }

    .dashboard-card i {
        display: flex;
        width: 35px;
        height: 35.001px;
        padding: 0.585px 0.582px 0.581px 0.001px;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }

    .dashboard-card .icon-Spring-board-b {
        width: 112.761px !important;
        height: 57px !important;
    }

    .dashboard-card h3 {
        align-self: stretch;
        leading-trim: both;
        text-edge: cap;
        margin: 0;
    }

    .dashboard-card p {
        color: var(--dark-color);
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
        align-self: stretch;
        overflow: hidden;
        leading-trim: both;
        text-edge: cap;
        text-overflow: ellipsis;
        margin: 0;
    }

    .dashboard-card .icon-pring-mascot i {
        position: absolute;
        right: 1px;
        bottom: 8px;
        width: 90px;
        height: 101px;
    }

@keyframes colorChange {
    0% {
        background-color: var(--sky-color);
        color: var(--yinmn-blue-color);
    }

    50% {
        background-color: var(--yinmn-blue-color);
        color: var(--sky-color);
    }

    100% {
        background-color: var(--red-color);
        color: var(--light-color);
    }
}

@keyframes imageChange {
    0% {
        background: url('/Portals/_default/Skins/GNZ/img/svg/icon-Spring-board-b.svg') no-repeat center;
    }

    50% {
        background: url('/Portals/_default/Skins/GNZ/img/svg/springboardalt.svg') no-repeat center;
    }

    100% {
        background: url('/Portals/_default/Skins/GNZ/img/svg/springboardalt.svg') no-repeat center;
    }
}

@keyframes springboardColorChange {
    0% {
        background-color: var(--yinmn-blue-color);
    }

    25% {
        background-color: var(--teal-00BBB3,#00BBB3);
    }

    50% {
        background-color: var(--light-blue-color);
    }

    75% {
        background-color: var(--red-color);
    }

    100% {
        background-color: var(--yinmn-blue-color);
    }
}

.animation-springboard {
    animation: springboardColorChange 20s infinite;
    transition: background-color 0.5s ease;
}

.animation-card {
    animation: colorChange linear 20s infinite alternate;
    /*transition: background-color 0.5s ease;*/
}

    .animation-card > * {
        color: inherit !important;
    }

    .animation-card > .icon-Spring-board-b {
        animation: imageChange linear 20s infinite alternate;
    }

/*--------------------------------------------------------------
#  Login Page
--------------------------------------------------------------*/
.login-image {
    border-radius: 60px 0px 0px 60px;
    flex-shrink: 0;
    height: calc(100vh - 19px);
    margin: 0;
    padding: 0;
}

.login-card {
    display: flex;
    padding: 40px;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 32px;
    border-radius: 20px;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.00) 0%, rgba(0, 0, 0, 0.20) 100%), #1AB86E;
}

    .login-card h2 {
        color: var(--light-color);
        leading-trim: both;
        text-edge: cap;
        margin: 0;
    }

.login-card-body {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    align-self: stretch;
}

.login-card .login-card-body .form-control {
    display: flex;
    height: 56px;
    padding: 8px 16px;
    align-items: center;
    gap: 8px;
    align-self: stretch;
    border-radius: 52px;
    background: var(--light-color);
}

    .login-card .login-card-body .form-control::placeholder {
        color: var(--light-grey-color);
        leading-trim: both;
        text-edge: cap;
        font-family: 'Lato', sans-serif;
        font-size: 18px;
        font-style: normal;
        font-weight: 700;
        line-height: normal;
    }

.login-card .login-card-footer a {
    color: var(--light-color);
}

.login-card .login-card-footer {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    align-self: stretch;
}

    .login-card .login-card-footer .btn-primary {
        display: flex;
        height: 56px;
        padding: 12px;
        justify-content: center;
        align-items: center;
        gap: 6.691px;
        align-self: stretch;
    }

/*--------------------------------------------------------------
#  carousel
--------------------------------------------------------------*/

.curvy-image {
    border-radius: 60px 0px 0px 60px;
    overflow: hidden;
    object-fit: cover;
    height: calc(100vh - 0px);
    object-fit: cover;
}

.carousel-item.active {
    transition: opacity 3s ease-in-out !important;
}

.carousel-fade .carousel-item {
    transition: opacity 3s ease-in-out !important;
}

.carousel-item {
    opacity: 0;
}

    .carousel-item.active {
        opacity: 1;
    }

/*--------------------------------------------------------------
#  ResetPassword
--------------------------------------------------------------*/
.reset-password-crad {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 48px;
}

    .reset-password-crad .reset-password-crad-header {
        flex-shrink: 0;
    }

    .reset-password-crad h1 {
        color: var(--dark-color);
        leading-trim: both;
        text-edge: cap;
        letter-spacing: 0.68px;
    }

    .reset-password-crad .login-card .description {
        display: flex;
        padding: 8px 4px;
        justify-content: center;
        align-items: center;
        align-self: stretch;
    }

        .reset-password-crad .login-card .description p {
            color: var(--light-color);
            leading-trim: both;
            text-edge: cap;
        }

/*--------------------------------------------------------------
#  Club Profile page
--------------------------------------------------------------*/
.club-profile .qualifications-list-item {
    padding: 32px;
    gap: 0;
}

    .club-profile .qualifications-list-item h2 {
        margin-left: 15px;
    }

    .club-profile .qualifications-list-item p {
        color: var(--dark-color);
        margin: 0;
        padding: 18px;
    }

        .club-profile .qualifications-list-item p span {
            color: var(--dark-color);
            leading-trim: both;
            text-edge: cap;
            font-family: Lato;
            font-size: 16px;
            font-style: normal;
            font-weight: 400;
            line-height: 22px;
            text-decoration-line: underline;
            text-decoration-style: solid;
            text-decoration-skip-ink: auto;
            text-decoration-thickness: auto;
            text-underline-offset: auto;
        }

@media (max-width: 991.98px) {
    .qualifications-list-item {
        margin-right: 0 !important;
        margin-left: 0 !important;
    }
}

/*--------------------------------------------------------------
#  tab
--------------------------------------------------------------*/

.tab {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
    /*flex-wrap: wrap;*/
}

.tab-btn {
    /*display: flex;*/
    display: ruby;
    gap: 16px;
}

    .tab-btn .btn-light {
        display: flex;
        height: 40px;
        padding: 14.933px;
        align-items: center;
        gap: 2.133px;
        margin-bottom: 5px;
    }

.tab-btn-active {
    background-color: var(--secondary-color) !important;
    border-color: var(--secondary-color) !important;
}

@media (max-width: 490px) {
    .club-profile .tab {
        flex-direction: column;
        align-items: stretch;
    }

    .club-profile .tab-btn {
        flex-direction: column;
        gap: 8px;
    }

    .club-profile .save-btn {
        margin-top: 16px;
    }
}

@media (max-width: 590px) {
    .education .tab {
        flex-direction: column;
        align-items: stretch;
    }

    .education .tab-btn {
        flex-direction: column;
        gap: 8px;
    }

    .education .save-btn {
        margin-top: 16px;
    }
}

.sticky-wrapper.scrolled {
    background-color: #f8f9fa;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
    width: auto;
    transition: background-color 0.3s ease;
    padding: 16px;
    max-width: 60%;
}

@media(max-width: 991px) {

    .sticky-wrapper.scrolled {
        height: 50px;
        overflow: hidden;
    }

}

.sticky-wrapper.scrolled:hover {
    height: auto;
}

.tab-text {
    justify-content: center;
    display: flow;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/*--------------------------------------------------------------
#  Resource
--------------------------------------------------------------*/

.resource .rsource-sub-category {
    display: flex;
    gap: 8px;
}

@media (max-width: 991px) {

    .tab {
        display: flex;
        justify-content: space-between;
        gap: 16px;
        align-items: center;
        flex-wrap: wrap !important;
    }

    .tab-btn {
        display: flex !important;
        gap: 16px;
    }

    .resource .tab {
        flex-direction: column;
        align-items: stretch;
    }

    .resource .tab-btn {
        flex-direction: column;
        gap: 8px;
    }

    .resource .rsource-sub-category {
        display: block !important;
    }

        .resource .rsource-sub-category a {
            margin-bottom: 5px;
        }
}

.resource .form-label {
    leading-trim: both;
    text-edge: cap;
    font-family: Lato;
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
}

.resource .animation-springboard .headercard-header i {
    width: 204.774px;
    height: 65.819px;
    flex-shrink: 0;
}

.resource .tab-btn .icon-group {
    width: 126.954px;
    height: 19.141px;
    margin-right: 8px;
    flex-shrink: 0;
}

.resource .tab-btn .icon-pring-board-mascot {
    width: 24px;
    height: 26.933px;
}

.resource .headercard .icon-pring-board-mascot {
    position: absolute;
    right: 24px;
    top: 24px;
    width: 90px;
    height: 101px;
}

@media (max-width: 499px) {
    .resource .headercard .icon-pring-board-mascot {
        position: relative;
        width: 84px;
        height: 84px;
    }
}

.page-container {
    width: 100%;
    min-height: 100vh;
    background-color: #fff;
}

.corner-image {
    position: fixed;
    height: auto;
    z-index: 1000;
}

    .corner-image.left {
        top: 233px;
        left: -1px;
    }

    .corner-image.top-right {
        top: -22px;
        right: -4px;
    }

    .corner-image.bottom-left {
        bottom: 0;
        left: 0;
    }

    .corner-image.bottom-right {
        bottom: 161px;
        right: -1px;
    }

@media (max-width: 768px) {
    .corner-image {
        width: 50px !important;
    }

        .corner-image.left {
            left: 0;
        }
}

@media (max-width: 1430px) {
    .corner-image {
        width: 70px;
    }

        .corner-image.left {
            left: 0;
        }
}

/*--------------------------------------------------------------
# Preloader
--------------------------------------------------------------*/
#preloader {
    position: fixed;
    inset: 0;
    z-index: 999999;
    background: rgba(255, 255, 255, 0.7);
    display: flex;
    justify-content: center;
    align-items: center;
    transition: opacity 0.6s ease-out;
    opacity: 1;
}

    #preloader .dot-container {
        display: flex;
        justify-content: center;
        gap: 8px;
    }

    #preloader .dot {
        width: 16px;
        height: 16px;
        border-radius: 50%;
        background-color: var(--primary-color);
        animation: pulse 1.2s infinite ease-in-out;
    }

        #preloader .dot:nth-child(1) {
            animation-delay: 0s;
        }

        #preloader .dot:nth-child(2) {
            animation-delay: 0.2s;
        }

        #preloader .dot:nth-child(3) {
            animation-delay: 0.4s;
        }

@keyframes pulse {
    0%, 100% {
        transform: scale(1);
        opacity: 1;
    }

    50% {
        transform: scale(1.5);
        opacity: 0.5;
    }
}

/*--------------------------------------------------------------
# schedule
--------------------------------------------------------------*/

.schedule-mobile-container {
    overflow-x: hidden;
    overflow-y: hidden;
}

.schedule {
    display: flex;
    flex-direction: column;
    height: 100vh;
    overflow-x: auto;
    overflow-y: auto;
}

    .schedule .schedule-table thead {
        position: sticky;
        top: 0;
        background: #fff;
        z-index: 5;
    }

    .schedule::-webkit-scrollbar {
        display: none;
    }

    .schedule .schedule-table {
        width: 100%;
        border-collapse: collapse;
        font-family: Arial, sans-serif;
        font-size: 12px;
        height: 100%;
    }

        .schedule .schedule-table th, .schedule-table td {
            /*border: 1px solid #ccc;*/
            padding: 4px;
            text-align: center;
            min-width: 80px;
        }

    .schedule .sticky-col {
        position: sticky;
        left: 0;
        background: #eee;
        z-index: 4;
        /*display: flex;*/
        padding: 11px !important;
        flex-direction: column;
        justify-content: flex-end;
        flex-shrink: 0;
    }

    .schedule .event-cell div p.tital {
        font-size: 10px;
        -webkit-line-clamp: 5;
    }

    .schedule .event-cell div {
        font-size: 11px;
        text-align: left;
        padding: 8px !important;
        height: 122px;
        border-radius: 10px;
        overflow-y: auto;
        scrollbar-width: thin;
        scrollbar-color: #e9e4e4 transparent;
        border: 1px solid rgba(0, 0, 0, 0.15) !important;
    }

    .schedule .hour-label {
        color: #000;
        font-family: Inter;
        font-size: 12px;
        font-style: normal;
        font-weight: 400;
        line-height: normal;
        min-width: 200px !important;
        align-items: center;
        height: 100%;
        border-bottom: 1px solid #000;
        border-left: 1px solid #000;
        padding-top: 15px !important;
    }

    .schedule .date-header {
        position: relative;
        margin-bottom: 30px;
        padding: 5px !important;
        text-align: start !important;
        opacity: 0;
    }

    .schedule .schedule-category {
        display: flex;
        height: 122px;
        padding: 8px;
        flex-direction: column;
        justify-content: flex-end;
        align-items: flex-start;
        gap: 8px;
        flex-shrink: 0;
        align-self: stretch;
        border-radius: 10px 0 0 10px;
        text-align: start;
    }

    .schedule .schedule-category-col {
        padding: 0 0 0 8px !important;
    }

.schedule-wrapper {
    position: relative;
}

.vertical-sticky-line-overlay {
    position: absolute;
    top: 0;
    left: 314px;
    width: 4px;
    height: 100%;
    background-color: #AEAEAE;
    z-index: 20;
    pointer-events: none;
}

.active-date-header {
    display: flex;
    position: absolute;
    top: 0px;
    left: 157px;
    width: 145px;
    height: 9%;
    background-color: transparent;
    z-index: 20;
    pointer-events: none;
    align-items: center;
}

    .active-date-header span {
        color: #000;
        leading-trim: both;
        text-edge: cap;
        font-family: Inter;
        font-size: 16px;
        font-style: normal;
        font-weight: 700;
        line-height: normal;
    }

.time-overlay-block {
    position: absolute;
    top: 9%;
    left: 157px;
    width: 161px;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.7);
    z-index: 20;
    pointer-events: none;
    transition: all 0.2s ease;
}

.vertical-sticky-line-overlay .time-label {
    display: flex;
    width: 28px;
    height: 70px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 8px;
    border-radius: 40px;
    border: 3px solid #AEAEAE;
    background: #FFF;
    position: absolute;
    margin-left: -12px;
    top: 11px;
}

.vertical-sticky-line-overlay .title {
    display: flex;
    transform: rotate(-90deg);
    justify-content: center;
    color: #000;
    font-family: Inter;
    font-size: 16px;
    font-weight: 700;
    padding: 10px;
    align-items: center;
}

.schedule .schedule-table p {
    font-family: Inter !important;
}

@media (max-width: 767px) {
    .time-overlay-block {
        left: 114px;
        width: 107px;
    }

    .active-date-header {
        left: 114px;
        width: 86px;
    }

    .schedule .schedule-table .gnz-logo {
        width: 92px;
        margin-left: 0px !important;
    }

    .schedule .schedule-table .schedule .sticky-col {
        width: 110px;
    }

    .schedule .schedule-table h4 {
        font-size: 12.176px;
        margin-bottom: 0;
    }

    .schedule .schedule-table p {
        font-size: 11.176px;
    }

    .vertical-sticky-line-overlay {
        left: 220px;
    }

    .schedule .hour-label {
        font-size: 10px;
    }

    .schedule-mobile-container {
        width: 100%;
        padding-right: 0 !important;
        padding-left: 0 !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
    }

    .schedule .event-cell div {
        height: 108px;
    }

    .schedule .schedule-category {
        height: 108px;
    }
}

/*cart-drawer*/

.cart-drawer .lien {
    width: 476px;
    height: 2px;
    background: #000;
}

.cart-drawer {
    display: flex;
    width: 100% !important;
    height: 100%;
    padding: 16px;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
}

.cart-drawer-Panel {
    display: flex;
    width: 508px !important;
    height: 100%;
    flex-direction: column;
}

    .cart-drawer .offcanvas-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        align-self: stretch;
        padding: 0;
    }

    .cart-drawer .cart-header-title {
        display: flex;
        align-items: flex-end;
        gap: 8px;
    }

    .cart-drawer .cart-title {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        overflow: hidden;
        color: #000;
        letter-spacing: 0.48px;
    }

    .cart-drawer .cart-count {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        overflow: hidden;
        font-size: 24px !important;
    }

    .cart-drawer .cart-close {
        width: 24px;
        height: 24px;
        aspect-ratio: 1 / 1;
    }

    .cart-drawer .cart-items-container, .cart-drawer .cart-holder {
        display: flex;
        flex-direction: column;
        align-items: flex-end;
        gap: 12px;
        align-self: stretch;
    }

    /* Product row */
    .cart-drawer .cart-item {
        display: flex;
        height: 105px;
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
        align-self: stretch;
    }
    
    .cart-drawer .cart-item .text-dark {
        margin-bottom: 0px;
    }

    .cart-drawer .cart-item-details {
        display: flex;
        align-items: center;
        gap: 16px;
        align-self: stretch;
        padding-bottom: 12px;
        border-bottom: 1px solid #E5E5E5;
    }

    .cart-drawer .cart-item-info {
        display: flex;
        align-items: center;
        gap: 16px;
        flex: 1 0 0;
    }

        .cart-drawer .cart-item-info img {
            width: 80px;
            height: 68px;
            border-radius: 5px;
        }

    .cart-drawer .cart-item-meta {
        display: flex;
        align-items: center;
        align-content: center;
        gap: 16px;
        flex: 1 0 0;
        flex-wrap: wrap;
    }

    .cart-drawer .cart-item-footer {
        display: flex;
        align-items: center;
        gap: 8px;
    }

    .cart-drawer .remove-item {
        cursor: pointer;
        color: #000;
        font-weight: 500;
    }

    /* Qty box design */
    .cart-drawer .qty-box {
        display: flex;
        align-items: center;
        gap: 10px;
        background: #fff;
        padding: 6px 12px;
        border-radius: 12px;
        box-shadow: 0 3px 8px rgba(0,0,0,0.1);
    }

    .cart-drawer .qty-btn {
        border: none;
        background: none;
        font-size: 20px !important;
        cursor: pointer;
    }

    .cart-drawer .qty-cart-btn {
        border: none;
        background: none;
        font-size: 20px !important;
        cursor: pointer;
    }

        .cart-drawer .qty-cart-btn.disabled {
            opacity: 0.4;
            pointer-events: none;
            cursor: not-allowed;
        }

    .cart-drawer .qty-input {
        width: 28px;
        border: none;
        text-align: center;
        background: none;
    }

    /* Footer */
    .cart-drawer .cart-summary-section {
        display: flex;
        padding-top: 16px;
        flex-direction: column;
        align-items: flex-start;
        gap: 29px;
        align-self: stretch;
        border-top: 1px solid #000;
    }

    .cart-drawer .cart-footer-actions {
        cursor: pointer;
        display: flex;
        height: 38px;
        align-items: flex-end;
        gap: 12px;
    }

    .cart-drawer .totals-box {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
        align-self: stretch;
    }

    .cart-drawer .subtotal {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 1;
        overflow: hidden;
        color: #000 !important;
        font-size: 20px !important;
        text-overflow: ellipsis;
    }

    /* Checkout button */
    .cart-drawer .btn-checkout {
        background: #F0782B;
        color: #fff;
        font-weight: 600;
        padding: 12px;
        border-radius: 10px;
    }

.clear-cart {
    color: #000;
    font-family: Lato;
    font-size: 16px !important;
    font-style: normal;
    font-weight: 700 !important;
    line-height: normal;
}
/*--------------------------------------------------------------
# Store
--------------------------------------------------------------*/
/* HEADER */
.shop-container .shop-search-container {
    padding: 32px 64px;
    border-radius: 20px;
    background: #00BBB3;
    color: white;
}

/* Search Bar */
.shop-container .search-input {
    display: flex;
    height: 40px;
    padding: 12px;
    gap: 6.691px;
    background: #FFF;
    color: #495057;
    font-family: Lato;
    font-style: normal;
    font-weight: 700;
    border-radius: 10px !important;
    box-shadow: 0 3px 15.5px rgba(0, 0, 0, 0.15);
}

/* ======== CATEGORIES ========= */

.shop-container .shop-categories-wrapper {
    overflow-x: auto;
    overflow-y: hidden;
    white-space: nowrap;
    width: 100%;
    padding-bottom: 5px;
}


    .shop-container .shop-categories-wrapper::-webkit-scrollbar {
        display: none;
    }

.shop-container .shop-categories {
    display: flex;
    flex-wrap: nowrap;
    gap: 12px;
}

/* Main container */
.shop-categories {
    scrollbar-width: thin; /* Firefox */
    scrollbar-color: #0f8f88 #dff3f1;
}

    /* Chrome, Edge, Safari */
    .shop-categories::-webkit-scrollbar {
        height: 8px;
    }

    .shop-categories::-webkit-scrollbar-track {
        background: #dff3f1; /* very soft teal */
        border-radius: 20px;
    }

    .shop-categories::-webkit-scrollbar-thumb {
        background: linear-gradient(90deg, #17a2a0, #0f8f88);
        border-radius: 20px;
        transition: all 0.3s ease;
    }

        .shop-categories::-webkit-scrollbar-thumb:hover {
            background: linear-gradient(90deg, #0f8f88, #0a6f6a);
        }


.shop-container .category-item {
    flex: 0 0 150px;
    height: 100%;
    background: #FFF;
    border: 1px solid #E5E5E5;
    border-radius: 10px;
    padding: 8px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    overflow: hidden;
    gap: 4px;
    backdrop-filter: blur(2px);
}

.shop-container .category-img {
    width: 100%;
    height: 80px;
    object-fit: cover;
    border-radius: 5px;
}

.shop-container .category-item .tital,
.shop-container .category-item h6 {
    white-space: normal;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ======== PRODUCT CARDS ========= */
.shop-container .product-grid {
}

.shop-container .product-card {
    display: flex;
    width: 263px;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 16px;
    border-radius: 10px;
    backdrop-filter: blur(2px);
    margin: 0 0 32px 0 !important;
}


.shop-container .card-img {
    height: 163px;
    align-self: stretch;
}

    .shop-container .card-img img {
        width: 100%;
        height: 100%;
        border-radius: 10px;
        object-fit: cover;
    }

/* SALE BADGE */
.shop-container .badge-sale {
    display: flex;
    width: 55px;
    padding: 6px;
    justify-content: center;
    align-items: center;
    gap: 6.691px;
    position: absolute;
    right: 8px;
    top: 8px;
    border-radius: 10px;
    background: #94D500;
}

.shop-container .category-item-link {
    display: flex;
    text-decoration: none !important;
    color: inherit !important;
    cursor: pointer;
}

    .shop-container .category-item-link:hover {
        text-decoration: none !important;
        color: inherit !important;
    }

.shop-container .shop-category-active {
    border: 2px solid #2D51FF !important;
}

.card-price {
    display: flex;
    gap: 4px;
    align-items: center;
}

.old-price {
    text-decoration: line-through;
    color: #9e9e9e;
    font-size: 14px;
}

.sale-price {
    color: #ff6a00 !important;
    font-weight: 700 !important;
}

/* ======== RESPONSIVE BREAKPOINTS ========= */

/* Tablets */
@media (max-width: 991px) {
    .shop-container .search-input {
        width: 100% !important;
    }
}

/* Mobile */
@media (max-width: 767px) {
    .shop-container .shop-search-container {
        padding: 20px;
    }

    .shop-container .category-item {
        min-width: 120px;
    }

    .shop-container .product-img {
        height: 140px;
    }
}

/* ======== PRODUCT CARDS ========= */

/*.products-container {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 32px;
    flex: 1 0 0;
    align-self: stretch;
}*/

.products-view .product-title {
    overflow: hidden;
    color: #000;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.products-view .product-image-box {
    height: 526px;
    flex: 1 0 0;
    overflow: hidden;
}

.products-view .product-main-img {
    width: 100%;
    height: auto;
    border-radius: 10px;
    object-fit: cover;
}

.products-view .product-right-column {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 32px;
}

.products-view .product-info-section {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
}

.products-view .icon-circle {
    display: flex;
    padding: 5px;
    justify-content: center;
    align-items: center;
    gap: 6.691px;
    border-radius: 10px;
    background: #D06229;
}

.products-view .stock-box,
.products-view .delivery-box {
    display: flex;
    padding: 8px;
    align-items: center;
    gap: 16px;
    align-self: stretch;
    border-radius: 5px;
    background: #F2F2F2;
}

.products-view .product-select-section {
    display: flex;
    align-items: flex-end;
    gap: 16px;
}

.products-view .product-select {
    display: flex;
    width: 283px;
    min-width: 250px;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}

.products-view .product-price {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 20px !important;
}

.products-view .quantity-box {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}

.products-view .product-action-section {
    display: flex;
    align-items: flex-end;
    gap: 32px;
    align-self: stretch;
}

.products-view .qty-box {
    display: flex;
    width: 113px;
    height: 40px;
    padding: 12px 16px;
    justify-content: space-between;
    align-items: center;
    border-radius: 10px;
    background: #FFF;
    box-shadow: 0 3px 15.5px 0 rgba(0, 0, 0, 0.15);
}

.products-view .qty-btn {
    border: none;
    background: transparent;
    font-size: 24px !important;
    font-weight: 400;
    padding: 0;
    cursor: pointer;
    color: #555;
}

.products-view .qty-input {
    width: 30px;
    text-align: center;
    border: none;
    background: transparent;
    color: #000;
    text-align: center;
    leading-trim: both;
    text-edge: cap;
    font-family: Lato;
    font-size: 16px !important;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

.qty-input:focus {
    outline: none;
}

/* ======== PRODUCT CARDS ========= */
.products-view .product-grid {
}

.products-view .product-card {
    display: flex;
    width: 263px;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 16px;
    border-radius: 10px;
    backdrop-filter: blur(2px);
    margin: 0 0 32px 0 !important;
}


.products-view .card-img {
    height: 163px;
    align-self: stretch;
}

    .products-view .card-img img {
        width: 100%;
        height: 100%;
        border-radius: 10px;
        object-fit: cover;
    }

.products-view .badge-sale {
    display: flex;
    width: 55px;
    padding: 6px;
    justify-content: center;
    align-items: center;
    gap: 6.691px;
    position: absolute;
    right: 8px;
    top: 8px;
    border-radius: 10px;
    background: #94D500;
}

    .products-view .badge-sale.product-detail-badge {
        right: 25px;
        top: 10px;
    }

    @media (max-width: 991px) {
        .products-view .product-select-section {
        gap: 8px;
        flex-direction: column;
        align-items: flex-start;
    }

    .products-view .product-right-column {
        gap: 16px;
    }

    .products-view .product-info-section {
        gap: 8px;
    }
}

@media (max-width: 767px) {

    .products-view .product-img {
        height: 140px;
    }

    .products-view .product-image-box {
        height: 100%;
    }

    .products-view .prouct-container {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
    }
}

.notify-modal {
    display: flex;
    width: 373px;
    padding: 40px;
}

    .notify-modal .modal-body {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 32px;
        min-width: 100%;
    }

.notify-header {
    display: flex;
    width: 240px;
    flex-direction: column;
    align-items: center;
    gap: 22px;
}

.notify-icon {
    display: flex;
    width: 40px;
    height: 40px;
    padding: 0.678px 0.664px 0.664px 0.678px;
    justify-content: center;
    align-items: center;
    aspect-ratio: 1/1;
}

.notify-title {
    align-self: stretch;
    color: #000;
    text-align: center;
    leading-trim: both;
    text-edge: cap;
}

.notifySubmit {
    height: 40px;
    padding: 12px;
}


/* ======== Checkout ========= */

.checkout-wrapper .order-success-page {
    display: flex;
    padding: 32px 0;
    flex-direction: column;
    align-items: center;
    gap: 32px;
}

.checkout-wrapper .success-icon-wrapper {
    display: flex;
    justify-content: center;
}

.checkout-wrapper .success-icon {
    width: 32px;
    height: 32px;
    background: #1c8f3a;
    color: #fff;
    border-radius: 6px !important;
    font-size: 18px !important;
    line-height: 32px !important;
    text-align: center;
    font-weight: bold;
}

.checkout-wrapper .checkout-left {
    display: flex;
    flex-direction: column;
    gap: 12px;
    flex: 1 0 0;
    align-self: stretch;
}

.checkout-wrapper .section-title {
    -webkit-line-clamp: 2 !important;
    letter-spacing: 0.48px;
}

.checkout-wrapper .checkout-details-section {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 32px;
    align-self: stretch;
}

.checkout-wrapper .info-card {
    display: flex;
    padding: 16px;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    align-self: stretch;
    border-radius: 10px;
    border: 1px solid #E5E5E5;
}

.checkout-wrapper .info-card-title {
    -webkit-line-clamp: 2 !important;
    font-size: 20px !important;
    letter-spacing: 0.4px;
}

.checkout-wrapper .edit-link {
    color: #7F7F7F !important;
    font-size: 14px !important;
}

.checkout-wrapper .address-line {
    line-height: normal !important;
}

.checkout-wrapper .info-card-action {
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
    gap: 12px;
    align-self: stretch;
}

.checkout-wrapper .checkout-right .order-summary {
    display: flex;
    padding: 16px 32px;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    flex: 1 0 0;
    align-self: stretch;
    background: #F2F2F2;
}


.checkout-wrapper .order-summary-section {
    display: flex;
    padding: 32px;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    align-self: stretch;
    border-radius: 20px;
    background: #FFF;
}

.checkout-wrapper .order-item {
    display: flex;
    height: 105px;
    flex-direction: column;
    align-items: flex-start;
    align-self: stretch;
    margin-top: 12px;
}


    .checkout-wrapper .order-item .text-dark {
        margin-bottom: 8px;
    }

.checkout-wrapper .order-item-content {
    display: flex;
    align-items: center;
    gap: 16px;
    align-self: stretch;
    border-bottom: 1px solid #E5E5E5;
    padding-bottom: 12px;
}

.checkout-wrapper .order-item-main {
    display: flex;
    align-items: center;
    gap: 16px;
    flex: 1 0 0;
}

.checkout-wrapper .order-item-info {
    display: flex;
    align-items: center;
    align-content: center;
    gap: 16px;
    flex: 1 0 0;
    flex-wrap: wrap;
}

.checkout-wrapper .order-item-main img {
    width: 80px;
    height: 68px;
    object-fit: cover;
    border-radius: 5px;
}

.checkout-wrapper .order-item-qty {
    color: #000;
    text-align: right;
    font-family: Lato;
    font-size: 16px !important;
    font-style: normal;
    font-weight: 500 !important;
    line-height: normal;
}

.checkout-wrapper .order-totals-wrapper {
    display: flex;
    padding-top: 16px;
    flex-direction: column;
    align-items: flex-start;
    gap: 29px;
    align-self: stretch;
    border-top: 1px solid #000;
}

.checkout-wrapper .order-totals-box {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    align-self: stretch;
}

.checkout-wrapper .totals-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    align-self: stretch;
}

    .checkout-wrapper .totals-row span {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 1;
    }

.checkout-wrapper .btn-complete {
    height: 40px !important;
}

.checkout-wrapper .totals-value {
    display: flex !important;
}

.checkout-wrapper .total-value,
.checkout-wrapper .total-label {
    font-size: 20px;
    font-weight: 700;
}

.checkout-wrapper .edit-cart {
    font-style: normal;
    font-weight: 700;
    line-height: normal;
}

@media (max-width: 494px) {
    .checkout-wrapper .checkout-left {
        padding: 0;
    }

    .checkout-wrapper .checkout-right {
        padding: 0;
    }
}


@media (max-width: 494px) {

    .checkout-wrapper .checkout-right .order-summary {
        padding: 16px 16px;
    }

    .checkout-wrapper .order-summary-section {
        padding: 16px;
    }

    .checkout-wrapper .order-item-info {
        gap: 8px;
    }
}