/*
Theme Name: MAAHFROROUZ
Author: TEHRAN DESIGN LAB
Author URI: https://www.tehrandesignlab.com/
Description: A bespoke WordPress theme for MAAHFROROUZ.
Version: 1.0
Text Domain: maahforooz
*/
@import url("https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&display=swap");
@font-face {
  font-family: "TabacGlamG1";
  src: url("assets/fonts/display/TabacGlamG1-Regular.eot");
  src: url("assets/fonts/display/TabacGlamG1-Regular.eot?#iefix") format("embedded-opentype"), url("assets/fonts/display/TabacGlamG1-Regular.woff2") format("woff2"), url("assets/fonts/display/TabacGlamG1-Regular.woff") format("woff"), url("assets/fonts/display/TabacGlamG1-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "TabacGlamG4";
  src: url("assets/fonts/display/TabacGlamG4-Medium.eot");
  src: url("assets/fonts/display/TabacGlamG4-Medium.eot?#iefix") format("embedded-opentype"), url("assets/fonts/display/TabacGlamG4-Medium.woff2") format("woff2"), url("assets/fonts/display/TabacGlamG4-Medium.woff") format("woff"), url("assets/fonts/display/TabacGlamG4-Medium.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
}
/* Devices */
/* 320 */
/* 440 */
/* 768 */
/* 1024 */
/* 1280 */
/* 1728 */
/* 2240 */
/* VARIABLES */
:root {
  font-size: 8px;
  --font_display_g1: "TabacGlamG1";
  --font_display_g4: "TabacGlamG4";
  --font_plain: "DM Sans", sans-serif;
  /* Font Size */
  --fs-dl: 14rem;
  --fs-dm: 9rem;
  --fs-ds: 6rem;
  --fs-hl: 8rem;
  --fs-hm: 5rem;
  --fs-hs: 2.25rem;
  --fs-tl: 3.5rem;
  --fs-tm: 2.5rem;
  --fs-ts: 2.25rem;
  --fs-ll: 2rem;
  --fs-lm: 1.75rem;
  --fs-ls: 1.5rem;
  --fs-bl: 2rem;
  --fs-bm: 1.75rem;
  --fs-bs: 1.5rem;
  /* Line Height */
  --lh-dl: 15rem;
  --lh-dm: 9rem;
  --lh-ds: 6rem;
  --lh-hl: 8rem;
  --lh-hm: 4.5rem;
  --lh-hs: 3rem;
  --lh-tl: 4rem;
  --lh-tm: 3rem;
  --lh-ts: 2.5rem;
  --lh-ll: 2rem;
  --lh-lm: 2rem;
  --lh-ls: 2rem;
  --lh-bl: 3rem;
  --lh-bm: 2.5rem;
  --lh-bs: 2rem;
  /* Line Weight */
  --fw-dl: 400;
  --fw-dm: 400;
  --fw-ds: 400;
  --fw-hl: 500;
  --fw-hm: 500;
  --fw-hs: 600;
  --fw-tl: 500;
  --fw-tm: 500;
  --fw-ts: 600;
  --fw-ll: 400;
  --fw-lm: 400;
  --fw-ls: 400;
  --fw-bl: 400;
  --fw-bm: 400;
  --fw-bs: 400;
  /* Neutral */
  --n0-rgb: 255, 255, 255; /* #FFFFFF */
  --n50-rgb: 250, 247, 242; /* #FAF7F2 */
  --n100-rgb: 240, 238, 230; /* #F0EEE6 */
  --n200-rgb: 224, 220, 204; /* #E0DCCC */
  --n300-rgb: 204, 198, 179; /* #CCC6B3 */
  --n400-rgb: 179, 173, 152; /* #B3AD98 */
  --n500-rgb: 152, 147, 129; /* #989381 */
  --n600-rgb: 119, 117, 110; /* #77756E */
  --n700-rgb: 89, 89, 89; /* #595959 */
  --n800-rgb: 66, 66, 66; /* #424242 */
  --n900-rgb: 41, 41, 41; /* #292929 */
  --n950-rgb: 28, 28, 28; /* #1C1C1C */
  --n1000-rgb: 0, 0, 0; /* #000000 */
  --n0: rgba(var(--n0-rgb), 1);
  --n50: rgba(var(--n50-rgb), 1);
  --n100: rgba(var(--n100-rgb), 1);
  --n200: rgba(var(--n200-rgb), 1);
  --n300: rgba(var(--n300-rgb), 1);
  --n400: rgba(var(--n400-rgb), 1);
  --n500: rgba(var(--n500-rgb), 1);
  --n600: rgba(var(--n600-rgb), 1);
  --n700: rgba(var(--n700-rgb), 1);
  --n800: rgba(var(--n800-rgb), 1);
  --n900: rgba(var(--n900-rgb), 1);
  --n950: rgba(var(--n950-rgb), 1);
  --n1000: rgba(var(--n1000-rgb), 1);
  /* Pallet */
  --green: #58a26a;
  --red: #d66965;
  /* Setup */
  --bc: var(--n50);
  --fc: var(--n950);
  --fc-hover: var(--n700);
  --fc-focus: var(--n500);
  /* Spaces */
  --1: 0.125rem;
  --2: 0.25rem;
  --4: 0.5rem;
  --8: 1rem;
  --10: 1.25rem;
  --12: 1.5rem;
  --16: 2rem;
  --20: 2.5rem;
  --24: 3rem;
  --32: 4rem;
  --40: 5rem;
  --48: 6rem;
  --56: 7rem;
  --64: 8rem;
  --72: 9rem;
  --96: 12rem;
  --120: 15rem;
  --180: 22.5rem;
  --240: 30rem;
  /* radius */
  --shape-full: 100rem;
  --shape-none: 0rem;
  /* Layout */
  --margin: var(--48);
  --gutter: var(--48);
  --max-width: 96rem;
  --column_no: 8;
  --column_width: calc(
    (100vw - ((var(--column_no) - 1) * var(--gutter) + 2 * var(--margin))) /
      var(--column_no)
  );
  --intend: calc(var(--gutter) + (var(--column_width) * 2));
  --intend_gap: calc((var(--gutter) * 2) + (var(--column_width) * 2));
  --intend_bleeded: calc(var(--intend) + var(--gutter) + var(--margin));
  --half_width: calc((var(--gutter) * 3) + (var(--column_width) * 4));
  --textBox-margin: var(--72);
  /* Components Preset */
  --header_height: 11rem;
  --net_height: calc(100svh - var(--header_height));
  --border: 1px solid var(--n200);
  --scrim: rgba(var(--n950-rgb), 0.5);
  /* Responsive */
}
@media only screen and (max-width: 1024px) {
  :root {
    --header_height: 9rem;
    --intend_gap: 0;
  }
}
@media only screen and (max-width: 768px) {
  :root {
    --margin: var(--24);
    --gutter: var(--16);
    --fs-dl: 6.75rem;
    --fs-dm: 4.5rem;
    --fs-ds: 2.75rem;
    --fs-hl: 5.5rem;
    --fs-hm: 3.5rem;
    --fs-hs: 1.5rem;
    --lh-dl: 7.25rem;
    --lh-dm: 5rem;
    --lh-ds: 2.75rem;
    --lh-hl: 5.5rem;
    --lh-hm: 3.25rem;
    --lh-hs: 2rem;
  }
}
@media only screen and (max-width: 440px) {
  :root {
    --margin: var(--16);
    --gutter: var(--16);
  }
}
.dark, .product-filters-button, .popup-success, .product_single-popup, .video-popup-close, .video-popup, .home_projects-section_title, .home_projects-slideshow-actions, .home_hero, .dropdown-menu, .contact, .header-divider, .header-float, .header-static {
  --n0-rgb: 0, 0, 0; /* #000000 */
  --n50-rgb: 28, 28, 28; /* #1C1C1C */
  --n100-rgb: 41, 41, 41; /* #292929 */
  --n200-rgb: 66, 66, 66; /* #424242 */
  --n300-rgb: 89, 89, 89; /* #595959 */
  --n400-rgb: 119, 117, 110; /* #77756E */
  --n500-rgb: 152, 147, 129; /* #989381 */
  --n600-rgb: 179, 173, 152; /* #B3AD98 */
  --n700-rgb: 204, 198, 179; /* #CCC6B3 */
  --n800-rgb: 224, 220, 204; /* #E0DCCC */
  --n900-rgb: 240, 238, 230; /* #F0EEE6 */
  --n950-rgb: 250, 247, 242; /* #FAF7F2 */
  --n1000-rgb: 255, 255, 255; /* #FFFFFF */
  --n0: rgba(var(--n0-rgb), 1);
  --n50: rgba(var(--n50-rgb), 1);
  --n100: rgba(var(--n100-rgb), 1);
  --n200: rgba(var(--n200-rgb), 1);
  --n300: rgba(var(--n300-rgb), 1);
  --n400: rgba(var(--n400-rgb), 1);
  --n500: rgba(var(--n500-rgb), 1);
  --n600: rgba(var(--n600-rgb), 1);
  --n700: rgba(var(--n700-rgb), 1);
  --n800: rgba(var(--n800-rgb), 1);
  --n900: rgba(var(--n900-rgb), 1);
  --n950: rgba(var(--n950-rgb), 1);
  --n1000: rgba(var(--n1000-rgb), 1);
  --white: var(--n0);
  --black: var(--n950);
  --grey: var(--n700);
  --bc: var(--n50);
  --fc: var(--n950);
  --border: 1px solid var(--n300);
}

* {
  list-style: none;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  text-decoration: none;
}

html {
  scroll-behavior: smooth; /* Enable smooth scrolling for the entire page */
}

body {
  overflow-x: hidden;
  overflow-y: auto;
  touch-action: auto;
  background-color: var(--bc);
  transition-property: background-color;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}
.site{
	overflow-x:hidden;
}

img,
video {
  width: 100%;
  display: block;
}

a {
  box-sizing: content-box;
  color: var(--fc);
  transition-property: color;
  transition-duration: 0.5s;
  transition-timing-function: ease;
}

.display-large, .home_contact-title, .home_brick-text {
  font-family: var(--font_display_g1);
  font-weight: var(--fw-dl);
  font-size: var(--fs-dl);
  line-height: var(--lh-dl);
  text-transform: none;
  display: block;
  height: unset;
}
.display-medium {
  font-family: var(--font_display_g1);
  font-weight: var(--fw-dm);
  font-size: var(--fs-dm);
  line-height: var(--lh-dm);
  text-transform: none;
  display: block;
  height: unset;
}
.display-small {
  font-family: var(--font_display_g1);
  font-weight: var(--fw-ds);
  font-size: var(--fs-ds);
  line-height: var(--lh-ds);
  text-transform: none;
  display: block;
  height: unset;
}

.heading-large, .project_single-title, .product_single-title, .home_hero-title, .titlebar-title, .contact-title {
  font-family: var(--font_display_g1);
  font-weight: var(--fw-hl);
  font-size: var(--fs-hl);
  line-height: var(--lh-hl);
  text-transform: uppercase;
  display: block;
  height: unset;
}
.heading-medium, .project_single-used_products-title, .sectionTitle-title {
  font-family: var(--font_display_g1);
  font-weight: var(--fw-hm);
  font-size: var(--fs-hm);
  line-height: var(--lh-hm);
  text-transform: uppercase;
  display: block;
  height: unset;
}
.heading-small {
  font-family: var(--font_display_g1);
  font-weight: var(--fw-hs);
  font-size: var(--fs-hs);
  line-height: var(--lh-hs);
  text-transform: uppercase;
  display: block;
  height: unset;
}

.title-large, .titlebar-subtitle, .header-divider .dividerNav-items li {
  font-family: var(--font_display_g1);
  font-weight: var(--fw-tl);
  font-size: var(--fs-tl);
  line-height: var(--lh-tl);
  text-transform: none;
  display: block;
  height: unset;
}
.title-medium, .event_card-title, .architect_card-title, .project_card-title, .project_single-specs h3, .product_card-title, .product_single-popup-title, .product_single-specs h3, .product_single-form h3, .home_videos .video_card-title, .home_architects .architect_card-title, .contact a {
  font-family: var(--font_display_g1);
  font-weight: var(--fw-tm);
  font-size: var(--fs-tm);
  line-height: var(--lh-tm);
  text-transform: none;
  display: block;
  height: unset;
}
.title-small {
  font-family: var(--font_plain);
  font-weight: var(--fw-ts);
  font-size: var(--fs-ts);
  line-height: var(--lh-ts);
  text-transform: none;
  display: block;
  height: unset;
}

.label-largeEnhanced, .product-filters-title, .button-large-round .button-label,
.anchor-large-round .button-label, .button-large-chamfer .button-label,
.anchor-large-chamfer .button-label, .button-large-text .anchor-label,
.anchor-large-text .anchor-label {
  font-family: var(--font_display_g4);
  font-weight: var(--fw-ll);
  font-size: var(--fs-ll);
  line-height: var(--lh-ll);
  text-transform: uppercase;
  display: inline-block;
  height: unset;
}
.label-large, .product_cards-noProduct, .product_single-additional_header span, .header-menu a {
  font-family: var(--font_plain);
  font-weight: var(--fw-ll);
  font-size: var(--fs-ll);
  line-height: var(--lh-ll);
  text-transform: uppercase;
  display: inline-block;
  height: unset;
}
.label-medium, .event_card-meta_items, .architect_card-meta_items, .project_card-meta_items, .project_single-specLabel, .product-filters-button-icon, .product-filters-button-label, .product-filters-orderColorBtn-label, .product-filters-hint, .product_card-sizes, .product_single-popup-form input[type=text],
.product_single-popup-form input[type=email], .product_single-specLabel, .product_single-form-chip, .footer-contact a, .footer-projects a, .footer-menu a, .dropdown-menu li, .dropdown-label, .slideshow-pagination, .breadcrumb, .button-small .button-label,
.anchor-small .button-label, .header-divider-contactBox li {
  font-family: var(--font_plain);
  font-weight: var(--fw-lm);
  font-size: var(--fs-lm);
  line-height: var(--lh-lm);
  text-transform: unset;
  display: inline-block;
  height: unset;
}
.label-small, .copyright {
  font-family: var(--font_plain);
  font-weight: var(--fw-ls);
  font-size: var(--fs-ls);
  line-height: var(--lh-ls);
  text-transform: uppercase;
  display: inline-block;
  height: unset;
}

.body-large, .row-column-text-large {
  font-family: var(--font_plain);
  font-weight: var(--fw-bl);
  font-size: var(--fs-bl);
  line-height: var(--lh-bl);
  text-transform: none;
  display: block;
  height: unset;
}
.body-medium, .event_card-summery, .project_single-specValue, .project_single-description, .popup-success p, .product_single-popup-summary, .product_single-specValue, .product_single-description, .home_contact-description, .row-column-text-small, .sectionTitle-description, .titlebar-description, .contact-description {
  font-family: var(--font_plain);
  font-weight: var(--fw-bm);
  font-size: var(--fs-bm);
  line-height: var(--lh-bm);
  text-transform: none;
  display: block;
  height: unset;
}
.body-small, .product_single-form-caption, .home_videos .video_card-description, .home_architects .architect_card-office, .contact-jobs-description {
  font-family: var(--font_plain);
  font-weight: var(--fw-bs);
  font-size: var(--fs-bs);
  line-height: var(--lh-bs);
  text-transform: none;
  display: block;
  height: unset;
}

.header {
  width: 100%;
  height: var(--header_height);
  overflow-y: hidden;
  position: fixed;
  top: 0;
  z-index: 10;
  border-bottom: var(--border);
  background-color: rgba(var(--n50-rgb), 0.8);
  -webkit-backdrop-filter: blur(var(--8));
  backdrop-filter: blur(var(--8));
  transition-property: background-color , height;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}
.header-static {
  position: absolute;
  background-color: transparent;
  -webkit-backdrop-filter: blur(var(--4));
  backdrop-filter: blur(var(--4));
  border-bottom: 1px solid rgba(var(--n950-rgb), 0.2);
}
.header-float {
  background-color: transparent;
}
.header-wrapper {
  align-items: center;
  display: flex;
  gap: var(--gutter);
  padding-top: var(--24);
  padding-bottom: var(--24);
}
@media only screen and (max-width: 1024px) {
  .header-wrapper {
    display: flex !important;
    align-items: center;
    flex-direction: row;
    justify-content: space-between;
  }
}
.header-navigation {
  grid-column: span 6;
  display: flex;
  align-items: center;
  flex-direction: row;
  justify-content: space-between;
}
@media only screen and (max-width: 1024px) {
  .header-navigation {
    grid-column: unset;
  }
}
.header-branding {
  height: var(--40);
  padding: var(--4) 0;
  grid-column: span 2;
}
@media only screen and (max-width: 1024px) {
  .header-branding {
    height: var(--24);
    padding: 0;
    grid-column: unset;
  }
}
.header-branding .logo {
  height: var(--32);
  fill: var(--fc);
  transition-property: color , fill,background-color;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}
@media only screen and (max-width: 1024px) {
  .header-branding .logo {
    height: var(--24);
    fill: var(--fc);
  }
}
.header .menuNav-items {
  display: flex;
  gap: var(--16);
}
.header-menu {
  height: var(--40);
  grid-column: span 3;
}
.header-menu a {
  color: var(--fc);
  padding: var(--12) 0;
  transition-property: color , fill,background-color;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}
.header-menu a:hover {
  color: var(--n700);
  transition-property: color , fill,background-color;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}
@media only screen and (max-width: 1024px) {
  .header-menu {
    display: none;
  }
}
@media only screen and (max-width: 1024px) {
  .header-contactBtn {
    display: none;
  }
}
.header-hamico {
  display: none;
}
@media only screen and (max-width: 1024px) {
  .header-hamico {
    display: block;
  }
}
.header-divider {
  height: calc(100dvh - var(--header_height));
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: var(--margin) 0;
  overflow-y: auto;
}
.header-divider .dividerNav-items {
  padding-bottom: var(--margin);
  border-bottom: var(--border);
}
.header-divider .dividerNav-items li {
  color: var(--fc);
  padding: var(--8) 0;
  transition-property: color;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}
.header-divider-copyright {
  padding: var(--16) 0;
}
.header-divider-contactBox {
  padding-top: var(--margin);
  padding-bottom: var(--margin);
  border-bottom: var(--border);
  display: flex;
  flex-direction: column;
  gap: var(--8);
}
.header-divider-contactBox ul {
  display: flex;
  flex-direction: column;
  gap: var(--8);
}
.header-divider-contactBox li {
  color: var(--fc);
  padding: var(--4) 0;
  transition-property: color;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}
.header--open {
  height: 100dvh;
  background-color: rgba(var(--n50-rgb), 0.8);
  transition-property: background-color , height;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}

.hamico-wrapper {
  width: 6rem;
  height: 3rem;
  position: relative;
}
.hamico-wrapper > div {
  width: var(--48);
  height: var(--1);
  background-color: var(--fc);
  position: absolute;
  left: 50%;
}
.hamico-linei {
  top: var(--4);
  transform: translateX(-50%) rotate(0);
  transition-property: background-color , transform , top;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}
.hamico-lineii {
  transform: translateX(-50%) rotate(0);
  top: var(--12);
}
.hamico-lineiii {
  top: var(--20);
  transform: translateX(-50%) rotate(0);
  transition-property: background-color , transform , top;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}
.hamico--close .hamico-linei {
  top: var(--12);
  transform: translateX(-50%) rotate(-25deg);
  transition-property: background-color , transform, top;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}
.hamico--close .hamico-lineii {
  display: none;
}
.hamico--close .hamico-lineiii {
  top: var(--12);
  transform: translatex(-50%) rotate(25deg);
  transition-property: background-color , transform , top;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}

.grid {
  position: fixed;
  display: none;
  z-index: -1;
  top: 0;
  width: 100%;
  height: 100vh;
}
.grid-wrapper div {
  height: 100vh;
  background-color: rgba(var(--n950-rgb), 0.05);
}

.contact {
  opacity: 0;
  visibility: hidden;
  position: fixed;
  z-index: 10;
  top: 0;
  width: 100%;
  height: 100dvh;
  background-color: var(--n50);
  color: var(--fc);
  transition-property: opacity , visibility;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}
.contact--show {
  opacity: 1;
  visibility: visible;
  transition-property: opacity ,visibility;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}
.contact-branding {
  height: var(--40);
}
@media only screen and (max-width: 768px) {
  .contact-branding {
    height: var(--24);
  }
}
@media only screen and (max-width: 768px) {
  .contact-branding a {
    padding: unset !important;
  }
}
.contact-branding svg {
  fill: var(--fc);
  height: var(--32);
}
@media only screen and (max-width: 768px) {
  .contact-branding svg {
    height: var(--24);
  }
}
.contact-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--24) 0;
  height: var(--40);
  box-sizing: content-box;
}
@media only screen and (max-width: 768px) {
  .contact-header {
    height: var(--24);
  }
}
.contact-wrapper {
  padding: var(--72) 0;
  height: calc(100dvh - var(--header_height));
}
@media only screen and (max-width: 768px) {
  .contact-wrapper {
    align-content: space-between;
  }
}
.contact-info {
  height: 100%;
  display: flex;
  gap: var(--margin);
  flex-direction: column;
  justify-content: space-between;
}
.contact-titleBar {
  grid-column: 1/5;
}
@media only screen and (max-width: 768px) {
  .contact-titleBar {
    grid-column: span 8;
  }
}
.contact-title {
  color: var(--fc);
}
.contact-description {
  padding-right: calc(var(--column_width) + var(--gutter));
  color: var(--fc);
}
@media only screen and (max-width: 768px) {
  .contact-description {
    padding-right: unset;
  }
}
.contact-info {
  grid-column: 6/9;
}
@media only screen and (max-width: 768px) {
  .contact-info {
    grid-column: span 8;
  }
}
.contact-jobs-description {
  color: var(--fc);
}
.contact a {
  padding: var(--4) 0;
  color: var(--fc);
  transition-property: color;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}
.contact a:hover {
  color: var(--n700);
  transition-property: color;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}

.closebtn {
  cursor: pointer;
}
.closebtn-wrapper {
  width: 6rem;
  height: 3rem;
  position: relative;
}
.closebtn-wrapper > div {
  width: var(--48);
  height: var(--1);
  background-color: var(--fc);
  position: absolute;
  left: 50%;
}
.closebtn-linei {
  top: var(--12);
  transform: translateX(-50%) rotate(-25deg);
}
.closebtn-lineiii {
  top: var(--12);
  transform: translatex(-50%) rotate(25deg);
}

.row {
  width: 100%;
}
.row-columns, .about_process-media-wrapper, .project_single-used_products, .project_single-info, .product_cards-wrapper, .product_single-wrapper, .footer-bottom, .footer-top, .header-wrapper, .grid-wrapper, .contact-wrapper {
  display: grid;
  grid-template-columns: repeat(var(--column_no), 1fr);
  gap: var(--gutter);
}
.row-left_intend {
  display: grid;
  grid-template-columns: repeat(calc(var(--column_no)), 1fr);
  gap: var(--gutter);
  padding-left: var(--intend);
}
.row-bleed, .about_process-media-wrapper, .about_intro-media, .event_cards, .event_single-cover, .architect_cards, .architect_single-cover, .project_cards, .project_single-used_products, .project_single-info, .product-filters-wrapper, .product_cards-wrapper, .product_single-wrapper, .home_contact, .home_videos-contents, .home_videos-sectionTitle, .home_architects-contents, .home_architects-sectionTitle, .home_products-contents, .home_products-sectionTitle, .home_hero-titleBar, .footer-bottom, .footer-top, .titlebar, .header-wrapper, .header-divider, .grid-wrapper, .contact {
  padding-right: var(--margin);
  padding-left: var(--margin);
}
.row-box {
  max-width: var(--max-width);
  margin: 0 auto;
  width: 100%;
  padding-right: var(--margin);
  padding-left: var(--margin);
}
@media only screen and (max-width: 768px) {
  .row-box {
    max-width: unset;
    margin: 0 auto;
  }
}

.span-1 {
  grid-column: span 1;
}
@media only screen and (max-width: 768px) {
  .span-1 {
    grid-column: span 4;
  }
}
@media only screen and (max-width: 440px) {
  .span-1 {
    grid-column: span 8;
  }
}
.span-2 {
  grid-column: span 2;
}
@media only screen and (max-width: 768px) {
  .span-2 {
    grid-column: span 4;
  }
}
@media only screen and (max-width: 440px) {
  .span-2 {
    grid-column: span 8;
  }
}
.span-3 {
  grid-column: span 3;
}
@media only screen and (max-width: 768px) {
  .span-3 {
    grid-column: span 4;
  }
}
@media only screen and (max-width: 440px) {
  .span-3 {
    grid-column: span 8;
  }
}
.span-4 {
  grid-column: span 4;
}
@media only screen and (max-width: 440px) {
  .span-4 {
    grid-column: span 8;
  }
}
.span-5 {
  grid-column: span 5;
}
@media only screen and (max-width: 768px) {
  .span-5 {
    grid-column: span 8;
  }
}
.span-6 {
  grid-column: span 6;
}
@media only screen and (max-width: 768px) {
  .span-6 {
    grid-column: span 8;
  }
}
.span-7 {
  grid-column: span 7;
}
@media only screen and (max-width: 768px) {
  .span-7 {
    grid-column: span 8;
  }
}
.span-8 {
  grid-column: span 8;
}

.button,
.anchor {
  appearance: none;
  border: unset;
  cursor: pointer;
  background-color: unset;
}
.button-icon,
.anchor-icon {
  height: var(--24);
}
.button-large,
.anchor-large {
  display: inline-block;
}
.button-large.button-wide,
.anchor-large.button-wide {
  width: 100%;
  box-sizing: border-box;
}
.button-large .button-wrapper,
.anchor-large .button-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--8);
}
.button-large-text,
.anchor-large-text {
  color: var(--fc);
  transition-property: color , fill,background-color;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}
.button-large-text .anchor-wrapper,
.anchor-large-text .anchor-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
}
.button-large-text:hover .anchor-label, .button-large-text:hover .anchor-icon > svg,
.anchor-large-text:hover .anchor-label,
.anchor-large-text:hover .anchor-icon > svg {
  color: var(--n700);
  fill: var(--n700);
  transition-property: color , fill,background-color;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}
.button-large-text .anchor-label,
.anchor-large-text .anchor-label {
  transition-property: color , fill,background-color;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}
.button-large-text .anchor-icon,
.anchor-large-text .anchor-icon {
  display: inline-block;
  width: var(--24);
  height: var(--24);
  fill: var(--fc);
  transition-property: color , fill,background-color;
  transition-duration: 0.3s;
  transition-timing-function: ease;
  margin-right: var(--4);
}
.button-large-chamfer,
.anchor-large-chamfer {
  padding: calc(var(--12) + 0.125rem) var(--16) calc(var(--12) - 0.125rem);
  background-color: var(--fc);
  color: var(--bc);
  transition-property: color , fill,background-color;
  transition-duration: 0.3s;
  transition-timing-function: ease;
  clip-path: polygon(0% var(--4), var(--4) var(--4), var(--4) 0%, calc(100% - var(--4)) 0%, calc(100% - var(--4)) var(--4), 100% var(--4), 100% calc(100% - var(--4)), calc(100% - var(--4)) calc(100% - var(--4)), calc(100% - var(--4)) 100%, var(--4) 100%, var(--4) calc(100% - var(--4)), 0 calc(100% - var(--4)));
}
.button-large-chamfer:hover,
.anchor-large-chamfer:hover {
  background-color: var(--n800);
  transition-property: color , fill,background-color;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}
.button-large-round,
.anchor-large-round {
  padding: calc(var(--12) + 0.125rem) var(--16) calc(var(--12) - 0.125rem);
  background-color: var(--fc);
  border-radius: var(--72);
  color: var(--bc);
  transition-property: color , fill,background-color;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}
.button-large-round svg,
.anchor-large-round svg {
  fill: var(--bc);
}
.button-large-round:hover,
.anchor-large-round:hover {
  background-color: var(--n800);
  transition-property: color , fill,background-color;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}
.button-small,
.anchor-small {
  display: inline-block;
  color: var(--fc);
  transition-property: color;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}
.button-small .button-wrapper,
.anchor-small .button-wrapper {
  padding: var(--4) 0;
  display: flex;
  flex-direction: row-reverse;
  justify-content: center;
  align-items: center;
}
.button-small .button-label,
.anchor-small .button-label {
  color: var(--fc);
  transition-property: color , fill,background-color;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}
.button-small .button-icon,
.anchor-small .button-icon {
  display: inline-block;
  width: var(--24);
  height: var(--24);
  fill: var(--fc);
  transition-property: color , fill,background-color;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}
.button-small:hover .button-label, .button-small:hover .button-icon > svg,
.anchor-small:hover .button-label,
.anchor-small:hover .button-icon > svg {
  color: var(--n700);
  fill: var(--n700);
  transition-property: color , fill,background-color;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}

.copyright {
  color: var(--fc);
}

.breadcrumb {
  display: flex;
  gap: var(--4);
  color: var(--fc);
}
.breadcrumb svg {
  height: var(--10);
  fill: var(--fc);
}

.titlebar-wrapper {
  padding: var(--72) 0;
  margin-left: var(--intend_gap);
}
.titlebar-title {
  color: var(--fc);
}
.titlebar-subtitle {
  color: var(--fc);
  margin: var(--8) 0;
}
.titlebar-description {
  width: var(--half_width);
  color: var(--fc);
}
@media only screen and (max-width: 768px) {
  .titlebar-description {
    width: 100%;
  }
}

.canvasAnimation-loading {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

.sectionTitle-title {
  color: var(--fc);
  margin-bottom: var;
}
.sectionTitle-description {
  color: var(--fc);
  margin-top: var(--8);
}
.sectionTitle-wrapper {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.sectionTitle-cta {
  margin-top: var(--24);
  margin-left: calc(var(--4) * -1);
}

.slideshow-actions {
  margin-top: var(--margin);
  display: flex;
  align-items: center;
  gap: var(--8);
}
.slideshow-pagination {
  position: relative !important;
  bottom: unset !important;
  top: unset !important;
  left: unset !important;
  width: unset !important;
  color: var(--fc) !important;
}
.slideshow-navigation {
  top: unset !important;
  margin-top: unset !important;
  height: unset !important;
  width: unset !important;
  left: unset !important;
  right: unset !important;
}
.slideshow-navigation svg {
  width: var(--24) !important;
  fill: var(--fc) !important;
}
.slideshow-navigation.swiper-button-next {
  position: relative;
  width: var(--24);
}
.slideshow-navigation.swiper-button-next:after {
  content: unset !important;
  left: unset !important;
}
.slideshow-navigation.swiper-button-prev {
  position: relative;
  width: var(--24);
}
.slideshow-navigation.swiper-button-prev:after {
  content: unset !important;
  left: unset !important;
}
.slideshow .icon {
  width: var(--24);
  height: var(--24);
  fill: var(--fc);
}

.dropdown {
  cursor: pointer;
  position: relative;
}
.dropdown-toggle {
  appearance: none;
  border: unset;
  background-color: unset;
  display: flex;
  gap: var(--4);
  padding: var(--8) 0;
  align-items: center;
  cursor: pointer;
}
.dropdown-toggle:hover .dropdown-arrow svg, .dropdown-toggle:hover .dropdown-label {
  fill: var(--n700);
  color: var(--n700);
  transition-property: color , fill;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}
@media only screen and (max-width: 440px) {
  .dropdown-toggle {
    width: 100%;
    justify-content: space-between;
  }
}
.dropdown-label {
  color: var(--fc);
  transition-property: color , fill;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}
.dropdown-arrow {
  height: var(--16);
  width: var(--16);
  transform: rotate(0deg);
  transition-property: transform;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}
.dropdown-arrow svg {
  fill: var(--fc);
  transition-property: color , fill;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}
.dropdown-menu {
  position: absolute;
  top: var(--32);
  z-index: 1;
  display: flex;
  flex-direction: column;
  visibility: hidden;
  opacity: 0;
  width: var(--240);
  padding: var(--8) 0;
  background-color: var(--bc);
  transition-property: visibility , opacity;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}
.dropdown-menu li {
  color: var(--fc);
  padding: var(--8) var(--16);
  background-color: var(--bc);
  cursor: pointer;
  transition-property: background-color;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}
.dropdown-menu li:hover {
  background-color: var(--n200);
  transition-property: background-color;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}
.dropdown--show .dropdown-menu {
  visibility: visible;
  opacity: 1;
  transition-property: visibility , opacity;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}
.dropdown--show .dropdown-arrow {
  transform: rotate(180deg);
  transition-property: transform;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}

.footer {
  margin-top: var(--96);
}
.footer-top {
  align-items: center;
  padding-top: var(--24);
  padding-bottom: var(--24);
  border-top: var(--border);
}
.footer-sign {
  grid-column: span 2;
}
.footer-sign > svg {
  height: var(--32);
  fill: var(--fc);
}
@media only screen and (max-width: 1024px) {
  .footer-sign {
    grid-column: span 8;
  }
}
.footer-breadcrums {
  grid-column: span 4;
}
@media only screen and (max-width: 1024px) {
  .footer-breadcrums {
    grid-column: span 8;
  }
}
.footer-gototop {
  grid-column: span 2;
}
@media only screen and (max-width: 1024px) {
  .footer-gototop {
    display: none;
  }
}
.footer-bottom {
  padding-top: var(--24);
  padding-bottom: var(--24);
  border-top: var(--border);
}
.footer-copyright {
  grid-column: span 2;
  height: 100%;
  display: flex;
  align-items: flex-end;
}
@media only screen and (max-width: 1024px) {
  .footer-copyright {
    grid-column: span 4;
    grid-row: 2;
  }
}
.footer-menu {
  grid-column: span 2;
}
@media only screen and (max-width: 1024px) {
  .footer-menu {
    grid-column: span 4;
  }
}
.footer-menu a {
  padding: var(--4) 0;
  color: var(--fc);
  transition-property: color;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}
.footer-menu a:hover {
  color: var(--n700);
  transition-property: color;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}
.footer-projects {
  grid-column: span 2;
}
@media only screen and (max-width: 1024px) {
  .footer-projects {
    grid-column: span 4;
  }
}
.footer-projects a {
  padding: var(--4) 0;
  color: var(--fc);
  transition-property: color;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}
.footer-projects a:hover {
  color: var(--n700);
  transition-property: color;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}
.footer-contact {
  grid-column: span 2;
}
@media only screen and (max-width: 1024px) {
  .footer-contact {
    grid-column: span 4;
  }
}
.footer-contact a {
  padding: var(--4) 0;
  color: var(--fc);
  transition-property: color;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}
.footer-contact a:hover {
  color: var(--n700);
  transition-property: color;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}

.row {
  margin-bottom: var(--margin);
}
.row-has_background {
  padding-top: var(--margin);
  padding-bottom: var(--margin);
}
.row-column-text p {
  color: var(--fc);
}
@media only screen and (max-width: 768px) {
  .remove_on_tablet {
    display: none;
  }
}

main {
  margin-top: var(--header_height);
}

.home main {
  margin-top: unset;
}

.home_hero {
  width: 100%;
  height: 100dvh;
}
.home_hero-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.home_hero-video {
  filter: brightness(0.75);
}
.home_hero-wrapper {
  position: relative;
  height: 100%;
}
.home_hero-videoWrapper {
  height: 100%;
}
.home_hero-titleBar {
  padding-left: var(--intend_bleeded);
  width: 100%;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: var(--24);
  align-items: flex-start;
}
@media only screen and (max-width: 1024px) {
  .home_hero-titleBar {
    padding-left: var(--margin);
  }
}
.home_hero-title {
  color: var(--fc);
}

.home_brick-wrapper {
  width: 100%;
  height: 100dvh;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.home_brick-animation {
  width: 100%;
}
.home_brick-canvas {
  width: 100%;
}
.home_brick-text {
  color: var(--red);
  position: absolute;
  left: 50%;
  top: 50%;
  width: 70%;
  transform: translate(-50%, -50%);
}
.home_brick-textWrapper {
  width: 100%;
  height: 50dvh;
  position: absolute;
  top: 50%;
  overflow: hidden;
  z-index: -1;
}

.home_products {
  margin-bottom: var(--180);
	overflow-x: hidden;
}
.home_products-wrapper {
  position: relative;
}
.home_products-contents {
  margin-top: var(--margin);
	overflow-x:hidden;
}
.home_products-slideshow {
  overflow: unset !important;
}
.home_products-slideshow-actions {
  position: absolute;
  top: var(--4);
  right: var(--margin);
  margin-top: unset;
}
@media only screen and (max-width: 768px) {
  .home_products-slideshow-actions {
    display: none;
  }
}

.home_projects-slideshow-actions {
  left: var(--margin);
  bottom: var(--margin);
  margin-top: var(--margin);
  bottom: var(--margin);
  left: var(--margin);
  position: absolute;
}
.home_projects-slideshow-slideWrapper {
  height: 100dvh;
}
.home_projects-slideshow-image img {
  width: 100%;
  height: 100dvh;
  filter: brightness(0.6);
  object-fit: cover;
}
.home_projects-slideshow-info {
  height: 100dvh;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  padding: var(--margin);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.home_architects {
  margin-top: var(--180);
  margin-bottom: var(--180);
		overflow-x: hidden;

}
.home_architects-wrapper {
  position: relative;
}
.home_architects-contents {
  margin-top: var(--margin);
	overflow-x:hidden;
}
.home_architects .architect_card-title {
  margin-top: var(--16);
}
.home_architects .architect_card-office {
  color: var(--n700);
}
.home_architects-slideshow {
  overflow: unset !important;
}
.home_architects-slideshow-actions {
  position: absolute;
  top: var(--4);
  right: var(--margin);
  margin-top: unset;
}
@media only screen and (max-width: 768px) {
  .home_architects-slideshow-actions {
    display: none;
  }
}

.home_videos {
  margin-top: var(--180);
  margin-bottom: var(--180);
		overflow-x: hidden;

}
.home_videos-wrapper {
  position: relative;
}
.home_videos-contents {
  margin-top: var(--margin);
	overflow-x:hidden;
}
.home_videos .video_card-title {
  margin-top: var(--16);
}
.home_videos .video_card-description {
  color: var(--n700);
  margin-top: var(--8);
}
.home_videos-slideshow {
  overflow: unset !important;
}
.home_videos-slideshow-actions {
  position: absolute;
  top: var(--4);
  right: var(--margin);
  margin-top: unset;
}
@media only screen and (max-width: 768px) {
  .home_videos-slideshow-actions {
    display: none;
  }
}

.video-popup {
  position: fixed;
  inset: 0;
  background-color: rgba(var(--n50-rgb), 0.8);
  -webkit-backdrop-filter: blur(var(--8));
  backdrop-filter: blur(var(--8));
  z-index: 100;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: var(--margin);
  opacity: 1;
  visibility: visible;
  transition-property: opacity , visibility;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}
.video-popup--hidden {
  opacity: 0;
  visibility: hidden;
  transition-property: opacity , visibility;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}
.video-popup.active {
  opacity: 1;
  pointer-events: auto;
}
.video-popup-content {
  position: relative;
  height: 100%;
}
.video-popup-content video {
  height: 100%;
  object-fit: contain;
}
.video-popup-close {
  position: absolute;
  top: var(--margin);
  right: var(--margin);
  z-index: 100;
  cursor: pointer;
}

.home_contact-title {
  text-transform: uppercase;
  color: var(--fc);
}
.home_contact-description {
  color: var(--fc);
  margin-top: var(--8);
}
.home_contact-cta {
  color: var(--fc);
  transition-property: color;
  transition-duration: 0.3s;
  transition-timing-function: ease;
  text-decoration: underline;
  cursor: pointer;
}
.home_contact-cta:hover {
  color: var(--n700);
  transition-property: color;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}

.product_single {
  padding-top: var(--margin);
  position: relative;
}
.product_single-title {
  color: var(--fc);
}
.product_single-description {
  color: var(--fc);
  margin-right: calc(var(--column_width) + var(--gutter));
}
.product_single-additional {
  position: relative;
}
@media only screen and (max-width: 768px) {
  .product_single-additional {
    width: 100%;
    height: 100dvh;
    left: 0;
    top: calc(100vh - var(--56));
    z-index: 10;
    transition-property: top;
    transition-duration: 0.3s;
    transition-timing-function: ease;
  }
}
.product_single-additional--open {
  top: 0;
  transition-property: top;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}
.product_single-additional--open .icon {
  transform: rotate(180deg) !important;
  transition-property: transform;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}
.product_single-additional_wrapper {
  position: sticky;
  top: calc(var(--header_height) + var(--margin));
}
@media only screen and (max-width: 768px) {
  .product_single-additional_wrapper {
    position: unset;
    top: unset;
  }
}
.product_single-additional_header {
  padding: var(--16) var(--margin);
  border-bottom: var(--border);
  display: flex;
  justify-content: space-between;
  display: none;
  align-items: center;
}
@media only screen and (max-width: 768px) {
  .product_single-additional_header {
    display: flex;
  }
}
.product_single-additional_header span {
  color: var(--fc);
}
.product_single-additional_header .icon {
  fill: var(--fc);
  transform: rotate(0);
  transition-property: transform;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}
@media only screen and (max-width: 768px) {
  .product_single-additional {
    position: fixed;
    background-color: var(--n50);
  }
}
.product_single-images {
  display: flex;
  flex-direction: column;
  gap: var(--margin);
  margin-top: var(--margin);
}
.product_single-thumb {
  grid-column: span 2;
}
@media only screen and (max-width: 768px) {
  .product_single-thumb {
    grid-column: span 8;
    grid-row: 1;
  }
}
.product_single-additional {
  grid-column: span 2;
}
@media only screen and (max-width: 1024px) {
  .product_single-additional {
    grid-column: span 3;
    grid-row: 2;
  }
}
.product_single-main {
  grid-column: span 4;
}
@media only screen and (max-width: 1024px) {
  .product_single-main {
    grid-column: span 5;
    grid-row: 2;
  }
}
@media only screen and (max-width: 768px) {
  .product_single-main {
    grid-column: span 8;
    grid-row: 2;
  }
}
.product_single-thumbnail {
  height: 18rem;
  width: unset;
}
.product_single-form h3 {
  text-transform: uppercase;
  color: var(--fc);
  margin-bottom: var(--8);
}
.product_single-form-sizes, .product_single-form-areas {
  display: flex;
  flex-wrap: wrap;
  gap: var(--8);
  margin-bottom: 2rem;
}
.product_single-form-chip {
  padding: var(--4) var(--8);
  border: var(--border);
  color: var(--fc);
  background-color: transparent;
  transition-property: background-color;
  transition-duration: 0.3s;
  transition-timing-function: ease;
  cursor: pointer;
}
.product_single-form-chip.selected {
  background-color: var(--n200);
  border: unset;
  transition-property: background-color;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}
.product_single-form-chip.selected:hover {
  background-color: var(--n300);
  transition-property: background-color;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}
.product_single-form-chip:hover {
  background-color: var(--n100);
  transition-property: background-color;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}
.product_single-form-caption {
  color: var(--fc);
  margin-top: var(--8);
}
.product_single-specs {
  margin-top: var(--56);
  display: flex;
  flex-direction: column;
  gap: var(--4);
}
.product_single-specs h3 {
  text-transform: uppercase;
  color: var(--fc);
}
.product_single-spec {
  display: flex;
  gap: var(--16);
}
.product_single-specLabel {
  color: var(--fc);
  flex: 2;
  padding: var(--2) 0;
}
.product_single-specValue {
  flex: 3;
  color: var(--fc);
}
@media only screen and (max-width: 768px) {
  .product_single_order_info {
    padding: var(--margin);
  }
}

.product_single-popup {
  position: fixed;
  width: 100%;
  inset: 0;
  background: var(--scrim);
  -webkit-backdrop-filter: blur(var(--16));
  backdrop-filter: blur(var(--16));
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
  padding: var(--margin);
}
.product_single-popup--hidden {
  display: none;
}
.product_single-popup.visible {
  display: flex;
}
.product_single-popup-header {
  display: flex;
  gap: var(--4);
  margin-bottom: var(--16);
}
.product_single-popup-title {
  color: var(--fc);
}
.product_single-popup .popup-inner {
  background: var(--bc);
  padding: var(--24);
  width: 100%;
  max-width: 50rem;
  position: relative;
  animation: fadeIn 0.3s ease;
}
.product_single-popup-close svg {
  width: var(--24);
  height: var(--24);
  fill: var(--fc);
  cursor: pointer;
  transition-property: fill;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}
.product_single-popup-close svg:hover {
  fill: var(--n800);
  transition-property: fill;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}
.product_single-popup-form {
  display: flex;
  flex-direction: column;
  gap: var(--24);
}
.product_single-popup-form input[type=text],
.product_single-popup-form input[type=email] {
  appearance: none;
  -webkit-appearance: none;
  border: unset;
  background-color: transparent;
  color: var(--fc);
  padding: var(--8) var(--4);
  border-bottom: var(--border);
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: var(--8);
  box-sizing: border-box;
  color: var(--fc);
  transition-property: background-color,border;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}
.product_single-popup-form input[type=text]:hover,
.product_single-popup-form input[type=email]:hover {
  outline: none;
  border-color: var(--fc);
  transition-property: background-color,border;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}
.product_single-popup-form input[type=text]:focus,
.product_single-popup-form input[type=email]:focus {
  outline: none;
  background-color: var(--n100);
  border-color: var(--fc);
  transition-property: background-color,border;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}
.product_single-popup-form .product_single-popup-error {
  color: #d00;
  font-size: 0.875rem;
}
.product_single-popup-form-inputs {
  display: flex;
  gap: var(--gutter);
}
.product_single-popup-summary {
  color: var(--n700);
}
.product_single-popup-summary span {
  text-decoration: underline;
  color: var(--fc);
}

.popup-success {
  background: var(--green);
  padding: var(--24);
  width: 100%;
  max-width: 50rem;
  position: relative;
  animation: fadeIn 0.3s ease;
}
.popup-success h3 {
  color: var(--fc);
  margin-bottom: 0.5rem;
}
.popup-success p {
  color: var(--fc);
  margin-bottom: var(--24);
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: scale(0.95);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
.product_cards-noProduct {
  color: var(--fc);
  grid-column: span 8;
  padding: var(--margin);
  text-align: center;
  background-color: var(--n100);
}

.product_card {
  grid-column: span 2;
}
@media only screen and (max-width: 768px) {
  .product_card {
    grid-column: span 4;
  }
}
@media only screen and (max-width: 440px) {
  .product_card {
    grid-column: span 8;
  }
}
.product_card-thumbnail {
  margin-bottom: var(--24);
}
.product_card-title {
  color: var(--fc);
  text-align: center;
}
.product_card-sizes {
  display: block;
  color: var(--fc);
  text-align: center;
  margin-top: var(--4);
}
.product_card-stalker {
  position: fixed;
  top: 0;
  left: 0;
  width: var(--240);
  height: auto;
  pointer-events: none;
  z-index: 9999;
  opacity: 0;
  transition-property: opacity;
  transition-duration: 0.3s;
  transition-timing-function: ease;
  display: block; /* always rendered, but invisible when not used */
}

.product-filters {
  margin-left: var(--intend_gap);
  margin-bottom: var(--48);
  width: calc(100% - var(--intend_gap));
  background-color: rgba(var(--n50-rgb), 0.8);
  max-height: var(--32);
  overflow: hidden;
  transition-property: max-height , overflow;
  transition-duration: 0.3s;
  transition-timing-function: ease;
  -webkit-backdrop-filter: blur(var(--8));
  backdrop-filter: blur(var(--8));
}
.product-filters-cta {
  display: flex;
  align-items: center;
  gap: var(--8);
  height: var(--32);
  cursor: pointer;
}
.product-filters-cta svg {
  height: var(--24);
  transform: rotate(0deg);
  transition-property: transform;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}
.product-filters-cta.active svg {
  transform: rotate(180deg);
  transition-property: transform;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}
.product-filters-wrapper {
  display: flex;
  flex-direction: column;
  gap: var(--16);
}
.product-filters--show {
  max-height: 75vh;
  overflow: unset;
  transition-property:  max-height , overflow;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}
.product-filters-secondary {
  display: flex;
  gap: var(--24);
}
@media only screen and (max-width: 440px) {
  .product-filters-secondary {
    flex-direction: column;
    gap: var(--16);
  }
}
.product-filters-hint {
  color: var(--n700);
  height: var(--32);
  display: flex;
  align-items: center;
}
.product-filters-title {
  color: var(--fc);
}
.product-filters-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--16);
}
@media only screen and (max-width: 768px) {
  .product-filters-header {
    align-items: flex-start;
    flex-direction: column;
  }
}
.product-filters-allColor, .product-filters-color {
  appearance: none;
  border: var(--border);
  padding: var(--8) var(--12);
  background-color: transparent;
  transition-property: background-color,border-color;
  transition-duration: 0.3s;
  transition-timing-function: ease;
  align-items: center;
  cursor: pointer;
}
.product-filters-allColor:hover, .product-filters-color:hover {
  background-color: var(--n100);
  transition-property: background-color , border-color;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}
.product-filters-colors {
  display: flex;
  gap: var(--8);
  flex-wrap: wrap;
}
.product-filters-color {
  display: flex;
  gap: var(--4);
  padding: var(--8) var(--12) var(--8) var(--8);
  height: var(--32);
}
.product-filters-color .color-swatch {
  background-color: #81d742;
  display: block;
  width: var(--16);
  height: var(--16);
}
.product-filters-colorSection {
  display: flex;
  justify-content: space-between;
  gap: var(--gutter);
}
@media only screen and (max-width: 768px) {
  .product-filters-colorSection {
    flex-direction: column;
    align-items: flex-start;
  }
}
.product-filters-orderColorBtn {
  display: flex;
  gap: var(--8);
  height: var(--32);
  border: var(--border);
  padding: var(--8) var(--12) var(--8) var(--8);
  background-color: transparent;
  transition-property: background-color ;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}
.product-filters-orderColorBtn:hover {
  background-color: var(--n100);
  transition-property: background-color;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}
.product-filters-orderColorBtn-label {
  color: var(--fc);
}
.product-filters-orderColorBtn-icon {
  width: var(--16);
  height: var(--16);
  background: linear-gradient(to right, rgb(214, 105, 101), rgb(223, 125, 89), rgb(252, 207, 97), rgb(179, 173, 152), rgb(88, 162, 106), rgb(72, 193, 172), rgb(36, 142, 216), rgb(121, 101, 178), rgb(205, 114, 161));
}
.product-filters-active_filters {
  gap: var(--8);
  display: flex;
  height: var(--32);
  align-items: center;
}
.product-filters-active_filters #filter-chips {
  display: flex;
  gap: var(--8);
  flex-wrap: wrap;
}
@media only screen and (max-width: 440px) {
  .product-filters-active_filters {
    height: unset;
    align-items: center;
    flex-wrap: wrap;
  }
}
.product-filters-chip {
  appearance: none;
  -webkit-appearance: none;
  border: unset;
  background-color: var(--n200);
  display: flex;
  gap: var(--4);
  align-items: center;
  cursor: pointer;
  padding: var(--8) var(--12) var(--8) var(--8);
  transition-property: background-color;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}
.product-filters-chip svg {
  fill: var(--fc);
}
.product-filters-chip-icon {
  width: var(--16);
  height: var(--16);
}
.product-filters-chip-label {
  color: var(--fc);
}
.product-filters-chip:hover {
  background-color: var(--n300);
  transition-property: background-color;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}
.product-filters-button {
  background-color: var(--bc);
  transition-property: background-color;
  transition-duration: 0.3s;
  transition-timing-function: ease;
  border: unset;
  display: flex;
  align-items: center;
  gap: var(--4);
  cursor: pointer;
  padding: var(--8) var(--12) var(--8) var(--8);
}
.product-filters-button:hover {
  background-color: var(--n200);
  transition-property: background-color;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}
.product-filters-button-label {
  color: var(--fc);
}
.product-filters-button-icon {
  weight: var(--16);
  height: var(--16);
  fill: var(--fc);
}

#color-gradient-bar {
  position: relative;
  height: var(--96);
  cursor: default;
}
#color-gradient-bar .gradient-track {
  width: 100%;
  height: 100%;
  transition-property: background;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}
#color-gradient-bar .gradient-selector {
  position: absolute;
  top: 0;
  height: 100%;
  width: var(--1);
  background-color: var(--fc);
  transition-property: left;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}
#color-gradient-bar .gradient-selector::before {
  content: "";
  width: var(--8);
  height: var(--8);
  position: absolute;
  top: calc(-1 * var(--8));
  background-color: var(--fc);
  transform: translateX(-50%);
}
#color-gradient-bar .gradient-selector::after {
  content: "";
  width: var(--8);
  height: var(--8);
  position: absolute;
  bottom: calc(-1 * var(--8));
  background-color: var(--fc);
  transform: translateX(-50%);
}
#color-gradient-bar .gradient-selector.left-selector {
  left: 0%;
}
#color-gradient-bar .gradient-selector.right-selector {
  left: 100%;
}

.project_single-info {
  padding-top: var(--margin);
  padding-bottom: var(--margin);
}
.project_single-titleBar {
  grid-column: 3/7;
}
@media only screen and (max-width: 1024px) {
  .project_single-titleBar {
    grid-column: span 5;
  }
}
@media only screen and (max-width: 768px) {
  .project_single-titleBar {
    grid-column: span 8;
  }
}
.project_single-additional {
  grid-column: 7/9;
}
@media only screen and (max-width: 1024px) {
  .project_single-additional {
    grid-column: span 3;
  }
}
@media only screen and (max-width: 768px) {
  .project_single-additional {
    grid-column: span 8;
  }
}
.project_single-title {
  color: var(--fc);
}
.project_single-description {
  color: var(--fc);
}
.project_single-specs {
  margin-top: var(--16);
  display: flex;
  flex-direction: column;
  gap: var(--4);
}
.project_single-specs h3 {
  text-transform: uppercase;
  color: var(--fc);
}
.project_single-spec {
  display: flex;
  gap: var(--16);
}
.project_single-specLabel {
  color: var(--fc);
  width: var(--72);
  padding: var(--2) 0;
}
.project_single-specValue {
  flex: 1;
  color: var(--fc);
}
.project_single-products {
  display: flex;
  gap: var(--16);
}
.project_single-product {
  height: var(--48);
  width: unset;
}
.project_single-used_products {
  row-gap: var(--16);
}
.project_single-used_products-title {
  color: var(--fc);
  grid-column: 3/7;
  grid-row: 1;
}
.project_single-used_products-products {
  grid-column: 3/7;
  grid-row: 2;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--gutter);
}
.project_single-used_products-product {
  grid-column: span 2;
}

.project_cards-wrapper {
  margin-left: var(--intend_gap);
}
.project_cards-wrapper > .project_card:first-child .project_card-wrapper {
  padding-top: unset;
}
.project_cards-wrapper > .project_card:last-child .project_card-wrapper {
  border-bottom: unset;
}

.project_card-wrapper {
  display: flex;
  gap: var(--24);
  padding-bottom: var(--margin);
  padding-top: var(--margin);
  border-bottom: var(--border);
}
@media only screen and (max-width: 768px) {
  .project_card-wrapper {
    border-bottom: unset;
    flex-direction: column;
  }
}
.project_card-thumbnail {
  cursor: pointer;
}
.project_card-thumbnail, .project_card-info {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
@media only screen and (max-width: 768px) {
  .project_card-thumbnail, .project_card-info {
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-end;
  }
}
@media only screen and (max-width: 768px) {
  .project_card-action {
    display: none;
  }
}
.project_card-footer {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
.project_card-meta {
  display: flex;
  flex-direction: column;
  gap: var(--8);
}
.project_card-meta_items {
  color: var(--fc);
}
.project_card-title {
  text-transform: uppercase;
  color: var(--fc);
}
.project_card-products {
  display: flex;
  gap: var(--8);
}
.project_card-product {
  height: var(--48);
}

.architect_single-cover {
  margin-bottom: var(--margin);
}
.architect_single-cover img {
  width: var(--half_width);
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  .architect_single-cover img {
    width: 100%;
  }
}

.architect_cards-wrapper {
  margin-left: var(--intend_gap);
}
.architect_cards-wrapper > .architect_card:first-child .architect_card-wrapper {
  padding-top: unset;
}
.architect_cards-wrapper > .architect_card:last-child .architect_card-wrapper {
  border-bottom: unset;
}

.architect_card-wrapper {
  display: flex;
  gap: var(--24);
  padding-bottom: var(--margin);
  padding-top: var(--margin);
  border-bottom: var(--border);
}
@media only screen and (max-width: 768px) {
  .architect_card-wrapper {
    border-bottom: unset;
    flex-direction: column;
  }
}
.architect_card-thumbnail {
  cursor: pointer;
  flex: 2;
}
.architect_card-info {
  flex: 3;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
@media only screen and (max-width: 768px) {
  .architect_card-info {
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-end;
  }
}
@media only screen and (max-width: 768px) {
  .architect_card-action {
    display: none;
  }
}
.architect_card-footer {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
.architect_card-meta_items {
  color: var(--fc);
}
.architect_card-title {
  text-transform: uppercase;
  color: var(--fc);
}

.event_single-cover {
  margin-bottom: var(--margin);
}
.event_single-cover img {
  width: var(--half_width);
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  .event_single-cover img {
    width: 100%;
  }
}

.event_cards-wrapper {
  margin-left: var(--intend_gap);
}
.event_cards-wrapper > .event_card:first-child .event_card-wrapper {
  padding-top: unset;
}
.event_cards-wrapper > .event_card:last-child .event_card-wrapper {
  border-bottom: unset;
}

.event_card-wrapper {
  display: flex;
  gap: var(--24);
  padding-bottom: var(--margin);
  padding-top: var(--margin);
  border-bottom: var(--border);
}
@media only screen and (max-width: 768px) {
  .event_card-wrapper {
    border-bottom: unset;
    flex-direction: column;
  }
}
.event_card-thumbnail {
  cursor: pointer;
  flex: 2;
}
.event_card-summery {
  color: var(--fc);
}
.event_card-info {
  flex: 3;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
@media only screen and (max-width: 768px) {
  .event_card-info {
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-end;
  }
}
@media only screen and (max-width: 768px) {
  .event_card-action {
    display: none;
  }
}
.event_card-footer {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
.event_card-meta_items {
  color: var(--fc);
}
.event_card-title {
  text-transform: uppercase;
  color: var(--fc);
}

.about_colors-media-wrapper {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  gap: var(--gutter);
  width: max-content; /* grow with content */
  padding-left: var(--margin);
  padding-right: var(--margin);
}
.about_colors-image {
  width: 18vw;
}

.about_process-image--small {
  grid-column: span 2;
}
@media only screen and (max-width: 768px) {
  .about_process-image--small {
    grid-column: span 8;
  }
}
.about_process-image--large {
  grid-column: span 6;
}
@media only screen and (max-width: 768px) {
  .about_process-image--large {
    grid-column: span 8;
  }
}