:root {
    --background-color: #ffffff;
    --shadow-color: #ced9d1;
    --main-color: #4A7856;
    --bold-color: #074B35;
    --accent-color: #D8CF6F;
    --text-color: #000000;
    --font-family: 'Trebuchet MS', 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, sans-serif;
}

:root.dark {
    --background-color: #000000;
}


html {
    background-color: var(--background-color);
}

body {
    border: 0px;
    margin: 0px;
    padding: 0px;
}

/* NAVBAR */

nav {
    background-color: var(--background-color);
    display: grid;
    grid-template: 1fr / 0.5fr min-content 1fr 1fr 0.5fr;
    z-index: 10;
}

#nav-logo {
    grid-column-start: 2;
    width: max-content;
    color: var(--main-color);
    font-size: 30px;
    height: 77px;
    line-height: 77px;
    font-family: var(--font-family);
    font-weight: 600;
    justify-content: center;
    align-content: center;
}

#nav-buttons {
    grid-column-start: 4;
    display: flex;
    justify-content: flex-end;
}

a.nav-link {
    display: flex;
    margin: 15px;
    justify-content: center;
    text-decoration: none;
    padding: none;
    width: max-content;
    height: max-content;
    justify-self: center;
    align-self: center;
}

a.nav-link:hover {
    cursor: pointer;
}

button.nav-button {
    background-color: var(--background-color);
    font-size: 15px;
    font-family: var(--font-family);
    font-weight: 600;
    text-align: center;
    color: var(--text-color);
    padding: 15px;
    width: 100px;
    border: none;
    outline: none;
    border-radius: 0.7em;
}

button.nav-button:hover {
    cursor: pointer;
}

/* A nav button that does not have an a.nav-link wrapper. */
button.unlinked-nav-button {
    background-color: var(--background-color);
    font-size: 15px;
    font-family: var(--font-family);
    font-weight: 600;
    text-align: center;
    color: var(--text-color);
    margin: 15px;
    width: 100px;
    border: none;
    outline: none;
    border-radius: 0.7em;
}

button.unlinked-nav-button:hover {
    cursor: pointer;
}

#dark-mode-button {
    text-align: center;
    width: 70px;
}

button.nav-button:hover,
button.unlinked-nav-button:hover {
    background-color: var(--accent-color);
    color: var(--text-color);
}

#dark-mode-button-img {

    height: 30px;
    width: 30px;
}

#nav-break {
    height: 5px;
    background-color: var(--main-color);
    grid-row-start: 2;
    grid-column: 1 / -1;
    z-index: 10;
}

#nav-separator {
    margin-bottom: 20px;
}

/* ASIDE */

div.aside-grid {
    display: grid;
    grid-template: 1fr / 5vw 70vw 5vw auto 5vw;
}

aside {
    grid-column-start: 4;
    position: fixed;
    right: 5vw;
    display: flex;
    flex-direction: column;
    align-items: center;
    background-color: var(--background-color);
    height: 70vh;
    width: 270px;
    top: 15vh;
    font-family: var(--font-family);
    color: var(--text-color);
    font-size: 15px;
    overflow-y: scroll;
}

div.aside-header {
    position: static;
    width: 100%;
    text-align: center;
    height: min-content;
    font-family: var(--font-family);
    font-size: 18px;
    margin: 25px 0px 25px 0px;
    padding: 0px 0px 7px 0px;
    border-top: 0px;
    border-left: 0px;
    border-right: 0px;
    border-bottom: 3px;
    border-color: var(--main-color);
    border-style: solid;
}

div.aside-content {
    
    margin: 0px;
    padding-left: 10px;
    padding-right: 10px;
}

div.aside-title-container {
    height: 50px;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

a.aside-title {
    text-decoration: none;
    width: 100%;
    text-align: center;
    overflow-wrap: wrap;
}

aside::-webkit-scrollbar {
    display: none;
}

/* MAIN SECTIONS */

div.centered {
    position: static;
    padding: 15px;
    margin: 0px auto 0px auto;
    display: flex;
    flex-direction: column;
    width: max-content;
    align-items: flex-end;
    background-color: var(--background-color);
    font-family: var(--font-family);
    color: var(--text-color);
    font-size: 15px;
    overflow-x: hidden;
}

div.main-content {
    grid-column-start: 2;
    justify-self: center;
    display: flex;
    flex-direction: column;
    width: 100%;
    padding: 0px 15px 0px 15px;
    align-items: flex-end;
    background-color: var(--background-color);
    font-family: var(--font-family);
    color: var(--text-color);
    font-size: 16px;
    overflow-x: hidden;
}

section {
    margin-top: 10px;
    margin-bottom: 10px; 
    width: 100%;
    /* border-color: red;
    border-width: 2px;
    border-style: solid; */
    overflow-x: hidden;
    overflow-y: hidden;
}

div.footer-space {
    height: 100px;
}

span.text-short {
    display: none;
}

span.text-tiny {
    display: none;
}

a {
    color: var(--text-color);
}