body {
  padding-left: 5%;
  padding-right: 5%;
}

h2 {
  color: #588b8b;
  font-size: 2rem;
  margin-top: 100px;
}

main {
  animation: fadeIn 2s;
  padding-bottom: 40px;
}

#details {
  display: none;
}

#details + div + .description {
  max-height: 0;
  overflow: hidden;
  transition: max-height 1s ease;
}

#details:checked + div + .description {
  max-height: 10000px;
}

#details + .label-container .collapse #less,
#details:checked + .label-container .collapse #more {
  display: none;
}

#details:checked + .label-container .collapse #less {
  display: block;
}

#headshot {
  border: 10px double #588b8b;
  border-radius: 100%;
  margin-top: 20px;
  width: 15%;
}

.collapse {
  color: #c8553d;
  cursor: pointer;
  display: inline-block;
  font-family: "Playfair Display", serif;
  font-weight: 400;
  margin: 0 auto;
  width: fit-content;
  position: relative;
}

.collapse:after {
  background-color: #f28f3b;
  content: '';
  height: 2px;
  bottom: -2px;
  left: 0;
  position: absolute;
  transform: scaleX(0);
  transform-origin: bottom right;
  transition: transform 0.25s ease-out;
  width: 100%;
}

.collapse:hover {
  color: #f28f3b;
}

.collapse:hover:after {
  transform: scaleX(1);
  transform-origin: bottom left;
}

.collapse:active {
  color: #588b8b;
}

.collapse:active:after {
  transform: scaleX(0);
  transform-origin: bottom right;
}

.description p {
  color: #727d71;
  line-height: 3rem;
  margin: 30px 0;
}

.highlight {
  color: #324376;
  font-weight: 400;
}

.label-container {
  display: flex;
  margin-top: 50px;
}

.link-container {
  display: flex;
  justify-content: end;
  margin-top: 40px;
  padding-right: 15%;
}

.list-head {
  margin-bottom: 0 !important;
}

.list-item {
  font-size: 1.25rem;
  margin: 0 !important;
  padding-left: 25px;
}

@media screen and (max-width: 550px) {
  h2 {
    font-size: 1.25rem;
  }

  #headshot-container {
    display: flex;
    justify-content: center;
  }

  #headshot {
    width: 50%;
  }

  .description p {
    font-size: 1rem;
    line-height: 1.75rem;
  }

  .link-container {
    padding: 0 !important;
  }
  
  .list-item {
    font-size: 0.75rem !important;
  }

  .page-header {
    font-size: 2rem;
    text-align: center
  }
}