/* Semantic Tags */

body {
  display: grid;
  width: 100%;
  margin: 0;
  background-color: #cad9e5;
}

.p5Canvas {
  margin: 0 auto;
  margin-bottom: 120px;
  border: solid 1.5px #020202;
}

p {
  margin: 0;
}

img {
  overflow: visible;
}

nav > * {
  place-self: center;
  padding: 8px;
  margin-bottom: 64px;
  border-bottom: 2px #020202 solid;
  border-left: 1px #020202 solid;
}

/* Classes */

.grid {
  display: grid;
}

.navGrid {
  width: 1040px;
  grid-template-columns: max-content max-content max-content max-content;
  column-gap: 72px;
}

.centerText {
  text-align: center;
}

.center {
  place-self: center;
}

.right {
  place-self: end;
}

.blue {
  color: #0080e7;
}

.bgWhite {
  background-color: white;
}

.navItem {
  transition: all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.bordered {
  border: solid 1px #020202;
}

.navItem:hover {
  background-color: #ffff63;
  transform: translateY(4px);
}

.formstorming {
  grid-template-columns: 1392px;
  grid-template-rows: max-content max-content;
  width: 1392px;
}

#formstorming_info {
  margin-bottom: 64px;
}

#formstorming_grid {
  grid-template-columns: repeat(5, 160px);
  grid-template-rows: repeat(5, 160px);
  column-gap: 16px;
  width: max-content;
  row-gap: 16px;
}

#formstorming_content {
  grid-template-columns: max-content auto;
  column-gap: 16px;
}

#formstorming_content_zoom {
  grid-template-rows: 160px 512px max-content;
  row-gap: 16px;
}

#content_nav {
  grid-template-columns: auto auto;
}

#navBack,
#navForward {
  max-width: max-content;
  padding: 8px;
  /* border-radius: 64px; */
  border-bottom: solid #020202 8px;
}

.max {
  width: max-content;
}

.width100 {
  width: 100%;
}

.rowgap16 {
  row-gap: 16px;
}

#formstorming_grid img,
#formstorming_grid video {
  width: 160px;
  height: auto;
  border: solid 1px #020202;
}

/* Font sizes */

.font16 {
  font-size: 16px;
}

.font18 {
  font-size: 18px;
}

.font20 {
  font-size: 20px;
}

.font24 {
  font-size: 24px;
}

.font32 {
  font-size: 32px;
}

.font40 {
  font-size: 40px;
}

.font48 {
  font-size: 48px;
}

.font96 {
  font-size: 96px;
}

/* Fonts */

.unbounded-xlight {
  font-family: "Unbounded", serif;
  font-optical-sizing: auto;
  font-weight: 200;
  font-style: normal;
}

.unbounded-light {
  font-family: "Unbounded", serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
}

.unbounded-reg {
  font-family: "Unbounded", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

.unbounded-med {
  font-family: "Unbounded", serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
}

.unbounded-semi {
  font-family: "Unbounded", serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
}

.unbounded-bold {
  font-family: "Unbounded", serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}

.unbounded-xbold {
  font-family: "Unbounded", serif;
  font-optical-sizing: auto;
  font-weight: 800;
  font-style: normal;
}

.inconsolata-reg {
  font-family: "Inconsolata", serif;
  font-optical-sizing: auto;
  font-weight: normal;
  font-style: normal;
  font-variation-settings: "wdth" 100;
}

.inconsolata-semi {
  font-family: "Inconsolata", serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-variation-settings: "wdth" 100;
}

.inconsolata-bold {
  font-family: "Inconsolata", serif;
  font-optical-sizing: auto;
  font-weight: 800;
  font-style: normal;
  font-variation-settings: "wdth" 100;
}

.inconsolata-light {
  font-family: "Inconsolata", serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
  font-variation-settings: "wdth" 100;
}

/* IDs */

#main_grid {
  grid-template-columns: 1440px;
  width: 1440px;
  place-self: center;
  overflow: visible;
  margin-top: 80px;
}

#course_info {
  /* padding: 32px; */
  margin: 32px;
  margin-bottom: 32px;
}

#figures_1 {
  /* width: 1565px; */
  place-self: center;
  /* overflow: visible; */
  margin-bottom: 120px;
}

#figures_2 {
  margin-bottom: 120px;
  transform-origin: center -100px;
  animation: boatMovement 5s cubic-bezier(0.645, 0.045, 0.355, 1) infinite alternate;
  will-change: transform;
  transform-box: fill-box;
}

#module_1_grid {
  width: 1392px;
  margin-bottom: 32px;
}

#module_1 {
  background-color: #020202;
  color: white;
}

@keyframes boatMovement {
  0% {
    transform: translateX(-9px) rotate(2deg);
  }

  100% {
    transform: translateX(9px) rotate(-2deg);
  }
}

#figures_4 {
  width: 560px;
  place-self: center;
  transform-origin: center center;
  will-change: transform;
}

#project_name {
  width: 992px;
  margin-bottom: 32px;
}

#course_student {
  margin-bottom: 6px;
}

#project_info {
  grid-template-columns: max-content auto;
  width: 992px;
  place-self: center;
  margin-bottom: 16px;
}

#project_info_subgrid_2 {
  grid-template-columns: auto max-content;
  width: 100%;
  column-gap: 16px;
}

#currentImage {
  border: 1px solid #020202;
}

#imgDescription {
  padding: 32px;
  border: 1px solid #020202;
}

#formstorming-1 {
  margin-bottom: 120px;
}

#project-iframe-grid {
  margin-bottom: 120px;
}

#final_info {
  width: 1392px;
  margin: 0 auto;
  margin-bottom: 64px;
}

#nonwearable-grid {
  grid-column-start: 3;
}

#final-grid {
  grid-template-columns: 680px auto 680px;
  width: 1392px;
  place-self: center;
  margin-bottom: 120px;
}

@keyframes gentleSwing {
  0% {
    transform: rotate(-2deg);
  }

  50% {
    transform: rotate(2deg);
  }

  100% {
    transform: rotate(-2deg);
  }
}

@keyframes gentleDrift {
  0% {
    transform: translateX(-10px), translateY(-12px);
  }

  50% {
    transform: translateX(10px), translateY(12px);
  }

  100% {
    transform: translateX(-10px), translateY(-12px);
  }
}

#presentation-vid {
  margin: 0 auto;
  border: solid 1.5px #020202;
  border-radius: 2%;
  margin-bottom: 120px;
}

#llm_doc {
  width: 1440px;
  margin: 0 auto;
  margin-bottom: 64px;
}
