@media screen {
  body {
    text-rendering: optimizeLegibility;
    -webkit-text-size-adjust: 100%;
    background: #fff;
    color: #000000;
  }

  ::-webkit-scrollbar {
    display: none;
  }

  *,
  a {
    -webkit-backface-visibility: hidden;
    -webkit-tap-highlight-color: transparent;
  }

  html,
  body,
  h1,
  nav,
  ul,
  li {
    font-family: 'Signifier-Light', Georgia, serif;
    margin: 0;
    padding: 0;
    font-style: normal;
    letter-spacing: .01em;
    background-color: transparent;
  }

  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    font-weight: normal;
    font-size: inherit;
  }

  a,
  a:hover,
  a:visited,
  a:focus {
    color: inherit;
    text-decoration: none;
  }

  li {
    list-style: none;
  }

  em {
    font-family: "Signifier-Light-Italic";
  }

  @keyframes bg-fade-in {
    from {
      opacity: 0;
    }

    to {
      opacity: 1;
    }
  }

  @keyframes bg-fade-in-2 {
    from {
      opacity: 0;
    }

    to {
      opacity: 1;
    }
  }

  .mobile-test {
    text-align: right;
  }

  .clearfix:after,
  .clearfix:before {
    content: " ";
    display: table;
  }

  .clearfix:after {
    clear: both;
  }

  .nav-container-images {
    pointer-events: auto;
  }
}

.link,
.main-project-text-paragraph a {
  color: inherit;
  cursor: pointer;
}

.link-underline,
.main-project-text-paragraph a {
  position: relative;
}

.link-underline:after,
.main-project-text-paragraph a:after {
  position: absolute;
  content: "";
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #000;
  transform: translateZ(0);
  transition: opacity .4s;
}

@media screen and (max-width: 499px) and (max-height: 439px) {
  :root {
    font-size: 5vw;
  }

  html,
  body,
  h1,
  nav,
  ul,
  li {
    line-height: 1rem;
    font-size: .8rem;
  }

  .body-main {
    margin-left: 2rem;
    margin-right: 2rem;
    font-size: .8rem;
    line-height: 1rem;
  }

  .nav-container-images {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    padding-top: 1.6rem;
    padding-bottom: 1rem;
    /* background-color: #fff; */
    padding-left: 2rem;
    padding-right: 2rem;
    z-index: 99;
  }

  .nav-brand-container {
    float: left;
  }

  .nav-menu-brand-wrapper {
    transition: color .1s ease-in-out;
  }

  .nav-menu-link-container {
    float: right;
    text-align: right;
    pointer-events: all;
  }

  .nav-menu-link-text {
    transition: color .1s ease-in-out;
    line-height: 1rem;
  }

  .main-project-container {
    animation: bg-fade-in 2s 1 ease-in-out;
  }

  .main-project-img-wrapper-feature {
    padding-top: 0rem;
    margin-top: 0rem;
    position: relative;
  }

  .main-project-img-item {
    display: block;
    margin: 0 auto;
    position: relative;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    margin-bottom: 2.5rem;
    width: 16rem;
    padding-bottom: 12.8rem;
  }

  .main-project-img-item-feature {
    margin-top: 5.5rem;
    margin-bottom: 2.25rem;
  }

  .main-project-img-item:hover {
    cursor: pointer;
  }

  .main-project-text-container {
    margin: 0 auto;
  }

  .main-project-text-title,
  .main-project-text-paragraph {
    padding-top: 1rem;
    margin-bottom: 1rem;
    padding: 0;
  }

  .main-project-text-title {
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 2.25rem;
    text-align: center;
    z-index: 98;
    background-color: white;
  }

  .main-project-text-title > div {
    display: inline-block;
  }

  .main-project-text-title > div::after {
    content: ", ";
  }

  .main-project-text-title > div:last-child::after {
    content: "";
  }

  .main-project-text-title-item {
    text-align: center;
    display: inline-block;
  }

  .main-project-container-hidden {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 0;
    overflow: hidden;
    opacity: 0;
  }

  .slides-project-container {
    display: none;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 99;
    background: #fff;
    padding-top: 0;
    padding-bottom: 0;
    height: 100%;
  }

  .slides-project-container ::selection {
    background-color: transparent;
  }

  .slides-project-grouping {
    margin: 0 auto;
    width: 16rem;
    height: 16rem;
    max-height: 360px;
    max-width: 360px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
  }

  .slides-project-img-item {
    position: absolute;
    width: 100%;
    height: 100%;
    margin: 0 auto;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    cursor: pointer;
  }

  .slides-project-group-icons {
    position: absolute;
    bottom: -2rem;
    width: 50%;
    right: 25%;
    transform: translateY(50%);
  }

  .slides-project-group-icons svg {
    width: .6rem;
    height: .6rem;
    cursor: default;
  }

  .slides-project-group-icons svg:hover {
    cursor: pointer;
  }

  .slides-project-group-icons-prev {
    position: absolute;
    left: 0;
    top: 50%;
  }

  .slides-project-group-icons-close {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 50%;
  }

  .slides-project-group-icons-next {
    position: absolute;
    right: 0;
    top: 50%;
  }

  .footer-project-container {
    padding-top: 1rem;
    padding-bottom: 2rem;
    opacity: 1;
    margin-right: auto;
    margin-left: auto;
  }

  .footer-project-left-container,
  .footer-project-right-container {
    width: 7rem;
  }

  .footer-project-left-container {
    float: left;
  }

  .footer-project-right-container {
    float: right;
    text-align: right;
  }

  .footer-project-left-img,
  .footer-project-right-img {
    transition: opacity .3s ease-in-out;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    padding-bottom: 80%;
    position: relative;
  }

  .footer-project-title {
    text-align: right;
    z-index: 1;
    overflow: hidden;
    opacity: 0;
    transition: color .1s ease,opacity .15s ease-in-out;
    background-color: white;
    color: black;
    display: none;
  }

  .footer-project-left-img:hover .footer-project-title,
  .footer-project-right-img:hover .footer-project-title,
  .footer-project-title:hover {
    background-color: rgba(255,255,255,.9);
    color: black;
    width: 100%;
    opacity: 1;
  }

  .footer-project-title-item-name {
    position: absolute;
    bottom: -2rem;
    width: 100%;
    hyphens: auto;
    text-align: center;
  }

  .footer-project-comment-container {
    margin-bottom: 1rem;
    text-align: center;
  }

  .footer-project-comment-item {
    text-transform: none;
  }

  .body-images {
    margin-left: 2rem;
    margin-right: 2rem;
  }

  .main-images-container {
    animation: bg-fade-in 2s 1 ease-in-out;
    margin-top: 5.5rem;
    padding-top: .544rem;
  }

  .section-images-wrapper {
    opacity: 1;
    padding-bottom: 1.28rem;
  }

  .section-images-left-container,
  .section-images-center-container,
  .section-images-right-container {
    width: 4rem;
    position: relative;
  }

  .section-images-left-container {
    float: left;
  }

  .section-images-center-container {
    float: left;
    margin-left: 2rem;
  }

  .section-images-right-container {
    float: right;
    text-align: right;
  }

  .section-images-left-img,
  .section-images-center-img,
  .section-images-right-img {
    transition: opacity .3s ease-in-out;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    padding-bottom: 100%;
    cursor: pointer;
    position: relative;
    display: block;
  }

  .main-about-container {
    padding-top: 5.5rem;
    animation: bg-fade-in 2s 1 ease-in-out;
  }

  .section-about-img-wrapper {
    padding-bottom: 2rem;
  }

  .section-about-img-item {
    margin: 0 auto;
    width: 16rem;
    padding-bottom: 12.8rem;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
  }

  .section-about-text-container {
    margin: 0 auto;
    width: 16rem;
    margin-bottom: 2rem;
  }

  .section-about-text-container p {
    padding: 0;
    margin: 0;
    padding-top: 1rem;
    margin-bottom: 1rem;
  }

  .section-about-text-container p:last-child {
    margin-bottom: 0rem;
  }
}

@media screen and (max-width: 499px) and (min-height: 440px) {
  :root {
    font-size: 5vw;
  }

  html,
  body,
  h1,
  nav,
  ul,
  li {
    font-size: 0.64rem;
    line-height: 1rem;
  }

  .body-main {
    margin-top: 6rem;
    margin-left: 2rem;
    margin-right: 2rem;
    line-height: 0.9rem;
    opacity: 0;
    animation: bg-fade-in-2 1s .5s forwards;
  }

  .nav-container-images {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    padding-top: 2.5rem;
    padding-bottom: 2rem;
    padding-left: 2rem;
    padding-right: 2rem;
    z-index: 99;
  }

  .nav-container-images {
    background-color: transparent;
  }

  .nav-brand-container {
    float: left;
  }

  .nav-menu-brand-wrapper {
    transition: color .1s ease-in-out;
  }

  .nav-brand-item {
    text-transform: none;
    pointer-events: all;
    font-family: 'Signifier-Light', Georgia, serif;
    letter-spacing: .04em;
  }

  .nav-menu-link-container {
    float: right;
    text-align: right;
    text-transform: none;
    pointer-events: all;
  }

  .nav-menu-link-text {
    text-transform: none;
    transition: color .1s ease-in-out;
    line-height: 1rem;
  }

  .main-project-container {
    animation: bg-fade-in 2s 1 ease-in-out;
  }

  .main-project-img-wrapper-feature {
    padding-top: 0rem;
    margin-top: 0rem;
    position: relative;
  }

  .main-project-img-item {
    display: block;
    margin: 0 auto;
    position: relative;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    margin-bottom: 2.5rem;
    width: 16rem;
    padding-bottom: 12.8rem;
  }

  .main-project-img-item-feature {
    margin-top: 7.5rem;
    margin-bottom: 2.25rem;
  }

  .main-project-img-item:hover {
    cursor: pointer;
  }

  .main-project-text-container {
    margin: 0 auto;
  }

  .main-project-text-title,
  .main-project-text-paragraph {
    padding-top: 1rem;
    margin-bottom: 2rem;
    padding: 0;
  }

  .main-project-text-title {
    text-transform: none;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 2.25rem;
    text-align: center;
    z-index: 98;
    background-color: white;
  }

  .main-project-text-title > div {
    display: inline-block;
  }

  .main-project-text-title > div:first-child::after {
    content: "";
    display: inline-block;
  }

  .main-project-text-title > div:last-child {
    display: block;
  }

  .main-project-text-title-item {
    text-align: center;
    display: inline-block;
  }

  .main-project-container-hidden {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 0;
    overflow: hidden;
    opacity: 0;
  }

  .slides-project-container {
    display: none;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 99;
    background: #fff;
    padding-top: 0;
    padding-bottom: 0;
    height: 100%;
  }

  .slides-project-container ::selection {
    background-color: transparent;
  }

  .slides-project-grouping {
    margin: 0 auto;
    width: 16rem;
    height: 16rem;
    max-height: 360px;
    max-width: 360px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
  }

  .slides-project-img-item {
    position: absolute;
    width: 100%;
    height: 100%;
    margin: 0 auto;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    cursor: pointer;
  }

  .slides-project-group-icons {
    position: absolute;
    bottom: -2rem;
    width: 50%;
    right: 25%;
    transform: translateY(50%);
  }

  .slides-project-group-icons svg {
    width: .6rem;
    height: .6rem;
    cursor: default;
  }

  .slides-project-group-icons svg:hover {
    cursor: pointer;
  }

  .slides-project-group-icons-prev {
    position: absolute;
    left: 0;
    top: 50%;
  }

  .slides-project-group-icons-close {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 50%;
  }

  .slides-project-group-icons-next {
    position: absolute;
    right: 0;
    top: 50%;
  }

  .footer-project-container {
    padding-top: 1.5rem;
    padding-bottom: 2.5rem;
    opacity: 1;
    margin-right: auto;
    margin-left: auto;
  }

  .footer-project-left-container,
  .footer-project-right-container {
    width: 7rem;
  }

  .footer-project-left-container {
    float: left;
  }

  .footer-project-right-container {
    float: right;
    text-align: right;
  }

  .footer-project-left-img,
  .footer-project-right-img {
    transition: opacity .3s ease-in-out;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    padding-bottom: 80%;
    position: relative;
  }

  .footer-project-title {
    text-align: right;
    z-index: 1;
    overflow: hidden;
    opacity: 0;
    transition: color .1s ease,opacity .15s ease-in-out;
    background-color: white;
    color: black;
    display: none;
  }

  .footer-project-left-img:hover .footer-project-title,
  .footer-project-right-img:hover .footer-project-title,
  .footer-project-title:hover {
    background-color: rgba(255,255,255,.9);
    color: black;
    width: 100%;
    opacity: 1;
  }

  .footer-project-title-item-name {
    position: absolute;
    bottom: -2rem;
    width: 100%;
    hyphens: auto;
    text-align: center;
    text-transform: none;
  }

  .footer-project-comment-container {
    margin-bottom: 2rem;
    text-align: center;
  }

  .footer-project-comment-item {
    text-transform: none;
  }

  .body-images {
    margin-left: 2rem;
    margin-right: 2rem;
  }

  .main-images-container {
    animation: bg-fade-in 2s 1 ease-in-out;
    margin-top: 5.5rem;
    padding-top: .544rem;
  }

  .section-images-wrapper {
    opacity: 1;
    padding-bottom: 1.8rem;
  }

  .section-images-left-container,
  .section-images-center-container,
  .section-images-right-container {
    width: 4rem;
    position: relative;
  }

  .section-images-left-container {
    float: left;
  }

  .section-images-center-container {
    float: left;
    margin-left: 1.8rem;
  }

  .section-images-right-container {
    float: right;
    text-align: right;
  }

  .section-images-left-img,
  .section-images-center-img,
  .section-images-right-img {
    transition: opacity .3s ease-in-out;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    padding-bottom: 100%;
    cursor: pointer;
    position: relative;
    display: block;
  }

  .main-about-container {
    padding-top: 7.5rem;
    animation: bg-fade-in 2s 1 ease-in-out;
  }

  .section-about-img-wrapper {
    padding-bottom: 2rem;
  }

  .section-about-img-item {
    margin: 0 auto;
    width: 16rem;
    padding-bottom: 10.8rem;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
  }

  .section-about-text-container {
    margin: 0 auto;
    width: 16rem;
    margin-bottom: 2rem;
  }

  .section-about-text-container p {
    padding: 0;
    margin: 0;
    padding-top: .7rem;
    margin-bottom: .7rem;
  }

  .section-about-text-container p:last-child {
    margin-bottom: 0rem;
  }
}

@media screen and (min-width: 500px) and (max-width: 799px) and (max-height: 439px) {
  :root {
    font-size: 2.5vw;
  }

  html,
  body,
  h1,
  nav,
  ul,
  li,
  div {
    font-family: "Signifier-Light", Georgia, serif;
    margin: 0;
    padding: 0;
    font-weight: normal;
    font-size: .8rem;
    line-height: 1rem;
  }

  .body-main {
    padding-left: 4rem;
    padding-right: 4rem;
    font-size: .8rem;
    line-height: 1rem;
    opacity: 0;
    animation: bg-fade-in 1s .5s forwards;
  }

  .nav-container-images {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 99;
    padding-top: 2rem;
    padding-bottom: 1rem;
    padding-left: 4rem;
    padding-right: 4rem;
  }

  .nav-container-images {
    background-color: #fff;
  }

  .nav-brand-container {
    float: left;
  }

  .nav-menu-brand-wrapper {
    transition: color .1s ease-in-out;
  }

  .nav-brand-item {
    text-transform: none;
    pointer-events: all;
    font-family: 'Signifier-Light', Georgia, serif;
    letter-spacing: .04em;
  }

  .nav-menu-link-container {
    float: right;
    text-align: right;
    text-transform: none;
    pointer-events: all;
  }

  .nav-menu-link-text {
    text-transform: none;
    transition: color .1s ease-in-out;
    line-height: 1rem;
  }

  .main-project-container {
    animation: bg-fade-in 2s 1 ease-in-out;
  }

  .main-project-img-wrapper {
    width: 66.66vm in;
    max-width: 360px;
    margin: 0 auto;
  }

  .main-project-img-wrapper-feature {
    padding-top: 0rem;
    margin-top: 0rem;
    position: relative;
  }

  .main-project-img-item {
    display: block;
    position: relative;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    margin-bottom: 3rem;
    padding-bottom: 80%;
  }

  .main-project-img-item-feature {
    margin-top: 6rem;
  }

  .main-project-img-item:hover {
    cursor: pointer;
  }

  .main-project-text-container {
    margin: 0 auto;
    width: 66.66vm in;
  }

  .main-project-text-title,
  .main-project-text-paragraph {
    padding-top: 1rem;
    margin-bottom: 1rem;
    padding: 0;
  }

  .main-project-text-title {
    display: block;
    text-transform: none;
    margin-bottom: 0;
    text-align: center;
    height: 3rem;
    padding-bottom: 1rem;
    margin-right: auto;
    padding-top: 2rem;
    cursor: pointer;
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    z-index: 98;
    background-color: white;
  }

  .main-project-text-title-item {
    display: inline-block;
  }

  .main-project-container-hidden {
    position: relative;
    height: 20000vh;
    overflow: scroll;
    opacity: 0;
  }

  .slides-project-container {
    display: none;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 99;
    background: #fff;
    padding-top: 0;
    padding-bottom: 0;
  }

  .slides-project-container ::selection {
    background-color: transparent;
  }

  .slides-project-grouping {
    margin: 0 auto;
    width: 66.66vm in;
    height: 66.66vm in;
    max-width: 360px;
    max-height: 360px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
  }

  .slides-project-img-item {
    position: absolute;
    width: 100%;
    height: 100%;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    cursor: pointer;
  }

  .slides-project-group-icons {
    position: absolute;
    width: 60%;
    height: 25%;
    right: -5rem;
    top: 50%;
    transform: translate(50%,-50%) rotate(90deg);
  }

  .slides-project-group-icons svg {
    transform: translate(0,-50%);
    width: .6rem;
    height: .6rem;
    cursor: default;
    padding: .5rem;
  }

  .slides-project-group-icons svg:hover {
    cursor: pointer;
  }

  .slides-project-group-icons-prev {
    position: absolute;
    left: 0;
    top: 50%;
  }

  .slides-project-group-icons-close {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 50%;
  }

  .slides-project-group-icons-next {
    position: absolute;
    right: 0;
    top: 50%;
  }

  .footer-project-container {
    padding-top: 1.5rem;
    padding-bottom: 2.5rem;
    opacity: 1;
    margin-right: auto;
    margin-left: auto;
    width: 80vm in;
  }

  .footer-project-left-container,
  .footer-project-right-container {
    width: 35vm in;
  }

  .footer-project-left-container {
    float: left;
  }

  .footer-project-right-container {
    float: right;
    text-align: right;
  }

  .footer-project-left-img,
  .footer-project-right-img {
    transition: opacity .3s ease-in-out;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    padding-bottom: 80%;
    position: relative;
  }

  .footer-project-title {
    text-align: right;
    z-index: 1;
    overflow: hidden;
    opacity: 0;
    transition: color .1s ease,opacity .15s ease-in-out;
    background-color: white;
    color: black;
    display: none;
  }

  .footer-project-left-img:hover .footer-project-title,
  .footer-project-right-img:hover .footer-project-title,
  .footer-project-title:hover {
    background-color: rgba(255,255,255,.9);
    color: black;
    width: 100%;
    opacity: 1;
  }

  .footer-project-title-item-name {
    position: absolute;
    bottom: -2rem;
    width: 100%;
    hyphens: auto;
    text-align: center;
    text-transform: none;
  }

  .footer-project-comment-container {
    margin-bottom: 1.5rem;
    text-align: center;
  }

  .footer-project-comment-item {
    text-transform: none;
  }

  .body-images {
    margin-left: 4rem;
    margin-right: 4rem;
  }

  .main-images-container {
    animation: bg-fade-in 2s 1 ease-in-out;
    margin-top: 6rem;
    padding-top: 1.6rem;
  }

  .section-images-wrapper {
    opacity: 1;
    margin-bottom: 1.6384rem;
  }

  .section-images-left-container,
  .section-images-center-container,
  .section-images-right-container {
    width: 8rem;
    position: relative;
  }

  .section-images-left-container {
    float: left;
  }

  .section-images-center-container {
    float: left;
    margin-left: 4rem;
  }

  .section-images-right-container {
    float: right;
    text-align: right;
  }

  .section-images-left-img,
  .section-images-center-img,
  .section-images-right-img {
    transition: opacity .3s ease-in-out;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    padding-bottom: 100%;
    cursor: pointer;
    position: relative;
    display: block;
  }

  .main-about-container {
    padding-top: 2.2rem;
    animation: bg-fade-in 2s 1 ease-in-out;
  }

  .section-about-img-wrapper {
    padding-bottom: 2rem;
  }

  .section-about-img-item {
    margin: 0 auto;
    width: 17.5rem;
    padding-bottom: 14rem;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
  }

  .section-about-text-container {
    margin: 0 auto;
    width: 17.5rem;
    margin-bottom: 2rem;
  }

  .section-about-text-container p {
    padding: 0;
    margin: 0;
    padding-top: 1rem;
    margin-bottom: 1rem;
  }

  .section-about-text-container p:last-child {
    margin-bottom: 0rem;
  }
}

@media screen and (min-width: 500px) and (max-width: 799px) and (min-height: 440px) {
  :root {
    font-size: 2.5vw;
  }

  html,
  body,
  h1,
  nav,
  ul,
  li,
  div {
    margin: 0;
    padding: 0;
    font-weight: normal;
  }

  .body-main {
    margin-top: 7rem;
    padding-left: 4rem;
    padding-right: 4rem;
    font-size: 0.80rem;
    line-height: 1.18rem;
    opacity: 0;
    animation: bg-fade-in 1s .5s forwards;
  }

  .nav-container-images {
    padding-top: 3.2rem;
    padding-bottom: 2rem;
    padding-left: 4rem;
    padding-right: 4rem;
    z-index: 99;
    background-color: transparent;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
  }

  .nav-container-images {
    background-color: transparent;
  }

  .nav-brand-container {
    float: left;
  }

  .nav-menu-brand-wrapper {
    transition: color .1s ease-in-out;
  }

  .nav-brand-item {
    text-transform: none;
    pointer-events: all;
    font-family: 'Signifier-Light', Georgia, serif;
    letter-spacing: .04em;
  }

  .nav-menu-link-container {
    float: right;
    text-align: right;
    text-transform: none;
    pointer-events: all;
  }

  .nav-menu-link-text {
    text-transform: none;
    transition: color .1s ease-in-out;
  }

  .main-project-container {
    animation: bg-fade-in 2s 1 ease-in-out;
  }

  .main-project-img-wrapper {
    width: 17.5rem;
    max-width: 360px;
    margin: 0 auto;
  }

  .main-project-img-wrapper-feature {
    padding-top: 0rem;
    margin-top: 0rem;
    position: relative;
  }

  .main-project-img-item {
    display: block;
    position: relative;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    margin-bottom: 3rem;
    padding-bottom: 80%;
  }

  .main-project-img-item-feature {
    margin-top: 8.2rem;
  }

  .main-project-img-item:hover {
    cursor: pointer;
  }

  .main-project-text-container {
    width: 17.5rem;
    max-width: 360px;
    margin: 0 auto 2rem auto;
  }

  .main-project-text-title,
  .main-project-text-paragraph {
    padding-top: 1rem;
    margin-bottom: 2rem;
    padding: 0;
  }

  .main-project-text-title {
    text-transform: none;
    margin-bottom: 0;
    text-align: center;
    height: 3rem;
    padding-bottom: 2rem;
    margin-right: auto;
    cursor: pointer;
    padding-top: 3.2rem;
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    z-index: 98;
  }

  .main-project-text-title-item {
    display: inline-block;
  }

  .main-project-container-hidden {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 0;
    overflow: hidden;
    opacity: 0;
  }

  .slides-project-container {
    display: none;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 99;
    background: #fff;
    padding-top: 0;
    padding-bottom: 0;
    height: 100%;
  }

  .slides-project-container ::selection {
    background-color: transparent;
  }

  .slides-project-grouping {
    margin: 0 auto;
    width: 360px;
    height: 360px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
  }

  .slides-project-img-item {
    position: absolute;
    width: 100%;
    height: 360px;
    margin: 0 auto;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    cursor: pointer;
  }

  .slides-project-group-icons {
    position: absolute;
    bottom: -3rem;
    width: 50%;
    right: 25%;
  }

  .slides-project-group-icons svg {
    width: .66rem;
    height: .66rem;
    padding: 1rem;
    cursor: default;
  }

  .slides-project-group-icons svg:hover {
    cursor: pointer;
  }

  .slides-project-group-icons-prev {
    position: absolute;
    left: 0;
    top: 50%;
  }

  .slides-project-group-icons-close {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 50%;
  }

  .slides-project-group-icons-next {
    position: absolute;
    right: 0;
    top: 50%;
  }

  .footer-project-container {
    padding-top: 1.5rem;
    padding-bottom: 2.5rem;
    opacity: 1;
    margin-right: auto;
    margin-left: auto;
    width: 24rem;
  }

  .footer-project-left-container,
  .footer-project-right-container {
    width: 8.75rem;
  }

  .footer-project-left-container {
    float: left;
  }

  .footer-project-right-container {
    float: right;
    text-align: right;
  }

  .footer-project-left-img,
  .footer-project-right-img {
    transition: opacity .3s ease-in-out;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    padding-bottom: 80%;
    position: relative;
  }

  .footer-project-title {
    text-align: right;
    z-index: 1;
    overflow: hidden;
    opacity: 0;
    transition: color .1s ease,opacity .15s ease-in-out;
    background-color: white;
    color: black;
    display: none;
  }

  .footer-project-left-img:hover .footer-project-title,
  .footer-project-right-img:hover .footer-project-title,
  .footer-project-title:hover {
    background-color: rgba(255,255,255,.9);
    color: black;
    width: 100%;
    opacity: 1;
  }

  .footer-project-title-item-name {
    position: absolute;
    bottom: -2rem;
    width: 100%;
    hyphens: auto;
    text-align: center;
    text-transform: none;
  }

  .footer-project-comment-container {
    margin-bottom: 2.5rem;
    text-align: center;
  }

  .footer-project-comment-item {
    text-transform: none;
  }

  .body-images {
    margin-left: 4rem;
    margin-right: 4rem;
  }

  .main-images-container {
    animation: bg-fade-in 2s 1 ease-in-out;
    margin-top: 7.2rem;
    padding-top: 1.6rem;
  }

  .section-images-wrapper {
    opacity: 1;
    margin-bottom: 1.6384rem;
  }

  .section-images-left-container,
  .section-images-center-container,
  .section-images-right-container {
    width: 8rem;
    position: relative;
  }

  .section-images-left-container {
    float: left;
  }

  .section-images-center-container {
    float: left;
    margin-left: 4rem;
  }

  .section-images-right-container {
    float: right;
    text-align: right;
  }

  .section-images-left-img,
  .section-images-center-img,
  .section-images-right-img {
    transition: opacity .3s ease-in-out;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    padding-bottom: 100%;
    cursor: pointer;
    position: relative;
    display: block;
  }

  .main-about-container {
    padding-top: 3.33rem;
    animation: bg-fade-in 2s 1 ease-in-out;
  }

  .section-about-img-wrapper {
    padding-bottom: 2rem;
  }

  .section-about-img-item {
    margin: 0 auto;
    width: 17.5rem;
    padding-bottom: 12rem;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
  }

  .section-about-text-container {
    margin: 0 auto;
    width: 16rem;
    margin-bottom: 2rem;
  }

  .section-about-text-container p {
    padding: 0;
    margin: 0;
    padding-top: .7rem;
    margin-bottom: .7rem;
  }

  .section-about-text-container p:last-child {
    margin-bottom: 0rem;
  }
}

@media screen and (min-width: 800px) and (max-width: 1199px) {
  :root {
    font-size: 2vw;
  }

  html,
  body,
  h1,
  nav,
  ul,
  li {
    margin: 0;
    padding: 0;
    font-weight: normal;
  }

  .body-main {
    margin-left: 5rem;
    margin-right: 5rem;
    font-size: 0.82rem;
    line-height: 1.23rem;
    opacity: 0;
    animation: bg-fade-in-2 1s .5s forwards;
  }

  .nav-container-images {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    padding-top: 4rem;
    padding-bottom: 2rem;
    background-color: transparent;
    padding-right: 5rem;
    padding-left: 5rem;
    z-index: 99;
    pointer-events: none;
  }

  .nav-brand-container {
    float: left;
  }

  .nav-menu-brand-wrapper {
    transition: color .1s ease-in-out;
  }

  .nav-brand-item {
    pointer-events: all;
    font-family: 'Signifier-Light', Georgia, serif;
    letter-spacing: .04em;
  }

  .nav-menu-link-container {
    float: right;
    text-align: right;
    pointer-events: all;
  }

  .nav-menu-link-text {
    transition: color .1s ease-in-out;
  }

  .main-project-container {
    margin-top: 2rem;
    animation: bg-fade-in 2s 1 ease-in-out;
  }

  .main-project-img-wrapper {
    width: 17.5rem;
    max-width: 480px;
    margin: 0 auto;
  }

  .main-project-img-item {
    display: block;
    margin: 0 auto;
    padding-bottom: 80%;
    margin-top: 4em;
    position: relative;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
  }

  .main-project-img-wrapper-feature {
    padding-top: 0;
    margin-top: 0rem;
  }

  .main-project-img-item-feature {
    margin-top: 9rem;
    background-size: cover;
  }

  .main-project-img-item:hover {
    cursor: pointer;
  }

  .main-project-text-container {
    width: 17.5rem;
    max-width: 480px;
    margin: 4em auto 0;
  }

  .main-project-text-title,
  .main-project-text-paragraph {
    padding-top: 1rem;
    margin-bottom: 1rem;
    padding: 0;
  }

  .main-project-text-paragraph:last-child {
    margin-bottom: 0rem;
  }

  .main-project-text-title {
    padding-bottom: 2rem;
    margin-right: auto;
    margin-left: auto;
    padding-top: 4rem;
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    height: 3rem;
    z-index: 98;
    text-align: center;
  }

  .main-project-text-title-item {
    text-align: center;
    cursor: default;
    display: inline-block;
  }

  .main-project-container-hidden {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 0;
    overflow: hidden;
    opacity: 0;
  }

  .slides-project-container {
    display: none;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 99;
    background: #fff;
    padding-top: 0;
    padding-bottom: 0;
  }

  .slides-project-container ::selection {
    background-color: transparent;
  }

  .slides-project-grouping {
    margin: 0 auto;
    width: 18.75rem;
    height: 18.75rem;
    max-height: 360px;
    max-width: 360px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
  }

  .slides-project-img-item {
    position: absolute;
    width: 100%;
    height: 100%;
    margin: 0 auto;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    cursor: pointer;
  }

  .slides-project-group-icons {
    position: absolute;
    width: 40%;
    height: 25%;
    right: -5rem;
    top: 50%;
    transform: translate(50%,-50%) rotate(90deg);
  }

  .slides-project-group-icons svg {
    width: .66rem;
    height: .66rem;
    padding: .5rem;
    cursor: default;
  }

  .slides-project-group-icons svg:hover {
    cursor: pointer;
  }

  .slides-project-group-icons-prev {
    position: absolute;
    left: 0;
    transform: translateY(-50%);
    top: 50%;
  }

  .slides-project-group-icons-close {
    position: absolute;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    top: 50%;
  }

  .slides-project-group-icons-next {
    position: absolute;
    right: 0;
    transform: translateY(-50%);
    top: 50%;
  }

  .footer-project-container {
    padding-top: 3rem;
    padding-bottom: 4rem;
    opacity: 1;
    margin-right: auto;
    margin-left: auto;
    width: 24rem;
    max-width: 480px;
  }

  .footer-project-left-container,
  .footer-project-right-container {
    width: 43.75%;
  }

  .footer-project-left-container {
    float: left;
  }

  .footer-project-right-container {
    float: right;
    text-align: right;
  }

  .footer-project-left-img,
  .footer-project-right-img {
    transition: opacity .3s ease-in-out;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    padding-bottom: 80%;
    position: relative;
  }

  .footer-project-title {
    text-align: right;
    z-index: 1;
    overflow: hidden;
    opacity: 0;
    transition: color .1s ease,opacity .15s ease-in-out;
    background-color: white;
    color: black;
  }

  .footer-project-left-img:hover .footer-project-title,
  .footer-project-right-img:hover .footer-project-title,
  .footer-project-title:hover {
    background-color: rgba(255,255,255,.9);
    color: black;
    width: 100%;
    opacity: 1;
    display: none;
  }

  .footer-project-title-item-name {
    position: absolute;
    bottom: -2rem;
    width: 100%;
    hyphens: auto;
    text-align: center;
    text-transform: none;
  }

  .footer-project-comment-container {
    margin-bottom: 2rem;
    text-align: center;
  }

  .footer-project-comment-item {
    text-transform: none;
  }

  .main-project-container-hidden {
    position: relative;
    height: 20000vh;
    overflow: scroll;
    opacity: 0;
  }

  .body-images {
    margin-left: 5rem;
    margin-right: 5rem;
  }

  .main-images-container {
    animation: bg-fade-in 2s 1 ease-in-out;
    margin-top: calc(9rem - 5rem + 7rem);
  }

  .section-images-wrapper {
    opacity: 1;
    margin-top: 3rem;
    margin-bottom: 3.2rem;
  }

  .section-images-left-container,
  .section-images-center-container,
  .section-images-right-container {
    width: 10rem;
    box-shadow: 0 0 0 1px solid;
  }

  .section-images-left-container {
    float: left;
  }

  .section-images-center-container {
    float: left;
    margin-left: 5rem;
  }

  .section-images-right-container {
    float: right;
    text-align: right;
  }

  .section-images-left-img,
  .section-images-center-img,
  .section-images-right-img {
    transition: opacity .3s ease-in-out;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    padding-bottom: 100%;
    cursor: pointer;
    position: relative;
    display: block;
  }

  .main-about-container {
    padding-top: .22rem;
    animation: bg-fade-in 2s 1 ease-in-out;
  }

  .section-about-img-wrapper {
    padding-top: 4rem;
    padding-bottom: 4rem;
    width: 17.5rem;
    max-width: 360px;
    margin: 0 auto;
  }

  .section-about-img-item {
    margin: 0 auto;
    padding-bottom: 70%;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
  }

  .section-about-text-container {
    margin: 0 auto;
    width: 16rem;
    max-width: 360px;
  }

  .section-about-text-container p {
    padding: 0;
    margin: 0;
    padding-top: .7rem;
    margin-bottom: .7rem;
  }

  .section-about-text-container p:last-child {
    margin-bottom: 0rem;
  }
}

@media screen and (min-width: 1200px) {
  :root {
    font-size: 1.25vw;
  }

  html,
  body,
  h1,
  nav,
  ul,
  li {
    margin: 0;
    padding: 0;
    font-weight: normal;
  }

  .body-main {
    margin-left: 8rem;
    margin-right: 8rem;
    font-size: 1rem;
    line-height: 1.46rem;
  }

  .nav-container-images {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    padding-top: 4rem;
    padding-bottom: 2rem;
    background-color: transparent;
    margin-right: 8rem;
    margin-left: 8rem;
    z-index: 99;
  }

  .nav-brand-container {
    float: left;
  }

  .nav-menu-brand-wrapper {
    transition: color .1s ease-in-out;
  }

  .nav-menu-brand-wrapper:hover {
    color: #ccc;
  }

  .nav-brand-item {
    pointer-events: all;
    font-family: 'Signifier-Light', Georgia, serif;
    letter-spacing: .04em;
  }

  .nav-menu-link-container {
    float: right;
    text-align: right;
    pointer-events: all;
  }

  .nav-menu-link-text {
    transition: color .1s ease-in-out;
  }

  .nav-menu-link-text:hover {
    color: #ccc;
  }

  .main-project-container {
    margin-top: 0rem;
    animation: bg-fade-in 2s 1 ease-in-out;
  }

  .main-project-img-wrapper {
    width: 28rem;
    max-width: 720px;
    margin: 0 auto;
  }

  .main-project-img-item {
    display: block;
    margin: 0 auto;
    padding-bottom: 80%;
    margin-top: 6rem;
    position: relative;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
  }

  .main-project-img-wrapper-feature {
    padding-top: 0;
    margin-top: 0rem;
  }

  .main-project-img-item-feature {
    margin-top: 9rem;
    background-size: cover;
  }

  .main-project-img-item:hover {
    cursor: pointer;
  }

  .main-project-text-container {
    width: 28rem;
    max-width: 720px;
    margin: 6rem auto 0;
  }

  .main-project-text-title,
  .main-project-text-paragraph {
    padding-top: 1rem;
    margin-bottom: 1rem;
    padding: 0;
  }

  .main-project-text-title {
    text-transform: none;
    padding-bottom: 2rem;
    margin-right: auto;
    margin-left: auto;
    padding-top: 4rem;
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    height: 3rem;
    z-index: 98;
    text-align: center;
  }

  .main-project-text-title-item {
    text-align: center;
    cursor: default;
    display: inline-block;
  }

  .main-project-container-hidden {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 0;
    overflow: hidden;
    opacity: 0;
  }

  .slides-project-container {
    display: none;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 99;
    background: #fff;
    padding-top: 0;
    padding-bottom: 0;
  }

  .slides-project-container ::selection {
    background-color: transparent;
  }

  .slides-project-grouping {
    position: relative;
    margin: 0 auto;
    margin-top: 50vh;
    transform: translateY(-50%);
  }

  .slides-project-img-item {
    width: 28rem;
    height: 28rem;
    max-width: 720px;
    max-height: 720px;
    margin: 0 auto;
    position: relative;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    cursor: pointer;
  }

  .slides-project-group-icons {
    position: absolute;
    right: calc(8rem - .5rem);
    width: 5rem;
    bottom: calc(5% - .6rem);
  }

  .slides-project-group-icons svg {
    width: .66rem;
    height: .66rem;
    padding: .5rem;
    cursor: default;
  }

  .slides-project-group-icons svg:hover {
    cursor: pointer;
  }

  .slides-project-group-icons-prev {
    position: absolute;
    left: 0;
    transform: translateY(-50%);
    top: 50%;
  }

  .slides-project-group-icons-close {
    position: absolute;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    top: 50%;
  }

  .slides-project-group-icons-next {
    position: absolute;
    right: 0;
    transform: translateY(-50%);
    top: 50%;
  }

  .footer-project-container {
    padding-top: 3rem;
    padding-bottom: 6rem;
    opacity: 1;
    margin-right: auto;
    margin-left: auto;
    width: 32rem;
  }

  .footer-project-left-container,
  .footer-project-right-container {
    width: 14rem;
    cursor: default;
  }

  .footer-project-left-container {
    float: left;
  }

  .footer-project-right-container {
    float: right;
    text-align: right;
  }

  .footer-project-left-img,
  .footer-project-right-img {
    transition: opacity .3s ease-in-out;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    padding-bottom: 100%;
    position: relative;
  }

  .footer-project-left-img:hover,
  .footer-project-right-img:hover {
    cursor: pointer;
  }

  .footer-project-title {
    text-align: right;
    z-index: 1;
    overflow: hidden;
    opacity: 0;
    transition: color .1s ease,opacity .15s ease-in-out;
    background-color: white;
    color: black;
  }

  .footer-project-left-img:hover .footer-project-title,
  .footer-project-right-img:hover .footer-project-title {
    color: black;
    width: 100%;
    opacity: 1;
  }

  .footer-project-title:hover {
    display: none;
    cursor: default;
  }

  .footer-project-title-item-name {
    position: absolute;
    bottom: -2rem;
    width: 100%;
    hyphens: auto;
    text-align: center;
    text-transform: none;
  }

  .footer-project-title-item-name:hover {
    display: none;
    cursor: default;
  }

  .footer-project-comment-container {
    margin-bottom: 3rem;
    text-align: center;
  }

  .footer-project-comment-item {
    text-transform: none;
  }

  .body-images {
    margin-left: 8rem;
    margin-right: 8rem;
  }

  .main-images-container {
    animation: bg-fade-in 2s 1 ease-in-out;
    margin-top: calc(11.2rem - 8rem);
    padding-top: 9rem;
  }

  .section-images-wrapper {
    opacity: 1;
    margin-bottom: 5.12rem;
  }

  .section-images-left-container,
  .section-images-center-container,
  .section-images-right-container {
    width: 16rem;
  }

  .section-images-left-container {
    float: left;
  }

  .section-images-center-container {
    float: left;
    margin-left: 8rem;
  }

  .section-images-right-container {
    float: right;
    text-align: right;
  }

  .section-images-left-img,
  .section-images-center-img,
  .section-images-right-img {
    transition: opacity .3s ease-in-out;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    padding-bottom: 100%;
    cursor: pointer;
    position: relative;
    display: block;
  }

  .main-about-container {
    margin-top: .15rem;
    animation: bg-fade-in 2s 1 ease-in-out;
  }

  .section-about-img-wrapper {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  .section-about-img-item {
    margin: 0 auto;
    width: 31.6rem;
    padding-bottom: 22.4rem;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
  }

  .section-about-text-container {
    margin: 0 auto;
    width: 24rem;
  }

  .section-about-text-container p {
    padding: 0;
    margin: 0;
    padding-top: .7rem;
    margin-bottom: .7rem;
  }

  .section-about-text-container p:last-child {
    margin-bottom: 0rem;
  }
}

.footer-project-comment-container {
  display: flex;
  justify-content: center;
  align-items: center;
}

.footer-scroll-top {
  appearance: none;
  -webkit-appearance: none;
  border: 0;
  background: transparent;
  padding: 0;
  display: inline-flex;
  align-items: center;
  gap: .375rem;
  font-family: 'Signifier-Light', Georgia, serif;
  font-size: var(--footer-project-title-size, .72rem);
  line-height: var(--footer-project-title-leading, .98rem);
  letter-spacing: var(--footer-project-title-track, .015em);
  text-transform: none;
  color: inherit;
  cursor: pointer;
  transition: opacity .15s ease-in-out;
}

.footer-scroll-top:hover,
.footer-scroll-top:focus-visible {
  opacity: .55;
}

.footer-scroll-top:focus-visible {
  outline: 1px solid currentColor;
  outline-offset: .25rem;
}

.footer-scroll-top-arrow {
  display: inline-block;
  font-size: var(--footer-project-arrow-size, .59rem);
  line-height: 1;
  transform: translateY(-.02em);
}

body.body-main {
  --detail-image-width: 16rem;
  --detail-text-width: 16rem;
  --project-image-top-gap: 4em;
  --project-feature-top-gap: 4em;
}

body.body-main .section-about-img-item {
  width: var(--detail-image-width);
  margin-top: var(--project-image-top-gap);
  --about-image-long-edge: var(--detail-image-width);
  --about-image-short-edge: calc(var(--about-image-long-edge) * 678 / 960);
}

body.body-main .section-about-text-container,
body.body-main .main-project-text-container {
  width: var(--detail-text-width);
  max-width: 100%;
}

body.body-main .section-about-img-wrapper,
body.body-main .main-project-img-wrapper {
  width: var(--detail-image-width);
  max-width: 100%;
  margin: 0 auto;
  padding-top: 0;
}

body.body-main .main-project-img-item {
  margin-top: var(--project-image-top-gap);
}

body.body-main .main-project-img-item-feature {
  margin-top: var(--project-feature-top-gap);
}

body.body-main .slides-project-img-item {
  width: min(var(--detail-image-width), calc(100vw - 8rem));
  max-width: var(--detail-image-width);
}

body.body-main .slides-project-img-item.image-aspect-portrait {
  width: calc(min(var(--detail-image-width), calc(100vw - 8rem)) * 678 / 960);
  max-width: calc((100vw - 8rem) * 678 / 960);
}

@media screen and (min-width: 768px) {
  body.body-main {
    --project-image-top-gap: clamp(5rem, 4.2rem + 1.2vw, 6rem);
    --project-feature-top-gap: clamp(7.4rem, 6.4rem + 1.8vw, 8.8rem);
  }
}

@media screen and (min-width: 1024px) {
  body.body-main {
    --project-feature-top-gap: clamp(8.8rem, 8.1rem + 1vw, 9.6rem);
  }
}

.footer-project-container {
  --footer-project-title-gap: 1rem;
  --footer-project-title-size: .72rem;
  --footer-project-title-leading: .98rem;
  --footer-project-title-track: .015em;
  --footer-project-title-reserve: 3.85rem;
  --footer-project-title-max: 17ch;
  --footer-project-arrow-space: .95rem;
  --footer-project-arrow-size: calc(var(--footer-project-title-size) * .82);
}

.footer-project-left-container,
.footer-project-right-container {
  position: relative;
  padding-bottom: calc(var(--footer-project-title-gap) + var(--footer-project-title-reserve));
}

.footer-project-left-img,
.footer-project-right-img {
  overflow: visible;
}

.footer-project-title,
.footer-project-left-img:hover .footer-project-title,
.footer-project-right-img:hover .footer-project-title,
.footer-project-title:hover {
  position: absolute;
  top: calc(100% + var(--footer-project-title-gap));
  left: 0;
  right: 0;
  bottom: auto;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  min-height: var(--footer-project-title-reserve);
  margin: 0;
  opacity: 1;
  width: 100%;
  overflow: visible;
  background: transparent;
  color: black;
  text-align: center;
  pointer-events: none;
}

.main-project-text-title-item {
  display: inline-flex;
  align-items: baseline;
  justify-content: center;
  gap: .42em;
  flex-wrap: wrap;
}

.main-project-text-title-item-label,
.footer-project-title-item-label {
  display: inline;
}

.footer-project-title-item-name,
.footer-project-title-item-name:hover {
  position: relative;
  display: block;
  width: 100%;
  max-width: var(--footer-project-title-max);
  margin: 0 auto;
  padding: 0 var(--footer-project-arrow-space);
  font-family: 'Signifier-Light', Georgia, serif;
  font-size: var(--footer-project-title-size);
  line-height: var(--footer-project-title-leading);
  letter-spacing: var(--footer-project-title-track);
  font-kerning: normal;
  font-feature-settings: "kern" 1;
  text-align: center;
  text-transform: none;
  text-wrap: balance;
  pointer-events: none;
}

.footer-project-title-item-label {
  display: inline;
}

.main-project-text-title-item-year,
.footer-project-title-item-year {
  display: inline;
  white-space: nowrap;
  font-size: .96em;
  letter-spacing: .03em;
  font-variant-numeric: tabular-nums;
  opacity: .78;
}

.footer-project-left-container .footer-project-title-item-name::before,
.footer-project-right-container .footer-project-title-item-name::after {
  position: absolute;
  top: 0;
  font-size: var(--footer-project-arrow-size);
  line-height: 1;
}

.footer-project-left-container .footer-project-title-item-name::before {
  content: '\2190';
  left: 0;
}

.footer-project-right-container .footer-project-title-item-name::after {
  content: '\2192';
  right: 0;
}

body.body-main .nav-container-images,
body.body-images .nav-container-images {
  font-size: var(--site-nav-size, 1rem);
  line-height: var(--site-nav-leading, 1.46rem);
}

body.body-main .nav-container-images .nav-menu-brand-wrapper,
body.body-main .nav-container-images .nav-brand-item,
body.body-main .nav-container-images .nav-menu-link-item,
body.body-main .nav-container-images .nav-menu-link-text,
body.body-images .nav-container-images .nav-menu-brand-wrapper,
body.body-images .nav-container-images .nav-brand-item,
body.body-images .nav-container-images .nav-menu-link-item,
body.body-images .nav-container-images .nav-menu-link-text {
  font-size: inherit;
  line-height: inherit;
}

body.body-main .nav-container-images .nav-brand-item,
body.body-images .nav-container-images .nav-brand-item {
  display: block;
  font-family: 'Signifier-Light', Georgia, serif;
  letter-spacing: .04em;
}

body.body-main .nav-container-images h1.nav-brand-item,
body.body-images .nav-container-images h1.nav-brand-item {
  margin: 0;
  font-size: inherit;
  line-height: inherit;
  font-weight: normal;
}

body.body-main .main-project-text-title {
  font-size: var(--site-nav-size, 1rem);
  line-height: var(--site-nav-leading, 1.46rem);
}

body.body-main .main-project-text-title-item,
body.body-main .main-project-text-title-item-label,
body.body-main .main-project-text-title-item-year {
  font-size: inherit;
  line-height: inherit;
}

body.body-about .main-about-container {
  padding-top: 0;
  margin-top: 0;
}

body.body-about .section-about-container:first-of-type .section-about-img-wrapper {
  padding-top: 0;
}

body.body-about .nav-menu-link-container {
  max-width: min(34vw, 18rem);
}

body.body-about .nav-menu-link-item {
  display: block;
}

body.body-about .nav-menu-link-text {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.section-images-left-img,
.section-images-center-img,
.section-images-right-img,
.section-images-item,
.section-about-img-item,
.main-project-img-item,
.slides-project-img-item,
.footer-project-left-img,
.footer-project-right-img,
.image-aspect-item {
  aspect-ratio: 960 / 678;
  height: auto;
  padding-bottom: 0 !important;
}

.section-images-left-img.image-aspect-portrait,
.section-images-center-img.image-aspect-portrait,
.section-images-right-img.image-aspect-portrait,
.main-project-img-item.image-aspect-portrait,
.footer-project-left-img.image-aspect-portrait,
.footer-project-right-img.image-aspect-portrait,
.image-aspect-item.image-aspect-portrait {
  width: calc(100% * 678 / 960);
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  aspect-ratio: 678 / 960;
  background-size: contain;
}

.section-about-img-item.image-aspect-portrait {
  width: var(--about-image-short-edge);
  max-width: 100%;
}

.slides-project-img-item.image-aspect-portrait {
  width: calc(min(28rem, calc(100vw - 8rem)) * 678 / 960);
  max-width: calc(100vw - 8rem);
}

.image-aspect-item.image-aspect-landscape,
.image-aspect-item.image-aspect-pending {
  aspect-ratio: 960 / 678;
}

.slides-project-img-item {
  width: min(28rem, calc(100vw - 8rem));
  max-width: 28rem;
  max-height: none;
  margin: 0 auto;
}

@media screen and (max-width: 499px) and (max-height: 439px) {
  body.body-main,
  body.body-images .nav-container-images {
    --site-nav-size: .8rem;
    --site-nav-leading: 1rem;
  }
}

@media screen and (max-width: 499px) and (min-height: 440px) {
  body.body-main,
  body.body-images .nav-container-images {
    --site-nav-size: .64rem;
    --site-nav-leading: 1rem;
  }
}

@media screen and (min-width: 500px) and (max-width: 799px) and (max-height: 439px) {
  body.body-main,
  body.body-images .nav-container-images {
    --site-nav-size: .8rem;
    --site-nav-leading: 1rem;
  }
}

@media screen and (min-width: 500px) and (max-width: 799px) and (min-height: 440px) {
  body.body-main {
    --detail-image-width: 17.5rem;
    --detail-text-width: 17.5rem;
  }

  body.body-main,
  body.body-images .nav-container-images {
    --site-nav-size: .8rem;
    --site-nav-leading: 1.18rem;
  }
}

@media screen and (min-width: 800px) and (max-width: 1199px) {
  body.body-main {
    --detail-image-width: 17.5rem;
    --detail-text-width: 16rem;
  }

  body.body-main,
  body.body-images .nav-container-images {
    --site-nav-size: .82rem;
    --site-nav-leading: 1.23rem;
  }
}

@media screen and (min-width: 1200px) {
  body.body-main {
    --detail-image-width: 31.6rem;
    --detail-text-width: 24rem;
  }

  body.body-main,
  body.body-images .nav-container-images {
    --site-nav-size: 1rem;
    --site-nav-leading: 1.46rem;
  }
}

@media screen and (min-width: 768px) {
  body.body-main,
  body.body-images {
    font-size: 16px;
    line-height: 23px;
  }

  body.body-main,
  body.body-images .nav-container-images {
    --site-nav-size: 16px;
    --site-nav-leading: 23px;
  }

  .footer-project-container {
    --footer-project-title-size: 13.824px;
    --footer-project-title-leading: 18.816px;
    --footer-project-arrow-size: 11.33568px;
  }
}

body.body-images .main-images-container {
  --home-grid-columns: 3;
  --home-grid-column-width: 4rem;
  --home-grid-column-gap: 2rem;
  --home-grid-row-gap: calc(var(--home-grid-column-gap) * 2);
  display: grid;
  grid-template-columns: repeat(var(--home-grid-columns), minmax(0, 1fr));
  column-gap: var(--home-grid-column-gap);
  row-gap: var(--home-grid-row-gap);
  align-items: center;
  justify-items: center;
}

body.body-images .main-images-container .section-images-item-container,
body.body-images .main-images-container .section-images-left-container,
body.body-images .main-images-container .section-images-center-container,
body.body-images .main-images-container .section-images-right-container {
  float: none;
  width: min(100%, var(--home-grid-column-width));
  justify-self: center;
  align-self: center;
  margin: 0;
  text-align: center;
  content-visibility: auto;
  contain-intrinsic-size: 1px 18rem;
}

body.body-images .main-images-container .section-images-item,
body.body-images .main-images-container .section-images-left-img,
body.body-images .main-images-container .section-images-center-img,
body.body-images .main-images-container .section-images-right-img {
  width: min(100%, var(--home-grid-column-width));
  display: block;
  position: relative;
  cursor: pointer;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  border: 1px solid #efefef;
  box-sizing: border-box;
}

body.body-images .main-images-container .section-images-item.image-aspect-portrait,
body.body-images .main-images-container .section-images-left-img.image-aspect-portrait,
body.body-images .main-images-container .section-images-center-img.image-aspect-portrait,
body.body-images .main-images-container .section-images-right-img.image-aspect-portrait {
  width: min(calc(var(--home-grid-column-width) * 678 / 960), calc(100% * 678 / 960));
  max-width: 100%;
}

body.body-images .main-images-container .home-feed-asset {
  position: relative;
  overflow: hidden;
  transform: translateZ(0);
  /* background-color: #f3f0ea; */
}

body.body-images .main-images-container .home-feed-asset::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(255,255,255,.92) 0%, rgba(240,236,229,.96) 52%, rgba(255,255,255,.88) 100%);
  opacity: .94;
  transition: opacity .65s ease;
  animation: home-feed-placeholder 1.45s ease-in-out infinite alternate;
}

body.body-images .main-images-container .home-feed-asset.lazy-asset-loading::after {
  opacity: .9;
}

body.body-images .main-images-container .home-feed-asset.lazy-asset-loaded::after {
  opacity: 0;
  animation: none;
}

body.body-images .main-images-container .home-feed-asset.lazy-asset-error::after {
  opacity: .24;
  animation: none;
}

body.body-images .main-images-container .home-feed-sentinel {
  grid-column: 1 / -1;
  width: 100%;
  height: 1px;
}

@keyframes home-feed-placeholder {
  from {
    opacity: .82;
  }

  to {
    opacity: .97;
  }
}

@media screen and (max-width: 499px) and (max-height: 439px) {
  body.body-images .main-images-container {
    --home-grid-columns: 3;
    --home-grid-column-width: 4rem;
    --home-grid-column-gap: 2rem;
  }
}

@media screen and (max-width: 499px) and (min-height: 440px) {
  body.body-images .main-images-container {
    --home-grid-columns: 3;
    --home-grid-column-width: 4rem;
    --home-grid-column-gap: 2rem;
  }
}

@media screen and (min-width: 500px) and (max-width: 799px) and (max-height: 439px) {
  body.body-images .main-images-container {
    --home-grid-columns: 3;
    --home-grid-column-width: 8rem;
    --home-grid-column-gap: 3rem;
  }
}

@media screen and (min-width: 500px) and (max-width: 799px) and (min-height: 440px) {
  body.body-images .main-images-container {
    --home-grid-columns: 3;
    --home-grid-column-width: 8rem;
    --home-grid-column-gap: 3rem;
  }
}

@media screen and (min-width: 800px) and (max-width: 1199px) {
  body.body-images .main-images-container {
    --home-grid-columns: 4;
    --home-grid-column-width: 10rem;
    --home-grid-column-gap: 4rem;
  }
}

@media screen and (min-width: 1200px) {
  body.body-images .main-images-container {
    --home-grid-columns: 4;
    --home-grid-column-width: 12rem;
    --home-grid-column-gap: 4rem;
  }
}

@media screen and (min-width: 1440px) {
  body.body-images .main-images-container {
    --home-grid-columns: 5;
    --home-grid-column-width: 12rem;
    --home-grid-column-gap: 4rem;
  }
}

@media screen and (min-width: 800px) {
  body.body-main,
  body.body-images {
    --home-desktop-side-padding: clamp(5rem, 6vw, 8rem);
  }

  body.body-images {
    --home-center-reserve: clamp(12rem, 19vw, 18rem);
    --home-desktop-top-offset: clamp(7.8rem, 10vw, 9.8rem);
    --home-grid-columns: 3;
    --home-grid-column-gap: clamp(1.5rem, 2.5vw, 4rem);
    --home-grid-row-gap: calc(var(--home-grid-column-gap) * 1.15);
    --home-center-track-width: min(44rem, calc(100vw - (var(--home-desktop-side-padding) * 2) - var(--home-center-reserve)));
    margin-left: 0;
    margin-right: 0;
    overflow-x: hidden;
    overflow-y: auto;
  }

  body.body-images .nav-container-images {
    margin-left: 0;
    margin-right: 0;
    padding-left: var(--home-desktop-side-padding);
    padding-right: var(--home-desktop-side-padding);
  }

  body.body-main .nav-container-images {
    margin-left: 0;
    margin-right: 0;
    padding-left: var(--home-desktop-side-padding);
    padding-right: var(--home-desktop-side-padding);
  }

  body.body-images .main-images-container {
    width: min(100%, var(--home-center-track-width));
    max-width: var(--home-center-track-width);
    margin: var(--home-desktop-top-offset) auto 0;
    padding-top: 0;
    padding-bottom: 4rem;
    overflow: visible;
    align-content: start;
    justify-items: stretch;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: var(--home-grid-column-gap);
    row-gap: var(--home-grid-row-gap);
  }

  body.body-images .main-images-container .section-images-item-container,
  body.body-images .main-images-container .section-images-left-container,
  body.body-images .main-images-container .section-images-center-container,
  body.body-images .main-images-container .section-images-right-container {
    content-visibility: visible;
    contain: none;
    width: 100%;
    max-width: none;
  }

  body.body-images .main-images-container .section-images-item,
  body.body-images .main-images-container .section-images-left-img,
  body.body-images .main-images-container .section-images-center-img,
  body.body-images .main-images-container .section-images-right-img {
    width: 100%;
    max-width: none;
  }

  body.body-images .main-images-container .section-images-item.image-aspect-portrait,
  body.body-images .main-images-container .section-images-left-img.image-aspect-portrait,
  body.body-images .main-images-container .section-images-center-img.image-aspect-portrait,
  body.body-images .main-images-container .section-images-right-img.image-aspect-portrait {
    width: calc(100% * 678 / 960);
  }

  body.body-images .footer-project-container {
    display: none;
  }
}
