:root {
    /* COLORS */
    --baby-blue: #8DC6FF;
    --cream: #ffffe8;
    --dark-gray: #505050;
    --gray: #808080;
    --light-gray: #d8d8d8;
    --red: #ff5e62;

    --dark-gray-opa: 80, 80, 80;

    /* VARIABLES */
    --opacity: 1;
    --bg: var(--baby-blue);
    --pg-margin: 1.5rem;

    overflow-x: hidden;
}

body {
    margin: 0;
    background-color: var(--bg);
    color: var(--dark-gray);
    display: flex;
        flex-direction: column;
    max-width: 100vw;
    overflow-x: hidden;
}

h2, p {
    margin: 0;
}

@media (max-width: 350px) {
    :root {
        font-size: 0.825rem;
    }
}

code {
font-weight: bold;
}

/******************************************************
 * FONTS
 */

.rubiks {
    font-family: 'Rubik Bubbles', sans-serif;
}

.prata {
    font-family: 'Prata', serif;
}

.figtree {
    font-family: 'Figtree', sans-serif;
}

/******************************************************
 * UTILITY CLASSES
 */
 
.bold {
    font-weight: bold;
}

.cream {
    color: var(--cream);
}

.frame {
    border: 1px dashed black;
}

.fs2r {
    font-size: 2rem;
}

.italic {
    font-style: italic;
}

.w-80 {
    width: 80%;
}

.fc-gray {
    color: var(--gray) !important;
}

/******************************************************
 * CLASS COMPONENTS
 */
.hamburger {
    cursor: pointer;
    background-color: transparent;
    border: none;
    padding: 0.5rem;
    border-radius: 5px;
}

.hamburger > div {
    width: 23px;
    height: 3px;
    background-color: var(--dark-gray);
}

.hamburger:hover > div {
    background-color: black;
}

.post-title {
    border-right: 2px solid var(--dark-gray);
    padding-right: 0.5rem;
    color: var(--cream);
    font-family: 'Prata', serif;
}

.post-body{
    font-family: 'Figtree', sans-serif;
    color: var(--dark-gray);
    margin-bottom: var(--pg-margin);;
}

.date {
    font-size: calc(.6rem + .3vw);
    margin-bottom: .5rem;
    padding-left: 0.5rem;
}

@media (max-width: 768px) {
    .post-title { /* Remove border on smaller screens. */
        border-right: none;
        padding-right: 0rem;
    }

    .date {
        padding-left: 0rem;
    }
}

.menu-link {
    color: inherit;
    text-decoration: none;
    cursor: pointer;
}

.menu-link:hover {
    color: var(--cream);
}

.about-paragraph {
    font-family: 'Figtree', sans-serif;
    margin-bottom: var(--pg-margin);;
}

.color-cream {
    color: var(--cream);
}

/******************************************************
 * ID COMPONENTS
 */
#main-left-column {
    border-right: 2px solid rgba(var(--dark-gray-opa), 0.5); /* Border only appear after md breakpoint. */
    position: sticky;
        top: 2rem;
    overflow-y: auto;

    z-index: 100;
}

#offcanvasLeftColumn {
    background-color: var(--bg);
    color: var(--dark-gray);
}

#header {
    z-index: 1000; /* Header is always on top of the body. This is my solution to the "row" class causing the button to be inactive. */
    height: 50px;
    margin: 1rem 0rem;
}

#header > div {
    height: 50px;
}

#footer {
    background-color: var(--cream);
    color: var(--dark-gray);
    padding: 1rem 0rem;
    box-shadow: 0px -2px 3px rgba(var(--dark-gray-opa), 0.5);
}

#side-menu {
    margin: 1rem 0rem;
}

@media (max-width: 576px) {
    #aboutTitleSecondLine {
        font-size: 1.25rem;
    }
}