:root {
    --light-pink: #a95582;
    --light-pink-dark: #a13870;
    --light-pink-very-dark: #88275b;

    --Bright-pink: #e77ab5;
    --Bright-pink-dark: #c54d8d;
    --Bright-pink-very-dark: #b62f77;

    --Dark-pink: #cf0b75;
    --Dark-pink-dark: #94195a;
    --Dark-pink-very-dark: #571136;

    --Skin: #e4ac88;
    --Skin-semi-dark: #ca8c66;
    --Skin-dark: #ad714b;
    --Skin-very-dark: #754425;

    --bg-light: #f0f0f0;
    --bg: #e6e6e6;
    --bg-semi-dark: #b9babd;
    --bg-dark: #88898b;
    --bg-very-dark: #565657;
    --bg-very-very-dark: #444444;
    --bg-very-very-very-dark: #2b2b2b;

    --text: #20242f;
    --text-light: #2c354e;
    --text-semi-dark: #1a1b21;
    --text-dark: #13161b;
}

/* Vogue */
@font-face {
    font-family: 'Vogue';
    src: url('fonts/Vogue.ttf');
}

/* Poppins */
@font-face {
    font-family: 'Poppins';
    src: url('fonts/Poppins-Thin.ttf');
    font-weight: 100;
    /* Thin */
}

@font-face {
    font-family: 'Poppins';
    src: url('fonts/Poppins-ExtraLight.ttf');
    font-weight: 200;
    /* ExtraLight */
}

@font-face {
    font-family: 'Poppins';
    src: url('fonts/Poppins-Light.ttf');
    font-weight: 300;
    /* Light */
}

@font-face {
    font-family: 'Poppins';
    src: url('fonts/Poppins-Regular.ttf');
    font-weight: 400;
    /* Regular */
}

@font-face {
    font-family: 'Poppins';
    src: url('fonts/Poppins-Medium.ttf');
    font-weight: 500;
    /* Medium */
}

@font-face {
    font-family: 'Poppins';
    src: url('fonts/Poppins-SemiBold.ttf');
    font-weight: 600;
    /* SemiBold */
}

@font-face {
    font-family: 'Poppins';
    src: url('fonts/Poppins-Bold.ttf');
    font-weight: 700;
    /* Bold */
}

@font-face {
    font-family: 'Poppins';
    src: url('fonts/Poppins-ExtraBold.ttf');
    font-weight: 800;
    /* ExtraBold */
}

@font-face {
    font-family: 'Poppins';
    src: url('fonts/Poppins-Black.ttf');
    font-weight: 900;
    /* Black */
}


/*----------------------- General -----------------------*/

body {
    min-height: 100vh;
    min-height: 100dvh;
    background-color: var(--bg-light);
    color: var(--text);
    overflow-x: hidden;
    font-family: Poppins;
}

::selection {
    background: var(--Bright-pink) !important;
    color: white;
}

.alert-container {
    /* width: 25%; */
    width: fit-content;
    min-width: 25%;
    height: fit-content;
    position: fixed;
    bottom: 25px;
    left: 25px;
    z-index: 10001;
}

.alert {
    width: fit-content;
    height: fit-content;
    position: relative;
    transition: 1.5s ease-out;
}

.alert.fade-out {
    opacity: 0;
}

.strike-text {
    color: var(--bg-dark);
    text-decoration: line-through;
    text-decoration-color: var(--Dark-pink);
}

* {
    transition: .25s ease;
}

/*----------------------- End General -----------------------*/


/*----------------------- Navbar -----------------------*/

.navbar {
    position: fixed;
    display: flex;
    align-items: center;
    justify-content: space-between;
    align-content: center;
    flex-wrap: wrap;
    width: 100%;
    top: 0;
    left: 0;
    height: 100px;
    /* Set a consistent height */
    background-color: var(--bg) !important;
    z-index: 1000;
}

.navbar * {}

/* Navbar Collapse */
/* Custom expand style for small screens */
.navbar-collapse {
    width: 45%;
    flex-grow: 0;
    overflow-y: auto;
    position: static;
    transform: none;
    height: auto;
    background-color: transparent;
}

.navbar-collapse.show {
    transform: translateX(0);
}

/* End Navbar Collapse */

/* Navbar Toggler */
.navbar-toggler,
.navbar-toggler:focus {
    outline: none;
    border: none;
    padding: 1rem;
    width: 35%;
    display: flex;
    justify-content: flex-start;
}

.hamburger {
    cursor: pointer;
    /* filter: drop-shadow(2px 2px 1px rgba(0, 0, 0, 0.25)); */
}

.hamburger input {
    display: none;
}

.hamburger svg {
    /* The size of the SVG defines the overall size */
    height: 1.7em;
    /* Define the transition for transforming the SVG */
    transition: transform 600ms cubic-bezier(0.4, 0, 0.2, 1);
}

.line {
    fill: none;
    stroke: var(--Bright-pink);
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 3;
    /* Define the transition for transforming the Stroke */
    transition: stroke-dasharray 600ms cubic-bezier(0.4, 0, 0.2, 1),
        stroke-dashoffset 600ms cubic-bezier(0.4, 0, 0.2, 1);
}

.line-top-bottom {
    stroke-dasharray: 12 63;
}

.hamburger input:checked+svg {
    transform: rotate(-45deg);
}

.hamburger input:checked+svg .line-top-bottom {
    stroke-dasharray: 20 300;
    stroke-dashoffset: -32.42;
}

/* End Navbar Toggler */


/* Navbar Logo */

.navbar-logo {
    margin: auto;
    height: 75px;
    max-height: 100%;
    /* Ensure it fits within the navbar height */
    display: flex;
    align-items: center;
    justify-content: center;
}

.navbar-logo img {
    max-height: 100%;
    /* Ensure the SVG image fits within the navbar */
    height: 100%;
    /* Ensure proper scaling */
}

/* End Navbar Logo */


/* Links List */

.navbar-nav {
    display: flex;
    flex-direction: row;
    text-align: center;
    padding: 1rem 1.5rem;
    width: 45%;
}

.nav-link {
    display: flex;
    color: #424242 !important;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-family: Poppins;
    font-size: 1.2rem;
    background-color: transparent;
    text-align: center;
    width: fit-content;
}

.nav-link:hover,
.nav-link:hover i {
    color: var(--Dark-pink) !important;
}

.nav-link.active {
    position: relative;
}

.nav-link.active::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 40%;
    width: 20%;
    height: 2px;
    background: var(--Dark-pink);
    border-radius: 50px;
}

/* Left-side menu specific styles */
.navbar-nav.left-menu {
    flex-direction: row;
    justify-content: space-around;
    align-items: center;
    width: 75%;
}

/* Right-side menu specific styles */
.navbar-nav.ms-auto {
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
    gap: 10px;
}

.navbar-nav.ms-auto li {
    margin: 0 2rem;
}

.navbar-nav.ms-auto .nav-item .nav-link {
    font-size: 1.25rem;
    display: flex;
    align-items: center;
}

/* End Links List */



/* Navbar Margin Div */
.navbar-margin {
    position: relative;
    height: 0;
    margin: 0;
    width: 100%;
    padding-top: 100px;
}

/* End Navbar Margin Div */



/*----------------------- End Navbar -----------------------*/


/*----------------------- Footer -----------------------*/
.footer {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-content: center;
    justify-content: center;
    align-items: center;
    padding: 1rem;
}

.footer p {
    margin: auto !important;
}

/*----------------------- End Footer -----------------------*/

@media (max-width: 992px) {
    .navbar {
        height: 75px;
    }

    .navbar-collapse {
        position: fixed;
        top: 75px;
        /* Below the navbar */
        left: 0;
        height: calc(100vh - 75px);
        /* Fill remaining height below navbar */
        background-color: var(--bg);
        /* Adjust as needed */
        transform: translateX(-100%);
        width: 100%;
    }

    .collapsible {
        margin: 1rem 0;
    }

    .navbar-nav {
        width: 35%;
    }

    .navbar-nav.left-menu {
        flex-direction: column;
        width: 100%;
    }

    .navbar-logo {
        height: 55px;
    }

    .navbar-nav.ms-auto li {
        margin: 0 1rem;
    }

    .navbar-margin {
        padding-top: 75px;
    }
}


@media (max-width: 500px) {

    .navbar-nav.ms-auto li {
        margin: 0;
    }

}