/* Import Font*/

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Unicase:wght@300;400;500;600;700&family=Eagle+Lake&family=Jacquard+12+Charted&family=Macondo&family=Uncial+Antiqua&display=swap');

/* ----------------
-------------------
-------------------
CSS TABLE OF CONTENTS

# GLOBAL STYLING
    # Global Reset
    # Global Colors
    # Global Typography
# LAYOUT
    # Grid
# STRUCTURE
    # HEADER
    # MAIN SECTIONS
        # HERO
    # FOOTER

-------------------
-------------------
---------------- */

/* GLOBAL STYLING */

html {
    scroll-behavior: smooth;
    scroll-padding-top: 120px;
}

/* Global Resets */
* { box-sizing: border-box; }
body { margin: 0; }

/* Global Colors */
body {
    /* SET THE BACKGROUND COLOR OF ALL PAGES */ 
    background-color: rgb(248, 241, 229);

    /* SET THE MAIN TEXT COLOR FOR THE SITE*/
    color: rgb(0 0 0 / .8);
}

/* SET THE HOVER COLOR FOR LINKS */
a:hover {
    color:goldenrod;
}

/* SET THE COLOR OF ALL HEADINGS */
h1, h2, h3 {
    color: #980404;
}

/* Global Typography */

/* SET THE MAIN BODY FONT */
body {
    font-family: 'Macondo', serif;
    /* Set font size 100% = 1em =  16px */
    font-size: 120%;
    line-height: 1.4;
}

/* SET THE FONT FOR ALL HEADINGS */
h1, h2, h3 {
    font-family: 'Uncial Antiqua', serif;
}

/* SITE STRUCTURE */

/* HEADER */
.site-header {
    background-image: url('../img/header-image3.jpg');
    filter: saturate(1.2);
    padding: 10em 1em 6em 1em;
    color: white;
    padding: 1em;
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    border-bottom: 5px double white;
    position: sticky;
    top: 0;
    z-index: 100;

    animation: slideDown 1s ease-out forwards;
}

@keyframes slideDown {
    0% {
        transform: translateY(-100%);
        opacity:0;
    }
    100% {
        transform: translateY(0);
        opacity:1;
    }
}

.site-header a {
    color: white;
    text-decoration: none;
}

/* SITE ID */

.site-id h1 {
    margin: 0;
    animation: fadeanddropIn 1s ease-out .5s forwards;
    opacity: 0;
}

/* SITE NAV */
.site-nav {
    animation: fadeanddropIn 1s ease-out .5s forwards;
    opacity: 0;
}

.site-nav ul {
    display: flex;
    justify-content: flex-end;
    margin: 0;
    padding: 0;
    list-style: none;
}

.site-nav a {
    display: block;
    padding: 1em;
}

/* HERO SECTION */
.hero {
    background-color: transparent;
    padding: 4em 1em;
    text-align: center;
}

.hero h2 {
    font-size: 4em;
    line-height: 1;
    text-transform: uppercase;
    margin: 0 auto;
}

.hero p {
    font-size: clamp(2em,4vw,4em);
    max-width: 30em;
    margin: 1em auto;
    text-wrap: balance;
}

/* COURSES SECTION */
.courseblock {
    background-color: wheat;
    padding: 6em 1em;
    display: grid;
    justify-content: center;
    text-align: center;
    margin-right: 8em;
    margin-left: 8em;
    margin-top: 2em;
    margin-bottom: 4em;
    border: 10px ridge #980404;
}

.courses h2 {
    text-align: center;
}

.courses a {
    color: black;
    text-decoration: none;
}

.courses ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

/* COURSE PAGE WITH MULTIPLE PROJECT LISTS */
.coursework {
    justify-content: center;
    text-align: center;
}

.coursework h2 {
    text-align: center;
}

.project-container {
    background-color: wheat;
    padding: 1em 1em;
    display: grid;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin-right: 8em;
    margin-left: 8em;
    margin-top: 2em;
    margin-bottom: 4em;
    border: 10px ridge #980404;
}
.project {
    margin: 2em;
}

/* NOTES PAGE LAYOUT */
.container {
    max-width: 1000px;
    margin: 0 auto;
    padding: 0 1em;
}

section {
    padding: 3em 1em;
}

/* SIDEBAR ASIDE */
aside {
    padding: 3em 0;
    background-color: wheat;
}

aside h3 {
    text-align: center;
}

@media (min-width: 768px) {
    .two-col-sidebar {
        display: grid;
        grid-template-columns: 15em 1fr;
        gap: 2em;
        max-width: 100%; /* Prevents overflow */
    }
    .two-col-sidebar aside {
        border: 5px ridge #980404;
        margin: 0em 1em 2em 0;
        padding: 0.3em 0 0.5em 0;
        position: sticky;
        top: 7em;
        height: fit-content;
    }
}

/* FOOTER */
footer {
    border-top: 5px double white;
    padding: 1em;
    background-color: #980404;
}

/* SOCIAL NAV*/
.social-nav ul {
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
    list-style: none;
}

.social-nav a {
    text-decoration: none;
    color: whitesmoke;
    display: block;
    padding: 1em;
}

/* CUSTOM HOME PAGE STYLING */
.page-home .hero {
    background-image: url(../img/hero.png);
    background-position: center;
    background-size: cover;
    padding: 10em 1em 6em 1em;
    border-bottom: 5px double white;
    isolation: isolate;
    background-attachment: fixed;
    margin-top: -8em; 
    padding-top: 18em;
}

.page-home .hero h2 {
    color: #980404;
    background-clip: text;
    color: transparent;
    text-shadow: 
        -1px -1px 2px rgba(146, 18, 18, 0.8),
        2px 2px 3px rgba(0, 0, 0, 0.9); 
    font-size: 6em;
}

.page-home .hero p {
    color: rgb(255, 255, 255);
    text-shadow: 
        -1px -1px 2px aliceblue,
        2px 2px 3px rgba(0, 0, 0, 0.9); 
    font-size: 130%;
}

/* CUSTOM SUB-PAGES STYLING */
.page-art128 .hero {
    background-image: url(../img/hero2.png);
    background-position: center;
    background-size: cover;
    border-bottom: 5px double white;
    background-attachment: fixed;
    margin-top: -8em;
    padding-top: 18em;
}

.page-art128 .hero h2 {
    color: #980404;
    background-clip: text;
    color: transparent;
    text-shadow: 
        -1px -1px 2px rgba(146, 18, 18, 0.8),
        2px 2px 3px rgba(0, 0, 0, 0.9); 
    font-size: 5em;
}

.page-art128 .hero p {
    color: rgb(255, 255, 255);
    text-shadow: 
        -1px -1px 2px aliceblue,
        2px 2px 3px rgba(0, 0, 0, 0.9); 
    font-size: 130%;
}

.page-notes .hero {
    background-image: url(../img/hero3.png);
    background-position: center;
    background-size: cover;
    border-bottom: 5px double white;
    background-attachment: fixed;
    margin-top: -6em;
    padding-top: 16em;
}

.page-notes .hero h2 {
    color: #980404;
    background-clip: text;
    color: transparent;
    text-shadow: 
        -1px -1px 2px rgba(146, 18, 18, 0.8),
        2px 2px 3px rgba(0, 0, 0, 0.9); 
    font-size: 5em;
}

.page-notes .hero p {
    color: rgb(255, 255, 255);
    text-shadow: 
        -1px -1px 2px aliceblue,
        2px 2px 3px rgba(0, 0, 0, 0.9); 
    font-size: 130%;
}

/* ANIMATIONS */

/* Fade & Downward Motion */
.fadeanddropIn * {
  animation: fadeanddropIn 1s ease-out 1s forwards;
  opacity: 0;
}

.fadeanddropIn *:nth-child(1) { animation-delay: .25s;}
.fadeanddropIn *:nth-child(2) { animation-delay: .5s; } 

@keyframes fadeanddropIn {
  0% {
    transform: translateY(-10px);
    opacity: 0; 
  }
  100% {
    transform: translateY(0px); 
    opacity: 1;
  }
}

/* Fade & Upward Motion */
.fadeandriseIn {
    animation: fadeandriseIn 1s ease-out .25s forwards;
    opacity: 0;
}

.fadeandriseIn * {
  animation: fadeandriseIn 1s ease-out forwards;
  opacity: 0;
}

.fadeandriseIn *:nth-child(1) { animation-delay: .25s;}
.fadeandriseIn *:nth-child(2) { animation-delay: .5s; } 

@keyframes fadeandriseIn {
    0% {
        transform: translateY(30px);
        opacity: 0;  
    }
    100% {
        transform: translateY(0px); 
        opacity: 1; 
    } 
}

/* Fade & Shrink */
.fade-out {
    animation: fade-out linear;
    animation-timeline: scroll();
}

.fade-out *:nth-child(1) { animation-delay: .25s;}
.fade-out *:nth-child(2) { animation-delay: .5s; } 

@keyframes fade-out {
    0% {
        opacity: 1;
        scale: 1;
    }
    100% {
        opacity: 0;
        scale: 0.5;
    }
}

/* FOR DEV PURPOSES */
/* body * {
    background-color: rgba(0,0,0,.05) !important;
    border: 1px solid rgba(0,0,0,.1) !important;
    color: rgba(0,0,0,.5) !important;
} */
