:root{
    --seperator-border-color: #ffffff80;
}


.open-sans-general {
  font-family: "Open Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 475;
  font-style: normal;
  font-variation-settings:
    "wdth" 100;
}

body, h1 {
    margin: 0;
    padding: 0;
}

body, html{
    height: auto;
}

@media (max-width: 845px) {
    
    .header-title {
        font-size: 18px;
        margin-top: 5%;
        text-align: left;
        margin-bottom: 0px;
        margin-left: 0px !important;
        margin-right: 0px !important;
    }

    .header-title a{
        margin: 0px !important;
        font-size: 35px;
    }

    .social-buttons{
        margin-top: 10px;
        margin-bottom: 20px;
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: space-around;
    }

    .description{
        display: none;

    }

    .nav-link {
        display: block;
        margin-left: 10px !important;
        text-align: center;
    }

    .navigation{
        margin-left: 0px !important;
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: center;

    }
    .center-text h2 {
        margin-top: 15%;
        font-size: 30px !important;
        text-align: center;
        width: 100%;
    }
    .center-text {
        display: flex;
        justify-content: center; 
        align-items: center; 
        flex-direction: column; 
        text-align: center;
        margin-top: 50px;
        width: 100%;
    }

    .about-container {
        align-items: center; 
        padding-top: 50px; 
        margin-top: 5%;
    }

    .about-text {
        padding: 20px; 
        font-size: 18px;
        text-align: center; 
        width: 90%;        
    }

    .about-image {
        display: none;
    }

    .work-experience h1{
        font-size:30px;
        padding-top:0%;
        text-align: center;
    }

    .container{
        margin-top: 20px !important;
    }
    
    .work-experience h2{
        font-size:22px;
    }
    
    .work-experience p{
        width:85%;
        font-size: 18px;
        text-align: left;
    }

    .work-experience img.company-logo{
        display:block;
        margin: 0 auto;
    }
    
    .github-button {
        display: inline-block;
        text-decoration: none;
        color: #fffffff1; 
        line-height: 0px;
        background-color: transparent;
    }

    .project-container .ongoing-projects{
        margin-top: 10%;
    }

    .github-button .fab.fa-github {
        font-size: 30px !important;
    }
    
    .email-button {
        display: inline-block;
        text-decoration: none;
        color: #fffffff1;
        line-height: 0px; 
        background-color: transparent; 
        margin-left: 0px;
    }
    
    /* Adjust icon size */
    .email-button .fas.fa-envelope {
        font-size: 30px !important;
    }

    header .social-buttons, .navigation, .nav-link{
        display: none;
    }

    .side-menu .social-buttons,
    .side-menu .navigation,
    .side-menu .nav-link {
        display: flex;
        font-size: 30px;
    }

    

    .header-title {
        flex-grow: 1;
        font-size: 35px;
    }

    .header-title.open-sans-general{
        font-size: 35px;
    }
    
    .darklightmode-toggle {
        display: flex;
    }

    .menu-toggle, .theme-toggle {
        font-size: 20px;
        background: none;
        border: none;
        margin-right: 5px;
        color: #f1f1f1f1;
    }

    .side-menu {
        position: fixed;
        top: 0;
        right: -100%; /* Start off-screen to the right */
        width: 100%; /* Full width */
        height: 100%; /* Full height */
        background: #212730; /* Background color */
        z-index: 100; /* Ensure it's above other content */
        transition: right 0.5s ease; /* Smooth transition for the animation */
        display: flex !important;
        flex-direction: column;
        box-sizing: border-box;
        padding: 20px; /* Padding around content */
    } 

    #menu-toggle{
        padding-top: 10px;
        display: flex !important;
    }

    #theme-toggle{
        padding-top: 7px; /* Wow this is incredibly ugly, but this is the best fix to not have that weird first load error*/
    }

    .side-menu nav ul{
        list-style-type: none;
        padding: 0;
        margin: 0;
        width: 100%;
    }

    .side-menu nav ul li{
        margin-bottom: 60px;
    }

    .side-menu nav ul li a{
        display: block;
        font-size: 25px;
        color: #f1f1f1f1;
        text-decoration: none;
        padding: 10px 20px;
    }

    .menu-header{
        display: flex;
        justify-content: space-between;
        align-items: center;
        width: 100%;
        padding: 0;
    }

    .close-menu {
        background: transparent;
        border: none;
        color: #ffffff80;
        font-size: 24px;
        margin-top: 0px;
        margin-bottom: 25px;
    }

    .table-contents{
        font-size: 50px;
        align-self: flex-end;
        color: #fff;
        margin-right: 10px;
        margin-top: 0px;
        
    }

    .side-menu.open {
        right: 0; /* Move into view */
    }

    body.dark-mode .side-menu{
        background-color: #212730;
        color: #f8f8f8f8;
    }
    
    body.dark-mode .side-menu a{
        color: #f8f8f8f8;
    }

    body.light-mode .menu-toggle{
        color: #313131;
    }

    body.light-mode .side-menu{
        background-color: #f0e7db;
        color: #313131;
    }

    body.light-mode .side-menu a{
        color: #313131;
    }

    body.light-mode .side-menu .close-menu{
        color: #212121;
    }
}

.side-menu,
#menu-toggle{
    display:none;
}
body {
    background-color:#212730; 
    font: normal 20px/1.4 'Open Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
    margin: 0 auto;
    color:#FFFFFFde;
    max-width: 90%;
}

.description{
    font-size:15px;
    color:#DADADA;
    margin: 0px;
}

.description-container{
    align-items: center;
    display: flex;
    justify-content: safe start;
}

.center-text{
    margin-top: 8%;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
}

.center-text h2{
    font-size: 45px;
    color:#DADADA;
    text-align: center;
    width: 80%;
}

.center-text h2 a{
    color:#DADADA;
    margin-right: 0px;

}

.center-text a{
    color:#DADADA;
}

.center-text a:hover {
    text-decoration: underline dotted; 
    color: #DADADA;
}

.head {
    margin-left: 0px;
    max-width: 100%;
    align-items: center;
}

.header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background-color: #212730;
    padding: 10px 0;
    z-index: 999;
    display: flex; 
    justify-content: space-between; 
    align-items: center; 
}

.header-content {
    display: flex; 
    align-items: center;
    justify-content: space-between;
    margin-top: 10px;
    max-width: 100%;
    
}


.header-title {
    font-size: 45px;
    font-weight: bold;
    color: #DADADA;
    white-space: nowrap;
    margin: 0;
}

.header-title a {
    color: #DADADA;
    text-decoration: underline;
}

.header-title a:hover {
    text-decoration: underline dotted;
    color: #DADADA;
}

body.dark-mode{
    background-color: #212730;
    color: #DADADA;
    --seperator-border-color: #ffffff;
}

body.light-mode{
    background-color: #f0e7db;
    color: #313131;
    --separator-border-color: #616161;
}

body.dark-mode a, body.dark-mode p, body.dark-mode h1, body.dark-mode a:hover{
    color:inherit;
}

body.dark-mode h2.description{
    color: #ffffff80;
}


body.dark-mode .keywords{
    color: #ffffff80;
}

body.dark-mode p.company, body.dark-mode p.work-time, body.dark-mode p.location{
    color: #ffffffa6;
}

body.dark-mode .theme-toggle .fas{
    color: #FFD700;
}

body.light-mode a, body.light-mode p body.light-mode h1, body.light-mode h2, body.light-mode a:hover{
    color: inherit;

}
body.light-mode .theme-toggle .fas{
    color: #5D3B76;
}

body.light-mode a, body.light-mode a:hover{
    color: #313131;  /* Not sure why this needs to be re-inputted, but without this the header name always stays white*/
}

body.light-mode .keywords{ 
    color: #919191; /* Not sure why this also broke */
}

body.light-mode p.company, body.light-mode p.work-time, body.light-mode p.location{
    color: #616161; /* This also broke */
}

body.light-mode h2.description{
    color: #919191;
}

body.light-mode .github-button:hover, body.light-mode .email-button:hover, body.light-mode .resume-button:hover {
    filter: brightness(25%);
}

.theme-toggle{
    border: none;
    background: none;
    cursor: pointer;
    font-size: 1.5rem;
    color: #FFD700;
}


.navigation {
    font-weight: bold;  
    display: flex;
    align-items:center;
}


.navigation ul {
    margin: 0;
    padding: 0;
    list-style: none; 
    display: flex;
}

.nav-link {
    margin-left: 100px; /* !! Margin between links */
    text-decoration: none;
    color: #fffffff1;
    font-family: "Open Sans", sans-serif;
    font-size: 16px;
    white-space: nowrap;
}

.nav-link:hover {
    text-decoration: underline;
}

.social-buttons {
    display: flex;
    align-items: center;
}

.github-button,
.email-button,
.resume-button {
    display: flex;
    align-items: center;
    text-decoration: none;
    color: #fffffff1;
    margin-left: 40px;
    transition: filter 0.2s;
}

.github-button:hover,
.email-button:hover,
.resume-button:hover{
    filter: brightness(75%);
}

.github-button .fab.fa-github {
    font-size: 40px !important;
}

.email-button .fas.fa-envelope{
    font-size: 40px !important;
}

.resume-button .fas.fa-file-alt{
    font-size: 35px !important;
}

.about-container {
    display: flex;
    padding-top: 0px;
    margin-top: 5%;
    flex-direction: row; 
    justify-content: center; 
    align-items: center; 
    overflow: hidden;
}

.about-text {
    flex: 2; 
    padding: 0 20px; 
    height: 100%;
    max-width: 800px;
}

.about-text h2{
    margin-bottom: 0px;
}

.about-text p{
    font-size: 18px;
}
.about-image img {
    border-radius: 50%; 
    width: 200px; 
    height: 200px; 
    object-fit: cover; 
    max-width: 100%; /* Ensure the image doesn't exceed its container */
}

.about-image img {
    border-radius:50%;
    width: 300px; 
    height: 300px; 
    margin-right: 40px;
    object-fit: cover;
}

.separator {
    border-top: 1px solid var(--separator-border-color); 
    margin: 20px 0; 
}

.separator-special{
    margin-top: 30px;
    margin-bottom: 30px;
    border-top: 3px solid var(--separator-border-color);
}

.keywords{
    color:#ffffff80;
    margin-top: 0px;
    font-size: 14px;
}

.webpagetest-link{
    color:#fffffff1;
    text-decoration: none;
}


.ongoing-projects{
    margin-top: 3%;
    text-align:left;
}

.project-name{
    color:#fffffff1;
    font-size: 25px;
    margin-top: 20px;
    margin-bottom: 0px;
}

.objectives, .summary{
    font-size: 18px;
}
