:root {
    --size-max-width: 1200px;
    --size-navbar-height: 70px;
    --size-section-padding-topbottom: 60px;
    --color-light-blue: #8df3ed;
    --color-light-black: #3d3d3d;
    --color-navbar-green: #023900;
    --color-header-green: #2b6d2f;
    --color-footer-green: #003936;
    --color-green: #00520c;
    --color-light-green: #afd5aa;
    --color-dark-green: #003c18;
    --color-brown: #596d04;
    --color-yellow: #faf285;
}

@font-face {
    font-family: cgief-josefin-sans;
    font-display: swap;
    src: url("../font/Josefin_Sans/JosefinSans-VariableFont_wght.ttf");
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: cgief-josefin-sans;
    font-size: 12px;
    transition: all .375s ease;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    text-wrap: wrap;
    object-fit: contain;
}

a:link,
a:active,
a:hover,
a:visited {
    text-decoration: none;
}

.cgief-icon {
    justify-self: center;
}

.cgief-icon.white {
    color: white;
}

.cgief-icon.green {
    color: var(--color-green);
}

.cgief-icon.brown {
    color: var(--color-brown);
}

.cgief-icon.gray {
    color: gray;
}

.cgief-icon.orange {
    color: orange;
}

.cgief-icon.bg-green {
    display: grid;
    justify-content: center;
    align-items: center;
    background-color: var(--color-green);
    width: 25px;
    height: 25px;
    border-radius: 5px;
}

.cgief-icon.clickable {
    cursor: pointer;
}

.cgief-line-divider {
    color: white;
    font-size: 1.5rem;
    font-weight: bold;
}

.cgief-line-decorator {
    width: 50px;
}

.cgief-line-decorator.green {
    color: var(--color-green)
}

.cgief-pagination {
    display: flex;
    gap: 20px;
    align-self: center;
    font-size: 2rem;
    justify-content: center;
}

.cgief-pagination-current,
.cgief-pagination-button {
    font-size: 1.2rem;
    padding: 10px;
    border-radius: 5px;
    cursor: pointer;
    color: white;
}

.cgief-pagination-current {
    background-color: var(--color-green);
}

.cgief-pagination-button:hover {
    background-color: var(--color-green);
}

.cgief-section {
    display: grid;
    width: 100%;
}

.cgief-wrapper {
    display: grid;
    margin: 0 auto;
    max-width: var(--size-max-width);
    width: 100%;
    padding: var(--size-section-padding-topbottom) 60px;
    position: relative;
    overflow-x: hidden;
}

.cgief-section.navbar {
    position: fixed;
    background-color: var(--color-navbar-green);
    height: var(--size-navbar-height);
    z-index: 1000;
}

.cgief-wrapper.navbar {
    position: relative;
    display: flex;
    justify-content: space-between;
    padding: 0px 30px;
    overflow: visible;
}

.cgief-navbar-logo {
    height: var(--size-navbar-height);
    padding: 15px 0px;
}

.cgief-navbar-trigger {
    display: none;
}

.cgief-navbar-button-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
}

.cgief-navbar-button,
.cgief-navbar-link {
    color: white;
    font-size: 1.5rem;
    font-weight: bold;
}

.cgief-navbar-link-container {
    display: flex;
    gap: 10px;
    align-items: center;
}

.cgief-user-account-link {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    justify-self: center;
    color: var(--color-white);
}

.cgief-user-account-link>p {
    color: white;
    font-size: 1.5rem;
    font-weight: bold;
}

.cgief-user-dropdown {
    display: none;
}

.cgief-user-account-link:hover~.cgief-user-dropdown,
.cgief-user-dropdown:hover {
    position: absolute;
    display: flex;
    flex-direction: column;
    gap: 10px;
    background-color: var(--color-navbar-green);
    margin: 0;
    padding: 50px 20px 20px;
    right: 0px;
    border-radius: 20px;
}

.cgief-user-info-container {
    display: flex;
    gap: 15px;
    align-items: center;;
}

.cgief-user-info {
    display: flex;
    flex-direction: column;
    gap: 5px;
    color: white;
}

.cgief-user-info-name {
    font-size: 1.2rem;
}

.cgief-navbar-dropdown-link {
    font-size: 1.2rem;
    color: white;
    cursor: pointer;
}

.cgief-navbar-dropdown-link.logout {
    color: red;
}

.cgief-section.footer {
    background-color: var(--color-footer-green);
}

.cgief-wrapper.footer {
    display: flex;
    justify-content: space-between;
    gap: 40px;
    color: white;
}

.cgief-footer-header-container {
    display: flex;
    flex-direction: column;
    gap: 30px;
    justify-content: center;
    align-items: start;
    width: 300px;
}

.cgief-footer-header-logo {
    max-height: 50px;
}

.cgief-footer-header-title {
    font-size: 1.5rem;
}

.cgief-footer-header-social-container {
    display: flex;
    align-items: center;
    gap: 20px;
}

.cgief-footer-navlink-container {
    display: grid;
    grid-template: auto / 1fr 1fr;
    width: 300px;
}

.cgief-footer-navlink-button {
    color: white;
    font-size: 1.5rem;
    font-weight: bold;
}

.cgief-footer-contact-container {
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 300px;
}

.cgief-footer-contact-title {
    font-size: 1.5rem;
}

.cgief-footer-contact-item {
    display: grid;
    grid-template: 1fr / 10px 1fr;
    gap: 20px;
}

.cgief-footer-contact-item-content {
    font-size: 1.2rem;
}

@media screen and (max-width: 1100px) {
    .cgief-navbar-logo {
        display: none;
    }

    .cgief-navbar-trigger {
        display: block;
        background-image: url("../image/menu-icon.webp");
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        align-self: center;
        width: 30px;
        height: 30px;
    }

    .cgief-navbar-button-container {
        position: fixed;
        display: flex;
        flex-direction: column;
        gap: 40px;
        background-color: var(--color-navbar-green);
        width: 30%;
        left: 0;
        top: var(--size-navbar-height);
        height: 100vh;
        margin: 0;
        padding: 40px;
        align-items: flex-start;
        justify-content: flex-start;
        transform: translate3d(-100%, 0, 0);
    }

    .cgief-navbar-button-container.expanded {
        transform: translate3d(0, 0, 0);
    }
}

@media screen and (max-width: 768px) {
    .cgief-wrapper.footer {
        flex-direction: column;
        gap: 60px;
    }

    .cgief-footer-header-container {
        align-items: center;
        width: 100%;
    }

    .cgief-footer-header-title {
        text-align: center;
    }

    .cgief-footer-navlink-container {
        align-self: center;
        gap: 20px;
        text-align: center;
        grid-template: auto / 1fr 1fr 1fr 1fr;
        min-width: 75%;
    }

    .cgief-footer-contact-container {
        min-width: 75%;
        align-self: center;
    }

    .cgief-footer-contact-title {
        align-self: center;
    }
}

@media screen and (max-width: 540px) {
    .cgief-navbar-button-container {
        width: 50%;
    }
}

@media screen and (max-width: 425px) {
    .cgief-footer-navlink-container {
        grid-template: auto / 1fr 1fr;
    }
}

@media screen and (max-width: 320px) {}