#project-portfolio-section {
  min-width: 100%;

  display: flex;
  align-items: center;
  align-content: center;
  justify-content: center;

  /* background-image: linear-gradient(
    to right, var(--bg-base) 10%, transparent 10%, transparent 90%, var(--bg-base) 90%
  ), linear-gradient(
    to bottom, var(--bg-base) 10%, transparent 10%, transparent 90%, var(--bg-base) 90%
  ), linear-gradient(
    to right, transparent 42.5%, var(--bg-step-1) 42.5%, var(--bg-step-1) 57.5%, transparent 57.5%
  ), linear-gradient(
    to bottom, transparent 42.5%, var(--bg-step-1) 42.5%, var(--bg-step-1) 57.5%, transparent 57.5%
  );
  background-position: 50% 50%;
  background-size: 15px 15px; */
  background-image: linear-gradient(var(--bg-base), transparent 10%, transparent 90%, var(--bg-base)), radial-gradient(var(--bg-step-1) 15%, transparent 10%);
  background-position: 0% 0%, 50% 50%;
  background-size: 100% 100%, 15px 15px;
}

#project-portfolio-container {
  width: 75%;
  height: 100%;
  margin: max(5vw, 8vh) 0px 10vw 0px;

  display: flex;
  align-items: center;
  align-content: center;
  justify-content: center;
  flex-direction: column;

  gap: 10px
}

#project-portfolio-aside {
  height: 100%;
  width: 100%;

  display: grid;
  justify-items: center;
  align-items: center;
  justify-content: center;
  align-content: center;

  grid-template-columns: 1fr;
  grid-template-rows: auto 2fr;
}

#project-portfolio-title {
  color: var(--text-inverse);

  font-size: 4cqh;
  width: fit-content;

  padding: 2% 2.5%;

  background: var(--primary3);

  box-shadow: 
    -3px -3px var(--primary1),
    5px 5px var(--primary2);

  display: flex;
  align-items: center;
  align-content: center;
  justify-content: center;
}

#project-portfolio-title h1 {
  font-family: 'Tomorrow';
  text-align: center;
  width: fit-content;

  margin-top: 0px;
  margin-bottom: 0px;
}

#project-portfolio-description {
  font-size: calc(0.4 * max(2.5cqw, 4cqh));
  padding: 2cqh 2.5%;
  align-self: start;
}

#project-portfolio-description p {
  text-align: center;
  margin: 0px;
}

#project-portfolio-card-wrapper {
  height: 100%;

  /* grid-column: 1 / -1;
  grid-row: 2 / 3; */

  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-start;
  align-content: flex-start;
  justify-content: center;

  gap: 2cqh;

  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: 1fr;
  grid-auto-flow: row;
}

.project-portfolio-card-container {
  --border-cut-radius: 4%;
  --border-round-radius: 0.5cqw;

  width: calc(33% - (2cqh * 2 / 3));
  min-width: 25cqh;
  aspect-ratio: 0.65;

  height: calc(100% - 17px);
  aspect-ratio: 5 / 8;

  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
  justify-items: stretch;
  align-items: stretch;
}

.project-portfolio-card-bg, .project-portfolio-card-bg-s1, .project-portfolio-card-bg-s2 {
  grid-column: 1 / -1;
  grid-row: 1 / -1;
  border-radius: 0px var(--border-round-radius);
}

.project-portfolio-card-bg {
  background: linear-gradient(-45deg,
    transparent, transparent var(--border-cut-radius),
    var(--bg-step-2) var(--border-cut-radius), var(--bg-step-2) calc(100% - var(--border-cut-radius)),
    transparent calc(100% - var(--border-cut-radius)), transparent
  );
  z-index: 1;
}

/* .project-portfolio-card-bg-s1 {
  background: linear-gradient(-45deg,
    transparent, transparent var(--border-cut-radius),
    var(--primary1) var(--border-cut-radius), var(--primary1) calc(100% - var(--border-cut-radius)),
    transparent calc(100% - var(--border-cut-radius)), transparent
  );
  transform: translate(-2px, 0);
  z-index: 0;
}

.project-portfolio-card-bg-s2 {
  background: linear-gradient(-45deg,
    transparent, transparent var(--border-cut-radius),
    var(--primary2) var(--border-cut-radius), var(--primary2) calc(100% - var(--border-cut-radius)),
    transparent calc(100% - var(--border-cut-radius)), transparent
  );
  transform: translate(2px, 0);
  z-index: 0;
} */

.project-portfolio-card-content {
  grid-column: 1 / -1;
  grid-row: 1 / -1;

  justify-self: center;
  align-self: center;
  height: calc(100% - 2px);
  width: calc(100% - 2px);

  background: linear-gradient(-45deg,
    transparent, transparent var(--border-cut-radius),
    var(--bg-base) var(--border-cut-radius), var(--bg-base) calc(100% - var(--border-cut-radius)),
    transparent calc(100% - var(--border-cut-radius)), transparent
  );

  border-radius: 0px var(--border-round-radius);
  z-index: 2;

  display: grid;
  justify-items: start;
  align-items: center;

  grid-template-columns: 1fr;
  grid-template-rows: 45% 40% 4% 11%;

  padding: 0px calc(1.2 * var(--border-cut-radius));
}

.project-portfolio-card-content > h3 {
  font-family: "Tomorrow";
  font-weight: 300;
  font-size: 1.5cqh;
  text-decoration: underline;
  text-underline-offset: 10%;
}

.project-portfolio-card-content .pp-card-description {
  align-self: start;
  margin: 2% 0;

  height: 96%;
  width: 100%;

  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  align-content: flex-start;
}

.pp-card-description p {
  margin: 0%;
}

.project-portfolio-card-content .pp-card-img-wrapper {
  width: 100%;
  height: 93%;
  align-self: end;

  mask-image: linear-gradient(-45deg,
    transparent, transparent var(--border-cut-radius),
    #fff var(--border-cut-radius), #fff calc(100% - var(--border-cut-radius)),
    transparent calc(100% - var(--border-cut-radius)), transparent
  );
  border-radius: 0px var(--border-round-radius);

  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: stretch;

  padding: 2% 3%;
  
  background-size: 100% 100%;
  z-index: 4;
}

.pp-card-img-wrapper > h3, .pp-card-img-wrapper > h4 {
  margin: 0px;
  font-family: 'Tomorrow';
}

.pp-card-img-wrapper > h3 {
  font-weight: 500;
  /* font-size: 1.9cqw; */
  font-size: max(1.9cqw, 2.2cqh);
  --shadow-offset: calc(0.04 * max(1.9cqw, 2.2cqh));
  --neg-shadow-offset: calc(-1 * var(--shadow-offset));
  /* color: var(--text-inverse); */
  text-shadow: 
    var(--neg-shadow-offset) 0cqw 0px var(--primary1-dark),
    var(--shadow-offset) 0cqw 0px var(--primary2-dark),
    0cqw var(--neg-shadow-offset) 0px var(--primary1-dark),
    0cqw var(--shadow-offset) 0px var(--primary2-dark),
    var(--neg-shadow-offset) var(--neg-shadow-offset) 0px var(--primary1-dark),
    var(--shadow-offset)var(--shadow-offset) 0px var(--primary2-dark);
}

.pp-card-img-wrapper > h4 {
  font-weight: 300;
  /* font-size: 1.2cqw; */
  font-size: max(1.2cqw, 1.4cqh);
  width: fit-content;
  color: var(--text-inverse);
  background-color: var(--primary3);
}


@media screen and (max-aspect-ratio: 3 / 4) {
  #project-portfolio-container {
    width: 80%;
  }

  .project-portfolio-card-container {
    min-width: 100%;
  }

  .pp-card-img-wrapper > h3 {
    font-size: 6.5cqw;
    --shadow-offset: calc(0.04 * 6.5cqw);
    --neg-shadow-offset: calc(-1 * var(--shadow-offset));

    text-shadow: 
      var(--neg-shadow-offset) 0cqw 0px var(--primary1-dark),
      var(--shadow-offset) 0cqw 0px var(--primary2-dark),
      0cqw var(--neg-shadow-offset) 0px var(--primary1-dark),
      0cqw var(--shadow-offset) 0px var(--primary2-dark),
      var(--neg-shadow-offset) var(--neg-shadow-offset) 0px var(--primary1-dark),
      var(--shadow-offset)var(--shadow-offset) 0px var(--primary2-dark);
  }

  .pp-card-img-wrapper > h4 {
    font-size: 3.7cqw;
  }
}

.pp-card-skills-wrapper {
  margin-top: 1%;
  height: 60%;
  align-self: start;

  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: stretch;
  align-content: stretch;

  column-gap: 2%;
}

.pp-card-skill {
  aspect-ratio: 1;
  height: 100%;
  background-image: url('../skills_info/icons/fusion360.png');
  background-size: 90%;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  filter: grayscale(100%);
}