html, body {
    /* overflow: auto; If you want to explicitly set the overflow, or you can simply remove the line */
    height: 100%;
    width: 100%;
    margin: 0;
    padding: 0;
    scroll-behavior: smooth;
}

body {
	font-family: Montserrat, sans-serif;
    background-color: #141414;
}

.background{
    /* background-image: url(images/background.png); */
    /* background: linear-gradient(#212121, #727272); */
    background-image: radial-gradient(circle at 24% 23%, rgba(167, 167, 167,0.06) 0%, rgba(167, 167, 167,0.06) 25%,rgba(148, 148, 148,0.06) 25%, rgba(148, 148, 148,0.06) 50%,rgba(129, 129, 129,0.06) 50%, rgba(129, 129, 129,0.06) 75%,rgba(110, 110, 110,0.06) 75%, rgba(110, 110, 110,0.06) 100%),radial-gradient(circle at 58% 30%, rgba(14, 14, 14,0.06) 0%, rgba(14, 14, 14,0.06) 25%,rgba(60, 60, 60,0.06) 25%, rgba(60, 60, 60,0.06) 50%,rgba(107, 107, 107,0.06) 50%, rgba(107, 107, 107,0.06) 75%,rgba(153, 153, 153,0.06) 75%, rgba(153, 153, 153,0.06) 100%),radial-gradient(circle at 79% 53%, rgba(225, 225, 225,0.06) 0%, rgba(225, 225, 225,0.06) 25%,rgba(189, 189, 189,0.06) 25%, rgba(189, 189, 189,0.06) 50%,rgba(152, 152, 152,0.06) 50%, rgba(152, 152, 152,0.06) 75%,rgba(116, 116, 116,0.06) 75%, rgba(116, 116, 116,0.06) 100%),linear-gradient(221deg, rgb(0,0,0),rgb(0,0,0));
    background-size: cover;
    background-repeat: no-repeat; 
    z-index: -10;
    width: 100%;
    min-height: 100%;
    position: absolute;
}

#particles {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    z-index: -1; /* Make sure it's behind your content, adjust this value if needed */
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-weight: 700;
	font-family: Montserrat, sans-serif;
	text-transform: uppercase
}

.header {
	background: url(../img/bg.jpg) no-repeat center center;
	background-size: cover;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	width: 100%;
	height: 100%;
	position: relative;
	overflow: hidden;
	z-index: 2
}

.header-title {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%)
}

.header-title h2 {
	font-size: 26pt;
	letter-spacing: 2pt;
	color: #fff
}


.header-content{
    display: flex;
    width: 80%;
    height: 100vh;
    margin: auto;
}

.header-content img {
    filter: grayscale(100%);
	opacity: 90%;
    align-self: center;
    max-height: 80%;
    max-width: 80%;
    margin: auto;
    margin-left: -50px;
}

.header-wrapper {
	position: relative;
    width: 40%;
	z-index: 2;
    align-self: center;
    margin: auto;
    margin-right: -50px;
}

.header-wrapper h1 {
	font-size: 32pt;
	font-weight: 700;
	letter-spacing: 4pt;
	line-height: 40pt;
	color: #fff;
	text-transform: uppercase;
    text-align: left;
    width: 100%;
}

.header-wrapper h2 {
	font-size: 10pt;
	font-weight: 300;
	letter-spacing: 4pt;
	color: #9e9e9e;
	text-transform: uppercase;
    text-align: left;
    width: 100%;
}


.download-resume-button {
    background-color: white;
    color: black;
    border: 2px solid white;
    padding: 20px 15px;
    cursor: pointer;
    display: block;
    margin: 20px auto 0;
    width: 100%;
    text-align: center;
    font-family: Montserrat, sans-serif;
    text-transform: uppercase;
    font-weight: 700;
    font-size: 10pt;
    letter-spacing: 4pt;
	border-radius: 1rem;
    transition: background-color 0.3s, color 0.3s, transform 0.3s; /* Add transform to the transition */
}

.download-resume-button:hover {
    background-color: rgba(0, 0, 0, 0);
    background: rgba(70, 70, 70, 0.2);
    border-radius: 16px;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
    border: 1px solid rgba(255, 255, 255, 0.3);
    color: white;
	border-radius: 1rem;
    transform: scale(1.05); /* Slightly enlarge the button */
}

@media (max-width: 1425px) {
    html, body {
        height: 100%; /* Ensure the body and html take the full viewport height */
        margin: 0; /* Reset default margins */
        padding: 0; /* Reset default padding */
        bottom: 30px;
        justify-content: space-between; /* Space between the image and the text */
    }

    .header-wrapper{
        width: 60%;
    }
}

@media (max-width: 790px) {
    html, body{
        height: 100%; /* Ensure the body and html take the full viewport height */
        margin: 0; /* Reset default margins */
        padding: 0; /* Reset default padding */
        bottom: 30px;
        justify-content: space-between; /* Space between the image and the text */
    }

    .header-wrapper{
        position: absolute;
        width: 80%;
        margin-right: 0px;
        margin: auto;
    }

    .header-content{
        width: 80%;
        margin: auto;
    }

    .header-content img {
        margin: auto;
        margin-top: 50px;
    }

}

@media (max-height: 720px) {
    html, body{
        height: 100%; /* Ensure the body and html take the full viewport height */
        margin: 0; /* Reset default margins */
        padding: 0; /* Reset default padding */
        bottom: 30px;
        justify-content: space-between; /* Space between the image and the text */
    }

    .header-wrapper{
        position: absolute;
        width: 80%;
        margin-right: 0px;
        margin: auto;
        bottom: 80px;
    }

    .header-content{
        width: 80%;
        margin: auto;
        height: 100vh;
    }

    .header-content img {
        margin: auto;
        margin-top: 50px;
    }

    .projects-section {
    }
}

/* Define CSS custom properties for consistent theming */
:root {
    --bg-color-main: #000;
    --bg-color-card: #1b1b1b;
    --text-color: #fff;
    --font-size-title: 2rem;
    --font-size-subtitle: 1.5rem;
    --font-size-text: 1rem;
    --grid-gap: 1.5rem;
    --max-container-width: 1000px;
    --box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
}

/* Modernize project section */
.projects-section {
    color: #fff;
    text-align: center;
    /* round-color: var(--bg-color-main); */
    padding-bottom: 3rem;
    /* Modern scroll snap behavior */
    scroll-snap-align: start;
    padding-top: 80px;
}

.projects-section h2 {
    margin-bottom: var(--grid-gap);
	font-size: 32pt;
	font-weight: 700;
	letter-spacing: 4pt;
	line-height: 40pt;
	color: #fff;
	text-transform: uppercase;
	display: block;
	margin-block-start: 0.67em;
	margin-block-end: 0.67em;
	margin-inline-start: 0px;
	margin-inline-end: 0px;
	font-weight: bold;
}

.projects-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 50px;
    padding: 0 1.25rem;
    max-width: var(--max-container-width);
    margin: auto;
}

.project-item {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border-radius: 1rem;
    overflow: hidden;
    background-size: auto 100%;  /* Scales the image to cover the height fully */
    background-position: center;  /* Centers the background image */
    height: 400px;  /* Fixed height; adjust based on your design needs */
    width: 300px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    opacity: 0; /* Initially hidden */
    transform: translateY(20px); /* Slightly translate downwards */
    transition: opacity 0.5s ease-out, transform 0.5s ease-out;
	filter: brightness(100%); /* Default brightness */
    justify-content: center;
    align-items: center;
    
}

.project-content {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;  /* Distributes space between items inside the content */
    align-items: center;  /* Center aligns the content items horizontally */
    padding: 20px;
    /* round: rgba(0, 0, 0, 0.2); */
    color: white;  /* Ensures text color is white for better visibility */
    z-index: 2;  /* Ensures the content is on top of the background */
}

.project-item h3, .project-item p {
    z-index: 2; /* Ensures text is above the background overlay */
    width: 100%; /* Ensure full width for alignment */
    text-align: center; /* Center align the text */
	margin: 0; /* Resets any default margin */
    padding-top: 5px; /* Adds padding on top of p instead of margin */
}

.project-item p {
    margin-top: 5px; /* Provide spacing between h3 and paragraph */
}

.cards-buttons {
    background-color: white;
    color: black;
    border: 2px solid white;
    padding: 20px 15px;
    cursor: pointer;
    display: block;
    margin: 20px auto 0;
    width: calc(100% - 40px); /* Account for padding */
    text-align: center;
    font-family: Montserrat, sans-serif;
    text-transform: uppercase;
    font-weight: 700;
    font-size: 10pt;
    letter-spacing: 4pt;
	border-radius: 1rem;
    transition: background-color 0.3s, color 0.3s, transform 0.3s; /* Add transform to the transition */
	margin-top: auto; /* Push the button to the bottom of the container */
    width: calc(100% - 40px); /* Adjust width considering padding */
    text-decoration: none;
}

.cards-buttons:hover {
    background: rgba(70, 70, 70, 0.2);
    border-radius: 16px;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
    border: 1px solid rgba(255, 255, 255, 0.3);
    color: white;
    transform: scale(1.05); /* Slightly enlarge the button */
	border-radius: 1rem;
}

.scroll-down {
    position: absolute;
    bottom: 20px; /* Adjust as needed */
    left: 50%;
    transform: translateX(-50%);
    z-index: 3; /* Ensure it's above other content */
	fill: rgb(255, 255, 255);
    cursor: pointer;
    z-index: 999;
    width: 100%;
}

.scroll-down p {
    text-align: center;
    margin: auto;
    margin-bottom: 10px;
    color: #fff;

}

.scroll-down img {
    width: 20px; /* Adjust size as needed */
    height: 20px; /* Adjust size as needed */
    animation: bounce 2s infinite;
	fill: rgb(255, 255, 255);
	z-index: -2; display: block;
    margin-left: auto;
    margin-right: auto;
}

@keyframes bounce {
    0%, 20%, 50%, 80%, 100% {
        transform: translateY(0);
    }
    40% {
        transform: translateY(-5px);
    }
    60% {
        transform: translateY(-2.5px);
    }
}

.construction-banner {
    background: repeating-linear-gradient(
        45deg,
        orange,
        orange 10px,
        black 10px,
        black 20px
    );
    padding: 5px 0; /* Reduced padding to decrease height */
    text-align: center;
}

.banner-content p {
    color: white; /* Ensures text is readable on dark background */
    font-size: 1.5em; /* Adjust size as necessary */
    margin: 0; /* Removes default paragraph margin */
    font-weight: bold; /* Makes the text bold */
    text-shadow: 0 0 6px #000, 0 0 10px #000; /* Black glow for high contrast and readability */
	z-index: 999999;
}

.sections-titles {
    width: 100%; /* Ensures this container also spans full width if it wraps the title */
    text-align: center; /* Center-aligns any text directly within this container */
}


.sections-titles h1 {
    font-size: 2.5em;
    margin-bottom: 0.5em;
    text-align: center; /* Ensures the title is centered */
    width: 100%; /* Ensures the title container spans the full width */
    margin-bottom: 2rem;
}


/* ARTICLE PAGE */



.article-header {
    text-align: center;
    padding-top: 20px;
    /* background: var(--bg-color-main); */
    color: var(--text-color);
}

.article-header h1 {
    font-size: 2.5em;
    margin-bottom: 0.5em;
}

.article-header p {
    font-size: 1.5em;
    color: var(--text-color);
}

.article-content {
    max-width: 1000px;
    margin: auto;
    padding: 20px;
    font-size: var(--font-size-text);
    line-height: 1.6;
    color: var(--text-color);
}

.article-content h2 {
    font-size: 1.8em;
}

.footer {
    text-align: center;
    padding: 20px;
    background-color: var(--bg-color-card);
    color: var(--text-color);
    transition: all 0.3s ease;
}

@media only screen and (max-width: 768px) {
    .article-header h1,
    .article-header p {
        font-size: 1.2em;
    }

    .article-content {
        padding: 15px;
    }
}

@media only screen and (max-width : 950px) {
    .article-header {
        margin-top: 80px;
    }
}

.article-image {
	position: relative;
    width: 100%; /* Ensures the container stretches to the width of its parent */
    margin: 20px 0;
    overflow: hidden;
    border-radius: 1rem;
}

.article-image img {
    width: 100%;
    height: auto;
    display: block;
}

.article-image.side-by-side {
    float: left;
    width: 50%;
    margin: auto;
    margin-right: 20px;
}

@media only screen and (max-width: 768px) {
    .article-image.side-by-side {
        float: none;
        width: 100%;
        margin-right: 0;
    }
}

.full-width {
    clear: both;
    width: 100%;
}

.aspect-ratio {
    position: relative;
    width: 100%;
    background: linear-gradient(to right, rgba(255,255,255,0.05) 0%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.05) 100%);
    background-size: 400% 100%; /* Increase the size for a smoother transition */
    animation: gradientShift 8s linear infinite; /* Slower animation for subtlety */
}


/* Placeholder for 16:9 aspect ratio */
.aspect-16-9::before {
    content: "";
    display: block;
    padding-top: 56.25%; /* (9 / 16) * 100% */
}

/* Placeholder for 1:1 aspect ratio */
.aspect-1-1::before {
    content: "";
    display: block;
    padding-top: 100%; /* (1 / 1) * 100% */
}

/* Styling for img to position it correctly inside the aspect ratio div */
.aspect-ratio img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover; /* Adjust this as necessary to fit your design */
}

@keyframes gradientShift {
    0% {
        background-position: 100% 50%;
    }
    100% {
        background-position: -100% 50%; /* Extend the motion range for smoother animation */
    }
}



  
  

/* Reset float for small screens and ensure content flows naturally */
@media (max-width: 768px) {
    .side-by-side {
        float: none;
        width: 100%;
    }
}

.content-with-image {
    display: flex;
    flex-direction: row; /* Explicitly set the flex direction */
    align-items: flex-start;
    justify-content: flex-start; /* Align items to the start of the container */
    margin-bottom: 20px;
}

.article-image.side-by-side {
    flex: 0 1 50%; /* Do not grow, but can shrink, occupying up to 50% of the container */
    margin-right: 20px; /* Space between the image and the text */
}

.text-next-to-image {
    flex: 0 1 50%; /* Do not grow, but can shrink, occupying up to 50% of the container */
}

.article-image {
    
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Aspect ratio boxes for images */
.article-image img {
    width: 100%;
    height: auto;
    display: block; /* Ensures that the image does not have extra space below (inline-block default behavior) */
}


@media only screen and (max-width: 768px) {
    .content-with-image {
        flex-direction: column;
    }

    .article-image.side-by-side,
    .text-next-to-image {
        flex: 1 1 100%;
        max-width: 100%; /* Ensure it takes full width */
        margin-right: 0;
    }
}

@media only screen and (max-width: 768px) {
    .content-with-image {
        flex-direction: column; /* Stack vertically on small screens */
    }

    .article-image.side-by-side,
    .text-next-to-image {
        flex: 1 1 100%; /* Take full width on small screens */
        margin-right: 0;
        max-width: 100%; /* Ensure it takes full width */
    }
}

.content-item {
    opacity: 0; /* Initially hidden */
    transform: translateY(20px); /* Slightly translate downwards */
    transition: opacity 0.5s ease-out, transform 0.5s ease-out; /* Smooth transition */
    margin-bottom: 2rem; /* Spacing between items */
}

.content-item img {
    width: 100%; /* Adjust as necessary */
    height: auto; /* Maintain aspect ratio */
    display: block; /* Remove any inline behavior */
}

.content-item p {
    color: var(--text-color); /* Use your theme color */
    text-align: justify; /* Or center, based on preference */
}

.animatable {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.5s ease-out, transform 0.5s ease-out;
}

.article-image, .text-next-to-image, p, h2, li {
    transition: opacity 0.5s ease-out, transform 0.5s ease-out;
    opacity: 0;
    transform: translateY(30px);
}

.visible {
    opacity: 1;
    transform: translateY(0px);
}

.back-button {
	position: fixed;
	top: 20px;
	left: 20px;
    z-index: 999;
}
/* TEST */
.back-button-img {
	position: fixed;
	width: 40px; /* Adjust size as needed */
	height: 40px;
	cursor: pointer;
	transition: transform 0.3s;
    padding: 10px;
    /* From https://css.glass */
    background: rgba(70, 70, 70, 0.2);
    border-radius: 16px;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
    border: 1px solid rgba(255, 255, 255, 0.3);
	}

.back-button-img:hover {
	transform: scale(1.2); /* Scale up the image a bit */
}

.forbidden-message {
    text-align: center;
    color: #ff0000; /* or any color that fits your design */
    margin-top: 20px;
}

/* Blue Neon Glow Effect */
.neon-glow {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: radial-gradient(circle at center, rgba(47, 0, 255, 0.25), rgba(0, 0, 0, 0));
    pointer-events: none; /* Ensures it doesn't interfere with user interactions */
    z-index: -999;
}

.about-section {
    position: relative; /* If it's not already positioned relatively */
    width: 80%;
    max-width: var(--max-container-width);
    text-align: center; /* Centers the content horizontally */
    color: #fff;
    margin: auto;
    min-height: 100vh;    
    justify-content: center;
    align-items: center;
    display: flex;
    flex-wrap: wrap;
}


.about-box {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    margin: auto;
    min-width: 100px;
    width: 100%;
}

.element1{
    margin-bottom: var(--grid-gap);
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: 4pt;
	line-height: 40pt;
	color: #fff;
	text-transform: uppercase;
	font-family: Montserrat, sans-serif;
	text-transform: uppercase;
    width: 100%;
    margin: auto;
}

.element2{
    width: 50%;
    margin: auto;
}

.element3{
    width: 50%;
    margin: auto;
    border-radius: 1rem;
}

@media (max-width: 1100px) {

    .element1{
        width: 100%;
        margin: auto;
    }
    
    .element2{
        width: 100%;
        margin: auto;
    }
    
    .element3{
        width: 100%;
        margin: auto;
    }


}

.navbar {
    display: flex;
    width: 800px;
    height: 50px;
    /* From https://css.glass */
    background: rgba(70, 70, 70, 0.2);
    border-radius: 16px;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 25px;
    position: fixed;
    top: 20px;
    left: 50%;
    transform: translate(-50%);
    z-index: 99999;
}

nav{
    display: flex;
    width: 100%;
    height: 100%;
    overflow: auto;
    height: auto;
    text-align: center;
    padding-left: 20px;
    padding-right: 20px;
 }

 .nav-buttons-selected {
    /* background-color: white; */
    color: black;
    padding: 10px 15px;
    cursor: pointer;
    display: block;
    margin: 20px auto 0;
    width: calc(100% - 40px); /* Account for padding */
    text-align: center;
    font-family: Montserrat, sans-serif;
    text-transform: uppercase;
    font-weight: 600;
    font-size: 8pt;
    letter-spacing: 4pt;
	border-radius: 20px;
    transition: background-color 0.3s, color 0.3s, transform 0.3s; /* Add transform to the transition */
	margin: auto; /* Push the button to the bottom of the container */
    width: calc(100% - 40px); /* Adjust width considering padding */
    text-decoration: none;
}

.nav-buttons-selected:hover {
    transform: scale(1.05);
}

.nav-buttons {    
    background-color: rgba(0, 0, 0, 0);
    color: white;
    text-shadow:
    0 0 6px rgba(75, 75, 75, 0.92),
    0 0 30px rgba(202,228,225,0.34),
    0 0 12px rgba(119, 119, 119, 0.52),
    0 0 21px rgba(77, 77, 77, 0.92),
    0 0 34px rgba(25, 25, 25, 0.78),
    0 0 54px rgba(0, 0, 0, 0.92);
    padding: 10px 15px;
    cursor: pointer;
    display: block;
    margin: 20px auto 0;
    width: calc(100% - 40px); /* Account for padding */
    text-align: center;
    font-family: Montserrat, sans-serif;
    text-transform: uppercase;
    font-weight: 600;
    font-size: 8pt;
    letter-spacing: 4pt;
	border-radius: 20px;
    transition: background-color 0.3s, color 0.3s, transform 0.3s; /* Add transform to the transition */
	margin: auto; /* Push the button to the bottom of the container */
    width: calc(100% - 40px); /* Adjust width considering padding */
    text-decoration: none;
}

.nav-buttons:hover {
    color: black;
	border-radius: 20px;

}

.nav-pill {
    position: absolute;
    top: 50%; /* Position from the top */
    height: 40px; /* Fixed height */
    border-radius: 20px; /* Adjust as necessary to match your nav item styling */
    background-color: white; /* Background color of the pill */
    transition: left 0.3s, width 0.3s; /* Animate the changes in position and width */
    z-index: -1; /* Ensure it doesn't overlay the text */
    transform: translateY(-10%); /* Center vertically */
}

/* Styles for the hamburger icon */
.hamburger-icon {
    display: none; /* Initially hidden */
    cursor: pointer;
    height: 40px;
    width: 40px;
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 101;
    padding: 5px;
    flex-direction: column;
    justify-content: space-around;
    align-items: center;
    /* From https://css.glass */
    background: rgba(70, 70, 70, 0.2);
    border-radius: 16px;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
    border: 1px solid rgba(255, 255, 255, 0.3);
}

.hamburger-icon div {
    height: 3px;
    width: 30px;
    background-color: white;
    border-radius: 10px;
    transition: transform 0.3s, opacity 0.3s;
}

/* Styles when the menu is active */
.hamburger-icon.active div:nth-child(1) {
    transform: rotate(45deg) translate(12px, 12px);
}

.hamburger-icon.active div:nth-child(2) {
    opacity: 0;
}

.hamburger-icon.active div:nth-child(3) {
    transform: rotate(-45deg) translate(7px, -6px);
}

/* Modify the mobile-nav for animation */
.mobile-nav {
    display: none; /* Initially hidden */
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 100;
    text-align: center;
    transform: translateY(-100%);
    transition: transform 0.5s ease;
}

.mobile-nav a{
    background-color: rgba(0, 0, 0, 0);
    color: white;
    text-shadow:
    0 0 6px rgba(75, 75, 75, 0.92),
    0 0 30px rgba(202,228,225,0.34),
    0 0 12px rgba(119, 119, 119, 0.52),
    0 0 21px rgba(77, 77, 77, 0.92),
    0 0 34px rgba(25, 25, 25, 0.78),
    0 0 54px rgba(0, 0, 0, 0.92);
    padding: 10px 15px;
    cursor: pointer;
    display: block;
    margin: 20px auto 0;
    width: calc(100% - 40px); /* Account for padding */
    text-align: center;
    font-family: Montserrat, sans-serif;
    text-transform: uppercase;
    font-weight: 600;
    font-size: 8pt;
    letter-spacing: 4pt;
	border-radius: 20px;
    transition: background-color 0.3s, color 0.3s, transform 0.3s; /* Add transform to the transition */
	margin: auto; /* Push the button to the bottom of the container */
    width: calc(100% - 40px); /* Adjust width considering padding */
    text-decoration: none;
}

.mobile-nav.visible {
    transform: translateY(0);
}

.hamburger-menu {
    padding-top: 60px; /* Make space for the hamburger icon */
    /* From https://css.glass */
    background: rgba(70, 70, 70, 0.2);
    border-radius: 8px;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
    border: 1px solid rgba(255, 255, 255, 0.3);
    margin: auto;
}

@media (max-width: 1000px) {
    .hamburger-icon {
        display: flex; /* Show only under 1000px */
    }
    .navbar {
        display: none;
    }
    .mobile-nav {
        display: block;
    }
}

.hamburger-menu hr{
    opacity: 10%;
}

.pdf-container {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
}
iframe {
    width: 100%;
    height: 100%;
    border-radius: 1rem;
}

.view-resume-button-container {
    width: 50%;
    margin: auto;
    padding: 2rem;
}

.code-title {
    background-color: #272822; 
    color: #f8f8f2; 
    font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; 
    padding: 10px; 
    border-radius: 1rem;
}

.show-button {
    background-color: #272822; /* Match the background color of Okaidia theme */
    color: #f8f8f2; /* Match the text color of Okaidia theme */
    border: 1px solid #f8f8f2; /* Match the border color of Okaidia theme */
    border-radius: 3px; /* Slightly round the corners */
    padding: 5px 10px; /* Add some padding */
    margin-right: 5px;
    cursor: pointer; /* Change cursor to pointer on hover */
    font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; /* Match the font */
    float: right;
}

.show-button:hover {
    background-color: #383830; /* Slightly lighter background on hover */
}

.code-block {
    display: none; /* Hide the code block by default */
    margin: none;
    padding: none;
}

.article-content a:link {
    color: white; /* Normal state */
    font-weight: bold;
}

.article-content a:visited {
    color: white; /* Visited state */
    font-weight: bold;
}

.article-content a:hover {
    color: #d3d3d3; /* Hover state */
    font-weight: bold;
}

.article-content a:active {
    color: white; /* Active state */
    font-weight: bold;
}

.footer a:link {
    color: white; /* Normal state */
    text-decoration: none;
    font-weight: bold;
}

.footer a:visited {
    color: white; /* Visited state */
    text-decoration: none;
    font-weight: bold;
}

.footer a:hover {
    color: #d3d3d3; /* Hover state */
    text-decoration: none;
    font-weight: bold;
}

.footer a:active {
    color: white; /* Active state */
    text-decoration: none;
    font-weight: bold;
}