
:root {
    --color-primary: darkslateblue;
    --color-secondary: cornsilk;
    --color-background-light:rgb(247, 244, 235);
    --color-background-grey: #f4f4f4;
    --color-accent: rgb(212, 196, 176);
    --color-text: rgb(31, 36, 41);
    --color-text-grey: #666;
    --color-text-light: rgb(128, 118, 106);
    --color-hypertext: green;
    --color-hypertext-dark: rgb(1, 62, 1);
    --color-white: white;
    --color-shadow: rgba(0,0,0,.12);
    --font-size-small: 15px;
}

.row {
    display: flex;
    align-items: center;
    gap: 1.9rem;
}

* {
  box-sizing: border-box;
}

header {
    background-color: var(--color-secondary);
    color: var(--color-primary);
    padding: 0.5rem;
    z-index: 1;
}

#header {
    display: contents;
    padding: 0 0;
}

.header {
    position: sticky;
    top: 0;
    margin-bottom: 2rem;
}

header .row {
    max-width: 60rem;
    margin: 0 auto;
    padding: 0 0rem;
    display: flex; 
    align-items: center;
    justify-content: space-between;
    font-family: "Architects Daughter", cursive;
    font-weight: 700;
}

header .row .row {
    display: flex;
    margin: 0 0;
    align-items: center;
    gap: 3.1rem;
}

header .row .button {
    padding: 0.615rem 0.615rem;
    margin: 0 0;
    border-radius: 1.9rem;
    box-shadow: 0 0 0 0.31rem var(--color-primary);
    color: var(--color-primary);
    text-decoration: none;
    font-weight: bold;
    font-size: 1.2rem;
}

header .row .button:hover{
    padding: 0.625rem 0.625rem;
    margin: 0 0;
    border-radius: 1.9rem;
    box-shadow: 0 0 0 0.31rem var(--color-primary);
    color: var(--color-secondary);
    background-color: var(--color-primary);
    text-decoration: none;
    font-weight: bold;
    font-size: 1.2rem;
}

header .row .homeButton {
    color: var(--color-primary);
    font-weight: bold;
    font-size: 3rem;
    text-decoration: none;
    margin-top: 0.31rem;
    margin-bottom: 0.31rem;
}

header .row .homeButton:hover {
    color: var(--color-primary);
}

body {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    margin: 0 0;
    font: 1.2rem / 1.5 system-ui;
    color: var(--color-text);
    overflow-x: hidden;
    background: var(--color-background-grey)
}

.content {
    flex: 1;
    max-width: 68rem;
    margin: 0 auto;
    padding: 0 1.5rem;
    width: 100%;
}

footer p {
    color: var(--color-text-light);
    font-size: var(--font-size-small);
    margin-top: 1.5rem;
    margin-bottom: 0.31rem;
    padding: 0 0;
    text-align: center;
}

img {
    max-width: var(--image-width, 30rem);
    height: auto;
    margin: 1.9rem 0.625rem;
    outline: 0.625rem solid var(--color-primary);
}

video {
    max-width: var(--image-width, 30rem);
    height: auto;
    margin: 1.9rem 0.625rem;
    outline: 0.625rem solid var(--color-primary);
    width: var(--width);
}

p {
    padding: 0 0;
    font-size: 1.15rem;
}

ul {
    margin-bottom: 0;
    margin-top: 0.6rem;
}

li {
    font-size: 1.15rem;
}

h1 {
    padding: 0 0;
    font-family: "Architects Daughter", cursive;
    font-weight: 700;
}

h2 {
    margin-top: 1.5rem;
    margin-bottom: 0.5rem;
    font-family: "Architects Daughter", cursive;
    font-weight: 700;
}

h2:first-child {
    margin-top: 0;
    padding-top: 0;
}

h2:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
}

h3 {
    font-family: "Architects Daughter", cursive;
    font-weight: 700;
}

h3:first-child {
    margin-top: 0;
    padding-top: 0;
}

h3:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
}

p:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
}

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

a:hover {
    text-decoration: none;
    color: var(--color-hypertext-dark);
}

.message {
    color: var(--color-primary);
    font-weight: bold;
    font-size: 3.5rem;
    text-decoration: none;
    margin-top: 2.81rem;
    margin-bottom: 2.81rem;
}

canvas {
    display: block;
    left: 0;
    width: 100%;
    top: 100%;
    z-index: 2;
    pointer-events: none;
}

#ascii_art {
    color: var(--color-primary);
    font-weight: bold;
    font-size: 0.5rem;
    text-decoration: none;
    margin-top: 3.75rem;
    margin-bottom: 0;
}

@media (max-width: 500px) {
    .header {
        position: relative;
    }

    .header .row .homeButton {
    font-size: 1.8rem;
    margin-top: 0.2rem;
    margin-bottom: 0.2rem;
    }

    .header .row .button {
    font-size: 0.9rem;
    padding: 0.4rem 0.5rem;
    }

    .header .row .button:hover {
    font-size: 0.9rem;
    padding: 0.4rem 0.5rem;
    }

    .header .row .row {
    gap: 1rem;
    }

    .header .row {
    padding: 0.5rem 0;
    }

    .row {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
    }

    .header .row .row {
    flex-direction: row;
    display: flex;
    margin: 0 0;
    align-items: center;
    gap: 2rem;
    }

    .row img {
        width: 100%;
        max-width: 100%;
        margin: 0.5rem 0;
    }
}

@media (min-width: 500px) {

    body::before,
    body::after {
        content: "";
        position: fixed;
        top: 0;
        width: 10rem;          /* tile width, shrink if you want it smaller */
        height: 100vh;
        background-image: url("../images/swirl_purple.png");
        background-repeat: repeat-y;
        background-size: 5rem auto; /* scale the tile down; adjust as needed */
        pointer-events: none;   /* clicks pass through to your content */
        z-index: -1;            /* sits behind your content */
    }

    body::before {
        left: 5rem;
    }

    body::after {
        right: 5rem;
        transform: scaleX(-1); /* optional: mirror the swirl on the right side */
    }
}
