body
{
    margin-top: 65px;
}

/* top nav */

nav.top_nav
{
    overflow: hidden;

    /* background-color: var(--blue); */
    backdrop-filter: blur(10px);
    position: fixed;

    margin: 0px;
    padding: 6px;

    width: 100%;
    min-height: 40px;
    max-height: 40px;

    top: 0px;
    left: 0px;
    right: 0px;

    z-index: 100;
}

nav.top_nav:not(.side_nav) a.right {
    float: right;
}

nav.top_nav a, nav.top_nav p {
    float: left;
    text-align: center;
    text-decoration: none;
    font-size: 19px;
    
    margin: 0px;

    margin-left: 20px;
    margin-right: 20px;
    
    align-items:center;
    justify-content:center;
    
    display: flex;
    height: 40px;
    align-self: center;
    
    cursor: pointer;
    
    user-select: none;
    
    color: var(--brand-white);
    
    transition-duration: 200ms;
}

nav.top_nav p
{
    position: absolute;
    left: 50%;
    right: 50%;

    font-weight: bolder;

    margin-left: 0px;
    margin-right: 10px;
    text-align: center;
}

/* side nav */

nav.side_nav
{
    overflow: hidden;

    /* background-color: var(--blue); */
    background-color: var(--background-dark);
    position: fixed;

    margin: 0px;
    padding: 30px;

    width: min(300px, 50%);
    height: 100%;

    top: 0px;
    left: 0px;
    right: 0px;

    overflow-y: scroll;

    z-index: 200;
}

nav.side_nav a:nth-child(1)
{
    margin-top: 0px;
}


nav.side_nav a
{
    display: block;
    margin-top: 30px;

    transition-duration: 200ms;
}

nav.side_nav a:hover
{
    color: var(--blue);
    text-decoration: line-through;
}

nav a .icon
{
    height: 1.2em;
    margin-right: 5px;
}

#mobile_topnav #mobile_header
{
    position: fixed;
    
    left: 50%;
    right: 50%;
    
    width: fit-content;
    
    transform: translate(-50%, 0%);
    z-index: 100;
}

#mobile_close_nav
{
    position: absolute;
    right: 20px;
    top: 0px;
    font-size: 2em;
    opacity: 50%;
}

#mobile_topnav #mobile_header img
{
    margin-right: 20px;
    box-shadow: 0px 0px 20px #151515;
}

nav.top_nav a:hover{
    transform: scale(105%);
    text-decoration: none;
    
    color: var(--blue);
}

@keyframes slide-in {
    0% {transform: translate(-100%, 0%);}
    100% {transform: translate(0%, 0%);}
}

@keyframes slide-out {
    0% {transform: translate(0%, 0%);}
    100% {transform: translate(-100%, 0%);}
}