header {
    width:100%;
    padding:10px var(--side-padding);
    position: fixed;
    top:0;
    left:0;
    z-index:1000;
    transition: box-shadow 0.2s ease-in-out;

    display: grid;
    grid-template-columns: auto minmax(100px, 1fr) auto;
    grid-auto-rows: auto;
    gap:10px;
    grid-template-areas: "logo-area menu-bar cta-area";
}

header.scrolled { /* Shadow effect. Javascript has been added to manage this. */
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.2);
    background-color: rgba(255, 255, 255, 0.6); /* semi-transparent */
    backdrop-filter: blur(10px); /* the actual blur */
    -webkit-backdrop-filter: blur(10px); /* for Safari */
}

/* LOGO AREA */
header .logo-area {
    grid-area: logo-area;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

header .logo-area a img {
    max-width:170px;
    display: block;
}

/* MENU BAR */
header nav {
    grid-area: menu-bar;
}

header nav ul {
    list-style:none;
    display:flex;
    align-items:center;
	justify-content:flex-end;
    gap:5px;
	flex-direction: row;
}

header nav ul li {
    list-style-type: none;
    display: inline-flex;
    position: relative;
}
header nav ul li a {
	text-decoration:none;
	color:rgb(80,80,80);
	cursor:pointer;
    padding:10px 5px;
    font-size:0.9rem;
    white-space: nowrap;
    font-weight: 550;
}
header nav ul li a:hover {
    color:black;
}

/* CTA BUTTON */
header .cta-area {
    grid-area: cta-area;
    display: none; /* default */
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    position: relative;
}

header .cta-area .cta-button {
    padding:3px 15px;
    white-space: nowrap;
    text-decoration: none;
    font-size:0.9em;
    text-align: center;
    border-radius: 4px;
    box-shadow: 0 0 1px 1px  lightgray;
    font-family: Arial, Helvetica, sans-serif;
    background-color: lightslategray;
    color:white
}
header .cta-area .cta-button:hover {
    filter: brightness(95%);
}

header .cta-area #burger_menu {
    display: flex;
    align-items: center;
    justify-content: center;
}

header .cta-area #burger_menu img.burger-icon {
    width:24px;
    aspect-ratio: 1/1;
}
header .cta-area #burger_menu #mobile_menu {
    display: none;
    position:absolute;
    top:100%;
    right:0;
    background-color: rgb(255, 255, 255);
    box-shadow: 0 1px 3px 2px lightgray;
}
header .cta-area #burger_menu #mobile_menu ul.mobile {
    list-style:none;
    display: flex;
    flex-direction: column;
    gap:5px;
    justify-content: flex-start;
    align-items: flex-start;
}

header .cta-area #burger_menu #mobile_menu ul.mobile li a {
    display: block;
    width:200px;
    height:100%;
    padding:8px 10px;
    color:var(--theme-color-blue);
}

/************************************************
************************ FOOTER *****************
*************************************************/
footer {
    width:100%;
    padding:0;
    align-items:center;
    flex-direction: column;
    justify-content: center;
    background-color: black;
    color: white;
}

footer > * {
    padding-left:var(--side-padding);
    padding-right: var(--side-padding);
}


footer div.footer-content {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 10px; 
    margin:20px 0;
}

footer div.footer-content .single-footer {
    padding:20px;
    width:100%;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    justify-content: flex-start;
    align-items: flex-start;
    gap:10px;
}
footer div.footer-content .single-footer h3 {
    color:lightgray;
    font-size:1.4rem;
    font-weight:bold;
    margin-bottom:20px !important;
    width:100%;
    text-transform: uppercase;
}

/* FOOTER MENU BOTTOM BAR */
.footer-menu-container {
    padding:15px var(--side-padding);
    border-top:1px groove rgba(40,40,40,0.7);
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}
.footer-menu-container .copyright {
    color:gray;
    display:flex;
    align-items:center;
    justify-content: center;
    font-size:0.75rem;
}


.menu-list-footer {
    color:gray;
    width:100%;
    display:flex;
    align-items:center;
    justify-content: center;
    flex-direction: row;
    flex-wrap: wrap;
    gap:10px;
    padding:0 !important;
}

.menu-list-footer li {
    list-style-type: none;
}
.menu-list-footer li a {
    display:inline-block;
    color:var(--footer_menu_color);
    font-size:0.75rem;
    padding:0 10px;
    text-decoration: none;
    white-space: nowrap;
}


@media (max-width:480px) {
    .footer-menu-container {
        flex-direction: column;
    }
}

@media (max-width:480px) {
    /* Hiding navigation bar and changing header grid layout to compensate for same */
    header .logo-area a img {
        width:120px;
    }

}

@media (max-width:850px) {
    /* Hiding navigation bar and changing header grid layout to compensate for same */
    header nav { 
        display: none;
    }
    header {
        grid-template-columns: auto auto;
        gap:0;
        justify-content: space-between;
        grid-template-areas: "logo-area cta-area" ;
    }
    header .cta-area {
        display: flex;
    }
}
