* {
  box-sizing: border-box;
}

html {
  text-size-adjust: none;
  -webkit-text-size-adjust: none;
  -moz-text-size-adjust: none;
  -ms-text-size-adjust: none;
}

body {
  margin: 0;
  opacity: 0;
  transition-duration: 0.7s;
  transition-property: opacity;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body.fade {
  opacity: 1;
}

/* Main Page Layout */

#main-content {
  margin: 225px 425px;
  margin-bottom: 0px;
  margin-top: 8%;
  display: flex;
  flex-direction: column;
  gap: 96px;
}

#main-content-research {
  margin: 225px 425px;
  margin-bottom: 225px;
  margin-top: 8%;
  display: flex;
  flex-direction: column;
  gap: 32px;
}

#links-container {
  display: flex;
  gap: 10px;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
}

/* Portfolio Header */

#portfolio-header {
  display: flex;
  gap: 20px;
  align-items: center;
}

#portfolio-header-image-container {
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex-basis: 50%;
}

.portfolio-header-image {
  width: 100%;
  height: auto;
}

.about-header-image {
  margin: auto;
  width: 70%;
  height: auto;
}

#portfolio-header-text-container {
  display: flex;
  flex-direction: column;
  gap: 34px;
  flex-basis: 50%;
}

#portfolio-header-text-head {
  margin-bottom: 20px;
}

#portfolio-header-text-body {
  display: flex;
  flex-direction: column;
  text-align: justify;
  gap: 5px;
}

/* About Section */

#about-section {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.about-section-content {
  display: flex;
  flex-direction: column;
  gap: 34px;
}




/* Project Section */

#my-work-section {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.projects-container {
  display: flex;
  gap: 34px 16px;
  flex-wrap: wrap;
}

/* Project Cards */

.project-card {
  max-width: calc((100% - 32px) / 3);
  display: flex;
  flex-direction: column;
  gap: 34px;
}

.project-card-text-container {
  flex-direction: column;
  display: flex;
  gap: 16px
}

.project-image {
  width: 100%;
  height: 200px;
  object-fit: cover;
  object-position: center;
}




/* Project Pages */

#project-header {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.project-header-image {
  width: 100%;
  height: auto;
}

#project-container {
  display: flex;
  flex-direction: column;
  gap: 48px;
}

#project-details {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.project-details-content {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* Project Gallery */

#project-gallery {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.project-gallery-content {
  display: flex;
  flex-wrap: wrap;
  gap: 34px 16px;
}

.gallery-image-container {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.gallery-image-container.half-width {
  width: calc((100% - 16px) / 2);
}

.gallery-image {
  width: 100%;
  height: auto;
}

figure{
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* 2k+ large devices (large laptops and desktops, 2000px and below) */
@media only screen and (max-width: 2000px) {
  #main-content {
    margin: 175px 275px;
    margin-bottom: 0px;
  }
}

/* Extra Extra large devices (large laptops and desktops, 1600px and below) */
@media only screen and (max-width: 1600px) {
  #main-content {
    margin: 135px 275px;
    margin-bottom: 0px;
    gap: 55px;
  }
}

/* Extra large devices (large laptops and desktops, 1200px and below) */
@media only screen and (max-width: 1200px) {
  #main-content {
    margin: 225px 175px;
    margin-bottom: 0px;
  }
}

/* Large devices (laptops/desktops, 1000px and below) */
@media only screen and (max-width: 1000px) {
  #main-content {
    margin: 225px 75px;
  }
}

/* Small devices (portrait tablets and large phones, 800px and below) */
@media only screen and (max-width: 800px) {
  #main-content {
    margin: 150px 50px;
  }

  #portfolio-header {
    flex-direction: column;
  }

  .project-card {
    max-width: calc((100% - 16px) / 2);
  }
}

/* Small devices (portrait tablets and large phones, 600px and below) */
@media only screen and (max-width: 600px) {
  #main-content {
    margin: 125px 20px;
  }

  .project-card {
    max-width: 100%;
  }
}

#publications-list {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

#cv-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}