* {
    font-family: "orbitron", sans-serif;
    font-size: 12px;
    color: white;
}

*, *::before, *::after {
    box-sizing: border-box;
    text-decoration: none;
    list-style: none;
    margin: 0;
    overflow: auto;
}

root {
    --text-color: white;
}

.btn {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: transparent;
    border: 2px solid white;
    border-radius: 50px;
    height: 40px;
    width: 140px;
    margin: 16px;
    cursor: pointer;
    transition: 100ms;
}

.btn:hover {
    border: 2px solid white;
    box-shadow: 0 0 15px aqua, inset 0 0 15px aqua;
}

body {
    background: linear-gradient(90deg, rgba(0, 255, 255, 0.19) 0%, rgba(0, 255, 255, 0.00) 14.06%, rgba(0, 255, 255, 0.00) 85.42%, rgba(0, 255, 255, 0.19) 100%), #121212;
);
    width: 100%;
    margin: 0 auto;
    height: 100vh;
}

#header-background {
    background: linear-gradient(180deg, #000 22.92%, rgba(0, 0, 0, 0.69) 51.56%, rgba(0, 0, 0, 0.54) 67.19%, rgba(0, 0, 0, 0.39) 83.85%, rgba(0, 0, 0, 0.00) 100%);
    width: 100vw;
    height: 126px;
    position: absolute;
    top: 0;
    z-index: 2;
}

.account-menu span {
    display: none;
}

.header {
    position: absolute;
    z-index: 4;
    width: 100%;
    margin: 0 auto;
    height: auto;
    display: grid;
    overflow: visible;
    grid-template-rows: 40px 80px;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-areas:
    'logo       slogan        empty'
    'logo       nav-menu      account-menu';
}

.slogan {
    grid-area: slogan;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-top: 8px;
    font-family: "Rajdhani", "sans-serif";
}

.logo {
    height: 71px;
    width: 108px;
    display: flex;
    justify-content: center;
}

.nav {
    grid-area: nav-menu;
    display: flex;
    justify-content: center;
    align-items: center;
}

#menu-checkbox {
    display: none;
}

.nav-menu {
    display: none;
}

#logo-header {
    grid-area: logo;
    display: flex;
    justify-content: center;
    align-items: center;
}

.account-menu {
    grid-area: account-menu;
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    z-index: 5;
}

.nav-menu {
    display: none;
    position: absolute;
    top: 104px;
    padding: 0;
    border-radius: 16px;
    box-shadow: 2px 2px 4px rgba(0, 255, 255, 30%);
    background-color: #121212;
    z-index: 2;
    height: 150px;
    width: 100px;
}

#menu-label {
    position: relative;
}

#menu-checkbox:checked ~ .nav-menu {
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: absolute;
    align-items: center;
    gap: 1.5rem;
    z-index: 4;
}

.nav-menu li a:hover {
    color: aqua;
}

#log-in:hover i,
#log-in:hover span {
    color: aqua;
}

#cart {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.cart-amount {
    position: relative;
    top: -2px;
}

#cart:hover i,
#cart:hover span {
    color: aqua;
}

#wishlist:hover i,
#wishlist:hover span {
    color: aqua;
}

.back-to-top {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.back-to-top-icon i {
    font-size: 3rem;
    border: 2px solid white;
    border-radius: 99px;
    padding: 10px 16px 10px 16px;
    transition: 100ms;
}

.back-to-top-icon {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 2rem;
    height: 100px;
    width: 100px;
    transition: 100ms;
}

#back-to-top-text {
    font-size: 2rem;
}

.back-to-top-icon:hover i {
    box-shadow: 0 0 15px aqua, inset 0 0 15px aqua;
}

#back-to-top-text:hover {
    color: aqua;
}

.footer {
    display: grid;
    grid-template-columns: 2fr 2fr 2fr;
    width: 100vw;
    height: 200px;
    background-color: #2D2D2C;
    margin-top: 40px;
    position: relative;
    bottom: 0;
}

.first-row-links {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 8px;
    margin-left: 40px;
    margin-top: 40px;
}

.second-row-links {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 8px;
    margin-top: 40px;
    margin-left: 40px;
}

.logo-footer {
    display: flex;
    justify-content: center;
    align-items: center;

}

.first-row-links a:hover, .second-row-links a:hover {
    color: aqua;
}

@media (min-width: 786px) {

    .header {
        grid-template-columns: 1fr 2fr 1fr;
        grid-template-areas:
        'logo slogan empty'
        'logo nav-menu account-menu'
    }

    .caret-icon {
        display: none;
    }

    .nav-menu {
        display: flex;
        position: absolute;
        width: 100%;
        background: transparent;
        box-shadow: none;
        justify-content: center;
        gap: 8px;
        top: 54px;
        height: auto;
    }

    .nav-menu a {
        height: 50px;
        width: 100px;
        background: url("assets/box.png") center/cover no-repeat;
        display: flex;
        justify-content: center;
        align-items: center;
        transition: 120ms ease-in;
    }

    .nav-menu li a:hover {
        background-image: url("assets/box-hover.png");
        color: white;
    }
}

@media (min-width: 1024px) {

    .header {
        grid-template-columns: 1fr 2fr 2fr;
        grid-template-areas:
            'slogan slogan slogan'
            'logo nav-menu account-menu'
    }

    .account-menu {
        display: flex;
    }

    .account-menu span {
        display: inline-block;
        padding-left: 4px;
    }

    .account-menu i {
        position: relative;
        top: -1px;
    }
}

@media (min-width: 1200px) {
    .header {
        grid-template-columns: 1fr 2fr 400px;
    }
}