/*
  Mobile Special Projects page layout.
  Shared chrome, page title, fade, and font-face declarations live in site_global.css.
*/

:root {
  --footer-height: 214px;
  --footer-button-bottom-gap: 100px;
  --special-mobile-block-gap: 100px;
  --special-mobile-column-gap: 48px;
  --special-mobile-image-gap: 50px;
  --special-mobile-image-side-gap: 5px;
  --special-mobile-graphic-max-height: 330px;
  --special-mobile-graphic-line-gap: 42px;
  --special-graphic-line-color: #c9a875;
  --special-outline-color: #424242;
}

html,
body {
  min-width: 0;
}

body {
  overflow-x: hidden;
}

.page-shell {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: var(--site-mobile-page-max-width);
  min-height: 100vh;
  margin: 0 auto;
  background: var(--site-bg);
}

.mobile-content {
  flex: 1 0 auto;
  padding: 0 var(--site-mobile-side-gap-right) 0 var(--site-mobile-side-gap);
}

.mobile-title-block {
  margin: 0;
}

.special-projects {
  margin-top: var(--special-mobile-block-gap);
}

.special-projects__block + .special-projects__block {
  margin-top: var(--special-mobile-block-gap);
}

.special-projects__graphic-column {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-height: var(--special-mobile-graphic-max-height);
}

.special-projects__block:nth-child(odd) .special-projects__graphic-column {
  align-items: flex-start;
}

.special-projects__block:nth-child(even) .special-projects__graphic-column {
  align-items: flex-end;
}

.special-projects__graphic-line {
  width: 50%;
  height: 1px;
  margin: 0 0 var(--special-mobile-graphic-line-gap);
  background: var(--special-graphic-line-color);
}

.special-projects__year-graphic {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: calc(var(--special-mobile-graphic-max-height) - var(--special-mobile-graphic-line-gap) - 1px);
  object-fit: contain;
}

.special-projects__block:nth-child(odd) .special-projects__year-graphic {
  align-self: flex-start;
}

.special-projects__block:nth-child(even) .special-projects__year-graphic {
  align-self: flex-end;
}

.special-projects__image-column {
  display: flex;
  flex-direction: column;
  margin-top: var(--special-mobile-column-gap);
  margin-right: calc((var(--site-mobile-side-gap-right) - var(--special-mobile-image-side-gap)) * -1);
  margin-left: calc((var(--site-mobile-side-gap) - var(--special-mobile-image-side-gap)) * -1);
}

.special-projects__image-cell {
  display: block;
  width: 100%;
  margin: 0;
}

.special-projects__image-cell + .special-projects__image-cell {
  margin-top: var(--special-mobile-image-gap);
}

.special-projects__image {
  display: block;
  width: 100%;
  height: auto;
}

.special-projects__image-cell[option="1"] .special-projects__image {
  outline: 1px solid var(--special-outline-color);
  outline-offset: -1px;
}

.mobile-footer {
  position: relative;
  flex: 0 0 var(--footer-height);
  height: var(--footer-height);
  padding: 0 var(--site-mobile-side-gap-right) 0 var(--site-mobile-side-gap);
}

.footer-top-button {
  position: absolute;
  right: var(--site-mobile-side-gap-right);
  bottom: calc(var(--footer-button-bottom-gap) + env(safe-area-inset-bottom, 0px));
  left: var(--site-mobile-side-gap);
  display: block;
  min-height: 20px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--site-text);
  font-family: var(--site-font-body);
  font-size: 18px;
  font-style: normal;
  font-weight: 300;
  line-height: 20px;
  letter-spacing: 0;
  text-align: center;
  cursor: pointer;
  transition: color 0.2s ease-out;
  -webkit-tap-highlight-color: transparent;
}

.footer-top-button:hover,
.footer-top-button:focus-visible {
  color: var(--site-gold);
}

.footer-top-button:focus-visible {
  outline: 1px solid var(--site-gold);
  outline-offset: 8px;
}

@media (prefers-reduced-motion: reduce) {
  .footer-top-button {
    transition: none;
  }
}
