@font-face {
    font-family: "Monocraft";
    src: local("Monocraft");
    src: url("https://1pro71t329.execute-api.us-east-1.amazonaws.com/Monocraft.ttf") format("truetype");
}

:root {
    --background: rgba(150, 150, 150, 0.95);
    --main-color:#bf00ff;
    --main-color-dk:#441261;
    --accent-1: #8d0081;
    --accent-2:#00FFFF;
    --content-spacing:5px;
    --background-img:url('../img/bg-beach5.png');
    --banner:url('../img/bg_ascii2.png');
    --banner-footer: url('../img/tiny-bar-green.png');
    --titleBars:url('../img/tiny-bar-green.png');
    --text-color: white;
    --text-shadow-custom: -2px 0 black, 0 2px black, 2px 0 black, 0 -2px black;
    --link-color:var(--accent-1);
    --border:2px solid black;
    --arrows:url('../assets/images/arrow.png');
    --font-size-content:18px;
    --font-size-code: 13px;
}

html,
body {
    margin: 0;
    box-sizing: border-box;
    font-family: "Times New Roman", Times, serif;
}

body {
    background-color: black;
    color: var(--text-color);
    background-attachment: scroll;
    z-index: 1;
}

h1 {
    margin: 0px;
}

ul {
    padding-inline-start: 5px;
}

.email-link {
    position: absolute;
    top: 10px; /* Adjust the position as needed */
    right: 10px; /* Adjust the position as needed */
    display: inline-block;
}

.blog-image {
    width: 30%;
    display: block;
    margin: 0 auto;

}

.topbar {
    background-image:var(--banner);
    background-size: 100% 100%;
    height:150px;
    padding-bottom:var(--content-spacing);
    margin-bottom:var(--content-spacing);
    /* border:var(--border); */
}

p.blog {
    font-weight: bold;
    display: inline-block;    /* Ensure the background only covers the text */

}


#container,
.topbar img {
    max-width: 1000px;
    margin: 0 auto;
}

#container a {
    color:var(--link-color);
}

.topbar img {
    image-rendering: pixelated;
    image-rendering: -moz-crisp-edges;
    image-rendering: crisp-edges;
}

#container {
    border-top: none;
    position: relative;
    min-height: 100vh;
    width: 100%;
    z-index: 1;
}

/* Revised Pseudo-element Styles */
body::before {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    content: '';
    background-image: var(--background-img);
    background-size: 100% 100%; /* Ensure the image covers the entire element */
    background-repeat: no-repeat; /* Prevent the image from repeating */
    opacity: 0.8; /* Adjust the transparency */
    z-index: -1;
}

#flex {
    display: flex;
    max-width:1000px;
}

aside {
    font-weight: bold;
    width: 25%;
    height: 10%;
    margin-left:var(--content-spacing);
}

.author {
    font-size: 15px;
    font-style: italic;
}


.diagram {
    width: 100%;
    display: block;
    margin: 0 auto;
}

.sidebar-container {
    /*border:var(--border);*/
    /*margin-top: var(--content-spacing);*/
    background-color: var(--background);
    margin-bottom: var(--content-spacing);
}

.sidebar-title {
    font-family: 'Monocraft';
    padding: 3px 10px; /* Adjust top/bottom and left/right padding as needed */
    background-image:var(--titleBars);
    font-weight:bold;
    font-size: 20px;
    border:var(--border);
    color: var(--title-text-color);
    text-shadow: var(--text-shadow-custom);
}

.title {
    font-family: 'Monocraft';
    padding: 3px 10px; /* Adjust top/bottom and left/right padding as needed */
    font-size: 20px;
    border: var(--border);
    color: var(--title-text-color);
    text-shadow: var(--text-shadow-custom);
    background-image: var(--titleBars);
    background-repeat: repeat-x;
    margin-top: var(--content-spacing);
    font-weight: bold;


    /* Remove text-indent if it's not needed */
    /* Ensure padding does not prevent text from reaching the ends */
    box-sizing: border-box; /* Ensures padding is included in the element's total width and height */
}

.navclass {
    opacity: 1.0;
}

.wrapper {
    opacity: 0.9;
}

main {
    width: 74%;
}

nav {
    /*position:sticky;*/
    top:20px;
}

nav ul {
    /*list-style-image:var(--arrows);*/
    margin-left:0;
    padding-left:30px;
}

nav ul li a {
    color:var(--accent-1);
}

.project {
    vertical-align: top;
    display: inline-block;
    text-align: center;
    width: 120px;
    padding: 20px;
}

.project-image {
    display: block; /* Ensures the image does not have inline whitespace below it */
    max-width: 100%; /* Ensures the image is responsive and fits its container */
    height: auto; /* Maintains aspect ratio */
    margin-top: 10px;
    margin: auto;
    width: 100px;
}

.content {

    padding: 1px 20px;
    opacity: 1;
    background-color: var(--background);
    font-size: var(--font-size-content);
    font-family: "Times New Roman", Times, serif;
}

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

pre {
    font-size: var(--font-size-code);
    /*white-space: pre-wrap; /* Ensures lines are wrapped */
    /*word-wrap: break-word; /* Breaks the word to prevent overflow */
    overflow-x: auto; /* Adds horizontal scrollbar if needed */
    max-width: 100%; /* Ensures the pre element does not exceed its container */
}

code {
    background-color: #252525; /* Light grey background */
    padding: 2px 4px;
    border-radius: 3px;
    word-wrap:  break-word;
    font-family: 'Monocraft';
    font-size: 14px;
}

footer {
    background-color: rgb(70, 70, 70);
    height:5%;
    border: var(--border);
    margin-bottom: var(--content-spacing);
    margin-top:var(--content-spacing);
    text-align: center;
}

.p footer {
    margin: 5px;
}

/* button styles */
button {
    background-image:var(--titleBars);
    border:var(--border);
    color:white;
    margin-bottom:10px;
}

th {
    color:var(--accent-2);
}

#linkNum {
    color:var(--accent-2);
    font-weight:bold;
}

h2 {
    color:var(--accent-2);
}

#themeDiv {
    position: sticky;
    top: 550px;
}

@media only screen and (max-width: 640px) {
    nav ul {
        list-style-image:none;
        list-style-type:none;
    }
    #flex {
        flex-wrap:wrap;
    }
    main {
        width:100%;
        order:2;
    }

    aside {
        display:block;
        width:50%;
        order:1;
        margin-left:0;
    }
    nav ul {
        display:flex;
        flex-wrap:wrap;
    }
    nav ul li {
        padding-right:10px;
    }
    nav ul > ul {
        display:none;
    }
}

@media only screen and (max-height: 640px) {
    nav ul > ul {
        display:none;
    }
}