@import url('https://fonts.googleapis.com/css2?family=Comic+Relief:wght@400;700&display=swap');

*, 
*::before, 
*::after
{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

*
{
    font-family: "Comic Relief";
}

:root
{
    --plyr-color-main: #57cb02;
    --icon-bg: rgba(87, 203, 2,0.25);
    --bg-light: #fff;
    --bg-light-darker: #f0f0f0;
    --bg-secondary: #9eb3e2;
    --primary-col: #57cb02;
    --primary-col-darker: #327900;
    --error-col: #d40d0d;
    --error-col-darker: #a70606;
    --text-dark: #2a2a2a;
    --text-desc: #3f3f3f;
    --text-light: #fcfcfc;
    --fw-normal: 400;
    --fw-bold: 700;

    --bg-dashboard: #f8f9fa;

    --sidebar-width: 280px;
    --sidebar-width-collapsed: 80px;
}

/* GENERAL STYLING */
    body
    {
        overflow-x: hidden;
    }
    body.loggedin
    {
        background-color: var(--text-light)!important;
    }
    .dashboard--separator
    {
        width: 100%;
        height: 2px;
        border-bottom: 2px dashed var(--primary-col);
        display: flex;
        margin: 50px 0;
    }
    .swal2-html-container
    {
        padding: 0;
    }
    h2.swal2-title
    {
        margin-bottom: 5px;
    }
/* GENERAL STYLING */


/* LANDING PAGE */
    .main--form-veggies-wrap
    {
        display: flex;
        flex-direction: column;
        gap: 15px;
        align-items: center;
        padding: 15px;
        border: 2px dashed var(--primary-col);
        margin-bottom: 20px;
        border-radius: 12px;
    }
    .main--form-veggie-img
    {
        width: 100%;
        height: 300px;
        object-fit: cover;
    }
    .main--form-veggie-content-wrap
    {
        text-align: center;
    }
    .main--form-veggie-content-heading
    {
        font-size: 30px;
        color: var(--text-dark);
        font-weight: var(--fw-bold);
    }
    .main--form-veggie-content-info
    {
        font-size: 16px;
        color: var(--text-desc);
        margin-bottom: 0;
    }
/* LANDING PAGE */


/* DASHBOARD STYLING */
    .main-content-wrap
    {
        padding: 20px;
        border: 2px dashed var(--primary-col);
        background-color: var(--bg-light);
        box-shadow: 0px 4px 6px -2px rgba(0,0,0,0.1);
    }
    .dashboard--main-header
    {
        text-align: center;
        margin-bottom: 30px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }
    .dashboard--caption
    {
        color: var(--primary-col-darker);
        text-transform: uppercase;
        font-weight: var(--fw-bold);
        letter-spacing: 1.2px;
        font-size: 14px;
        line-height: 16px;
        margin: 0;
        margin-bottom: 10px;
    }
    .dashboard--heading
    {
        color: var(--text-dark);
        font-weight: var(--fw-bold);
        margin: 0;
        display: inline;
    }
/* DASHBOARD STYLING */


/* STUDENT DASHBOARD STYLING */
    .dashboard--veggies-heading
    {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 20px;
    }
    .dashboard--veggies-heading h4
    {
        color: var(--text-dark);
        font-weight: var(--fw-bold);
        font-size: 25px;
        line-height: 35px;
        margin: 0;
        display: inline;
    }
    .dashboard--veggies-slider-nav
    {
        display: flex;
        align-items: center;
        gap: 10px;
    }
    .dashboard--veggies-slider-nav-arrow
    {
        cursor: pointer;
        font-size: 30px;
        color: var(--primary-col);
        border: 1px solid var(--primary-col-darker);
        box-shadow: 1px 2px 0px 0px var(--primary-col-darker);
        border-radius: 50px;
        height: 30px;
        width: 30px;
        display: flex;
        justify-content: center;
        align-items: center;
        position: relative!important;
        transition: border-color ease 300ms;
        margin-top: 0;
        left: 0;
        right: 0;
    }
    .dashboard--veggies-slider-nav-arrow::after
    {
        display: none;
    }
    .dashboard--veggies-slider-nav-arrow.disabled,
    .dashboard--veggies-slider-nav-arrow:disabled
    {
        opacity: 0.5;
    }
    .dashboard--veggies-slider-nav-arrow:active
    {
        box-shadow: unset;
        top: 2px;
        border-color: var(--primary-col);
    }
    .dashboard--veggies-swiper
    {
        padding: 10px 0;
    }
    .dashboard--veggies-slide-content
    {
        box-shadow: 0px 0px 4px -1px rgba(0,0,0,0.25);
        width: 100%;
        overflow: hidden;
        border-radius: 12px;
        display: flex;
        flex-direction: column;
        gap: 5px;
        text-decoration: none;
        border: 2px solid var(--primary-col);
        box-shadow: 2px 4px 0px 0px var(--primary-col);
        transition: top ease 300ms;
        position: relative;
    }
    /* .dashboard--veggies-slide-content:hover, */
    .dashboard--veggies-slide-content:active
    {
        box-shadow: unset;
        top: 2px;
    }
    .dashboard--veggies-slide-img-wrap
    {
        overflow: hidden;
    }
    .dashboard--veggies-slide-img
    {
        height: 250px;
        width: 100%;
        object-fit: cover;
        transition: all linear 300ms;
        transform: scale(1.2);
    }
    .dashboard--veggies-slide-content:hover .dashboard--veggies-slide-img
    {
        transform: scale(1);
    }
    .dashboard--veggies-slide-info
    {
        display: flex;
        flex-direction: column;
        gap: 5px;
        padding: 10px;
    }
    .dashboard--veggies-slide-info-name
    {
        text-transform: capitalize;
        color: var(--text-dark);
        font-size: 20px;
        font-weight: var(--fw-bold);
        margin: 0;
    }
    .dashboard--veggies-slide-info-desc
    {
        font-size: 16px;
        color: var(--text-desc);
        margin: 0;
    }
    .dashboard--veggies-slide
    {
        cursor: pointer;
        height: 100%;
    }

    .dashboard--videos-heading
    {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 20px;
    }
    .dashboard--videos-heading h4
    {
        color: var(--text-dark);
        font-weight: var(--fw-bold);
        font-size: 25px;
        line-height: 35px;
        margin: 0;
        display: inline;
    }
    .dashboard--videos-slider-nav
    {
        display: flex;
        align-items: center;
        gap: 10px;
    }
    .dashboard--videos-slider-nav-arrow
    {
        cursor: pointer;
        font-size: 30px;
        color: var(--primary-col);
        border: 1px solid var(--primary-col-darker);
        box-shadow: 1px 2px 0px 0px var(--primary-col-darker);
        border-radius: 50px;
        height: 30px;
        width: 30px;
        display: flex;
        justify-content: center;
        align-items: center;
        position: relative!important;
        transition: border-color ease 300ms;
        margin-top: 0;
        left: 0;
        right: 0;
    }
    .dashboard--videos-slider-nav-arrow::after
    {
        display: none;
    }
    .dashboard--videos-slider-nav-arrow.disabled,
    .dashboard--videos-slider-nav-arrow:disabled
    {
        opacity: 0.5;
    }
    .dashboard--videos-slider-nav-arrow:active
    {
        box-shadow: unset;
        top: 2px;
        border-color: var(--primary-col);
    }
    .dashboard--videos-swiper
    {
        padding: 10px 0;
    }
    .dashboard--videos-slide-content
    {
        box-shadow: 0px 0px 4px -1px rgba(0,0,0,0.25);
        width: 100%;
        overflow: hidden;
        border-radius: 12px;
        display: flex;
        flex-direction: column;
        gap: 5px;
        text-decoration: none;
        border: 2px solid var(--primary-col);
        box-shadow: 2px 4px 0px 0px var(--primary-col);
        transition: top ease 300ms;
        position: relative;
    }
    /* .dashboard--videos-slide-content:hover, */
    .dashboard--videos-slide-content:active
    {
        box-shadow: unset;
        top: 2px;
    }
    .dashboard--videos-slide-img-wrap
    {
        overflow: hidden;
    }
    .dashboard--videos-slide-img
    {
        height: 250px;
        width: 100%;
        object-fit: cover;
        transition: all linear 300ms;
        transform: scale(1.2);
    }
    .dashboard--videos-slide-content:hover .dashboard--videos-slide-img
    {
        transform: scale(1);
    }
    .dashboard--videos-slide-info
    {
        display: flex;
        flex-direction: column;
        gap: 5px;
        padding: 10px;
    }
    .dashboard--videos-slide-info-name
    {
        text-transform: capitalize;
        color: var(--text-dark);
        font-size: 20px;
        font-weight: var(--fw-bold);
        margin: 0;
    }
    .dashboard--videos-slide-info-desc
    {
        font-size: 16px;
        color: var(--text-desc);
        margin: 0;
    }
    .dashboard--videos-modal .modal-content
    {
        border-radius: 0;
        background-color: var(--primary-col-darker);
    }
    .dashboard--videos-modal .modal-body button.btn-close
    {
        position: absolute;
        right: 10px;
        z-index: 2;
        top: 10px;
    }
    /* STUDENT DASHBOARD STYLING */


    /* VEGGIE WORLD STYLING */
    .veggies--item-grid
    {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 20px;
    }
    .veggies--item-col-content
    {
        box-shadow: 0px 0px 4px -1px rgba(0,0,0,0.25);
        width: 100%;
        overflow: hidden;
        border-radius: 12px;
        display: flex;
        flex-direction: column;
        gap: 5px;
        text-decoration: none;
        border: 2px solid var(--primary-col);
        box-shadow: 2px 4px 0px 0px var(--primary-col);
        transition: top ease 300ms;
        position: relative;
        cursor: pointer;
        height: 100%;
    }
    /* .veggies--item-col-content:hover, */
    .veggies--item-col-content:active
    {
        box-shadow: unset;
        top: 2px;
    }
    .veggies--item-col-img-wrap
    {
        overflow: hidden;
    }
    .veggies--item-col-img
    {
        height: 250px;
        width: 100%;
        object-fit: cover;
        transition: all linear 300ms;
        transform: scale(1.2);
    }
    .veggies--item-col-content:hover .veggies--item-col-img
    {
        transform: scale(1);
    }
    .veggies--item-col-info
    {
        display: flex;
        flex-direction: column;
        gap: 5px;
        padding: 10px;
    }
    .veggies--item-col-info-name
    {
        text-transform: capitalize;
        color: var(--text-dark);
        font-size: 20px;
        font-weight: var(--fw-bold);
        margin: 0;
    }
    .veggies--item-col-info-desc
    {
        font-size: 16px;
        color: var(--text-desc);
        margin: 0;
    }
    .veggies--item-col-info-pronunciation  
    {
        padding: 6px 6px;
        background-color: var(--primary-col);
        display: inline-block;
        width: max-content;
        border-radius: 50px;
        margin-bottom: 15px;
    }
    .veggies--item-col-info-pronunciation p 
    {
        margin: 0;
        color: var(--text-light);
        font-size: 16px;
        font-style: italic;
    }
    @media only screen and (max-width: 1400px)
    {
        .veggies--item-grid
        {
            grid-template-columns: repeat(2, 1fr);
        }
    }
    @media only screen and (max-width: 1200px)
    {
        .veggies--item-grid
        {
            grid-template-columns: repeat(2, 1fr);
        }
    }
    @media only screen and (max-width: 767px)
    {
        .veggies--item-grid
        {
            grid-template-columns: 1fr;
        }
    }
    @media only screen and (max-width: 576px)
    {

    }
/* VEGGIE WORLD STYLING */


/* VIDEO FUN STYLING */
    .video--fun-grid-wrap
    {
        padding: 10px 0;
    }
    body.user-user .dashboard--main-header-videos.dashboard--main-header
    {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: row;
    }
    body.user-admin .dashboard--main-header-videos.dashboard--main-header
    {
        display: flex;
        justify-content: space-between;
        align-items: center;
        flex-direction: row;
    }
    .video--fun-grid
    {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 30px;
    }
    .video--fun-grid:has(.video--fun-empty)
    {
        grid-template-columns: 1fr;
    }
    .video--fun-item-content
    {
        box-shadow: 0px 0px 4px -1px rgba(0,0,0,0.25);
        width: 100%;
        overflow: hidden;
        border-radius: 12px;
        display: flex;
        flex-direction: column;
        gap: 5px;
        text-decoration: none;
        border: 2px solid var(--primary-col);
        box-shadow: 2px 4px 0px 0px var(--primary-col);
        transition: top ease 300ms;
        position: relative;
        height: 100%;
    }

    .video--fun-item-img-wrap
    {
        overflow: hidden;
    }
    .video--fun-item-img
    {
        height: 250px;
        width: 100%;
        object-fit: cover;
        transition: all linear 300ms;
        transform: scale(1.2);
    }
    .video--fun-item-content:hover .video--fun-item-img
    {
        transform: scale(1);
    }
    .video--fun-item-info
    {
        display: flex;
        flex-direction: column;
        gap: 5px;
        padding: 10px;
    }
    .video--fun-item-info-name
    {
        text-transform: capitalize;
        color: var(--text-dark);
        font-size: 20px;
        font-weight: var(--fw-bold);
        margin: 0;
    }
    .video--fun-item-info-desc
    {
        font-size: 16px;
        color: var(--text-desc);
        margin: 0;
    }
    .video--fun-modal .modal-content
    {
        border-radius: 0;
        background-color: var(--primary-col-darker);
    }
    .video--fun-modal .modal-body button.btn-close
    {
        position: absolute;
        right: 10px;
        z-index: 2;
        top: 10px;
    }
    .video--fun-actions-wrap
    {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 30px;
        margin-bottom: 30px;
    }
    .video--fun-action
    {
        background-color: var(--bg-light);
        color: var(--primary-col);
        font-size: 18px;
        height: 50px;
        width: 50px;
        display: flex;
        justify-content: center;
        align-items: center;
        border-radius: 50px;
        border: 1px solid var(--primary-col);
        box-shadow: 1px 2px 0px 0px var(--primary-col);
        transition: top ease 300ms;
        position: relative;
    }
    .video--fun-action.video--fun-action-delete
    {
        color: var(--error-col);
        border: 1px solid var(--error-col);
        box-shadow: 1px 2px 0px 0px var(--error-col);
    }
    .video--fun-action:active
    {
        box-shadow: unset;
        top: 2px;
    }
    .video--edit-modal .modal-footer
    {
        display: flex;
        justify-content: end;
        align-items: center;
        gap: 10px;
    }
    .video--edit-modal .video--edit-save-btn
    {
        color: var(--text-dark);
        transition: top 0.2s ease;
        border-radius: 8px;
        white-space: nowrap;
        overflow: hidden;
        border: 1px solid var(--primary-col);
        box-shadow: 1px 2px 0px 0px var(--primary-col);
        padding: 10px 20px;
        font-size: 16px;
        font-weight: var(--fw-bold);
        background-color: var(--bg-light);
        color: var(--text-dark);
        position: relative;
        margin: 0;
    }
    .video--edit-modal .video--edit-save-btn:active
    {
        box-shadow: unset;
        top: 2px;
    }
    .video--edit-modal .video--edit-cancel-btn
    {
        color: var(--text-dark);
        transition: top 0.2s ease;
        border-radius: 8px;
        white-space: nowrap;
        overflow: hidden;
        border: 1px solid var(--error-col);
        box-shadow: 1px 2px 0px 0px var(--error-col);
        padding: 10px 20px;
        font-size: 16px;
        font-weight: var(--fw-bold);
        background-color: var(--bg-light);
        color: var(--text-dark);
        position: relative;
        margin: 0;
    }
    .video--edit-modal .video--edit-cancel-btn:active
    {
        box-shadow: unset;
        top: 2px;
    }
    .video--edit-modal .modal-video-player-wrap
    {
        margin-bottom: 15px;
    }
    .video--edit-form-field-wrap .form--field-wrap .form--field
    {
        padding: 5px 10px;
    }
    .video--edit-form-field-wrap .form--field-wrap textarea.form--field
    {
        height: auto;
        min-height: 100px;
    }
    .video--edit-form-label
    {
        margin-bottom: 5px;
    }
    .video--fun-separator
    {
        display: flex;
        width: 100%;
        height: 1px;
        border-bottom: 1px dashed var(--primary-col);
        margin: 30px 0;
    }
    .video--fun-add-video
    {
        color: var(--text-dark);
        transition: top 0.2s ease;
        border-radius: 8px;
        white-space: nowrap;
        overflow: hidden;
        border: 2px solid var(--primary-col);
        box-shadow: 2px 4px 0px 0px var(--primary-col);
        padding: 10px 20px;
        font-size: 16px;
        font-weight: var(--fw-bold);
        background-color: var(--bg-light);
        color: var(--text-dark);
        position: relative;
        margin: 0;
        text-decoration: none;
        display: inline-flex;
        gap: 10px;
        align-items: center;
        justify-content: center;
        /* margin-top: 15px; */
    }
    .video--fun-add-video:active 
    {
        box-shadow: unset;
        top: 2px;
    }

    .video--add-modal .modal-footer
    {
        display: flex;
        justify-content: end;
        align-items: center;
        gap: 10px;
    }
    .video--add-modal .video--add-save-btn
    {
        color: var(--text-dark);
        transition: top 0.2s ease;
        border-radius: 8px;
        white-space: nowrap;
        overflow: hidden;
        border: 1px solid var(--primary-col);
        box-shadow: 1px 2px 0px 0px var(--primary-col);
        padding: 10px 20px;
        font-size: 16px;
        font-weight: var(--fw-bold);
        background-color: var(--bg-light);
        color: var(--text-dark);
        position: relative;
        margin: 0;
    }
    .video--add-modal .video--add-save-btn:active
    {
        box-shadow: unset;
        top: 2px;
    }
    .video--add-modal .video--add-cancel-btn
    {
        color: var(--text-dark);
        transition: top 0.2s ease;
        border-radius: 8px;
        white-space: nowrap;
        overflow: hidden;
        border: 1px solid var(--error-col);
        box-shadow: 1px 2px 0px 0px var(--error-col);
        padding: 10px 20px;
        font-size: 16px;
        font-weight: var(--fw-bold);
        background-color: var(--bg-light);
        color: var(--text-dark);
        position: relative;
        margin: 0;
    }
    .video--add-modal .video--add-cancel-btn:active
    {
        box-shadow: unset;
        top: 2px;
    }
    .video--add-modal .modal-video-player-wrap
    {
        margin-bottom: 15px;
    }
    .video--add-form-field-wrap .form--field-wrap .form--field
    {
        padding: 10px 10px;
        height: auto;
    }
    .video--add-form-field-wrap .form--field-wrap textarea.form--field
    {
        height: auto;
        min-height: 100px;
    }
    .video--add-form-label
    {
        margin-bottom: 5px;
    }

    .video--add-choices-tab
    {
        border-bottom: 2px solid var(--primary-col);
        display: flex;
        align-items: center;
        gap: 10px;
        margin-bottom: 25px;
    }
    .video--add-choice-tab
    {
        padding: 10px 20px;
        border: 2px solid var(--primary-col);
        border-bottom: 0;
        color: var(--text-dark);
        font-size: 16px;
        font-weight: var(--fw-bold);
        background-color: var(--bg-light);
        border-radius: 8px 8px 0 0;
        transition: all ease 300ms;
    }
    .video--add-choice-tab.active,
    /* .video--add-choice-tab:hover, */
    .video--add-choice-tab:active
    {
        background-color: var(--primary-col);
        color: var(--text-light);
    }
    .video--fun-item-btn
    {
        color: var(--text-dark);
        transition: top 0.2s ease;
        border-radius: 8px;
        white-space: nowrap;
        overflow: hidden;
        border: 1px solid var(--primary-col);
        box-shadow: 1px 2px 0px 0px var(--primary-col);
        padding: 10px 20px;
        font-size: 16px;
        font-weight: var(--fw-bold);
        background-color: var(--bg-light);
        color: var(--text-dark);
        position: relative;
        margin: 0;
        margin-top: 15px;
        text-decoration: none;
        text-align: center;
    }
    .video--fun-item-btn:active
    {
        box-shadow: unset;
        top: 2px;
    }
    @media only screen and (max-width: 1400px)
    {
        .video--fun-grid
        {
            grid-template-columns: repeat(2, 1fr);
        }
    }
    @media only screen and (max-width: 1200px)
    {
        .video--fun-grid
        {
            grid-template-columns: repeat(2, 1fr);
        }
    }
    @media only screen and (max-width: 767px)
    {
        .video--fun-grid
        {
            grid-template-columns: 1fr;
        }
        body.user-admin .dashboard--main-header-videos.dashboard--main-header
        {
            flex-direction: column;
            gap: 20px;
        }
    }
    @media only screen and (max-width: 576px)
    {

    }
/* VIDEO FUN STYLING */


/* VEGGIE WORLD STYLING */
    .veggie--add-modal .modal-footer
    {
        display: flex;
        justify-content: end;
        align-items: center;
        gap: 10px;
    }
    .veggie--add-modal .veggie--add-save-btn
    {
        color: var(--text-dark);
        transition: top 0.2s ease;
        border-radius: 8px;
        white-space: nowrap;
        overflow: hidden;
        border: 1px solid var(--primary-col);
        box-shadow: 1px 2px 0px 0px var(--primary-col);
        padding: 10px 20px;
        font-size: 16px;
        font-weight: var(--fw-bold);
        background-color: var(--bg-light);
        color: var(--text-dark);
        position: relative;
        margin: 0;
    }
    .veggie--add-modal .veggie--add-save-btn:active
    {
        box-shadow: unset;
        top: 2px;
    }
    .veggie--add-modal .veggie--add-cancel-btn
    {
        color: var(--text-dark);
        transition: top 0.2s ease;
        border-radius: 8px;
        white-space: nowrap;
        overflow: hidden;
        border: 1px solid var(--error-col);
        box-shadow: 1px 2px 0px 0px var(--error-col);
        padding: 10px 20px;
        font-size: 16px;
        font-weight: var(--fw-bold);
        background-color: var(--bg-light);
        color: var(--text-dark);
        position: relative;
        margin: 0;
    }
    .veggie--add-modal .veggie--add-cancel-btn:active
    {
        box-shadow: unset;
        top: 2px;
    }
    .veggie--add-modal .modal-video-player-wrap
    {
        margin-bottom: 15px;
    }
    .veggie--add-form-field-wrap .form--field-wrap .form--field
    {
        padding: 10px 10px;
        height: auto;
    }
    .veggie--add-form-field-wrap .form--field-wrap textarea.form--field
    {
        height: auto;
        min-height: 100px;
    }
    .veggie--add-form-label
    {
        margin-bottom: 5px;
    }

    .veggie--add-choices-tab
    {
        border-bottom: 2px solid var(--primary-col);
        display: flex;
        align-items: center;
        gap: 10px;
        margin-bottom: 25px;
    }
    .veggie--add-choice-tab
    {
        padding: 10px 20px;
        border: 2px solid var(--primary-col);
        border-bottom: 0;
        color: var(--text-dark);
        font-size: 16px;
        font-weight: var(--fw-bold);
        background-color: var(--bg-light);
        border-radius: 8px 8px 0 0;
        transition: all ease 300ms;
    }
    .veggie--add-choice-tab.active,
    /* .veggie--add-choice-tab:hover, */
    .veggie--add-choice-tab:active
    {
        background-color: var(--primary-col);
        color: var(--text-light);
    }
    .veggie--add-subtitle
    {
        margin-bottom: 0;
        font-size: 14px;
        color: var(--text-desc);
    }
    .veggie--add-separator
    {
        display: flex;
        width: 100%;
        height: 1px;
        border-bottom: 1px dashed var(--primary-col);
        margin: 30px 0;
    }
    .veggie--add-actions-wrap
    {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 30px;
        margin-bottom: 30px;
    }
    .veggie--add-action
    {
        background-color: var(--bg-light);
        color: var(--primary-col);
        font-size: 18px;
        height: 50px;
        width: 50px;
        display: flex;
        justify-content: center;
        align-items: center;
        border-radius: 50px;
        border: 1px solid var(--primary-col);
        box-shadow: 1px 2px 0px 0px var(--primary-col);
        transition: top ease 300ms;
        position: relative;
    }
    .veggie--add-action.veggie--add-action-delete
    {
        color: var(--error-col);
        border: 1px solid var(--error-col);
        box-shadow: 1px 2px 0px 0px var(--error-col);
    }
    .veggie--add-action:active
    {
        box-shadow: unset;
        top: 2px;
    }
    .veggie--add-veggie
    {
        transition: top 0.2s ease;
        border-radius: 8px;
        white-space: nowrap;
        overflow: hidden;
        border: 2px solid var(--primary-col);
        box-shadow: 2px 4px 0px 0px var(--primary-col);
        padding: 10px 20px;
        font-size: 16px;
        font-weight: var(--fw-bold);
        background-color: var(--bg-light);
        color: var(--text-dark);
        position: relative;
        margin: 0;
        text-decoration: none;
        display: inline-flex;
        gap: 10px;
        align-items: center;
        justify-content: center;
        margin-top: 15px;
    }
    .veggie--add-veggie:active
    {
        box-shadow: unset;
        top: 2px;
    }
    .veggie--edit-modal .modal-footer
    {
        display: flex;
        justify-content: end;
        align-items: center;
        gap: 10px;
    }
    .veggie--edit-modal .veggie--edit-save-btn
    {
        color: var(--text-dark);
        transition: top 0.2s ease;
        border-radius: 8px;
        white-space: nowrap;
        overflow: hidden;
        border: 1px solid var(--primary-col);
        box-shadow: 1px 2px 0px 0px var(--primary-col);
        padding: 10px 20px;
        font-size: 16px;
        font-weight: var(--fw-bold);
        background-color: var(--bg-light);
        color: var(--text-dark);
        position: relative;
        margin: 0;
    }
    .veggie--edit-modal .veggie--edit-save-btn:active
    {
        box-shadow: unset;
        top: 2px;
    }
    .veggie--edit-modal .veggie--edit-cancel-btn
    {
        color: var(--text-dark);
        transition: top 0.2s ease;
        border-radius: 8px;
        white-space: nowrap;
        overflow: hidden;
        border: 1px solid var(--error-col);
        box-shadow: 1px 2px 0px 0px var(--error-col);
        padding: 10px 20px;
        font-size: 16px;
        font-weight: var(--fw-bold);
        background-color: var(--bg-light);
        color: var(--text-dark);
        position: relative;
        margin: 0;
    }
    .veggie--edit-modal .veggie--edit-cancel-btn:active
    {
        box-shadow: unset;
        top: 2px;
    }
    .veggie--edit-modal .modal-video-player-wrap
    {
        margin-bottom: 15px;
    }
    .veggie--edit-form-field-wrap .form--field-wrap .form--field
    {
        padding: 10px 10px;
        height: auto;
    }
    .veggie--edit-form-field-wrap .form--field-wrap textarea.form--field
    {
        height: auto;
        min-height: 100px;
    }
    .veggie--edit-form-label
    {
        margin-bottom: 5px;
    }
    .veggies--item-grid:has(.no-veggies-msg)
    {
        grid-template-columns: 1fr;
    }
/* VEGGIE WORLD STYLING */


/* WORD PRACTICE STYLING */
    .wp--main-wrap
    {
        max-width: 700px;
        width: 100%;
        margin: 0 auto;
        padding: 20px;
        border: 2px solid var(--primary-col);
        box-shadow: 2px 4px 0px 0px var(--primary-col);
        border-radius: 12px;
    }
    .wp--header-wrap
    {
        margin-bottom: 30px;
    }
    .wp--header-auto-speak-info
    {
        margin-top: 10px;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        padding: 15px;
        background-color: var(--error-col);
        border: 2px solid var(--error-col);
        box-shadow: 2px 4px 0px 0px var(--error-col-darker);
        border-radius: 12px;
    }
    .wp--header-auto-speak-info.active 
    {
        background-color: var(--primary-col);
        border: 2px solid var(--primary-col);
        box-shadow: 2px 4px 0px 0px var(--primary-col-darker);
    }
    .wp--header-auto-speak-info p 
    {
        margin: 0;
        color: var(--text-light);
        font-size: 18px;
        text-align: center
    }
    .wp--header-auto-speak-info .auto-speak-disabled 
    {
        display: block;
    }
    .wp--header-auto-speak-info .auto-speak-enabled 
    {
        display: none;
    }
    .wp--header-auto-speak-info.active .auto-speak-disabled 
    {
        display: none;
    }

    .wp--header-auto-speak-info.active .auto-speak-enabled 
    {
        display: block;
    }
    .wp--auto-speak-toggler-wrap
    {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 5px;
    }
    .wp--auto-speak-toggler-wrap label 
    {
        font-size: 18px;
        font-weight: var(--fw-bold);
    }
    /* The switch - the box around the speaker*/
    .toggleSwitch 
    {
        width: 50px;
        height: 50px;
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        background-color: var(--primary-col);
        border-radius: 50%;
        cursor: pointer;
        transition-duration: .3s;
        border: 1px solid var(--primary-col);
        box-shadow: 1px 2px 0px 0px var(--primary-col-darker);
        overflow: hidden;
    }
    /* Hide default HTML checkbox */
    #autoSpeakToggler 
    {
        display: none;
    }
    .bell 
    {
        width: 18px;
    }
    .bell path 
    {
        fill: white;
    }
    .speaker 
    {
        width: 100%;
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 2;
        transition-duration: .3s;
        opacity: 0;
    }
    .speaker svg 
    {
        width: 18px;
    }
    .mute-speaker 
    {
        position: absolute;
        width: 100%;
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        opacity: 1;
        z-index: 3;
        transition-duration: .3s;
    }
    .mute-speaker svg 
    {
        width: 18px;
    }
    #autoSpeakToggler:checked +.toggleSwitch .speaker 
    {
        opacity: 1;
        transition-duration: .3s;
    }
    #autoSpeakToggler:checked +.toggleSwitch
    {
        top: 2px;
        box-shadow: unset;
    } 
    #autoSpeakToggler:checked +.toggleSwitch .mute-speaker 
    {
        opacity: 0;
        transition-duration: .3s;
    }
    #autoSpeakToggler:active + .toggleSwitch 
    {
        transform: scale(0.9);
    }
    #autoSpeakToggler:hover + .toggleSwitch 
    {
        background-color: var(--primary-col);
    }
    .wp--header-soundwave-wrap
    {
        height: 100px;
        width: 100px;
        display: flex;
        justify-content: center;
        align-items: center;
        margin: 0 auto;
        background: var(--primary-col);
        border: 2px solid var(--primary-col-darker);
        box-shadow: 2px 4px 0px 0px var(--primary-col-darker);
        border-radius: 50%;
        overflow: hidden;
        margin-bottom: 20px;
    }
    .wp--header-soundwave
    {
        /* display: flex;
        align-items: center;
        justify-content: center;
        gap: 4px;
        height: 50px; */
        position: relative;
        width: 100%;
        left: 50%;
        transform: translateX(-28%);
    }
    .wp--header-soundwave span 
    {
        display: block;
        bottom: 0px;
        width: 8px;
        height: 5px;
        background: var(--bg-light);
        position: absolute;
        animation: audio-wave 1.5s infinite ease-in-out;
        border-radius: 50px;
    }
    .wp--header-soundwave  span:nth-child(2) 
    {
        left: 11px;
        animation-delay: 0.2s;
    }
    .wp--header-soundwave  span:nth-child(3) 
    {
        left: 22px;
        animation-delay: 0.4s;
    }
    .wp--header-soundwave  span:nth-child(4) 
    {
        left: 33px;
        animation-delay: 0.6s;
    }
    .wp--header-soundwave  span:nth-child(5) 
    {
        left: 44px;
        animation-delay: 0.8s;
    }
    @keyframes audio-wave 
    {
        0% {height:5px;transform:translateY(0px);background: var(--bg-light);}
        25% {height:40px;transform:translateY(20px);background: var(--bg-light);}
        50% {height:5px;transform:translateY(0px);background: var(--bg-light);}
        100% {height:5px;transform:translateY(0px);background: var(--bg-light);}
    }

    .wp--main-veggies-wrap
    {
        margin-bottom: 30px;
        border: 2px solid var(--primary-col);
        box-shadow: 2px 4px 0px 0px var(--primary-col);
        border-radius: 12px;
        padding: 20px;
    }
    .wp--main-veggies-header 
    {
        margin-bottom: 20px;
    }
    .wp--main-veggies-heading
    {
        text-align: center;
        font-size: 20px;
        color: var(--text-dark);
        font-weight: var(--fw-bold);
    }

    /* SAMPLE */
    .swiper.wp--main-veggies-swiper 
    {
        width: 300px;
        height: auto;
    }
    .swiper-slide.wp--main-veggies-swiper-slide
    {
        background-color: var(--primary-col);
        border-radius: 12px;
        overflow: hidden;
        border: 2px solid var(--primary-col);
        box-shadow: 2px 4px 0px 0px var(--primary-col-darker);
        padding: 0;
    }
    /* SAMPLE */
    .wp--main-veggies-swiper-slide-content-img
    {
        width: 100%;
        height: 300px;
        object-fit: cover;
    }
    .wp--main-veggies-swiper-slide-content-info
    {
        padding: 20px 10px;
    }
    .wp--main-veggies-slide-info-name
    {
        text-align: center;
        font-size: 30px;
        color: var(--text-light);
        font-weight: var(--fw-bold);
        margin-bottom: 10px;
        text-transform: uppercase;
    }
    .wp--main-veggies-slide-info-pronunciation
    {
        font-size: 20px;
        color: var(--text-light);
        text-align: center;
        font-style: italic;
        margin-bottom: 0;
    }
    .wp--main-veggies-slide-hear-again-wrap
    {
        padding: 0 10px 20px 10px;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .wp--main-veggies-slide-hear-again 
    {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 10px;
        border: 0;
        box-shadow: unset;
        background: unset;
        background-color: var(--bg-light);
        border: 2px solid var(--bg-light);
        box-shadow: 2px 4px 0px 0px var(--bg-dashboard);
        border-radius: 50px;
        padding: 10px 20px;
        color: var(--text-dark);
        transition: top linear 300ms;
        position: relative;
    }
    .wp--main-veggies-footer-btn
    {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 20px;
    }
    .wp--main-veggies-footer-slider-arrows
    {
        display: flex;
        align-items: center;
        gap: 10px;
    }

    .wp--main-veggies-footer-speak-wrap
    {
        text-align: center;
        margin-bottom: 30px;
        margin-top: 30px;
    }
    .wp--main-veggies-footer-speak-desc
    {
        color: var(--text-desc);
        font-weight: var(--fw-bold);
        font-size: 14px;
    }
    #speakNow
    {
        height: 70px;
        width: 70px;
        border: 0;
        box-shadow: unset;
        background: unset;
        display: flex;
        justify-content: center;
        align-items: center;
        border-radius: 50px;
        background-color: var(--primary-col);
        border: 2px solid var(--primary-col);
        box-shadow: 2px 4px 0px 0px var(--primary-col-darker);
        font-size: 30px;
        color: var(--text-light);
        margin: 0 auto;
        margin-bottom: 10px;
        transition: top linear 300ms;
        position: relative;
    }
    .wp--main-veggies-btn-hint
    {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 10px;
        border: 0;
        box-shadow: unset;
        background: unset;
        width: 180px;
        background-color: var(--primary-col);
        border: 2px solid var(--primary-col);
        box-shadow: 2px 4px 0px 0px var(--primary-col-darker);
        border-radius: 50px;
        padding: 10px 20px;
        color: var(--text-light);
        transition: top linear 300ms;
        position: relative;
    }
    .wp--main-veggies-footer-slider-arrow
    {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 10px;
        border: 0;
        box-shadow: unset;
        background: unset;
        width: 180px;
        background-color: var(--primary-col);
        border: 2px solid var(--primary-col);
        box-shadow: 2px 4px 0px 0px var(--primary-col-darker);
        border-radius: 50px;
        padding: 10px 20px;
        color: var(--text-light);
        transition: top linear 300ms;
        position: relative;
    }
    .wp--main-veggies-footer-slider-arrow:active,
    .wp--main-veggies-btn-hint:active,
    #speakNow:active
    {
        top: 2px;
        box-shadow: unset;
    }
    .wp--main-veggies-footer-slider-arrow.swiper-button-lock
    {
        pointer-events: none;
        opacity: 0.8;
        top: 2px;
        box-shadow: unset;
    }

    .wp--get-hint-wrap
    {
        margin-top: 20px;
        padding: 20px;
        border: 2px solid var(--primary-col);
        box-shadow: 2px 4px 0 0 var(--primary-col);
        background: var(--bg-light);
        border-radius: 6px;
        position: relative;
        display: none;
    }
    .wp--get-hint-wrap.active 
    {
        display: block;
    }
    .wp--get-hint-wrap::before
    {
        content: "";
        display: inline-block;
        width: 0;
        height: 0;
        border-left: 8px solid transparent;
        border-right: 8px solid transparent;
        border-bottom: 8px solid var(--primary-col);
        position: absolute;
        top: -10px;
    }
    .wp--get-hint-heading
    {
        font-size: 18px;
        text-align: center;
        justify-content: center;
        display: flex;
        align-items: center;
        gap: 5px;
        color: var(--text-dark);
        margin-bottom: 15px;
        font-weight: var(--fw-bold);
    }
    .wp--get-hint-info 
    {
        background: var(--bg-light-darker);
        padding: 20px;
        border-radius: 6px;
    }
    .wp--get-hint-info-heading
    {
        color: var(--text-dark);
        font-size: 18px;
        font-weight: var(--fw-bold);
        margin-bottom: 5px;
        text-align: center;
    }
    .wp--get-hint-info-main
    {
        color: var(--primary-col);
        font-size: 18px;
        margin-bottom: 10px;
        text-align: center;
    }
    .wp--get-hint-info-main span
    {
        font-weight: var(--fw-bold);
        font-size: 24px;
    }
    .wp--get-hint-info-btn
    {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 0px;
        border: 0;
        box-shadow: unset;
        background: unset;
        background-color: var(--primary-col);
        border: 2px solid var(--primary-col);
        box-shadow: 2px 4px 0px 0px var(--primary-col-darker);
        border-radius: 50px;
        padding: 10px 20px;
        color: var(--text-light);
        transition: top linear 300ms;
        position: relative;
        margin: 0 auto;
    }
    .wp--get-hint-info-btn:active
    {
        box-shadow: unset;
        top: 2px;
    }
    .wp--get-hint-info-btn i 
    {
        margin-right: 10px;
    }


    .wp--directions-list-wrap
    {
        list-style-type: none;
        display: flex;
        flex-direction: column;
        gap: 10px;
    }
    .wp--direction-list-item
    {
        font-size: 16px;
        color: var(--text-desc);
        position: relative;
    }
    .wp--direction-list-item::before
    {
        /* content: '\f06c'; */
        content: '\f192';
        font-family: 'Font Awesome 6 Free';
        font-weight: 900;
        color: var(--primary-col);
    }

    .wp--directions-wrap
    {
        background-color: var(--bg-light);
        border-radius: 12px;
        border: 3px solid var(--primary-col);
        padding: 20px;
        position: relative;
    }
    .wp--directions-wrap::before
    {
        content: '';
        background-color: var(--primary-col);
        height: 50px;
        width: 10px;
        position: absolute;
        left: 0;
        top: 30px;
        border-radius: 0 50px 50px 0;
    }
    .wp--direction-heading
    {
        font-size: 25px;
        color: var(--text-dark);
        font-weight: var(--fw-bold);
        text-align: center;
    }
    @media only screen and (max-width: 1400px)
    {

    }
    @media only screen and (max-width: 1200px)
    {

    }
    @media only screen and (max-width: 767px)
    {
        .wp--main-wrap
        {
            padding: 0;
            border: unset;
            box-shadow: unset;
        }
        .wp--main-veggies-footer-btn
        {
            flex-direction: column-reverse;
            gap: 20px;
        }
        .wp--get-hint-wrap::before
        {
            left: 50%;
            transform: translateX(-50%);
        }
    }
    @media only screen and (max-width: 576px)
    {
        .wp--main-veggies-swiper-slide-content-img
        {
            height: 200px;
        }
        .wp--main-veggies-footer-slider-arrow span 
        {
            display: none;
        }
        .wp--main-veggies-footer-slider-arrow 
        {
            height: 40px;
            width: 40px;
        }

    }
/* WORD PRACTICE STYLING */


/* STUDENTS STYLING */
    .students--add-student
    {
        transition: top 0.2s ease;
        border-radius: 8px;
        white-space: nowrap;
        overflow: hidden;
        border: 2px solid var(--primary-col);
        box-shadow: 2px 4px 0px 0px var(--primary-col);
        padding: 10px 20px;
        font-size: 16px;
        font-weight: var(--fw-bold);
        background-color: var(--bg-light);
        color: var(--text-dark);
        position: relative;
        margin: 0;
        text-decoration: none;
        display: inline-flex;
        gap: 10px;
        align-items: center;
        justify-content: center;
        margin-top: 15px;
    }
    .students--add-student:active 
    {
        top: 2px;
        box-shadow: unset;
    }
    .student--edit-modal .modal-footer
    {
        display: flex;
        justify-content: end;
        align-items: center;
        gap: 10px;
    }
    .student--edit-modal .student--edit-save-btn,
    .student--edit-modal .student--add-save-btn
    {
        color: var(--text-dark);
        transition: top 0.2s ease;
        border-radius: 8px;
        white-space: nowrap;
        overflow: hidden;
        border: 1px solid var(--primary-col);
        box-shadow: 1px 2px 0px 0px var(--primary-col);
        padding: 10px 20px;
        font-size: 16px;
        font-weight: var(--fw-bold);
        background-color: var(--bg-light);
        color: var(--text-dark);
        position: relative;
        margin: 0;
    }
    .student--edit-modal .student--edit-save-btn:active,
    .student--edit-modal .student--edit-add-btn:active
    {
        box-shadow: unset;
        top: 2px;
    }
    .student--edit-modal .student--edit-cancel-btn,
    .student--edit-modal .student--add-cancel-btn
    {
        color: var(--text-dark);
        transition: top 0.2s ease;
        border-radius: 8px;
        white-space: nowrap;
        overflow: hidden;
        border: 1px solid var(--error-col);
        box-shadow: 1px 2px 0px 0px var(--error-col);
        padding: 10px 20px;
        font-size: 16px;
        font-weight: var(--fw-bold);
        background-color: var(--bg-light);
        color: var(--text-dark);
        position: relative;
        margin: 0;
    }
    .student--edit-modal .student--edit-cancel-btn:active,
    .student--edit-modal .student--add-cancel-btn:active
    {
        box-shadow: unset;
        top: 2px;
    }
    .student--edit-modal .modal-video-player-wrap
    {
        margin-bottom: 15px;
    }
    .student--edit-form-field-wrap .form--field-wrap .form--field
    {
        padding: 10px 10px;
        height: auto;
    }
    .student--edit-form-field-wrap .form--field-wrap textarea.form--field
    {
        height: auto;
        min-height: 100px;
    }
    .student--edit-form-label
    {
        margin-bottom: 5px;
    }

    .form--separator-label
    {
        font-size: 20px;
        color: var(--text-desc);
        margin: 15px 0;
        font-weight: var(--fw-bold);
    }
    .dashboard--main-header-student
    {
        display: flex;
        justify-content: space-between;
        align-items: center;
        flex-direction: row;
    }
    .students--add-student
    {
        margin-top: 0;
    }
    /* TABLE */
    #usersTable .user-table-head th
    {
        background-color: var(--primary-col);
        color: var(--text-light);
        text-align: center;
    }
    #usersTable tbody tr td
    {
        color: var(--text-dark);
        text-align: center;
    }
    #usersTable .user-btn-wrap
    {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 5px;
    }
    #usersTable .edit-user-btn
    {
        background-color: var(--bg-light);
        color: var(--primary-col);
        font-size: 16px;
        height: 30px;
        width: 30px;
        display: flex;
        justify-content: center;
        align-items: center;
        border-radius: 50px;
        border: 1px solid var(--primary-col);
        box-shadow: 1px 2px 0px 0px var(--primary-col);
        transition: top ease 300ms;
        position: relative;
    }
    #usersTable .edit-user-btn:active 
    {
        top: 2px;
        box-shadow: unset;
    }
    #usersTable .delete-user-btn
    {
        background-color: var(--bg-light);
        color: var(--error-col);
        font-size: 16px;
        height: 30px;
        width: 30px;
        display: flex;
        justify-content: center;
        align-items: center;
        border-radius: 50px;
        border: 1px solid var(--error-col);
        box-shadow: 1px 2px 0px 0px var(--error-col);
        transition: top ease 300ms;
        position: relative;
    }
    #usersTable .delete-user-btn:active 
    {
        top: 2px;
        box-shadow: unset;
    }


    #usersRequestTable .user-table-head th
    {
        background-color: var(--primary-col);
        color: var(--text-light);
        text-align: center;
    }
    #usersRequestTable tbody tr td
    {
        color: var(--text-dark);
        text-align: center;
    }
    #usersRequestTable .user-btn-wrap
    {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 5px;
    }
    #usersRequestTable .approve-user-btn
    {
        background-color: var(--bg-light);
        color: var(--primary-col);
        font-size: 16px;
        height: 30px;
        width: 30px;
        display: flex;
        justify-content: center;
        align-items: center;
        border-radius: 50px;
        border: 1px solid var(--primary-col);
        box-shadow: 1px 2px 0px 0px var(--primary-col);
        transition: top ease 300ms;
        position: relative;
    }
    #usersRequestTable .approve-user-btn:active 
    {
        top: 2px;
        box-shadow: unset;
    }
    #usersRequestTable .deny-user-btn
    {
        background-color: var(--bg-light);
        color: var(--error-col);
        font-size: 16px;
        height: 30px;
        width: 30px;
        display: flex;
        justify-content: center;
        align-items: center;
        border-radius: 50px;
        border: 1px solid var(--error-col);
        box-shadow: 1px 2px 0px 0px var(--error-col);
        transition: top ease 300ms;
        position: relative;
    }
    #usersRequestTable .deny-user-btn:active 
    {
        top: 2px;
        box-shadow: unset;
    }
        @media only screen and (max-width: 1400px)
    {

    }
    @media only screen and (max-width: 1200px)
    {

    }
    @media only screen and (max-width: 767px)
    {
        .dashboard--main-header-student
        {
            flex-direction: column;
            gap: 20px;
        }
        #usersTable thead tr th:nth-child(1),
        #usersTable thead tr th:nth-child(2),
        #usersTable thead tr th:nth-child(4),
        #usersTable tbody tr td:nth-child(1),
        #usersTable tbody tr td:nth-child(2),
        #usersTable tbody tr td:nth-child(4),
        #usersRequestTable thead tr th:nth-child(1),
        #usersRequestTable thead tr th:nth-child(2),
        #usersRequestTable thead tr th:nth-child(4),
        #usersRequestTable tbody tr td:nth-child(1),
        #usersRequestTable tbody tr td:nth-child(2),
        #usersRequestTable tbody tr td:nth-child(4)
        {
            display: none;
        }
    }
    @media only screen and (max-width: 576px)
    {
        #usersTable thead tr th:nth-child(5),
        #usersTable tbody tr td:nth-child(5),
        #usersRequestTable thead tr th:nth-child(5),
        #usersRequestTable tbody tr td:nth-child(5)
        {
            display: none;
        }
    }
/* STUDENTS STYLING */


/* PROFILE STYLING */
    .profile-edit-caption
    {
        font-size: 18px;
        color: var(--text-dark);
        font-weight: var(--fw-bold);
        display: inline-flex;
        padding: 4px 10px;
        border: 1px dashed var(--primary-col);
        margin-top: 10px;
        margin-bottom: 15px;
    }
    .profile-edit-btn
    {
        background-color: var(--bg-light);
        color: var(--text-dark);
        font-size: 16px;
        height: 40px;
        display: flex;
        padding: 0 20px 0 20px;
        justify-content: center;
        align-items: center;
        border: 2px solid var(--primary-col);
        box-shadow: 2px 4px 0px 0px var(--primary-col);
        transition: top ease 300ms;
        position: relative;
        border-radius: 8px;
    }
    .profile-edit-btn:active 
    {
        top: 2px;
        box-shadow: unset;
    }
/* PROFILE STYLING */


/* SITE SETTINGS STYLING */
    .veggies--add-veggie
    {
        transition: top 0.2s ease;
        border-radius: 8px;
        white-space: nowrap;
        overflow: hidden;
        border: 2px solid var(--primary-col);
        box-shadow: 2px 4px 0px 0px var(--primary-col);
        padding: 10px 20px;
        font-size: 16px;
        font-weight: var(--fw-bold);
        background-color: var(--bg-light);
        color: var(--text-dark);
        position: relative;
        margin: 0;
        text-decoration: none;
        display: inline-flex;
        gap: 10px;
        align-items: center;
        justify-content: center;
        margin-top: 15px;
    }
    .veggies--add-veggie:active 
    {
        top: 2px;
        box-shadow: unset;
    }
    .veggie--edit-modal .modal-footer
    {
        display: flex;
        justify-content: end;
        align-items: center;
        gap: 10px;
    }
    .veggie--edit-modal .veggie--edit-save-btn,
    .veggie--edit-modal .veggie--add-save-btn
    {
        color: var(--text-dark);
        transition: top 0.2s ease;
        border-radius: 8px;
        white-space: nowrap;
        overflow: hidden;
        border: 1px solid var(--primary-col);
        box-shadow: 1px 2px 0px 0px var(--primary-col);
        padding: 10px 20px;
        font-size: 16px;
        font-weight: var(--fw-bold);
        background-color: var(--bg-light);
        color: var(--text-dark);
        position: relative;
        margin: 0;
    }
    .veggie--edit-modal .veggie--edit-save-btn:active,
    .veggie--edit-modal .veggie--edit-add-btn:active
    {
        box-shadow: unset;
        top: 2px;
    }
    .veggie--edit-modal .veggie--edit-cancel-btn,
    .veggie--edit-modal .veggie--add-cancel-btn
    {
        color: var(--text-dark);
        transition: top 0.2s ease;
        border-radius: 8px;
        white-space: nowrap;
        overflow: hidden;
        border: 1px solid var(--error-col);
        box-shadow: 1px 2px 0px 0px var(--error-col);
        padding: 10px 20px;
        font-size: 16px;
        font-weight: var(--fw-bold);
        background-color: var(--bg-light);
        color: var(--text-dark);
        position: relative;
        margin: 0;
    }
    .veggie--edit-modal .veggie--edit-cancel-btn:active,
    .veggie--edit-modal .veggie--add-cancel-btn:active
    {
        box-shadow: unset;
        top: 2px;
    }
    .veggie--edit-modal .modal-video-player-wrap
    {
        margin-bottom: 15px;
    }
    .veggie--edit-form-field-wrap .form--field-wrap .form--field
    {
        padding: 10px 10px;
        height: auto;
    }
    .veggie--edit-form-field-wrap .form--field-wrap textarea.form--field
    {
        height: auto;
        min-height: 100px;
    }
    .veggie--edit-form-label
    {
        margin-bottom: 5px;
    }

    .form--separator-label
    {
        font-size: 20px;
        color: var(--text-desc);
        margin: 15px 0;
        font-weight: var(--fw-bold);
    }
    .dashboard--main-header-veggie
    {
        display: flex;
        justify-content: space-between;
        align-items: center;
        flex-direction: row;
    }
    .veggies--add-veggie
    {
        margin-top: 0;
    }
    /* TABLE */
    #veggiesTable 
    {
        width: 100%;
    }
    #veggiesTable .user-table-head th
    {
        background-color: var(--primary-col);
        color: var(--text-light);
        text-align: center;
    }
    #veggiesTable tbody tr td
    {
        color: var(--text-dark);
        text-align: center;
    }
    #veggiesTable .user-btn-wrap
    {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 5px;
    }
    #veggiesTable .copy-url-btn
    {
        background-color: var(--bg-light);
        color: var(--primary-col);
        font-size: 16px;
        height: 30px;
        width: 30px;
        display: flex;
        justify-content: center;
        align-items: center;
        border-radius: 50px;
        border: 1px solid var(--primary-col);
        box-shadow: 1px 2px 0px 0px var(--primary-col);
        transition: top ease 300ms;
        position: relative;
    }
    #veggiesTable .copy-url-btn:active 
    {
        top: 2px;
        box-shadow: unset;
    }
    #veggiesTable .edit-user-btn
    {
        background-color: var(--bg-light);
        color: var(--primary-col);
        font-size: 16px;
        height: 30px;
        width: 30px;
        display: flex;
        justify-content: center;
        align-items: center;
        border-radius: 50px;
        border: 1px solid var(--primary-col);
        box-shadow: 1px 2px 0px 0px var(--primary-col);
        transition: top ease 300ms;
        position: relative;
    }
    #veggiesTable .edit-user-btn:active 
    {
        top: 2px;
        box-shadow: unset;
    }
    #veggiesTable .delete-user-btn
    {
        background-color: var(--bg-light);
        color: var(--error-col);
        font-size: 16px;
        height: 30px;
        width: 30px;
        display: flex;
        justify-content: center;
        align-items: center;
        border-radius: 50px;
        border: 1px solid var(--error-col);
        box-shadow: 1px 2px 0px 0px var(--error-col);
        transition: top ease 300ms;
        position: relative;
    }
    #veggiesTable .delete-user-btn:active 
    {
        top: 2px;
        box-shadow: unset;
    }
    .ss--veggie-form-field-img
    {
        width: 80px;
        height: 80px;
        object-fit: cover;
        border: 1px solid var(--primary-col);
        border-radius: 6px;
        margin-bottom: 5px;
    }
    @media only screen and (max-width: 767px)
    {
        .dashboard--main-header-veggie
        {
            flex-direction: column;
            gap: 20px;
        }
        #veggiesTable thead tr th:nth-child(1),
        #veggiesTable tbody tr td:nth-child(1),
        #veggiesTable thead tr th:nth-child(3),
        #veggiesTable tbody tr td:nth-child(3)
        {
            display: none;
        }
    }
    @media only screen and (max-width: 576px)
    {

    }
/* SITE SETTINGS STYLING */


/* SIDEBAR STYLING */
    .sidebar 
    {
        width: var(--sidebar-width);
        min-height: 100vh;
        height: 100%;
        background: linear-gradient(135deg, var(--bg-light) 0%, var(--bg-light) 100%);
        transition: all 0.3s ease;
        box-shadow: 5px 0px 8px -4px rgba(0,0,0,0.1);
    }
    .sidebar-nav
    {
        flex-wrap: nowrap;
    }
    .sidebar.collapsed 
    {
        width: var(--sidebar-width-collapsed);
    }

    .sidebar-link 
    {
        color: var(--text-dark);
        transition: all 0.2s ease;
        border-radius: 8px;
        margin: 4px 16px;
        white-space: nowrap;
        overflow: hidden;
        border: 2px solid var(--primary-col);
        box-shadow: 2px 4px 0px 0px var(--primary-col);
    }

    .sidebar-link:hover
    {
        color: var(--text-light);
        background: var(--primary-col);
        backdrop-filter: blur(4px);
        transform: translateX(5px);
        box-shadow: unset;
        top: 2px;
        background-color: var(--primary-col);
        border-color: var(--primary-col);
        color: var(--bg-light);
    }

    .sidebar-link.active 
    {
        color: var(--text-light);
        background: var(--primary-col);
        backdrop-filter: blur(4px);
        box-shadow: unset;
        top: 2px;
        background-color: var(--primary-col);
        border-color: var(--primary-col);
        color: var(--bg-light);
        transform: translateX(5px);
    }

    .logo-text
    {
        display: flex;
        align-items: center;
        justify-content: start;
        gap: 10px;
        flex-wrap: nowrap;
        overflow: hidden;
    }
    .logo-text span
    {
        /* background: linear-gradient(45deg, var(--primary-col), var(--primary-col));
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent; */
        transition: opacity 0.1s ease;
    }
    .logo-text span.waving-hand
    {
        display: inline-block;
        transform-origin: bottom center;
        animation: wave 2s infinite;
    }

    .notification-badge 
    {
        background: #ff6b6b;
        padding: 2px 6px;
        border-radius: 6px;
        font-size: 0.7rem;
    }

    .profile-section .profile-section-icon,
    .profile-section .profile-info
    {
        color: var(--text-dark);
    }
    .profile-section 
    {
        border-top: 2px solid var(--primary-col);
    }

    .main-content 
    {
        /* margin-left: var(--sidebar-width); */
        margin-left: 300px;
        /* background-color: #f8f9fa; */
        min-height: 100vh;
        width: 100%;
        padding: 20px;
        transition: all 0.3s ease;
    }

    .collapsed~.main-content 
    {
        margin-left: var(--sidebar-width-collapsed);
    }

    .toggle-btn 
    {
        position: absolute;
        right: -15px;
        top: 20px;
        background: white;
        border-radius: 50%;
        width: 30px;
        height: 30px;
        border: none;
        box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
        z-index: 100;
        cursor: pointer;
        transition: transform 0.3s ease;
    }

    .collapsed .toggle-btn 
    {
        transform: rotate(180deg);
    }

    .collapsed .hide-on-collapse 
    {
        opacity: 0;
        visibility: hidden;
    }

    .collapsed .logo-text span.logo-main-text
    {
        opacity: 0;
        display: none;
    }
    .logo-text span.waving-hand
    { 
        opacity: 1;
    }

    .collapsed .profile-info 
    {
        opacity: 0;
    }

    .collapsed .sidebar-link 
    {
        /* text-align: center; */
        text-align: start;
        padding: 1rem !important;
        margin: 4px 8px;
    }

    .collapsed .sidebar-link i 
    {
        margin: 0 !important;
    }

    .profile-info 
    {
        transition: opacity 0.2s ease;
    }
/* SIDEBAR STYLING */


/* MOBILE NAV */
    nav.mobile-sidebar
    {
        display: none!important;
    }
    .mobile-toggle-btn
    {
        position: absolute;
        right: -40px;
        top: 30px;
        background: white;
        border-radius: 0%;
        width: 40px;
        height: 40px;
        border: 1px solid var(--primary-col);
        box-shadow: 1px 2px 0 0 var(--primary-col);
        z-index: 100;
        cursor: pointer;
        transition: transform 0.3s ease;
    }
    .mobile-toggle-btn i 
    {
        transition: all ease 300ms;
    }
    .mobile-toggle-btn.active i
    {
        transform: rotate(180deg);
    }
    @media only screen and (max-width: 1024px)
    {
        nav.sidebar
        {
            display: none!important;
        }
        body.loggedin
        {
            padding-top: 40px;
        }
        nav.mobile-sidebar
        {
            display: flex!important;
            position: fixed;
            top: 0;
            left: -300px;
            z-index: 999;
            background: var(--bg-light);
            height: 100%;
            min-height: 100vh;
            max-width: 300px;
            width: 100%;
            transition: all ease 300ms;
            border-right: 1px solid var(--primary-col);
        }
        nav.mobile-sidebar.active 
        {
            transform: translateX(300px);
        }
    }
    @media only screen and (max-width: 767px)
    {
        nav.mobile-sidebar
        {
            left: -250px;
            max-width: 250px;
        }
        nav.mobile-sidebar.active 
        {
            transform: translateX(250px);
        }
    }
/* MOBILE NAV */


/* FORMS STYLING */
    .main--forms
    {
        background-image: url('/images/forms/main-banner-bg.png');
        background-repeat: no-repeat;
        background-position: right center;
        background-size: cover;
        overflow: hidden;
        padding: 0 20px;
    }

    .main--form-heading
    {
        margin: 0;
        font-size: 32px;
        font-weight: var(--fw-bold);
        margin-bottom: 10px;
        color: var(--text-dark);
        text-align: center;
    }
    .main--form-desc
    {
        text-align: center;
        margin: 0;
        color: var(--text-dark);
        font-size: 16px;
    }
    .main--forms-content
    {
        min-height: 100vh;
        padding: 50px 0;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    .main--forms-form
    {
        display: none;
    }
    .main--forms-form.active 
    {
        display: block;
    }
    .main--form-wrap
    {
        /* max-width: 500px; */
        max-width: 600px;
        width: 100%;
        background-color: var(--bg-light);
        border-radius: 30px;
        border: 3px solid var(--primary-col);
        padding: 40px;
        position: relative;
    }
    .main--form-wrap::before
    {
        content: '';
        background-color: var(--primary-col);
        height: 50px;
        width: 10px;
        position: absolute;
        left: 0;
        top: 30px;
        border-radius: 0 50px 50px 0;
    }
    .main--form-toggler-wrap
    {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
        margin: 15px 0 30px 0;
    }
    .main--form-toggler-btn
    {
        background-color: var(--bg-light);
        border-radius: 10px;
        height: 50px;
        border: 2px solid var(--primary-col);
        box-shadow: 2px 4px 0px 0px var(--primary-col);
        color: var(--text-dark);
        font-weight: var(--fw-bold);
        font-size: 18px;
        transition: background-color 300ms ease, color 300ms ease, border-color 300ms ease;
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    /* .main--form-toggler-btn:hover, */
    .main--form-toggler-btn:active,
    .main--form-toggler-btn.active
    {
        box-shadow: unset;
        top: 2px;
        background-color: var(--primary-col);
        border-color: var(--primary-col);
        color: var(--bg-light);
    }
    .form--field-wrap
    {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        position: relative;
        background-color: var(--bg-light);
        border: 2px solid var(--primary-col);
        box-shadow: 2px 4px 0px 0px var(--primary-col);
        color: var(--text-dark);
        border-radius: 10px;
        overflow: hidden;
        margin-bottom: 15px;
    }
    .form--field-wrap span 
    {
        position: absolute;
        left: 10px;
        top: 50%;
        transform: translateY(-50%);
        color: var(--text-dark);
    }
    .form--field-wrap .form--field
    {
        width: 100%;
        height: 50px;
        padding-left: 35px;
        border: 0;
        outline: 0;
        box-shadow: unset;
        color: var(--text-dark);
    }
    .form--submit
    {
        margin-top: 10px;
        border-radius: 10px;
        height: 50px;
        box-shadow: 2px 4px 0px 0px var(--primary-col-darker);
        font-weight: var(--fw-bold);
        font-size: 18px;
        transition: background-color 300ms ease, color 300ms ease, border-color 300ms ease;
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        gap: 10px;
        background-color: var(--primary-col);
        border: 2px solid var(--primary-col);
        color: var(--bg-light);
        outline: 0;
    }
    .main--signup-form-wrap .form--submit
    {
        margin-top: 30px;
    }
    /* .form--submit:hover, */
    .form--submit:active
    {
        top: 2px;
        box-shadow: unset;
    }
    .form--reset-pass
    {
        text-align: center;
        font-size: 16px;
        text-decoration: none;
        color: var(--primary-col);
        font-weight: var(--fw-bold);
        margin-top: 30px;
        display: flex;
        justify-content: center;
        text-align: center;
        transition: all ease 300ms;
    }
    /* .form--reset-pass:hover, */
    .form--reset-pass:active
    {
        text-decoration: underline;
    }
    .main--forms-floating-img
    {
        position: absolute;
        z-index: 2;
        animation-name: float;
        animation-timing-function: ease-in-out;
        animation-iteration-count: infinite;
    }
    .main--form-wrap > .main--forms-floating-img:nth-of-type(1)
    {
        width: 50px;
        top: -20px;
        animation-duration: 2s;
        animation-delay: 0s;
    }
    .main--form-wrap > .main--forms-floating-img:nth-of-type(2)
    {
        width: 30px;
        top: -40px;
        right: 0px;
        transform: rotate(45deg);
        animation-duration: 3s;
        animation-delay: 0.5s;
    }
    .main--form-wrap > .main--forms-floating-img:nth-of-type(3)
    {
        width: 50px;
        top: 45%;
        transform: translateY(-50%);
        right: -25px;
        animation-duration: 4s;
        animation-delay: 1s;
    }
    .main--form-wrap > .main--forms-floating-img:nth-of-type(4)
    {
        width: 50px;
        top: 55%;
        transform: translateY(-50%);
        left: -25px;
        animation-duration: 2s;
        animation-delay: 0s;
    }
    .main--form-wrap > .main--forms-floating-img:nth-of-type(5)
    {
        width: 40px;
        bottom: -20px;
        right: -10px;
        animation-duration: 3s;
        animation-delay: 0.5s;
    }
    .main--form-wrap > .main--forms-floating-img:nth-of-type(6)
    {
        width: 50px;
        bottom: -25px;
        left: 10px;
        animation-duration: 4s;
        animation-delay: 1s;
    }
    .main--form-mobile-bg
    {
        display: none;
    }
/* FORMS STYLING */


/* ANIMATIONS */
    @keyframes float {
        0% {
            transform: translateY(0px);
        }
        50% {
            transform: translateY(-15px);
        }
        100% {
            transform: translateY(0px);
        }
    }
    @keyframes wave {
        0% { transform: rotate(0deg); }
        10% { transform: rotate(14deg); }
        20% { transform: rotate(-8deg); }
        30% { transform: rotate(14deg); }
        40% { transform: rotate(-4deg); }
        50% { transform: rotate(10deg); }
        60% { transform: rotate(0deg); }
        100% { transform: rotate(0deg); }
    }
/* ANIMATIONS */


/* BREAKPOINTS */
    @media only screen and (max-width: 1200px)
    {
        .main--forms
        {
            /* background-image: url('/images/forms/index-bg-tab.png');
            background-repeat: no-repeat;
            background-position: top center;
            background-size: contain; */
            background-image: unset;
        }
        .main--form-mobile-bg
        {
            display: block;
            position: absolute;
            top: -50px;
            left: 50%;
            transform: translateX(-50%);
            width: 100%;
            height: 400px;
            object-fit: cover;
        }
        .main--form-wrap
        {
            margin: 0 auto;
        }
        .main--forms-content
        {
            padding-top: 400px;
        }
    }
    @media only screen and (max-width: 1024px)
    {
        .main-content
        {
            margin-left: 0!important;
        }
    }
    @media only screen and (max-width: 767px)
    {
        .main--forms
        {
            background-image: unset;
            padding: 0 10px;
        }
        .main-content
        {
            padding: 12px 0;
        }
        .main--form-mobile-bg
        {
            height: 300px;
            top: 0;
        }
        .main--forms-content
        {
            padding-top: 340px;
        }
        .main--form-toggler-wrap
        {
            gap: 10px;
        }
        .main--form-wrap
        {
            padding: 20px;
        }
        .main--form-wrap > .main--forms-floating-img:nth-of-type(1)
        {
            width: 40px;
        }
        .main--form-wrap > .main--forms-floating-img:nth-of-type(2)
        {
            width: 20px;
        }
        .main--form-wrap > .main--forms-floating-img:nth-of-type(3)
        {
            width: 40px;
        }
        .main--form-wrap > .main--forms-floating-img:nth-of-type(4)
        {
            width: 40px;
        }
        .main--form-wrap > .main--forms-floating-img:nth-of-type(5)
        {
            width: 30px;
        }
        .main--form-wrap > .main--forms-floating-img:nth-of-type(6)
        {
            width: 40px;
        }
    }
/* BREAKPOINTS */






/* ADMIN DASHBOARD */
    .admin--dashboard-stat-cards-wrap
    {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 20px;
    }
    .admin--dashboard-stat-card a
    {
        padding: 30px 20px;
        border: 2px solid var(--primary-col);
        box-shadow: 2px 4px 0px 0px var(--primary-col);
        border-radius: 10px;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: top ease 300ms;
        position: relative;
    }
    .admin--dashboard-stat-card a 
    {
        text-decoration: none;
    }
    .admin--dashboard-stat-card a:active
    {
        top: 2px;
        box-shadow: unset;
    }
    .admin--dashboard-stat-card-content 
    {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .admin--dashboard-stat-card-icon 
    {
        height: 50px;
        width: 50px;
        border-radius: 50px;
        background: var(--icon-bg);
        display: flex;
        justify-content: center;
        align-items: center;
        color: var(--primary-col);
    }
    h2.admin--dashboard-stat-card-count 
    {
        margin: 15px 0 5px 0;
        font-weight: var(--fw-bold);
        color: var(--text-dark);
        font-size: 35px;
        line-height: 45px;
    }
    .admin--dashboard-stat-card-title
    {
        margin: 0;
        font-size: 16px;
        color: var(--text-desc);
        line-height: 26px;
        text-align: center;
    }
    @media only screen and (max-width: 1200px)
    {
        .admin--dashboard-stat-cards-wrap
        {
            grid-template-columns: repeat(2, 1fr);
        }
    }
    @media only screen and (max-width: 576px)
    {
        .admin--dashboard-stat-cards-wrap
        {
            grid-template-columns: 1fr;
        }
    }
/* ADMIN DASHBOARD */


/* PASSWORD RESET PAGE */
    .reset--main-wrap
    {
        background-image: url('/images/forms/password-reset-bg.png');
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
    }
    .reset--main-card-wrap
    {
        max-width: 600px;
        width: 100%;
        margin: 0 auto;
        min-height: 100vh;
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 100px 0;
    }
    .reset--main-card-wrap .card 
    {
        border: 2px solid var(--primary-col);
        box-shadow: 4px 6px 0px 0px var(--primary-col);
    }
    .reset--main-heading
    {
        text-align: center;
        font-weight: var(--fw-bold);
        color: var(--text-dark);
        font-size: 32px;
        margin: 0;
        margin-bottom: 30px;
    }
    .reset--login-link-wrap
    {
        text-align: center;
    }
    a.reset--login-link
    {
        text-decoration: none;
        color: var(--text-dark);
        margin: 0;
        margin-top: 25px;
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 10px;
    }
    .reset--separator
    {
        display: flex;
        margin: 30px 0 20px 0;
        margin-left: auto;
        margin-right: auto;
        height: 1px;
        border-bottom: 1px solid var(--primary-col);
        max-width: 80px;
        width: 100%;
    }
/* PASSWORD RESET PAGE */