@font-face {
  font-family: "Futura PT";
  src: url("/content/images/archive/local-assets/fonts/futura-pt-500.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
}

@font-face {
  font-family: "futura-pt";
  src: url("/content/images/archive/local-assets/fonts/futura-pt-500.woff2") format("woff2");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}

@font-face {
  font-family: "Poppins";
  src: url("/content/images/archive/local-assets/fonts/poppins-normal-300.ttf") format("truetype");
  font-style: normal;
  font-weight: 300;
  font-display: swap;
}

@font-face {
  font-family: "Poppins";
  src: url("/content/images/archive/local-assets/fonts/poppins-normal-400.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "Poppins";
  src: url("/content/images/archive/local-assets/fonts/poppins-normal-500.ttf") format("truetype");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}

@font-face {
  font-family: "Poppins";
  src: url("/content/images/archive/local-assets/fonts/poppins-normal-700.ttf") format("truetype");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

@font-face {
  font-family: "Poppins";
  src: url("/content/images/archive/local-assets/fonts/poppins-italic-300.ttf") format("truetype");
  font-style: italic;
  font-weight: 300;
  font-display: swap;
}

@font-face {
  font-family: "Poppins";
  src: url("/content/images/archive/local-assets/fonts/poppins-italic-400.ttf") format("truetype");
  font-style: italic;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "Poppins";
  src: url("/content/images/archive/local-assets/fonts/poppins-italic-700.ttf") format("truetype");
  font-style: italic;
  font-weight: 700;
  font-display: swap;
}

:root {
  --site-font: "Futura PT", Futura, "Century Gothic", sans-serif;
  --black-hsl: 0, 0%, 0%;
  --white-hsl: 0, 0%, 100%;
}

html { font-size: 16px; }
body.schlesinger-site {
  margin: 0;
  color: #000;
  background: #fff;
  font-family: var(--site-font);
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
}

body.schlesinger-site :where(h1,h2,h3,h4,h5,h6,p,a,li,figcaption,button) {
  font-family: var(--site-font);
}

body.schlesinger-site :where(h1,h2,h3,h4,h5,h6,.portfolio-title,.header-title-text) {
  font-family: "futura-pt", var(--site-font) !important;
  font-weight: 500;
}

.archive-header {
  position: relative;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: space-between;
  box-sizing: border-box;
  width: 100%;
  min-height: 108px;
  padding: 28px 2vw;
  background: #fff;
}

.archive-header__title {
  color: #000;
  font-size: 28px;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
}

.archive-header__social { display: flex; align-items: center; gap: 20px; }
.archive-header__social a { display: block; width: 18px; height: 18px; color: #000; }
.archive-header__social svg { display: block; width: 100%; height: 100%; fill: currentColor; }

.archive-home,
.archive-project { min-height: calc(100vh - 108px); }

.ghost-archive-content,
.ghost-archive-content > .kg-card,
.ghost-archive-content > .kg-card > .kg-html-card { display: contents; }

.archive-project .kg-width-wide,
.archive-project .kg-width-full { width: auto; }

.archive-project img {
  cursor: zoom-in;
}

.archive-project video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  background: #000;
}

/* Squarespace normally sets these values in its gallery controller at runtime. */
.archive-project .gallery-grid-wrapper {
  grid-template-columns: repeat(var(--archive-gallery-columns, 1), minmax(0, 1fr)) !important;
  column-gap: var(--archive-gallery-gutter, 0px) !important;
  row-gap: var(--archive-gallery-gutter, 0px) !important;
}

.archive-project .gallery-grid-item { min-width: 0; }

/* The archived markup has Squarespace animation hooks, but not its runtime. */
.archive-project [data-animation-role],
.archive-home [data-animation-role] {
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
}

.archive-lightbox[hidden] { display: none; }
.archive-lightbox {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: grid;
  grid-template-columns: minmax(44px, 8vw) 1fr minmax(44px, 8vw);
  align-items: center;
  background: rgba(255,255,255,.97);
}
.archive-lightbox figure {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  max-width: 84vw;
  max-height: 94vh;
  margin: auto;
}
.archive-lightbox__image {
  display: block;
  max-width: 84vw;
  max-height: 84vh;
  object-fit: contain;
}
.archive-lightbox__caption {
  box-sizing: border-box;
  max-width: 780px;
  padding-top: 12px;
  color: #111;
  font-size: 16px;
  line-height: 1.35;
  text-align: center;
}
.archive-lightbox button {
  border: 0;
  color: #000;
  background: transparent;
  cursor: pointer;
  font-size: 54px;
  font-weight: 300;
}
.archive-lightbox__close {
  position: absolute;
  top: 16px;
  right: 22px;
  width: 48px;
  height: 48px;
  font-size: 42px !important;
  line-height: 1;
}
.archive-lightbox__previous { grid-column: 1; grid-row: 1; }
.archive-lightbox figure { grid-column: 2; grid-row: 1; }
.archive-lightbox__next { grid-column: 3; grid-row: 1; }
body.archive-lightbox-open { overflow: hidden; }

.archive-error { max-width: 720px; margin: 12vh auto; padding: 24px; text-align: center; }
.archive-error__code { font-size: 64px; margin: 0; }

@media (max-width: 767px) {
  .archive-header { min-height: 82px; padding: 22px 20px; }
  .archive-header__title { font-size: 22px; }
  .archive-header__social { gap: 14px; }
  .archive-header__social a { width: 17px; height: 17px; }
  .archive-home, .archive-project { min-height: calc(100vh - 82px); }
  .archive-lightbox { grid-template-columns: 40px 1fr 40px; }
  .archive-lightbox figure,
  .archive-lightbox__image { max-width: calc(100vw - 80px); }
  .archive-lightbox button { font-size: 42px; }
  .archive-project .gallery-grid-wrapper {
    grid-template-columns: repeat(var(--archive-gallery-mobile-columns, 2), minmax(0, 1fr)) !important;
  }
}
