:root {
    --dark: #00030b;
    --light: #fefefe;
    --accent: #000e0c;
    --link: #232430;
    --max-width: 1200px;
    --hero-height: 400px;
    --header-typeface: 'Domine', sans-serif;
    --body-typeface: 'Jost', sans-serif;
}

.hero_font {
    font-family: 'Electrolize', sans-serif;
   }

   a {
    font-family: 'Abel', sans-serif;
   }

 
h1 {
 font-family: 'Bellota Text', sans-serif;
 margin-top: 1em;
 margin-left: .5em;
}

.montserrat-top {
    font-family: "Montserrat", serif;
    font-optical-sizing: auto;
    font-weight: 900;
    font-style: normal;
  }

* {
    padding: 0px;
    margin: 0px;
    font-family: sans-serif;
    box-sizing: border-box;
}

.contact{
    color: white;
    text-decoration: none;
}

body {
    background-color: var(--light);
    height: 100%;
    padding: 0;
}

html{
    height: 100%;
    padding: 0;
}

html, body {
    overflow-x: hidden; /* Prevent horizontal scrolling */
    overflow-y: auto;   /* Allow vertical scrolling */
}

.no-scroll{
    overflow: hidden;
}


.top-margin{
    margin-top: 100px;
}

.auto-margin{
    margin: auto;
}

.space {
    width: 100%;
    height: 200px;
}

.smallspace{
    width: 100%;
    height: 10px;
}

.border{
    border: #4f5a72 2px solid;
    border-radius: 10px;
    height: 218px;
    padding: 20px;
    text-align: center;
}

.padding{
    padding: 10px;
}


.site-width {
    max-width: var(--max-width);
    margin: 0 auto;
    padding: 0 1em;
}

.left-margin{
    margin-left: 250px;
}


.background{
    background-color: var(--light);
}

.line {
    border-bottom: 3px solid #000000;
  }

.boldline{
    border-bottom: 3px solid #050000;
}

.curved-border {
    border: 2px solid black; /* Thin black border */
    border-radius: 10px; /* Curved edges */
    padding: 10px; /* Space between content and border */
    margin: 10px; /* Space outside the div */
    background-color: rgb(255, 255, 255);
    /*box-shadow: 0 4px 10px rgba(0, 0, 0, 0.5);*/
}

.text-center{
    text-align: center;
}

.indent {
    display: block;
    margin-left: 50px; /* Adjust the value to control the indentation */
}

/* TODO_DONE: Make the header text display on their own lines */
body > header strong {
    display: block;
}

/* removing the padding on the header to keep it inline with the content */
header > .site-width {
    padding: 0;
}

/* adding padding back inwhen our screen is full width */
@media (max-width: 1200px) 
{
    header > .site-width {
        padding: 0 1em;
    }
}




/* ======== START: BUTTON STYLING ========= */
.btn {
    padding: 20px;
    text-decoration: none;
    color: var(--light);
    background-color: var(--link);
    display: block;
    text-align: center;
    font-size: 1.25em;
    font-weight: bold;
    border-radius: 4px;
    margin: 0 auto;
}

.btn--sm {
    padding: 10px;
    font-size: 1em;
}

.btn:hover {
    opacity: .8;
}
/* ======== END: BUTTON STYLING ========= */


/* ======== START: BASIC TEXT STYLING ======== */
h2, h3, h4, h5, h6 {
    color: var(--dark);
    font-family: var(--header-typeface);
}


p, em, strong, li {
    color: var(--dark);
    font-family: var(--body-typeface);
}

h1 {
    font-size: 2em;
    color: var(--link);
}

h2{
    margin-bottom: 15px;
    margin-top: 15px;
}


ul, ol {
    margin-left: 2em;
}

.project-list{
    text-align: left;
    margin-left: 1em;
}
/* ======== END: BASIC TEXT STYLING ======== */





/* ======== START: BASIC SPACING ======== */
article > section {
    margin: 2em 0;
}
/* ======== END: BASIC SPACING ======== */





/* ======== START: GENERAL CLASSES ======== */
.highlight {
    background-color: var(--accent);
    color: var(--light);
    padding: .5em;
    font-weight: bold;
    border-radius: 6px;
    /* -webkit-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.5);
    -moz-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.5);
    box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.5); */
    text-align: center;
}

/* this overrides the previous coloring if any of these semantic text elements have a parent with the reverse class */
.highlight :is(p, em, strong, li, h1, h2, h3, h4, h5, h6)
{
    color: var(--light);
}

/* Find out why this isnt working */
/* TODO_DONE: .highlight header SWITCHED TO .highlight.content > [class^="flex-"] > header */
.highlight.content > [class^="flex-"] > header {
    border-color: var(--light);
}

.reverse {
    background-color: var(--dark);
    border-color: var(--light);
    color: var(--light);
}

/* this overrides the previous coloring if any of these semantic text elements have a parent with the reverse class */
.reverse :is(p, em, strong, li, h1, h2, h3, h4, h5, h6)
{
    color: var(--light);
}

/* this is a class for setting the width of an item to its content */
.w-content {
    width: fit-content;
}

/* sets the margin to 0 */
.m-0 {
    margin: 0;
}

/* sets the padding on the top to 1em */
.pt-1 {
    padding-top: 1em;
}

/* sets the padding on the bottom to 1em */
.pb-1 {
    padding-bottom: 1em;
}



/* ======== END: GENERAL CLASSES ======== */