/* -------------------------------------------------------- */
/* VARIABLES */
/* -------------------------------------------------------- */
:root {
    --blog-size: 700px;
    --left-sidebar-size: 250px;
    --left-sidebar-top-distance: 5vh; /* think of it like percentge from top */
    --content-gap: 10px;

    --body-font: "nunito";
    --font-color: #1f1c1c;

    --border-radius: 10px;
    --padding: 12px;

    --focus-color: #ffffff;
    --marquee-duration: 30s;

    --header-font: "bebasneue";
    --header-color: #f87a26;
    --h1-deco: url();
    --h2-deco: url();

    --bold: #6c0d31;
    --italics: #c31773;
    --blockquote: #ffffff;
    --accent: #f87a26;
    --font-on-accent: #000000;

    --quote-color: #ffffff;

    --background: #688190;
    --background-image: url(/acrossbg2.gif);

    --links: #811313;
    --links-hover: #000000;

    --borders: #f87a26;
    --body-bg: #f7f3f3;
    --body-shadows: rgba(185, 20, 102, 0.41);

    --nav-bg-hover: #620d1d;
    --nav-text-hover: #ffffff;

    --footer-text: #000000;
    --footer-link: #891212;

    @media (prefers-color-scheme: dark) {
        --font-color: #ecdddd;

        --focus-color: #e81f1f;

        --header-color: #f87a26;
        --h1-deco: url();
        --h2-deco: url();

        --bold: #f53e84;
        --italics: #f5a6d0;
        --blockquote: #101010;
        --accent: #f87a26;
        --font-on-accent: #ffffff;

        --quote-color: #400000;

        --background: #141515;
        --background-image: url(/acrossbg2.gif);

        --links: #f77abd;
        --links-hover: #ffffff;

        --borders: #f87a26;
        --body-bg: #1a1818;
        --body-shadows: rgba(242, 125, 183, 0.41);

        --nav-bg-hover: #c90076;
        --nav-text-hover: #ffffff;

        --footer-text: #ffffff;
        --footer-link: #ea7878;
    }
}

@font-face {
    font-family: "nunito";
    font-display: swap;
    src: url(/nunito.ttf);
}

@font-face {
    font-family: "bebasneue";
    font-display: swap;
    src: url(/bebasneue.ttf);
}

/* -------------------------------------------------------- */
/* BASICS */
/* -------------------------------------------------------- */

body {
    font-family: var(--body-font);
    background-color: var(--background);
    background-image: var(--background-image);
    background-attachment: fixed;
    color: var(--font-color);
    font-size: 1em;
}

* {
    box-sizing: border-box;
    margin: 0;

    &:focus-visible {
        outline-color: var(--focus-color) !important;
        outline-offset: -1px !important;
        outline-style: dotted !important;
        outline-width: 2px !important;
        border-color: transparent;
    }
}

html {
    position: relative;
}

html,
body {
    padding: 0px 0px 0px 10px;
    margin: 0;
}

a {
    color: var(--links);
    text-decoration: underline;
    transition: 0.25s;
    line-height: 1rem;

    &:hover {
        color: var(--links-hover);
        text-decoration: none;
    }
}

/* only add external links to paragraphs, blockquotes, and lists */
main p a[href^="http"]:after,
main blockquote a[href^="http"]:after,
main li a[href^="http"]:after {
    display: inline-block;
    content: "↗";
    margin-left: 1px;
    background-size: 1rem 1rem;
}

/* -------------------------------------------------------- */
/* MAIN CONTENT */
/* -------------------------------------------------------- */
.container {
    width: calc(var(--blog-size) + var(--content-gap) + var(--left-sidebar-size));
    display: grid;
    grid-template-areas: "left-sidebar content";
    grid-template-columns: var(--left-sidebar-size) var(--blog-size);
    grid-template-rows: 1fr;
    gap: var(--content-gap);
    margin: 30px auto 10px auto;
}

/* -------------------------------------------------------- */
/* LEFT SIDEBAR + NAV */
/* -------------------------------------------------------- */
#left-sidebar {
    height: fit-content; /* Full-height */
    position: sticky;
    top: var(--left-sidebar-top-distance);
    display: flex;
    flex-direction: column;
    grid-area: left-sidebar;
    gap: var(--content-gap);
}

#left-sidebar .about,
nav {
    padding: var(--padding);
}

#left-sidebar .about {
    position: relative;
    left: 0;
    display: flex;
    flex-direction: column;
    background-color: var(--body-bg);
    border-radius: var(--border-radius);
    border: transparent;

}

#left-sidebar .icon {
    width: 100%;
    line-height: 1em;
    margin-bottom: 10px;
}

#left-sidebar .icon img {
    min-width: 100%;
    object-fit: cover;
    border-radius: calc(var(--border-radius) / 2);
   
}

#left-sidebar .description {
    width: 100%;
    align-content: center;
}

/* extra 'sections' */
#left-sidebar section {
    position: relative;
    height: fit-content;
    background-color: var(--body-bg);
    padding: var(--padding);
    border-radius: var(--border-radius);
    border: transparent;
}

nav {
    position: relative;
    background-color: var(--body-bg);
    height: fit-content; /* Full-height */
    border-radius: var(--border-radius);
    border: transparent ;
}

nav a {
    color: var(--font-on-accent);
    text-decoration: none;
    transition: 0.25s ease-in;
    background-color: var(--accent);
    display: block;
    text-align: center;
    padding: calc(var(--padding) / 2);
    margin: 5px;
    border-radius: calc(var(--border-radius) / 2);
    border: transparent);

    &:last-child {
        margin-bottom: 0;
    }

    &:first-child {
        margin-top: 0;
    }

    &:hover {
        color: var(--nav-text-hover);
        background-color: var(--nav-bg-hover);
        letter-spacing: 2px;
    }
}

nav summary {
    color: var(--font-on-accent);
    text-decoration: none;
    transition: 0.25s ease-in;
    background-color: var(--accent);
    display: block;
    text-align: center;
    padding: calc(var(--padding) / 2);
    margin: 5px;
    border-radius: calc(var(--border-radius) / 2);
    border: 3px solid var(--borders);
    line-height: 1;
    margin-bottom: 0;
}

nav summary::after {
    content: " ▾";
    margin-left: 5px;
}
nav details[open] summary:after {
    content: " ▴";
}

nav details[open] summary {
    background-color: var(--borders);
}

nav details[open] > a {
    background-color: aqua;
}

/* -------------------------------------------------------- */
/* IMAGES */
/* -------------------------------------------------------- */

img {
  border-radius: 8px;
  max-width: 30%;
  height: auto;
}

.rhy1 {
    float: left;
    position: fixed;
    left: -30px;
    top: 440px;
    transform: rotate(0deg);
    max-width: 40%;
    max-height: auto;
    pointer-events: none;
}

/* -------------------------------------------------------- */
/* EFFECTS */
/* -------------------------------------------------------- */

a img.hover {
    display: none;
}
a img.default {
    display: inherit;
}
a:hover img.hover {
    display: inherit;
}
a:hover img.default {
    display: none;
}
