:root {
    --color-primary-dark: #1c3558;
    --color-primary-normal: #407088;
    --color-primary-light: #70ADB5;
    --color-primary-lighter: #d3ebee;
    --color-secondary-dark: #d86679;
    --color-secondary-light: #FFCBCB;
}

a {
    text-decoration: none;
    color: var(--color-primary-dark);
}

a:hover {
    text-decoration: underline;
}

h1, h2, h3, h4, h5 {
    margin: 0.5em 0;
}

nav {
    position: sticky;
    top: 0;
    padding: 1em;
    z-index: 1000;

    font-size: 10pt;
}

main {
    padding: 1em;
    font-size: 10pt;
    color: var(--color-primary-dark);
}

footer {
    padding: 1em;
    height: 3em;
    font-size: 8pt;
}

.logo-container {
    display: flex;
    justify-content: center;

    margin-bottom: 0.5em;
    padding-bottom: 0.5em;

    border-bottom: double 3px var(--color-primary-light);
}

@media (max-width: 599px) {
    .grid-container {
        display: grid;
        grid-template-rows: min-content auto auto;

        overflow: visible;
    }

    header {
        grid-column: 1 / span 1;
        grid-row: 1 / span 1;

        position: sticky;
        top: 0;
        z-index: 1000;

        background-color: white;
    }

    nav {
        padding: 1em;
        border-bottom: solid 1px var(--color-primary-light);
    }

    .menu-container {
        display: flex;
        justify-content: space-evenly;
    }
    
    main {
        grid-column: 1 / span 1;
        grid-row: 2 / span 1;
    }
    
    footer {
        grid-column: 1 / span 1;
        grid-row: 3 / span 1;
    }
    
}

@media (min-width: 600px) {
    .grid-container {
        display: grid;
        grid-template-rows: auto auto;
        grid-template-columns: 150px 500px;
    }

    header {
        grid-column: 1 / span 1;
        grid-row: 1 / span 1;
        border-right: dotted 1px var(--color-primary-light);
    }

    nav {
        display: flex;
        flex-direction: column;
        padding: 1em;
    }

    .menu-container {
        display: flex;
        flex-direction: column;
    }
    
    main {
        grid-column: 2 / span 1;
        grid-row: 1 / span 1;
    }
    
    footer {
        grid-column: 1 / span 2;
        grid-row: 2 / span 1;
    }
    
}

input[type="range"] {
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    height: 7px;
    background: var(--color-primary-light);
    transition: 0.2s;
}

input[type="range"]::-webkit-slider-runnable-track {
    width: 100%;
    height: 7px;
}

input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 7px;
    height: 7px;
    background: var(--color-secondary-dark);
    cursor: pointer;
    transition: 0.2s;
    position: relative;
}

input[type="range"]::-moz-range-thumb {
    width: 8px;
    height: 8px;
    background: var(--color-secondary-dark);
    cursor: pointer;
}

input[type="range"]::-webkit-slider-thumb:hover {
    background: var(--color-secondary-light);
    transform: scale(1.1);
}

input[type="range"]:active::-webkit-slider-thumb {
    background: var(--color-secondary-light);
    transform: scale(1.2);
}

.page_title {
    margin-bottom: 2em;
}