@font-face {
   font-family: 'Untitled Sans';
   src: url('../fonts/untitled-sans-web-regular.eot');
   src: url('../fonts/untitled-sans-web-regular.eot?#iefix') format('embedded-opentype'),
        url('../fonts/untitled-sans-web-regular.woff2') format('woff2'),
        url('../fonts/untitled-sans-web-regular.woff') format('woff');
   font-weight: 400;
   font-style: normal;
   font-display: swap;
}

:root {
  --black: #000000;
  --white: #FFFFFF;
  --font-family-title: 'Cormorant Garamond', serif;
  --font-family-body: 'Untitled Sans', sans-serif;
  --font-size: 75%;
  --font-height: 18px;
  --font-weight: 400;
  --font-weight-light: 300;
  --font-weight-extra-thick: 800;
  --font-spacing: 0em;
  --font-scale-xxs: 0.62em;
  --font-scale-xs: 0.8em;
  --font-scale-s: 0.88em;
  --font-scale-m: 1.2em;
  --font-scale-l: 1.50em;
  --font-scale-xl: 2em;
  --font-scale-xxl: 2.441em;
  --font-scale-xxxl: 4em;
  --mob-padding: 15px;
  --spacing-s: 20px;
  --spacing-m: 40px;
  --spacing-l: 60px;
  --spacing-xl: 80px;
  --spacing-xxl: 200px;
  --width-xxs: 400px;
  --width-xs: 500px;
  --width-s: 900px;
  --width-m: 1200px;
  --width-l: 1400px;
  --width-xl: 1900px;
  font-size: var(--font-size);
  font-family: var(--font-family-body);
  font-weight: var(--font-weight);
  letter-spacing: var(--font-spacing);
  color: var(--black);
}
  
  @media screen and (max-width: 600px) {
  :root {
  --font-scale-xxs: 0.52em;
  --font-scale-xs: 0.75em;
  --font-scale-s: 0.8em;
  --font-scale-m: 1.1em;
  --font-scale-l: 1.2em;
  --font-scale-xl: 1.55em;
  --font-scale-xxl: 1.75em;
  --font-scale-xxxl: 2.441em;
  --spacing-s: 10px;
  --spacing-m: 20px;
  --spacing-l: 40px;
  --spacing-xl: 60px;
  --spacing-xxl: 90px;
  --width-xxs: 400px;
  --width-xs: 500px;
  --width-s: 900px;
  --width-m: 1200px;
  --width-l: 1400px;
  --width-xl: 1900px;
  }
}

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

html {
  line-height: 1.4; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */

/**
 * Remove the margin in all browsers.
 */

body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */

main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */

a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */

img {
  border-style: none;
}

/* Forms
   ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */

button,
input { /* 1 */
  overflow: visible;
  -webkit-appearance: none;
}

input[type=text],
input[type=email],
input[type=password],
input[type=search],
input[type=tel],
textarea {
    -webkit-appearance: none;
    border-radius:0;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

input:focus, textarea:focus, select:focus {
outline: none;
}

/**
 * Correct the padding in Firefox.
 */

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */

legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */

textarea {
  overflow: auto;
  resize: none;
}

/**
 * Figure
 */
figure {
    display: block;
    margin-block-start: 0em;
    margin-block-end: 0em;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */

details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

/* Misc
   ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */

template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */

[hidden] {
  display: none;
}

/* @@@@ Global CSS @@@@ */

.img-wrapper {
  width: 100%;
  height: 0;
  position: relative;
}

.wrapped-img {
  width: 100%;
  height: auto;
  position: absolute;
}

select {
  -webkit-appearance: none;  /*Removes default chrome and safari style*/
  -moz-appearance: none; /* Removes Default Firefox style*/
}

h1, h2, h3, h4, h5, h6, .title {
  line-height: 1.2;
  font-weight: var(--font-weight-light);
  text-transform: uppercase;
  font-size: 1rem;
}

.header-logo {
  font-family: var(--font-family-title);
  letter-spacing: 8px;
  font-size: var(--font-scale-xl);
  padding: 20px;
  color: white;
  display: inline-block;
}

.footer-logo {
  font-family: var(--font-family-title);
  font-size: 9.5vw;
  letter-spacing: 3.3vw;
  margin-right: -3.3vw
}

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

.kerning {
  letter-spacing: .02em;
}

.shadow img {
  /* transition: all 0.3s; */
  border-radius: 1px;
  box-shadow: 0 1px 3px rgba(0,0,0,.02), 
              0 1px 2px rgba(0,0,0,.06)
}

.uppercase {
  text-transform: uppercase;
}

.lowercase {
  text-transform: lowercase;
}

.text-align-center {
  text-align: center;
}

.font-scale-xs {
  font-size: var(--font-scale-xs);
}

.font-scale-s {
  font-size: var(--font-scale-s);
}

.margin-top-s {
  margin-top: var(--spacing-s);
}

.margin-top-m {
  margin-top: var(--spacing-m);
}

.margin-top-l {
  margin-top: var(--spacing-l);
}

.margin-top-xl {
  margin-top: var(--spacing-xl);
}

.margin-top-xxl {
  margin-top: var(--spacing-xxl);
}

.margin-bottom-s {
  margin-bottom: var(--spacing-s);
}

.margin-bottom-m {
  margin-bottom: var(--spacing-m);
}

.margin-bottom-l {
  margin-bottom: var(--spacing-l);
}

.margin-bottom-xl {
  margin-bottom: var(--spacing-xl);
}

.margin-bottom-xxl {
  margin-bottom: var(--spacing-xxl);
}

.vertical-padding-s {
  padding-top: var(--spacing-s);
  padding-bottom: var(--spacing-s);
}

.vertical-padding-m {
  padding-top: var(--spacing-m);
  padding-bottom: var(--spacing-m);
}

.vertical-padding-l {
  padding-top: var(--spacing-l);
  padding-bottom: var(--spacing-l);
}

.side-padding-s {
  padding-left: var(--spacing-s);
  padding-right: var(--spacing-s);
}

.side-padding-m {
  padding-left: var(--spacing-m);
  padding-right: var(--spacing-m);
}

.side-padding-l {
  padding-left: var(--spacing-l);
  padding-right: var(--spacing-l);
}

.side-padding-xl {
  padding-left: var(--spacing-xl);
  padding-right: var(--spacing-xl);
}  

.container-width-xxs {
  max-width: var(--width-xxs);
  margin-left: auto;
  margin-right: auto;
}

.container-width-xs {
  max-width: var(--width-xs);
  margin-left: auto;
  margin-right: auto;
}

.container-width-s {
  max-width: var(--width-s);
  margin-left: auto;
  margin-right: auto;
}

.container-width-m {
  max-width: var(--width-m);
  margin-left: auto;
  margin-right: auto;
}

.container-width-l {
  max-width: var(--width-l);
  margin-left: auto;
  margin-right: auto;
}

.container-width-xl {
  max-width: var(--width-xl);
  margin-left: auto;
  margin-right: auto;
}
  
.center-contents {
  display: flex;
  justify-content: center;
  align-items: center;
}
.center-contents.secondary-menu {
  justify-content: space-between;
}


/* @@@@ PAGE @@@@ */

.page-content {
  background-color:white;
  position:absolute;
  top:0;
}
.hero-image {
  background-color: black;
  height: 82vh;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
}

.blend {
  mix-blend-mode: exclusion;
}

/* @@@@ COLUMNS @@@@ */
.content-columns {
  display: flex;
}

.column-1 {
  width:35vw;
}

.column-2 {
  width:50vw;
}

.column-3 {
  width:15vw;
}

/* Primary Nav */
.primary-menu {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  padding: 20px;
}

/* Secondary (smaller) images eg. Home page bottom */
.secondary-image {
  width: 30vw;
}
.full-width.secondary-image {
  width: 100%;
}
.secondary-image img {
  width: 100%
}

/* Scroll effect */

.slide-container {
  position: relative;
}
.piece:not(.base) {
  bottom: 0px;
}
/* Widths come from comparison of full size width to base's width */
.slide {
  position:relative;
  margin-bottom: -90px;
  z-index: 3;
}
.base {
  position: relative;
  z-index: 1;
}

/* @@@@ SHOP @@@@ */
.grid {
  display: grid;
  grid-gap: 50px;
  grid-template-columns: 50% 50%
}
h3.title {
margin-block-start: 0em;
margin-block-end: 0em;
}

.mob-menu-button-wrapper {
  position: -webkit-sticky;
  position: sticky;
  top:0;
  mix-blend-mode: exclusion;
  z-index: 30;
}
.mob-menu-button {
  padding:20px;
  color: white;
}
.sold-out {
  text-decoration: line-through;
}

/* @@@@ SINGLE PRODUCT @@@@ */
h2.title {
margin-block-start: 0em;
margin-block-end: 0em;
}
.flex {
  display: flex;
}
.product-details > div {
width:50%;
}

/* @@@@ PROJECTS @@@@ */
.project-grid {
  grid-auto-flow:dense;
  grid-template-columns: auto auto;
}
.full-width-grid-item {
  grid-column: auto / span 2;
}
/* .single-width-grid-item {
  grid-column: auto / span 1;
} */
.project-grid .overlay-title {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  visibility: hidden;
}
.project-grid .overlay-title h2 {
  padding: 50px;
  font-family: var(--font-family-title);
  letter-spacing: 0.1rem;
  font-size: var(--font-scale-l)
}
.project-grid a {
  display: block;
  position: relative
}
.project-grid a:hover .overlay-title {
  visibility: initial;
}
.project-grid a:hover img {
  visibility: hidden;
}

/* @@@@ CONTACT FORM @@@@ */
::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: var(--black);
  opacity: 1; /* Firefox */
}

:-ms-input-placeholder { /* Internet Explorer 10-11 */
  color: var(--black);
}

::-ms-input-placeholder { /* Microsoft Edge */
  color: var(--black);
}
input:focus::placeholder, textarea:focus::placeholder {
  color: transparent;
}
input:focus::-webkit-input-placeholder, textarea:focus::-webkit-input-placeholder { color:transparent; }
input:focus:-moz-placeholder, textarea:focus:-moz-placeholder { color:transparent; } /* FF 4-18 */
input:focus::-moz-placeholder, textarea:focus::-moz-placeholder { color:transparent; } /* FF 19+ */
input:focus:-ms-input-placeholder, textarea:focus:-ms-input-placeholder { color:transparent; } /* IE 10+ */

form input, form textarea {
  border: none;
  border-bottom: 1px solid var(--black);
  color: var(--black);
  width: calc(100% - 10px);
}

form .grid {
  width: calc(100% - var(--spacing-s));
  grid-gap: var(--spacing-s);
}

form textarea {
  height: 120px;
}

.contact-button {
  text-align: right
}

form button {
  background: none;
  color: inherit;
  border: none;
  padding: 10px;
  text-decoration: underline;
  text-transform: uppercase;
}

form button:hover {
  cursor: pointer;
  text-decoration: initial;
}

/* @@@@ MOBILE SIDE MENU @@@@ */

.sidenav {
  height: 100%;
  width: 0;
  position: fixed;
  z-index: 2147483649;
  top: 0;
  left: -1px;
  overflow-x: hidden;
  transition: 250ms;
  background-color: var(--white);
  border-right: 1px solid var(--black)
}

.sidenav .nav-container {
  position: absolute;
  top: 0px;
  right: 0px;
  width: 350px;
}

.sidenav .nav-container .nav-container-contents {
  padding-left: 20px;
}

.sidenav a {
  text-decoration: none;
}

.sidenav .closebtn {
  padding: var(--mob-padding);
  display: block;
}

/* @@@@@@@@@@@@@ DESKTOP @@@@@@@@@@@@@ */
/* @@@@@@@@@@@@@ DESKTOP @@@@@@@@@@@@@ */
/* @@@@@@@@@@@@@ DESKTOP @@@@@@@@@@@@@ */

@media only screen and (min-width: 601px) {
.delete-on-desktop {
  display: none;
}
/* Shop Grid */
.grid-item {
  width: 100%;
}
}

/* @@@@@@@@@@@@@ TABLET @@@@@@@@@@@@@ */
/* @@@@@@@@@@@@@ TABLET @@@@@@@@@@@@@ */
/* @@@@@@@@@@@@@ TABLET @@@@@@@@@@@@@ */

@media only screen and (max-width: 899px) {
  .slide {
    margin-bottom: 3rem;
  }
}

/* @@@@@@@@@@@@@ MOBILE @@@@@@@@@@@@@ */
/* @@@@@@@@@@@@@ MOBILE @@@@@@@@@@@@@ */
/* @@@@@@@@@@@@@ MOBILE @@@@@@@@@@@@@ */

@media only screen and (max-width: 600px) {
.delete-on-mobile {
  display: none;
}
.kerning {
  letter-spacing: .02em;
}
.header-logo {
  padding-bottom:0px;
}
.column-1 {
  display:none;
}

.column-2 {
  width:100vw;
}

.column-3 {
  display:none;
}

/* Secondary (smaller) images eg. Home page bottom */
.secondary-image {
  width: 100%;
}
.smaller.secondary-image {
  width: 60%;
  margin: auto;
}
.secondary-image img {
  width: 100%
}
/* Mobile Padding */
.mobile-padding-m {
  padding-left: var(--mob-padding);
  padding-right: var(--mob-padding);
}
/* Scroll Effect */
.slide {
  position:relative;
  /* margin-bottom: -30px; */
  margin-bottom: 40px;
  z-index: 3;
}
/* Shop Grid */
.grid {
  display:grid;
  grid-gap: 0px;
  grid-template-columns: 100%
}
.grid-item {
  text-align: center;
  padding-bottom: 25px;
}

.project-grid {
  display: block;

}

/* 
.project-grid {
  grid-auto-flow: unset;
  grid-template-columns: 1fr;
}

.single-width-grid-item {
  grid-column: span 1;
  width: 100%;
} 
*/


/* Contact form */
form input, form textarea {
  width: 100%;
}

form .grid {
  width: 100%;
}

form textarea {
  height: 60px;
}

form button {
  padding: 10px 0px 10px 10px;
}

/* Product Page */
.flex.product-details {
  flex-direction: column;
}
.product-details > div {
width:100%;
}

.mob-menu-button {
  padding:var(--mob-padding);
  color: white;
}
.header-logo {
  padding:var(--mob-padding);
  padding-bottom: 0px;
}
.sidenav .nav-container .nav-container-contents, .sidenav .closebtn {
  padding-left: var(--mob-padding);
}
.project-grid .overlay-title {
  visibility: initial;
  position: initial;
  top: 0;
  left: 0;
  height: initial;
  width: initial;
}
.project-grid .overlay-title h2 {
  padding: 0 50px;
}
}