@import url("./assets/styles/font.css");

* {
  outline: none !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0;
  margin: 0;
}

a {
  color: inherit;
  text-decoration: none;
}

small,
input,
textarea,
select,
button {
  padding: 0;
  color: inherit;
  background-color: transparent;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  font: inherit;
  text-align: inherit;
  text-transform: inherit;
  letter-spacing: inherit;
}

button {
  border: unset;
}

li {
  display: block;
}

h1,
h2,
h3,
h4,
h5,
h6,
small {
  font: inherit;
}

:root {
  --color_primary: #000;
  --color_primary_0: rgba(0, 0, 0, 0);
  --color_secondary: #fff;
  --color_secondary_0: rgba(255, 255, 255, 0);
  --font_regular: "ABCDiatype-Regular", sans-serif;
  --font_bold: "ABCDiatype-Bold", sans-serif;
}

/* mixins.scss */

/* MEDIAS */

/* LARGE DESKTOP */

/* MEDIUM DESKTOP */

/* TABLET> */

/* MOBILE */

/* MOBILE */

/* MAX TABLET< */

/* ONLY TABLET */

/* Bg images aspect ratio */

/* @include aspect-ratio(4,3); */

/* underline effect , center/right/left - mixin by @martifenosa */

/* height & distance with px */

@font-face {
  font-family: "ABCDiatype-Regular";
  src: url("./assets/fonts/robot-mono/RobotoMono-Medium.ttf") format("ttf");
}

@font-face {
  font-family: "ABCDiatype-Bold";
  src: url("./assets/fonts/robot-mono/RobotoMono-Bold.ttf") format("ttf");
}

* {
  cursor: none;
}

body {
  background-color: #fff;
  background-color: var(--color_secondary);
  -webkit-transition: background-color 200ms ease;
  -o-transition: background-color 200ms ease;
  -moz-transition: background-color 200ms ease;
  transition: background-color 200ms ease;
  color: #000;
  color: var(--color_primary);
  font-family: "ABCDiatype-Regular", sans-serif;
  font-family: var(--font_regular);
  font-style: normal;
  font-weight: 400;
  font-size: 14px;
  letter-spacing: 0.02em;
  line-height: 1;
}

body.nav-open {
  background-color: #000;
  background-color: var(--color_primary);
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  body {
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1;
  }
}

h2 {
  font-family: "ABCDiatype-Regular", sans-serif;
  font-family: var(--font_regular);
  font-size: 2.5rem;
  letter-spacing: -0.02em;
  font-style: normal;
  line-height: 1;
  -webkit-transition: color 200ms ease;
  -o-transition: color 200ms ease;
  -moz-transition: color 200ms ease;
  transition: color 200ms ease;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  h2 {
    font-size: 54px;
    line-height: 48px;
  }
}

@media only screen and (max-device-width: 374px),
  only screen and (max-width: 374px) {
  h2 {
    font-size: 36px;
    letter-spacing: -0.01em;
    line-height: 32px;
  }
}

.nav-container .menu a {
  font-family: "ABCDiatype-Regular", sans-serif;
  font-family: var(--font_regular);
  font-size: 18px;
  font-style: normal;
  letter-spacing: 0;
  line-height: 28px;
  -webkit-transition: color 200ms ease;
  -o-transition: color 200ms ease;
  -moz-transition: color 200ms ease;
  transition: color 200ms ease;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  .nav-container .menu a {
    font-size: 54px;
    line-height: 48px;
  }
}

@media only screen and (max-device-width: 374px),
  only screen and (max-width: 374px) {
  .nav-container .menu a {
    font-size: 36px;
    letter-spacing: -0.01em;
    line-height: 32px;
  }
}

h3 {
  font-family: "ABCDiatype-Regular", sans-serif;
  font-family: var(--font_regular);
  font-size: 24px;
  font-style: normal;
  letter-spacing: 0;
  line-height: 28px;
  -webkit-transition: color 200ms ease;
  -o-transition: color 200ms ease;
  -moz-transition: color 200ms ease;
  transition: color 200ms ease;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  h3 {
    font-size: 36px;
    letter-spacing: -0.02em;
    line-height: 44px;
  }
}

@media only screen and (max-device-width: 374px),
  only screen and (max-width: 374px) {
  h3 {
    font-size: 28px;
    letter-spacing: -0.01em;
    line-height: 35px;
  }
}

h4 {
  font-family: "ABCDiatype-Bold", sans-serif;
  font-family: var(--font_bold);
  font-size: 14px;
  font-style: normal;
  letter-spacing: 0.15em;
  line-height: 1;
  text-transform: uppercase;
  -webkit-transition: color 200ms ease;
  -o-transition: color 200ms ease;
  -moz-transition: color 200ms ease;
  transition: color 200ms ease;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  h4 {
    font-size: 16px;
    letter-spacing: 0.15em;
  }
}

h5 {
  font-family: "ABCDiatype-Regular", sans-serif;
  font-family: var(--font_regular);
  font-size: 14px;
  font-style: normal;
  letter-spacing: 0.1em;
  line-height: 1;
  -webkit-transition: color 200ms ease;
  -o-transition: color 200ms ease;
  -moz-transition: color 200ms ease;
  transition: color 200ms ease;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  h5 {
    font-size: 16px;
    letter-spacing: 0.08em;
  }
}

p {
  line-height: 1.15;
}

strong {
  font-family: "ABCDiatype-Bold", sans-serif;
  font-family: var(--font_bold);
  font-weight: normal;
  letter-spacing: 0.02em;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  strong {
    letter-spacing: 0;
  }
}

#smooth-content {
  -webkit-transition: opacity 600ms ease;
  -o-transition: opacity 600ms ease;
  -moz-transition: opacity 600ms ease;
  transition: opacity 600ms ease;
}

/* NAV-OPEN */

.nav-open #smooth-content {
  opacity: 0;
}

/* TRANSITION */

.swup-transition-fade {
  -webkit-transition: opacity 300ms ease;
  -o-transition: opacity 300ms ease;
  -moz-transition: opacity 300ms ease;
  transition: opacity 300ms ease;
  opacity: 1;
}

html.is-changing body,
html.is-changing footer {
  background-color: #fff;
  background-color: var(--color_secondary);
}

html.is-animating .swup-transition-fade {
  opacity: 0;
}

/* IMAGES */

img {
  opacity: 0;
  -webkit-transition: opacity 300ms ease;
  -o-transition: opacity 300ms ease;
  -moz-transition: opacity 300ms ease;
  transition: opacity 300ms ease;
}

img.loaded {
  opacity: 1;
}

.theme-color {
  --color_primary: #222;
  --color_secondary: #ebebeb;
}

.theme-color .page-template-page-display {
  --color_primary: #47ff64;
  --color_secondary: #032f5a;
}

.theme-color .page-template-page-categories.residential {
  --color_primary: #fecbdd;
  --color_secondary: #6d492c;
}

.theme-color .page-template-page-categories.workplace {
  --color_primary: #ff3d00;
  --color_secondary: #ebebeb;
}

.theme-color .page-template-page-categories.retail {
  --color_primary: #0047ff;
  --color_secondary: #efe6f2;
}

.theme-color .post-type-archive-project {
  --color_primary: #efe6f2;
  --color_secondary: #0047ff;
}

.theme-color .page-template-page-material,
.theme-color .tax-material {
  /* --color_primary: #032f5a;
      --color_secondary: #47ff64; */
  --color_primary: #000;
  --color_secondary: #fff;
}

.theme-color .page-template-page-textual {
  --color_primary: #ebebeb;
  --color_secondary: #ff3d00;
}

.theme-color .page-template-page-about {
  --color_primary: #f00;
  --color_secondary: #ebebeb;
}

.theme-color .error404 {
  --color_primary: #fecbdd;
  --color_secondary: #6d492c;
}

.theme-color .colorSwitch circle {
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  transform: translateX(-50%);
}

#page-404 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -moz-box-orient: vertical;
  -moz-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -moz-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  text-align: center;
  min-height: 100vh;
}

#page-404 p,
#page-404 a {
  display: block;
  padding: 6px 0;
}

#page-404 a {
  border-bottom: 2px solid var(--color-primary);
}

#page-display .swiper-home {
  width: 100%;
  height: 100vh;
  height: -webkit-calc(1vh * 100);
  height: -moz-calc(1vh * 100);
  height: calc(1vh * 100);
  height: -webkit-calc(var(--vh, 1vh) * 100);
  height: -moz-calc(var(--vh, 1vh) * 100);
  height: calc(var(--vh, 1vh) * 100);
  overflow: hidden;
}

#page-display .swiper-home .swiper-slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  pointer-events: none;
}

/* Make breakpoint different on Display */

/* header {
      @include sm {
        padding: 16px;
      }
  
      @include xxs {
        padding: 48px 0 16px;
      }
    } */

.page-template-page-display h1 .logo.desktop {
  display: block;
}

@media only screen and (max-device-width: 400px),
  only screen and (max-width: 500px) {
  .page-template-page-display h1 .logo.desktop {
    display: none;
  }
}

.page-template-page-display h1 .logo.mobile {
  display: none;
}

@media only screen and (max-device-width: 400px),
  only screen and (max-width: 500px) {
  .page-template-page-display h1 .logo.mobile {
    display: block;
  }
}

.page-template-page-display nav .nav-container {
  opacity: 0;
  pointer-events: none;
}

@media only screen and (min-width: 1300px) {
  .page-template-page-display nav .nav-container {
    opacity: 1;
    pointer-events: all;
  }
}

.page-template-page-display nav .toggle-menu {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -moz-box-orient: vertical;
  -moz-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  grid-gap: 8px;
  gap: 8px;
  pointer-events: all;
  width: 100%;
  padding: 24px 0;
  position: fixed;
  z-index: 999;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  transform: translateX(-50%);
}

@media only screen and (min-width: 1300px) {
  .page-template-page-display nav .toggle-menu {
    display: none;
  }
}

.page-template-page-display nav .toggle-menu #toggle-menu-menu {
  display: block;
}

.page-template-page-display nav .toggle-menu #toggle-menu-close {
  display: none;
}

.page-template-page-display nav .toggle-menu #icon-toggle-close {
  display: none;
}

.page-template-page-display nav .toggle-menu #icon-toggle-close path {
  fill: #fff;
  fill: var(--color_secondary);
}

.page-template-page-display nav .toggle-menu #icon-toggle-menu {
  display: block;
}

.page-template-page-display nav .toggle-menu #icon-toggle-menu path {
  stroke: #000;
  stroke: var(--color_primary);
}

.page-template-page-display nav .toggle-menu .background-toggle {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  background: #000;
  background: var(--color_primary);
  background: -webkit-gradient(
    linear,
    left bottom,
    left top,
    from(#000),
    to(rgba(0, 0, 0, 0))
  );
  background: -webkit-linear-gradient(bottom, #000 0%, rgba(0, 0, 0, 0) 100%);
  background: -moz-linear-gradient(bottom, #000 0%, rgba(0, 0, 0, 0) 100%);
  background: -o-linear-gradient(bottom, #000 0%, rgba(0, 0, 0, 0) 100%);
  background: linear-gradient(0deg, #000 0%, rgba(0, 0, 0, 0) 100%);
  background: -webkit-gradient(
    linear,
    left bottom,
    left top,
    from(var(--color_primary)),
    to(var(--color_primary_0))
  );
  background: -webkit-linear-gradient(
    bottom,
    var(--color_primary) 0%,
    var(--color_primary_0) 100%
  );
  background: -moz-linear-gradient(
    bottom,
    var(--color_primary) 0%,
    var(--color_primary_0) 100%
  );
  background: -o-linear-gradient(
    bottom,
    var(--color_primary) 0%,
    var(--color_primary_0) 100%
  );
  background: linear-gradient(
    0deg,
    var(--color_primary) 0%,
    var(--color_primary_0) 100%
  );
  pointer-events: none;
  opacity: 0;
  -webkit-transition: opacity 300ms ease;
  -o-transition: opacity 300ms ease;
  -moz-transition: opacity 300ms ease;
  transition: opacity 300ms ease;
}

.page-template-page-display.nav-open nav .nav-container {
  opacity: 1;
  pointer-events: all;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  .page-template-page-display.nav-open nav #toggle-menu-menu {
    display: none;
  }

  .page-template-page-display.nav-open nav #toggle-menu-close {
    display: block;
    color: #fff;
    color: var(--color_secondary);
  }

  .page-template-page-display.nav-open nav #icon-toggle-close {
    display: block;
  }

  .page-template-page-display.nav-open nav #icon-toggle-menu {
    display: none;
  }

  .page-template-page-display.nav-open nav .background-toggle {
    opacity: 1;
  }
}

#page-about {
  margin-top: 8vw;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  #page-about {
    margin-top: 245px;
  }
}

#page-about section {
  max-width: 1265px;
  margin: 0 auto 164px;
  padding: 16px;
}

#page-about section h4 {
  margin-bottom: 24px;
}

#page-about img {
  width: 100%;
  height: auto;
}

#page-about #intro {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-column-gap: 24px;
  -webkit-column-gap: 24px;
  -moz-column-gap: 24px;
  column-gap: 24px;
  padding: 0;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  #page-about #intro {
    grid-template-columns: minmax(0, 1fr);
    grid-gap: 80px;
    gap: 80px;
  }
}

#page-about #intro .contact {
  padding: 0;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  #page-about #intro .contact {
    padding: 0 16px;
  }
}

#page-about #intro .contact h3 {
  margin-bottom: 24px;
}

#page-about #intro .contact p {
  margin-bottom: 12px;
}

#page-about #intro .contact #social-media {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  grid-column-gap: 16px;
  -webkit-column-gap: 16px;
  -moz-column-gap: 16px;
  column-gap: 16px;
  grid-row-gap: 4px;
  row-gap: 4px;
}

#page-about #intro .contact #social-media:empty {
  display: none;
  margin-bottom: 0;
}

#page-about #intro .contact #social-media a {
  position: relative;
}

@media (hover: hover) {
  #page-about #intro .contact #social-media a:hover {
    font-family: "ABCDiatype-Bold", sans-serif;
    font-family: var(--font_bold);
  }
}

#page-about #intro #gallery_mobile {
  display: none;
  position: relative;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  #page-about #intro #gallery_mobile {
    width: 100%;
    height: 50vh;
    display: block;
    /* aspect-ratio: 1; */
    overflow: hidden;
  } /* display: flex;
          flex-direction: row; */

  #page-about #intro #gallery_mobile .gallery-wrapper {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    position: absolute;
    z-index: 1;
    height: 100%;
    top: 0;
    left: 0;
    width: 100%;
  }

  #page-about #intro #gallery_mobile .gallery-wrapper li {
    min-width: 100vw;
    min-height: 50vh;
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100%;
  }

  #page-about #intro #gallery_mobile .gallery-wrapper li img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }
}

#page-about #intro .ethos {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  max-width: 549px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -moz-box-orient: vertical;
  -moz-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -moz-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  letter-spacing: 0.48px;
  padding: 0;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  #page-about #intro .ethos {
    padding: 0 16px;
  }
}

#page-about #lead {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -moz-box-orient: vertical;
  -moz-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  #page-about #lead {
    margin-bottom: 40px;
  }
}

#page-about #lead .block {
  max-width: 800px;
}

#page-about #lead .block .titles {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -moz-box-orient: horizontal;
  -moz-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  padding-bottom: 4px;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  #page-about #lead .block .titles {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -moz-box-orient: vertical;
    -moz-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding-bottom: 16px;
  }
}

#page-about #lead .block .titles .lead_p {
  width: 50%;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  #page-about #lead .block .titles .lead_p {
    width: 100%;
  }
}

#page-about #lead .block img {
  aspect-ratio: 1;
  overflow: hidden;
  -o-object-fit: cover;
  object-fit: cover;
}

#page-about #members {
  max-width: 100%;
  margin: 0 auto 45px;
}

#page-about #members h4 {
  display: none;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  #page-about #members h4 {
    display: block;
  }
}

#page-about #members ul {
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -moz-box-orient: horizontal;
  -moz-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  grid-gap: 16px;
  gap: 16px;
  margin-bottom: 75px;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  #page-about #members ul {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -moz-box-orient: vertical;
    -moz-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    margin-bottom: 16px;
  }
}

#page-about #members ul li {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -moz-box-orient: vertical;
  -moz-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  grid-gap: 8px;
  gap: 8px;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  #page-about #members ul li {
    margin-top: 0 !important;
  }
}

#page-about #members ul li img {
  aspect-ratio: 1;
  overflow: hidden;
  -o-object-fit: cover;
  object-fit: cover;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  #page-about #members ul li img {
    display: none;
  }
}

#page-about #members ul.members_01:has(li:nth-of-type(3)) li:first-of-type {
  margin-top: 490px;
}

#page-about #members ul.members_01:has(li:nth-of-type(3)) li:nth-of-type(2) {
  margin-top: 200px;
}

#page-about #members ul.members_02:has(li:nth-of-type(3)) li:first-of-type {
  margin-top: 184px;
}

#page-about #members ul.members_02:has(li:nth-of-type(3)) li:nth-of-type(2) {
  margin-top: 490px;
}

#page-about #members .images {
  display: grid;
  grid-template-columns: -webkit-calc(2 / 3 * 100%) -webkit-calc(1 / 3 * 100%);
  grid-template-columns: -moz-calc(2 / 3 * 100%) -moz-calc(1 / 3 * 100%);
  grid-template-columns: calc(2 / 3 * 100%) calc(1 / 3 * 100%);
  -webkit-box-align: center;
  -webkit-align-items: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -moz-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  justify-items: end;
}

#page-about #members .images img {
  overflow: hidden;
  -o-object-fit: cover;
  object-fit: cover;
}

#page-about #members .images img:first-of-type {
  aspect-ratio: 4/3;
}

#page-about #members .images img:last-of-type {
  width: 50%;
  aspect-ratio: 1;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  #page-about #members .images {
    display: none;
  }
}

#single-project {
  margin-top: 8vw;
  min-height: -webkit-calc(100vh - 8vw);
  min-height: -moz-calc(100vh - 8vw);
  min-height: calc(100vh - 8vw);
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  #single-project {
    margin-top: 0;
    min-height: 100vh;
    min-height: -webkit-calc(1vh * 100);
    min-height: -moz-calc(1vh * 100);
    min-height: calc(1vh * 100);
    min-height: -webkit-calc(var(--vh, 1vh) * 100);
    min-height: -moz-calc(var(--vh, 1vh) * 100);
    min-height: calc(var(--vh, 1vh) * 100);
  }
}

#single-project .swiper-single {
  width: 100vw;
  height: -webkit-calc(100vh - 8vw);
  height: -moz-calc(100vh - 8vw);
  height: calc(100vh - 8vw);
  padding-bottom: 138px;
  position: relative;
  overflow: hidden;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  #single-project .swiper-single {
    width: 100vw;
    height: -webkit-calc(-webkit-calc(1vh * 100) - 40vw);
    height: -moz-calc(-moz-calc(1vh * 100) - 40vw);
    height: calc(calc(1vh * 100) - 40vw);
    height: -webkit-calc(-webkit-calc(var(--vh, 1vh) * 100) - 40vw);
    height: -moz-calc(-moz-calc(var(--vh, 1vh) * 100) - 40vw);
    height: calc(calc(var(--vh, 1vh) * 100) - 40vw);
    padding-bottom: 0;
  }
}

#single-project .swiper-single .swiper-button-prev,
#single-project .swiper-single .swiper-button-next {
  top: 0;
  margin-top: 0;
  width: 25%;
  height: 100%;
  background-image: none;
  cursor: none;
}

#single-project .swiper-single .swiper-wrapper {
  padding: 0 16px;
}

#single-project .swiper-single .swiper-wrapper .swiper-slide {
  max-width: -webkit-fit-content;
  max-width: -moz-fit-content;
  max-width: fit-content;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  #single-project .swiper-single .swiper-wrapper .swiper-slide {
    position: relative;
    width: auto;
    max-width: -webkit-max-content;
    max-width: -moz-max-content;
    max-width: max-content;
    background-color: #fff;
    background-color: var(--color_secondary);
    border-right: 8px solid #fff;
    border-right: 8px solid var(--color_secondary);
    overflow: hidden;
  }

  #single-project .swiper-single .swiper-wrapper .swiper-slide.vertical {
    aspect-ratio: 2/3;
  }

  #single-project .swiper-single .swiper-wrapper .swiper-slide.horizontal {
    aspect-ratio: 3/2;
  }
}

#single-project .swiper-single .swiper-wrapper .swiper-slide img {
  width: auto;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  #single-project .swiper-single .swiper-wrapper .swiper-slide img {
    position: absolute;
    top: 0;
    left: 0;
  }
}

#single-project .swiper-single .swiper-wrapper .empty-one {
  display: none;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  #single-project .swiper-single .swiper-wrapper .empty-one {
    position: relative;
    display: block;
    min-width: 58vw;
    background-color: unset;
  }
}

#single-project .swiper-single .swiper-wrapper .empty-one svg {
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
}

#single-project .swiper-single .swiper-pagination {
  position: fixed;
  top: unset;
  bottom: 46px;
  left: 16px;
  width: -webkit-calc(100% - 32px);
  width: -moz-calc(100% - 32px);
  width: calc(100% - 32px);
  height: 2px;
  background: transparent;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  #single-project .swiper-single .swiper-pagination {
    display: none;
  }
}

#single-project
  .swiper-single
  .swiper-pagination
  .swiper-pagination-progressbar-fill {
  background-color: #000;
  background-color: var(--color_primary);
  -webkit-transition: -webkit-transform 600ms ease !important;
  transition: -webkit-transform 600ms ease !important;
  -o-transition: -o-transform 600ms ease !important;
  -moz-transition:
    transform 600ms ease,
    -moz-transform 600ms ease !important;
  transition: transform 600ms ease !important;
  transition:
    transform 600ms ease,
    -webkit-transform 600ms ease,
    -moz-transform 600ms ease,
    -o-transform 600ms ease !important;
}

#single-project .swiper-single .credits {
  position: absolute;
  bottom: 100px;
  left: 0;
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -moz-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding: 12px;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  #single-project .swiper-single .credits {
    width: 58vw;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -moz-box-orient: vertical;
    -moz-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    grid-gap: 8px;
    gap: 8px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
    bottom: unset;
  }
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  #single-project .swiper-single .credits #return {
    display: none;
  }
}

#single-project #return-mobile,
#single-project #toggle-info {
  display: none;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  #single-project #return-mobile,
  #single-project #toggle-info {
    display: block;
    position: fixed;
    bottom: 0;
    z-index: 9999;
    padding: 24px 32px;
  }
}

#single-project #return-mobile {
  display: none;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  #single-project #return-mobile {
    left: 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -moz-box-orient: vertical;
    -moz-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    grid-gap: 8px;
    gap: 8px;
  } /* cursor: pointer; */

  #single-project #return-mobile svg path {
    fill: #000;
    fill: var(--color_primary);
  }
}

#single-project #toggle-info {
  right: 0;
}

.post-type-archive-project {
  margin-top: 8vw;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  .post-type-archive-project {
    margin-top: 0;
  }
}

.post-type-archive-project #archive-project {
  /* display: grid;
      grid-template-columns: 1fr 3fr; */
  padding: 0 16px;
  min-height: -webkit-calc(100vh - 8vw);
  min-height: -moz-calc(100vh - 8vw);
  min-height: calc(100vh - 8vw);
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  .post-type-archive-project #archive-project {
    position: relative;
    min-height: 100vh;
    min-height: -webkit-calc(1vh * 100);
    min-height: -moz-calc(1vh * 100);
    min-height: calc(1vh * 100);
    min-height: -webkit-calc(var(--vh, 1vh) * 100);
    min-height: -moz-calc(var(--vh, 1vh) * 100);
    min-height: calc(var(--vh, 1vh) * 100);
    grid-template-columns: 100%;
  }
}

.post-type-archive-project #archive-project #filters {
  padding: 0 24px 0 0;
  position: fixed;
  top: 8vw;
  width: -webkit-calc(1/3 * 100%);
  width: -moz-calc(1/3 * 100%);
  width: calc(1 / 3 * 100%);
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  .post-type-archive-project #archive-project #filters {
    position: absolute;
    width: 100%;
    height: 0;
    bottom: unset;
    top: 102px;
    left: 0;
    z-index: 97;
    background-color: #fff;
    background-color: var(--color_secondary);
    padding: 16px 16px 102px 16px;
    opacity: 0;
    -webkit-transition: opacity 300ms ease;
    -o-transition: opacity 300ms ease;
    -moz-transition: opacity 300ms ease;
    transition: opacity 300ms ease;
    pointer-events: none;
  }

  .post-type-archive-project #archive-project #filters.open {
    opacity: 1;
    pointer-events: visible;
    height: auto;
  }
}

.post-type-archive-project #archive-project #filters h4 {
  padding-bottom: 24px;
}

.post-type-archive-project #archive-project #filters > div {
  padding-bottom: 24px;
}

.post-type-archive-project #archive-project #filters > div h5 {
  padding-bottom: 4px;
}

.post-type-archive-project #archive-project #filters > div h3 {
  position: relative;
  display: inline-block;
  padding-right: 4px;
}

.post-type-archive-project #archive-project #filters > div h3:last-of-type {
  padding-right: 0;
}

.post-type-archive-project #archive-project #projects-container {
  width: -webkit-calc(2/3 * 100%);
  width: -moz-calc(2/3 * 100%);
  width: calc(2 / 3 * 100%);
  float: right;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  .post-type-archive-project #archive-project #projects-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    padding-top: 50vh;
    padding-bottom: -webkit-calc(50vh - 8px);
    padding-bottom: -moz-calc(50vh - 8px);
    padding-bottom: calc(50vh - 8px);
    padding-left: 16px;
    padding-right: 16px;
    float: unset;
  }

  .post-type-archive-project #archive-project #projects-container.fixed {
    position: fixed;
  }
}

.post-type-archive-project #archive-project #projects-container .headers {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding-bottom: 24px;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  .post-type-archive-project #archive-project #projects-container .headers {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.post-type-archive-project
  #archive-project
  #projects-container
  .headers
  h4:last-of-type {
  text-align: right;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  .post-type-archive-project
    #archive-project
    #projects-container
    .headers
    h4:not(.on-mobile) {
    display: none;
  }
}

.post-type-archive-project #archive-project #projects-container .projects {
  padding-bottom: 100px;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  .post-type-archive-project #archive-project #projects-container .projects {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -moz-box-orient: vertical;
    -moz-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding-bottom: 0;
    /* padding-bottom: 50vh; */
  }
}

.post-type-archive-project #archive-project #projects-container .projects a {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  opacity: 0;
  max-height: 0;
  -webkit-transition:
    opacity 300ms ease,
    max-height 300ms ease;
  -o-transition:
    opacity 300ms ease,
    max-height 300ms ease;
  -moz-transition:
    opacity 300ms ease,
    max-height 300ms ease;
  transition:
    opacity 300ms ease,
    max-height 300ms ease;
}

@media (hover: hover) {
  .post-type-archive-project
    #archive-project
    #projects-container
    .projects
    a:hover {
    font-family: "ABCDiatype-Bold", sans-serif;
    font-family: var(--font_bold);
  }

  .post-type-archive-project
    #archive-project
    #projects-container
    .projects
    a:hover
    .wp-post-image {
    opacity: 1;
  }
}

.post-type-archive-project
  #archive-project
  #projects-container
  .projects
  a.show {
  opacity: 1;
  max-height: 25px;
  -webkit-transition:
    opacity 300ms ease,
    max-height 300ms ease;
  -o-transition:
    opacity 300ms ease,
    max-height 300ms ease;
  -moz-transition:
    opacity 300ms ease,
    max-height 300ms ease;
  transition:
    opacity 300ms ease,
    max-height 300ms ease;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  .post-type-archive-project #archive-project #projects-container .projects a {
    width: 100%;
    grid-template-columns: repeat(2, auto);
  }

  .post-type-archive-project
    #archive-project
    #projects-container
    .projects
    a.hover {
    font-family: "ABCDiatype-Bold", sans-serif;
    font-family: var(--font_bold);
  }

  .post-type-archive-project
    #archive-project
    #projects-container
    .projects
    a.hover
    .wp-post-image {
    opacity: 1;
  }
}

.post-type-archive-project
  #archive-project
  #projects-container
  .projects
  a
  p:last-of-type {
  text-align: right;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  .post-type-archive-project
    #archive-project
    #projects-container
    .projects
    a
    p:not(.on-mobile) {
    display: none;
  }
}

.post-type-archive-project
  #archive-project
  #projects-container
  .projects
  a
  img {
  position: fixed;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  max-width: 93vw;
  height: 90vh;
  -o-object-fit: contain;
  object-fit: contain;
  z-index: -1;
  pointer-events: none;
  opacity: 0;
  -webkit-transition: opacity 150ms ease;
  -o-transition: opacity 150ms ease;
  -moz-transition: opacity 150ms ease;
  transition: opacity 150ms ease;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  .post-type-archive-project
    #archive-project
    #projects-container
    .projects
    a
    img {
    width: 66vw;
    height: auto;
  }
}

.post-type-archive-project #toggle-filters,
.post-type-archive-project #clear-filters {
  display: none;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  .post-type-archive-project #toggle-filters,
  .post-type-archive-project #clear-filters {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -moz-box-orient: vertical;
    -moz-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -moz-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: fixed;
    bottom: 0;
    grid-gap: 8px;
    gap: 8px;
    z-index: 999;
    padding: 24px 32px;
  }
}

.post-type-archive-project #toggle-filters {
  left: 0;
}

.post-type-archive-project #toggle-filters.active span {
  display: block;
}

.post-type-archive-project #toggle-filters span {
  display: none;
}

.post-type-archive-project #clear-filters {
  right: 0;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  .page-template-page-categories #category {
    margin-top: 88px;
  }
}

.page-template-page-categories #category .post figure img {
  -webkit-transition: opacity 300ms ease;
  -o-transition: opacity 300ms ease;
  -moz-transition: opacity 300ms ease;
  transition: opacity 300ms ease;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  .page-template-page-categories
    #category
    .post
    figure
    img:not(:first-of-type) {
    display: none;
  }
}

/* - - - - - - - - - - - R E S I D E N T I A L - - - - - - - - - - - */

.residential #category {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -moz-box-orient: horizontal;
  -moz-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  grid-row-gap: 160px;
  row-gap: 160px;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  .residential #category {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -moz-box-orient: vertical;
    -moz-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    grid-row-gap: 16px;
    row-gap: 16px;
  }
}

.residential #category .post {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  width: 50%;
  /* flex-grow: 1; */
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  .residential #category .post {
    width: 100%;
  }
}

.residential #category .post a {
  width: 100%;
}

.residential #category .post:nth-of-type(9n + 1) a {
  aspect-ratio: 1;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  max-width: 100%;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  .residential #category .post:nth-of-type(9n + 1) a {
    max-width: 78%;
  }
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  .residential #category .post:nth-of-type(9n + 1) {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -moz-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}

.residential #category .post:nth-of-type(9n + 2) {
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
  -moz-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  .residential #category .post:nth-of-type(9n + 2) {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -moz-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}

.residential #category .post:nth-of-type(9n + 2) a {
  max-width: 50%;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  aspect-ratio: 2/3;
}

.residential #category .post:nth-of-type(9n + 3) {
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
  -moz-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  .residential #category .post:nth-of-type(9n + 3) {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -moz-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}

.residential #category .post:nth-of-type(9n + 3) a {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  max-width: 50%;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  aspect-ratio: 2/3;
  margin-left: 16px;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  .residential #category .post:nth-of-type(9n + 3) a {
    margin-left: 0;
  }
}

.residential #category .post:nth-of-type(9n + 4),
.residential #category .post:nth-of-type(9n + 6),
.residential #category .post:nth-of-type(9n + 7) {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.residential #category .post:nth-of-type(9n + 4) a,
.residential #category .post:nth-of-type(9n + 6) a,
.residential #category .post:nth-of-type(9n + 7) a {
  max-width: 100%;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  margin: 0 16px;
  aspect-ratio: 3/2;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  .residential #category .post:nth-of-type(9n + 4) a,
  .residential #category .post:nth-of-type(9n + 6) a,
  .residential #category .post:nth-of-type(9n + 7) a {
    max-width: 80%;
    margin: 0 auto;
  }
}

.residential #category .post:nth-of-type(9n + 5) {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -moz-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.residential #category .post:nth-of-type(9n + 5) a {
  max-width: 50%;
  aspect-ratio: 1;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  .residential #category .post:nth-of-type(9n + 5) a {
    max-width: 66%;
  }
}

.residential #category .post:nth-of-type(9n + 8) a {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  max-width: 66%;
  aspect-ratio: 2/3;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  .residential #category .post:nth-of-type(9n + 8) a {
    max-width: 80%;
  }
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  .residential #category .post:nth-of-type(9n + 8) {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -moz-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}

.residential #category .post:nth-of-type(9n) {
  width: 100%;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -moz-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.residential #category .post:nth-of-type(9n) a {
  -webkit-box-flex: 2;
  -webkit-flex-grow: 2;
  -moz-box-flex: 2;
  -ms-flex-positive: 2;
  flex-grow: 2;
  max-width: 33%;
  aspect-ratio: 2/3;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  .residential #category .post:nth-of-type(9n) a {
    max-width: 80%;
  }
}

.residential #category .post figure {
  position: relative;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.residential #category .post figure img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  pointer-events: none;
}

.material-grid #category {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -moz-box-orient: horizontal;
  -moz-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  grid-row-gap: 160px;
  row-gap: 160px;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  .material-grid #category {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -moz-box-orient: vertical;
    -moz-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    grid-row-gap: 16px;
    row-gap: 16px;
  }
}

.material-grid #category .post {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  width: 50%;
  /* flex-grow: 1; */
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  .material-grid #category .post {
    width: 100%;
  }
}

.material-grid #category .post a {
  width: 100%;
}

.material-grid #category .post:nth-of-type(9n + 1) a {
  aspect-ratio: 1;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  max-width: 100%;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  .material-grid #category .post:nth-of-type(9n + 1) a {
    max-width: 78%;
  }
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  .material-grid #category .post:nth-of-type(9n + 1) {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -moz-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}

.material-grid #category .post:nth-of-type(9n + 2) {
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
  -moz-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  .material-grid #category .post:nth-of-type(9n + 2) {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -moz-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}

.material-grid #category .post:nth-of-type(9n + 2) a {
  max-width: 50%;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  aspect-ratio: 2/3;
}

.material-grid #category .post:nth-of-type(9n + 3) {
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
  -moz-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  .material-grid #category .post:nth-of-type(9n + 3) {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -moz-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}

.material-grid #category .post:nth-of-type(9n + 3) a {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  max-width: 50%;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  aspect-ratio: 2/3;
  margin-left: 16px;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  .material-grid #category .post:nth-of-type(9n + 3) a {
    margin-left: 0;
  }
}

.material-grid #category .post:nth-of-type(9n + 4),
.material-grid #category .post:nth-of-type(9n + 6),
.material-grid #category .post:nth-of-type(9n + 7) {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.material-grid #category .post:nth-of-type(9n + 4) a,
.material-grid #category .post:nth-of-type(9n + 6) a,
.material-grid #category .post:nth-of-type(9n + 7) a {
  max-width: 100%;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  margin: 0 16px;
  aspect-ratio: 3/2;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  .material-grid #category .post:nth-of-type(9n + 4) a,
  .material-grid #category .post:nth-of-type(9n + 6) a,
  .material-grid #category .post:nth-of-type(9n + 7) a {
    max-width: 80%;
    margin: 0 auto;
  }
}

.material-grid #category .post:nth-of-type(9n + 5) {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -moz-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.material-grid #category .post:nth-of-type(9n + 5) a {
  max-width: 50%;
  aspect-ratio: 1;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  .material-grid #category .post:nth-of-type(9n + 5) a {
    max-width: 66%;
  }
}

.material-grid #category .post:nth-of-type(9n + 8) a {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  max-width: 66%;
  aspect-ratio: 2/3;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  .material-grid #category .post:nth-of-type(9n + 8) a {
    max-width: 80%;
  }
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  .material-grid #category .post:nth-of-type(9n + 8) {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -moz-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}

.material-grid #category .post:nth-of-type(9n) {
  width: 100%;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -moz-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.material-grid #category .post:nth-of-type(9n) a {
  -webkit-box-flex: 2;
  -webkit-flex-grow: 2;
  -moz-box-flex: 2;
  -ms-flex-positive: 2;
  flex-grow: 2;
  max-width: 33%;
  aspect-ratio: 2/3;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  .material-grid #category .post:nth-of-type(9n) a {
    max-width: 80%;
  }
}

.material-grid #category .post figure {
  position: relative;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.material-grid #category .post figure img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  pointer-events: none;
}
/* - - - - - - - - - - - W O R K P L A C E - - - - - - - - - - - */

.workplace #category {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -moz-box-orient: horizontal;
  -moz-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  grid-row-gap: 160px;
  row-gap: 160px;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  .workplace #category {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -moz-box-orient: vertical;
    -moz-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    grid-row-gap: 16px;
    row-gap: 16px;
  }
}

.workplace #category a {
  width: 100%;
}

.workplace #category .post {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  width: 50%;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  .workplace #category .post {
    width: 100%;
  }
}

.workplace #category .post:nth-of-type(7n + 1) {
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
  -moz-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.workplace #category .post:nth-of-type(7n + 1) a {
  width: 66%;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  aspect-ratio: 2/3;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  .workplace #category .post:nth-of-type(7n + 1) {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -moz-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}

.workplace #category .post:nth-of-type(7n + 2) {
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
  -moz-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.workplace #category .post:nth-of-type(7n + 2) a {
  max-width: 50%;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  aspect-ratio: 2/3;
  margin-right: 16px;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  .workplace #category .post:nth-of-type(7n + 2) {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -moz-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }

  .workplace #category .post:nth-of-type(7n + 2) a {
    margin: 0;
  }
}

.workplace #category .post:nth-of-type(7n + 3),
.workplace #category .post:nth-of-type(7n + 6) {
  width: 100%;
  -webkit-box-flex: 2;
  -webkit-flex-grow: 2;
  -moz-box-flex: 2;
  -ms-flex-positive: 2;
  flex-grow: 2;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -moz-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.workplace #category .post:nth-of-type(7n + 3) a,
.workplace #category .post:nth-of-type(7n + 6) a {
  max-width: 75%;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  aspect-ratio: 3/2;
}

.workplace #category .post:nth-of-type(7n + 4) {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.workplace #category .post:nth-of-type(7n + 4) a {
  max-width: 100%;
  margin: 0 16px;
  aspect-ratio: 3/2;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  .workplace #category .post:nth-of-type(7n + 4) a {
    margin: 0 auto;
    max-width: 80%;
  }
}

.workplace #category .post:nth-of-type(7n + 5) {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
  -moz-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
}

.workplace #category .post:nth-of-type(7n + 5) a {
  max-width: 66%;
  aspect-ratio: 2/3;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  .workplace #category .post:nth-of-type(7n + 5) {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -moz-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}

.workplace #category .post:nth-of-type(7n) {
  width: 100%;
  -webkit-box-flex: 2;
  -webkit-flex-grow: 2;
  -moz-box-flex: 2;
  -ms-flex-positive: 2;
  flex-grow: 2;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -moz-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.workplace #category .post:nth-of-type(7n) a {
  max-width: 50%;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  aspect-ratio: 3/2;
}

.workplace #category .post figure {
  position: relative;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.workplace #category .post figure img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  pointer-events: none;
}

/* - - - - - - - - - - - R E T A I L - - - - - - - - - - - */

.retail #category {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -moz-box-orient: horizontal;
  -moz-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  grid-row-gap: 160px;
  row-gap: 160px;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  .retail #category {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -moz-box-orient: vertical;
    -moz-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    grid-row-gap: 16px;
    row-gap: 16px;
  }
}

.retail #category a {
  width: 100%;
}

.retail #category .post {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  width: 50%;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  .retail #category .post {
    width: 100%;
  }
}

.retail #category .post:nth-of-type(3n + 1) {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -moz-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.retail #category .post:nth-of-type(3n + 1) a {
  width: 50%;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  aspect-ratio: 1;
}

.retail #category .post:nth-of-type(3n + 2) {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -moz-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.retail #category .post:nth-of-type(3n + 2) a {
  width: 100%;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  aspect-ratio: 1;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  .retail #category .post:nth-of-type(3n + 2) a {
    max-width: 66%;
    margin: 0 auto;
  }
}

.retail #category .post:nth-of-type(3n) {
  width: 100%;
  -webkit-box-flex: 2;
  -webkit-flex-grow: 2;
  -moz-box-flex: 2;
  -ms-flex-positive: 2;
  flex-grow: 2;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -moz-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.retail #category .post:nth-of-type(3n) a {
  width: 75%;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  aspect-ratio: 3/2;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  .retail #category .post:nth-of-type(3n) a {
    width: 80%;
  }
}

.retail #category .post figure {
  position: relative;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.retail #category .post figure img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  pointer-events: none;
}

.page-template-page-material {
  overflow: hidden;
}

.page-template-page-material #page-material {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -moz-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  min-height: 100vh;
}

.page-template-page-material #page-material .menu {
  overflow: hidden;
  /* cursor: grab; */
  width: 100%;
  position: relative;
  z-index: 1;
  height: 66vh;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  .page-template-page-material #page-material .menu {
    height: 100vh;
  }
}

/* &.is-dragging {
          cursor: grabbing;
        } */

.page-template-page-material #page-material .menu--wrapper {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  position: absolute;
  z-index: 1;
  height: 100%;
  top: 0;
  left: 0;
  width: 100%;
}

.page-template-page-material #page-material .menu--item {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 500px;
  height: 100%;
  padding: 0;
  overflow: hidden;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  .page-template-page-material #page-material .menu--item {
    width: 100vw;
    height: 110vw;
  }
}

.page-template-page-material #page-material .menu--item figure {
  position: absolute;
  z-index: 1;
  display: block;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-appearance: none;
  padding: 0;
  border: none;
  outline: none;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
  width: 100%;
  height: 100%;
  overflow: hidden;
  -webkit-transform-origin: center;
  -moz-transform-origin: center;
  -ms-transform-origin: center;
  -o-transform-origin: center;
  transform-origin: center;
  pointer-events: none;
}

.page-template-page-material #page-material .menu--item figure .link {
  display: block;
  width: 100%;
  height: 100%;
  pointer-events: all;
}

.page-template-page-material #page-material .menu--item figure .link img {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
  vertical-align: middle;
  -webkit-transform-origin: center;
  -moz-transform-origin: center;
  -ms-transform-origin: center;
  -o-transform-origin: center;
  transform-origin: center;
  pointer-events: none;
}

.tax-material #material-term {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -moz-box-orient: horizontal;
  -moz-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  grid-row-gap: 160px;
  row-gap: 160px;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  .tax-material #material-term {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -moz-box-orient: vertical;
    -moz-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    grid-row-gap: 16px;
    row-gap: 16px;
    margin-top: 88px;
  }
}

.tax-material #material-term .post {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  width: 50%;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  .tax-material #material-term .post {
    width: 100%;
  }
}

.tax-material #material-term .post a {
  width: 100%;
}

.tax-material #material-term .post:nth-of-type(3n + 1) a {
  width: 100%;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  aspect-ratio: 1;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  .tax-material #material-term .post:nth-of-type(3n + 1) {
    max-width: -webkit-calc(2 / 3 * 100%);
    max-width: -moz-calc(2 / 3 * 100%);
    max-width: calc(2 / 3 * 100%);
    margin: 0 auto;
  }
}

.tax-material #material-term .post:nth-of-type(3n + 2) {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -moz-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.tax-material #material-term .post:nth-of-type(3n + 2) a {
  max-width: -webkit-calc(2 / 3 * 100%);
  max-width: -moz-calc(2 / 3 * 100%);
  max-width: calc(2 / 3 * 100%);
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  aspect-ratio: 2/3;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  .tax-material #material-term .post:nth-of-type(3n + 2) a {
    max-width: 75%;
  }
}

.tax-material #material-term .post:nth-of-type(3n) {
  width: 100%;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -moz-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-flex: 2;
  -webkit-flex-grow: 2;
  -moz-box-flex: 2;
  -ms-flex-positive: 2;
  flex-grow: 2;
}

.tax-material #material-term .post:nth-of-type(3n) a {
  max-width: -webkit-calc(2 / 3 * 100%);
  max-width: -moz-calc(2 / 3 * 100%);
  max-width: calc(2 / 3 * 100%);
  aspect-ratio: 3/2;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  .tax-material #material-term .post:nth-of-type(3n) a {
    max-width: 80%;
  }
}

.tax-material #material-term .post figure {
  position: relative;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.tax-material #material-term .post figure img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  pointer-events: none;
  -webkit-transition: opacity 300ms ease;
  -o-transition: opacity 300ms ease;
  -moz-transition: opacity 300ms ease;
  transition: opacity 300ms ease;
}

.page-template-page-textual {
  margin-top: 8vw;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  .page-template-page-textual {
    margin-top: 245px;
  }
}

.page-template-page-textual .nav-container {
  padding: 38px 16px 8px;
  background-color: #fff;
  background-color: var(--color_secondary);
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  .page-template-page-textual .nav-container {
    padding: 33vw 16px;
    background-color: #000;
    background-color: var(--color_primary);
  }
}

.page-template-page-textual section {
  max-width: 1265px;
  min-height: -webkit-calc(100vh - 8vw);
  min-height: -moz-calc(100vh - 8vw);
  min-height: calc(100vh - 8vw);
  margin: 0 auto;
  padding: 0 16px 72px;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  .page-template-page-textual section {
    min-height: auto;
    padding: 0 16px 164px;
  }
}

.page-template-page-textual section article {
  width: 50%;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  .page-template-page-textual section article {
    width: 100%;
  }
}

.page-template-page-textual section p {
  margin-bottom: 24px;
}

header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  width: 100%;
  padding: 16px;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  header {
    padding: 10px 0;
  }
}

header h1 {
  -webkit-transition: opacity 300ms ease;
  -o-transition: opacity 300ms ease;
  -moz-transition: opacity 300ms ease;
  transition: opacity 300ms ease;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  .hidden-nav-open header h1 {
    opacity: 0.5;
  }
}

header h1 .logo {
  width: 100%;
  height: auto;
  -webkit-transition: all 200ms ease;
  -o-transition: all 200ms ease;
  -moz-transition: all 200ms ease;
  transition: all 200ms ease;
}

.nav-open header h1 .logo {
  -webkit-transform: scaleX(0.5) scaleY(0.5) translateY(-50%);
  -moz-transform: scaleX(0.5) scaleY(0.5) translateY(-50%);
  -ms-transform: scaleX(0.5) scaleY(0.5) translateY(-50%);
  -o-transform: scaleX(0.5) scaleY(0.5) translateY(-50%);
  transform: scaleX(0.5) scaleY(0.5) translateY(-50%);
  height: 52px;
}

header h1 .logo path {
  fill: #000;
  fill: var(--color_primary);
  -webkit-transition:
    fill 200ms ease,
    -webkit-transform 600ms cubic-bezier(0.1, 0.8, 0.32, 1);
  transition:
    fill 200ms ease,
    -webkit-transform 600ms cubic-bezier(0.1, 0.8, 0.32, 1);
  -o-transition:
    fill 200ms ease,
    -o-transform 600ms cubic-bezier(0.1, 0.8, 0.32, 1);
  -moz-transition:
    fill 200ms ease,
    transform 600ms cubic-bezier(0.1, 0.8, 0.32, 1),
    -moz-transform 600ms cubic-bezier(0.1, 0.8, 0.32, 1);
  transition:
    fill 200ms ease,
    transform 600ms cubic-bezier(0.1, 0.8, 0.32, 1);
  transition:
    fill 200ms ease,
    transform 600ms cubic-bezier(0.1, 0.8, 0.32, 1),
    -webkit-transform 600ms cubic-bezier(0.1, 0.8, 0.32, 1),
    -moz-transform 600ms cubic-bezier(0.1, 0.8, 0.32, 1),
    -o-transform 600ms cubic-bezier(0.1, 0.8, 0.32, 1);
  -webkit-transform-origin: center;
  -moz-transform-origin: center;
  -ms-transform-origin: center;
  -o-transform-origin: center;
  transform-origin: center;
}

.nav-open header h1 .logo path {
  fill: #fff;
  fill: var(--color_secondary);
}

.nav-open header h1 .logo #A-mobile {
  -webkit-transform: translateX(15%);
  -moz-transform: translateX(15%);
  -ms-transform: translateX(15%);
  -o-transform: translateX(15%);
  transform: translateX(15%);
}

.nav-open header h1 .logo #R-mobile {
  -webkit-transform: translateX(5%);
  -moz-transform: translateX(5%);
  -ms-transform: translateX(5%);
  -o-transform: translateX(5%);
  transform: translateX(5%);
}

.nav-open header h1 .logo #C-mobile {
  -webkit-transform: translateX(-5%);
  -moz-transform: translateX(-5%);
  -ms-transform: translateX(-5%);
  -o-transform: translateX(-5%);
  transform: translateX(-5%);
}

.nav-open header h1 .logo #S-mobile {
  -webkit-transform: translateX(-15%);
  -moz-transform: translateX(-15%);
  -ms-transform: translateX(-15%);
  -o-transform: translateX(-15%);
  transform: translateX(-15%);
}

header h1 .logo.desktop {
  display: block;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  header h1 .logo.desktop {
    display: none;
  }
}

header h1 .logo.mobile {
  display: none;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  header h1 .logo.mobile {
    display: block;
  }
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  header .background-header {
    opacity: 0;
    -webkit-transition: opacity 300ms ease;
    -o-transition: opacity 300ms ease;
    -moz-transition: opacity 300ms ease;
    transition: opacity 300ms ease;
    position: fixed;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 45vw;
    background: #000;
    background: var(--color_primary);
    background: -webkit-gradient(
      linear,
      left bottom,
      left top,
      from(rgba(0, 0, 0, 0)),
      to(#000)
    );
    background: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0) 0%, #000 100%);
    background: -moz-linear-gradient(bottom, rgba(0, 0, 0, 0) 0%, #000 100%);
    background: -o-linear-gradient(bottom, rgba(0, 0, 0, 0) 0%, #000 100%);
    background: linear-gradient(0deg, rgba(0, 0, 0, 0) 0%, #000 100%);
    background: -webkit-gradient(
      linear,
      left bottom,
      left top,
      from(var(--color_primary_0)),
      to(var(--color_primary))
    );
    background: -webkit-linear-gradient(
      bottom,
      var(--color_primary_0) 0%,
      var(--color_primary) 100%
    );
    background: -moz-linear-gradient(
      bottom,
      var(--color_primary_0) 0%,
      var(--color_primary) 100%
    );
    background: -o-linear-gradient(
      bottom,
      var(--color_primary_0) 0%,
      var(--color_primary) 100%
    );
    background: linear-gradient(
      0deg,
      var(--color_primary_0) 0%,
      var(--color_primary) 100%
    );
    pointer-events: none;
  }

  .nav-open header .background-header {
    opacity: 1;
  }
}

nav {
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 999;
  width: 100%;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  nav {
    height: 100vh;
    height: -webkit-calc(1vh * 100);
    height: -moz-calc(1vh * 100);
    height: calc(1vh * 100);
    height: -webkit-calc(var(--vh, 1vh) * 100);
    height: -moz-calc(var(--vh, 1vh) * 100);
    height: calc(var(--vh, 1vh) * 100);
    pointer-events: none;
  }
}

.nav-open nav {
  pointer-events: all;
  overflow-y: auto;
}

.nav-open nav .nav-container {
  opacity: 1;
  pointer-events: all;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  .nav-open nav .nav-container {
    opacity: 1;
    pointer-events: all;
  }
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  .nav-open nav .toggle-menu #toggle-menu-menu {
    display: none;
  }

  .nav-open nav .toggle-menu #toggle-menu-close {
    display: block;
    color: #fff;
    color: var(--color_secondary);
  } /* #icon-toggle-close {
            display: block;
          } */

  .nav-open nav .toggle-menu #icon-toggle-menu {
    display: none;
  }

  .nav-open nav .toggle-menu .background-toggle {
    opacity: 1;
  }
}

nav .nav-container {
  padding: 64px 16px 8px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -moz-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  nav .nav-container {
    min-height: -webkit-fill-available;
    padding: 33vw 16px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -moz-box-orient: vertical;
    -moz-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -moz-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    opacity: 0;
    -webkit-transition: opacity 300ms ease;
    -o-transition: opacity 300ms ease;
    -moz-transition: opacity 300ms ease;
    transition: opacity 300ms ease;
    pointer-events: none;
    background-color: #000;
    background-color: var(--color_primary);
  }
}

nav .nav-container ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  nav .nav-container ul {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -moz-box-orient: vertical;
    -moz-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    grid-gap: 4px;
    gap: 4px;
  }
}

nav .nav-container ul li {
  margin: 0 8px 0 0;
}

nav .nav-container ul li:last-of-type a:after {
  content: none;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  nav .nav-container ul li {
    margin: 0;
    text-align: center;
  }
}

nav .nav-container ul li a {
  position: relative;
  color: #000;
  color: var(--color_primary);
  /* font-family: var(--font_regular);
            font-size: 24px;
            letter-spacing: -0.01em;
            line-height: 1; */
  padding-right: 6px;
  -webkit-transition: color 200ms ease;
  -o-transition: color 200ms ease;
  -moz-transition: color 200ms ease;
  transition: color 200ms ease;
}

nav .nav-container ul li a:after {
  content: ",";
  position: absolute;
  bottom: 3px;
  right: 0;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  nav .nav-container ul li a {
    color: #fff;
    color: var(--color_secondary);
    /* font-size: 56px;
              font-weight: 400;
              line-height: 1;
              letter-spacing: -1.12px; */
    padding-right: 0;
    text-transform: capitalize;
  }

  nav .nav-container ul li a:after {
    content: none;
  }
}

nav .nav-container .left,
nav .nav-container .right {
  -webkit-transition: opacity 300ms ease;
  -o-transition: opacity 300ms ease;
  -moz-transition: opacity 300ms ease;
  transition: opacity 300ms ease;
}

.hidden-nav-open nav .nav-container .left,
.hidden-nav-open nav .nav-container .right {
  opacity: 0.5;
  pointer-events: none;
}

nav .nav-container .right {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
  -moz-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  nav .nav-container .right {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -moz-box-orient: vertical;
    -moz-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}

nav .nav-container .right .colorSwitch {
  width: 32px;
  height: 15px;
}

.colorswitch-off nav .nav-container .right .colorSwitch {
  pointer-events: none;
  opacity: 0.35;
}

nav .nav-container .right .colorSwitch rect {
  fill: #000;
  fill: var(--color_primary);
  -webkit-transition: fill 200ms ease;
  -o-transition: fill 200ms ease;
  -moz-transition: fill 200ms ease;
  transition: fill 200ms ease;
}

nav .nav-container .right .colorSwitch circle {
  fill: #fff;
  fill: var(--color_secondary);
  -webkit-transition:
    fill 200ms ease,
    -webkit-transform 0.4s ease;
  transition:
    fill 200ms ease,
    -webkit-transform 0.4s ease;
  -o-transition:
    fill 200ms ease,
    -o-transform 0.4s ease;
  -moz-transition:
    transform 0.4s ease,
    fill 200ms ease,
    -moz-transform 0.4s ease;
  transition:
    transform 0.4s ease,
    fill 200ms ease;
  transition:
    transform 0.4s ease,
    fill 200ms ease,
    -webkit-transform 0.4s ease,
    -moz-transform 0.4s ease,
    -o-transform 0.4s ease;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  nav .nav-container .right .colorSwitch {
    width: 72px;
    height: 36px;
    margin: 8px 0;
  }

  nav .nav-container .right .colorSwitch rect {
    fill: #fff;
    fill: var(--color_secondary);
  }

  nav .nav-container .right .colorSwitch circle {
    fill: #000;
    fill: var(--color_primary);
  }
}

nav .nav-container .right #more {
  font-family: "ABCDiatype-Regular", sans-serif;
  font-family: var(--font_regular);
  font-size: 24px;
  letter-spacing: -0.01em;
  font-style: normal;
  line-height: 1;
  padding: 0 0 0 4px;
  /* cursor: pointer; */
  -webkit-transition: color 200ms ease;
  -o-transition: color 200ms ease;
  -moz-transition: color 200ms ease;
  transition: color 200ms ease;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  nav .nav-container .right #more {
    color: #fff;
    color: var(--color_secondary);
    font-size: 56px;
    font-weight: 400;
    line-height: 48px;
    letter-spacing: -1.12px;
  }
}

@media only screen and (max-device-width: 374px),
  only screen and (max-width: 374px) {
  nav .nav-container .right #more {
    font-size: 36px;
    letter-spacing: -0.01em;
    line-height: 32px;
  }
}

nav .nav-container .hidden-nav {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background-color: #000;
  background-color: var(--color_primary);
  padding: 8px 16px;
  -webkit-transform: translateY(100%);
  -moz-transform: translateY(100%);
  -ms-transform: translateY(100%);
  -o-transform: translateY(100%);
  transform: translateY(100%);
  -webkit-transition: -webkit-transform 300ms ease;
  transition: -webkit-transform 300ms ease;
  -o-transition: -o-transform 300ms ease;
  -moz-transition:
    transform 300ms ease,
    -moz-transform 300ms ease;
  transition: transform 300ms ease;
  transition:
    transform 300ms ease,
    -webkit-transform 300ms ease,
    -moz-transform 300ms ease,
    -o-transform 300ms ease;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -moz-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.hidden-nav-open nav .nav-container .hidden-nav {
  -webkit-transform: translateY(0);
  -moz-transform: translateY(0);
  -ms-transform: translateY(0);
  -o-transform: translateY(0);
  transform: translateY(0);
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  nav .nav-container .hidden-nav {
    background-color: transparent;
    height: 100vh;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
    -moz-box-orient: vertical;
    -moz-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
    grid-gap: 40px;
    gap: 40px;
    padding: 0;
    z-index: 1000;
  }
}

nav .nav-container .hidden-nav .hidden-nav-container {
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -moz-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  background-color: #000;
  background-color: var(--color_primary);
  color: #fff;
  color: var(--color_secondary);
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  nav .nav-container .hidden-nav .hidden-nav-container {
    height: 50vh;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -moz-box-orient: vertical;
    -moz-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -moz-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    grid-gap: 32px;
    gap: 32px;
    background-color: #fff;
    background-color: var(--color_secondary);
    color: #000;
    color: var(--color_primary);
  }
}

nav .nav-container .hidden-nav .hidden-nav-container ul li a {
  color: #fff;
  color: var(--color_secondary);
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  nav .nav-container .hidden-nav .hidden-nav-container ul li a {
    color: #000;
    color: var(--color_primary);
  }
}

nav .nav-container .hidden-nav .hidden-nav-container .credits {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
  -moz-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  grid-gap: 4px;
  gap: 4px;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  nav .nav-container .hidden-nav .hidden-nav-container .credits {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -moz-box-orient: vertical;
    -moz-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    grid-gap: 8px;
    gap: 8px;
  }

  nav .nav-container .hidden-nav .hidden-nav-container .credits h3 {
    font-size: 54px;
    line-height: 48px;
  }

  @media only screen and (max-device-width: 374px),
    only screen and (max-width: 374px) {
    nav .nav-container .hidden-nav .hidden-nav-container .credits h3 {
      font-size: 36px;
      letter-spacing: -0.01em;
      line-height: 32px;
    }
  }
}

nav .nav-container .hidden-nav #close {
  color: #fff;
  color: var(--color_secondary);
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  nav .nav-container .hidden-nav #close {
    display: block;
    opacity: 0;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 50vh;
  }
}

nav .toggle-menu {
  display: none;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  nav .toggle-menu {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -moz-box-orient: vertical;
    -moz-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    grid-gap: 8px;
    gap: 8px;
    pointer-events: all;
    width: 100%;
    padding: 24px 0;
    position: fixed;
    z-index: 999;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
  }

  .open-filters nav .toggle-menu {
    display: none;
  }

  nav .toggle-menu #toggle-menu-menu {
    display: block;
  }

  nav .toggle-menu #toggle-menu-close {
    display: none;
  } /* #icon-toggle-close {
          display: none;
          path {
            fill: var(--color_secondary);
          }
        } */

  nav .toggle-menu #icon-toggle-menu {
    display: block;
  }

  nav .toggle-menu #icon-toggle-menu path {
    stroke: #000;
    stroke: var(--color_primary);
  }

  nav .toggle-menu .background-toggle {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    background: #000;
    background: var(--color_primary);
    background: -webkit-gradient(
      linear,
      left bottom,
      left top,
      from(#000),
      to(rgba(0, 0, 0, 0))
    );
    background: -webkit-linear-gradient(bottom, #000 0%, rgba(0, 0, 0, 0) 100%);
    background: -moz-linear-gradient(bottom, #000 0%, rgba(0, 0, 0, 0) 100%);
    background: -o-linear-gradient(bottom, #000 0%, rgba(0, 0, 0, 0) 100%);
    background: linear-gradient(0deg, #000 0%, rgba(0, 0, 0, 0) 100%);
    background: -webkit-gradient(
      linear,
      left bottom,
      left top,
      from(var(--color_primary)),
      to(var(--color_primary_0))
    );
    background: -webkit-linear-gradient(
      bottom,
      var(--color_primary) 0%,
      var(--color_primary_0) 100%
    );
    background: -moz-linear-gradient(
      bottom,
      var(--color_primary) 0%,
      var(--color_primary_0) 100%
    );
    background: -o-linear-gradient(
      bottom,
      var(--color_primary) 0%,
      var(--color_primary_0) 100%
    );
    background: linear-gradient(
      0deg,
      var(--color_primary) 0%,
      var(--color_primary_0) 100%
    );
    pointer-events: none;
    opacity: 0;
    -webkit-transition: opacity 300ms ease;
    -o-transition: opacity 300ms ease;
    -moz-transition: opacity 300ms ease;
    transition: opacity 300ms ease;
  }
}

/* body.open-filters {
    nav {
      .toggle-menu {
        @include sm {
          display: none;
        }
      }
    }
  } */

.button {
  display: block;
  border-bottom: 2px solid rgba(0, 0, 0, 0);
  -webkit-transition:
    color 200ms ease,
    background-color 200ms ease;
  -o-transition:
    color 200ms ease,
    background-color 200ms ease;
  -moz-transition:
    color 200ms ease,
    background-color 200ms ease;
  transition:
    color 200ms ease,
    background-color 200ms ease;
}

@media (hover: hover) {
  .button:hover {
    border-bottom: 2px solid #000;
    border-bottom: 2px solid var(--color_primary);
  }
}

.button a:active,
.button a.active {
  background-color: #000;
  background-color: var(--color_primary);
  color: #fff;
  color: var(--color_secondary);
}

.button.active {
  background-color: #000;
  background-color: var(--color_primary);
  color: #fff;
  color: var(--color_secondary);
}

.button a[aria-current="page"] {
  background-color: #000;
  background-color: var(--color_primary);
  color: #fff;
  color: var(--color_secondary);
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  .button a[aria-current="page"] {
    background-color: transparent;
  }
}

.cursor {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
  pointer-events: none;
  opacity: 0;
}

.cursor #cursor-text {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -moz-box-orient: vertical;
  -moz-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  grid-gap: 4px;
  gap: 4px;
}

.cursor #cursor-text #cursor-title {
  font-size: 2rem;
  line-height: 1;
}

.cursor.text {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  height: 75px;
  opacity: 1;
  -webkit-transition: opacity 200ms ease;
  -o-transition: opacity 200ms ease;
  -moz-transition: opacity 200ms ease;
  transition: opacity 200ms ease;
}

.cursor.text #cursor-circle {
  opacity: 0;
}

.cursor.fixed {
  z-index: 100;
  width: -webkit-calc(100% - 32px);
  width: -moz-calc(100% - 32px);
  width: calc(100% - 32px);
  opacity: 1;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  left: 16px;
}

.cursor.circle {
  width: 8px;
  height: 8px;
  background-color: #000;
  background-color: var(--color_primary);
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  opacity: 1;
  -webkit-transition: opacity 200ms ease;
  -o-transition: opacity 200ms ease;
  -moz-transition: opacity 200ms ease;
  transition: opacity 200ms ease;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  .cursor.circle {
    opacity: 0;
  }
}

.cursor.circle #cursor-text {
  opacity: 0;
}

.cursor.circle.pressed {
  background-color: transparent;
  border: 1px solid #000;
  border: 1px solid var(--color_primary);
}

.cursor.reverse.circle {
  background-color: #fff;
  background-color: var(--color_secondary);
}

.cursor.reverse.circle.pressed {
  background-color: #000;
  background-color: var(--color_primary);
  border: 1px solid #fff;
  border: 1px solid var(--color_secondary);
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  .home .cursor,
  .post-type-archive-project .cursor,
  .page-template-page-textual .cursor,
  .page-template-page-about .cursor,
  .single-project .cursor {
    display: none;
  }
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  #background-menu.top {
    top: 0;
    background: -webkit-gradient(
      linear,
      left bottom,
      left top,
      from(rgba(255, 255, 255, 0)),
      to(#fff)
    );
    background: -webkit-linear-gradient(
      bottom,
      rgba(255, 255, 255, 0) 0%,
      #fff 100%
    );
    background: -moz-linear-gradient(
      bottom,
      rgba(255, 255, 255, 0) 0%,
      #fff 100%
    );
    background: -o-linear-gradient(
      bottom,
      rgba(255, 255, 255, 0) 0%,
      #fff 100%
    );
    background: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, #fff 100%);
    background: -webkit-gradient(
      linear,
      left bottom,
      left top,
      from(var(--color_secondary_0)),
      to(var(--color_secondary))
    );
    background: -webkit-linear-gradient(
      bottom,
      var(--color_secondary_0) 0%,
      var(--color_secondary) 100%
    );
    background: -moz-linear-gradient(
      bottom,
      var(--color_secondary_0) 0%,
      var(--color_secondary) 100%
    );
    background: -o-linear-gradient(
      bottom,
      var(--color_secondary_0) 0%,
      var(--color_secondary) 100%
    );
    background: linear-gradient(
      0deg,
      var(--color_secondary_0) 0%,
      var(--color_secondary) 100%
    );
  }

  #background-menu.bottom {
    bottom: 0;
    background: -webkit-gradient(
      linear,
      left bottom,
      left top,
      from(#fff),
      to(rgba(255, 255, 255, 0))
    );
    background: -webkit-linear-gradient(
      bottom,
      #fff 0%,
      rgba(255, 255, 255, 0) 100%
    );
    background: -moz-linear-gradient(
      bottom,
      #fff 0%,
      rgba(255, 255, 255, 0) 100%
    );
    background: -o-linear-gradient(
      bottom,
      #fff 0%,
      rgba(255, 255, 255, 0) 100%
    );
    background: linear-gradient(0deg, #fff 0%, rgba(255, 255, 255, 0) 100%);
    background: -webkit-gradient(
      linear,
      left bottom,
      left top,
      from(var(--color_secondary)),
      to(var(--color_secondary_0))
    );
    background: -webkit-linear-gradient(
      bottom,
      var(--color_secondary) 0%,
      var(--color_secondary_0) 100%
    );
    background: -moz-linear-gradient(
      bottom,
      var(--color_secondary) 0%,
      var(--color_secondary_0) 100%
    );
    background: -o-linear-gradient(
      bottom,
      var(--color_secondary) 0%,
      var(--color_secondary_0) 100%
    );
    background: linear-gradient(
      0deg,
      var(--color_secondary) 0%,
      var(--color_secondary_0) 100%
    );
  }

  #background-menu {
    z-index: 98;
    position: fixed;
    left: 0;
    width: 100%;
    height: 25vh;
    background: #fff;
    background: var(--color_secondary);
    pointer-events: none;
  }
}

/* Typography must track .nav-container .menu a — the button is a sibling of the
   nav links in a baseline-aligned flex row, so any mismatch in size or
   line-height shows up as the label sitting off the nav's optical line. */
.lang-switch {
  background: none;
  border: none;
  cursor: pointer;
  font-family: "ABCDiatype-Regular", sans-serif;
  font-family: var(--font_regular);
  font-size: 18px;
  line-height: 28px;
  letter-spacing: 0;
  color: inherit;
  padding: 0;
  margin: 0 12px;
}

@media only screen and (max-device-width: 1024px),
  only screen and (max-width: 1024px) {
  .lang-switch {
    font-size: 54px;
    line-height: 48px;
  }
}
