/*general styles*/
body {
   font-family: 'Alice', serif;
   margin: 0;
   padding: 20px;
   text-align: center;
   position: relative;
}

h1 {
   font-size: 42px;
   color: hotpink;
   margin-bottom: 5px;
}

#contactInfo {
   text-align: center;
   border-top: 1px solid #333;
   border-bottom: 1px solid #333;
   padding: 10px 0;
   margin-bottom: 18px;
}

#contactInfo a {
   color: black;
   text-decoration: none;
}

.section-title {
   font-size: 18px;
   font-weight: bold;
   border-bottom: 1px solid #333;
   padding-bottom: 5px;
   margin-top: 20px;
   text-align: left;
}

.section {
   text-align: left;
   max-width: 900px;
   margin: auto;
}

.subsection {
   margin-top: 10px;
   font-size: 15px;
}

.dates {
   float: right;
   white-space: nowrap;
   font-weight: bold;
}

ul {
   padding: 0 0 0 20px;
   list-style: none;
   margin: 0;
}

li {
   margin: 4px 0;
   padding-left: 20px;
   text-indent: -20px;
}

.bullet::before {
   content: "• ";
   margin-right: 10px;
}

/*buttons (general)*/
.buttons {
   text-align: center;
   margin: 20px 0;
}

.buttons a {
   display: inline-flex;
   align-items: center;
   margin: 0 10px;
   padding: 10px 20px;
   text-decoration: none;
   color: hotpink;
   font-family: 'Alice', serif;
   font-weight: bold;
   transition: all 0.3s ease;
   border-radius: 3px;
   gap: 5px;
}

.buttons a i {
   margin-left: 5px;
}

.buttons a:hover {
   background-color: rgba(255, 105, 180, 0.6);
   color: white;
}

/*footer (general)*/
.footer {
   position: fixed;
   bottom: 0;
   left: 0;
   width: 100vw;
   background-color: black;
   color: white;
   text-align: center;
   padding: 5px;
   font-size: 12px;
   font-family: 'Courier New', Courier, monospace;
}

/*headers styles (general)*/
.header {
   position: fixed;
   top: 0;
   left: 0;
   width: 100vw;
   background-color: hotpink;
   display: flex;
   justify-content: center;
   align-items: center;
   padding: 10px 0;
   box-shadow: 0px 3px 10px rgba(0, 0, 0, 0.3);
   z-index: 1000;
}

.header nav {
   display: flex;
   align-items: center;
   gap: 15px;
}

.header nav a {
   font-family: 'Alice', serif;
   color: white;
   text-decoration: none;
   font-size: 16px;
   font-weight: bold;
   padding: 5px 10px;
   transition: background-color 0.3s ease, color 0.3s ease;
   border-radius: 3px;
   display: flex;
   align-items: center;
   gap: 5px;
}

.header nav a:hover {
   background-color: white;
   color: hotpink;
}

/* Add specific styles for GitHub and LinkedIn buttons */
.header nav a[href*="github"],
.header nav a[href*="linkedin"] {
   font-family: 'Alice', serif;
   display: flex;
   align-items: center;
   gap: 5px;
}

.buttons a[href*="github"],
.buttons a[href*="linkedin"] {
   font-family: 'Alice', serif;
   display: inline-flex;
   align-items: center;
   gap: 5px;
}

/*labs.html styles*/
.labs {
   height: 100vh;
   margin: 0;
   padding: 0;
   display: flex;
   align-items: center;
   justify-content: center;
   text-align: center;
   background-color: transparent;
}

.labs h1 {
   color: white;
}

.labs .buttons a,
.labs .buttons button {
   color: white;
   font-family: 'Alice', serif;
}

.labs::before {
   content: "";
   position: fixed;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background-image: url('https://assets.teenvogue.com/photos/5583d044fb1995762be437b4/16:9/w_2560%2Cc_limit/my-life-2014-06-girl-engineers-big.jpg');
   background-size: cover;
   background-position: center;
   background-repeat: no-repeat;
   filter: brightness(35%);
   z-index: -1;
}

.labs .center {
   display: inline-block;
}

/*aboutme.html styles*/
.about {
   font-family: 'Alice', serif;
   padding: 40px;
   text-align: left;
   position: relative;
}

.about .content-wrapper {
   max-width: 1200px;
   margin: auto;
   padding: 0 20%;
   line-height: 1.8;
}

.about h1 {
   text-align: center;
}

.about .profile-pic {
   width: 420px;
   height: 420px;
   object-fit: cover;
   float: left;
   margin-right: 60px;
   margin-bottom: 20px;
   box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.2);
}

.about .bio {
   text-align: justify;
}

@media (max-width: 1000px) {
   .about .content-wrapper {
       padding: 0 10%;
   }

   .about .profile-pic {
       float: none;
       display: block;
       margin: 0 auto 30px auto;
   }

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

@media (max-width: 600px) {
   .about .content-wrapper {
       padding: 0 5%;
   }

   .about h1 {
       font-size: 36px;
   }

   .header {
       flex-direction: column;
       padding: 8px 0;
   }

   .header nav {
       flex-direction: column;
       gap: 5px;
   }
}

/*lab1.html styles*/
.image-container {
   text-align: center;
   margin-top: 20px;
}

.image-container img {
   width: 80%;
   max-width: 900px;
   margin-bottom: 20px;
   border-radius: 5px;
   box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.2);
}

/*resume.html styles */
.resume body {
   font-family: 'Times New Roman', Times, serif;
   margin: 0;
   padding: 20px;
   width: 95%;
   max-width: 800px;
   margin: auto;
   font-size: 15px;
   line-height: 1.1;
}

.resume h1 {
   text-align: center;
   padding: 60px 0 20px 0;
   margin-bottom: 0;
   font-variant: small-caps;
   color: hotpink;
}

/*index.html styles*/
.index::before {
   content: "";
   position: fixed;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background-image: url('https://assets.teenvogue.com/photos/5583d044fb1995762be437b4/16:9/w_2560%2Cc_limit/my-life-2014-06-girl-engineers-big.jpg');
   background-size: cover;
   background-position: center;
   background-repeat: no-repeat;
   filter: brightness(35%);
   z-index: -1;
}

.index {
   height: 100vh;
   margin: 0;
   padding: 0;
   display: flex;
   align-items: center;
   justify-content: center;
   text-align: center;
   background-color: transparent;
}

.index h1 {
   color: white;
}

.index .buttons a {
   color: white;
   font-family: 'Alice', serif;
   display: inline-flex;
   align-items: center;
   gap: 5px;
}

.index .buttons a:hover {
   background-color: rgba(255, 105, 180, 0.6);
   color: white;
}

.index .center {
   display: inline-block;
}

.lab-navigation {
    text-align: center;
    margin: 20px 0;
}

.lab-navigation .button {
    display: inline-block;
    margin: 0 10px;
    padding: 10px 20px;
    text-decoration: none;
    color: hotpink;
    font-family: 'Courier New', Courier, monospace;
    font-weight: bold;
    transition: all 0.3s ease;
}

.lab-navigation .button:hover {
    background-color: rgba(255, 105, 180, 0.6);
    color: white;
}

.prev-lab, .next-lab {
    transition: opacity 0.3s ease;
}

.prev-lab:hover, .next-lab:hover {
    opacity: 0.8;
}

/* Lab page specific button animations */
.labs .buttons a {
   opacity: 0;
   transform: translateY(10px);
   will-change: transform, opacity;
}

.labs .buttons a.visible {
   opacity: 1;
   transform: translateY(0);
}

.labs .buttons a:hover {
   background-color: rgba(255, 105, 180, 0.6);
   color: white;
   transform: scale(1.03);
}