/*! _jerry.scss | browsers are well intentioned but they make a lot of mistakes, so we need to fix them. */
/*! this is a mish-mash of reset and fix, personalized for my own use. | github.com/necolas/normalize.css | https://github.com/jaydenseric/Fix */
/*! this file may also be referred to as _gary.scss, _larry.scss, or _lenny.scss at any given time. https://www.youtube.com/watch?v=HvsmANMfEbw */
html {
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-tap-highlight-color: transparent; }

body {
  margin: 0;
  line-height: 1;
  font-family: sans-serif; }

iframe {
  border: 0; }

main {
  display: block; }

ul,
ol {
  margin-top: 0;
  margin-bottom: 0;
  padding-left: 0; }

li {
  display: block; }

dl {
  margin-top: 0;
  margin-bottom: 0; }

dd {
  margin-left: 0; }

h1,
h2,
h3,
h4,
h5,
h6 {
  margin-top: 0;
  margin-bottom: 0;
  font-size: inherit;
  font-weight: inherit; }

blockquote {
  margin: 0;
  padding: 0; }

p {
  margin-top: 0;
  margin-bottom: 0; }

sup {
  position: relative;
  top: -.5em;
  vertical-align: baseline;
  font-size: 75%;
  line-height: 0; }

strong {
  font-weight: bold; }

figure {
  margin: 0; }

img {
  border: 0;
  max-width: 100%;
  height: auto;
  vertical-align: middle; }

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

button {
  border: 0;
  margin: 0;
  padding: 0;
  text-align: inherit;
  text-transform: inherit;
  font: inherit;
  -webkit-font-smoothing: inherit;
  letter-spacing: inherit;
  background: none;
  cursor: pointer;
  overflow: visible; }

::-moz-focus-inner {
  border: 0;
  padding: 0; }

@font-face {
  font-family: 'Metropolis';
  font-style: normal;
  font-weight: 400;
  src: url("../font/Metropolis-Regular.woff2") format("woff2"), url("../font/Metropolis-Regular.woff") format("woff"); }

@font-face {
  font-family: 'Metropolis';
  font-style: normal;
  font-weight: 600;
  src: url("../font/Metropolis-SemiBold.woff2") format("woff2"), url("../font/Metropolis-SemiBold.woff") format("woff"); }

@font-face {
  font-family: 'Metropolis';
  font-style: normal;
  font-weight: 700;
  src: url("../font/Metropolis-Bold.woff2") format("woff2"), url("../font/Metropolis-Bold.woff") format("woff"); }

.accessibly-hidden {
  display: block;
  visibility: visible;
  overflow: hidden;
  width: 1px;
  height: 1px;
  margin: -1px;
  border: 0;
  padding: 0;
  clip: rect(0 0 0 0); }

html,
body,
.page-wrapper {
  height: 100%; }

body {
  font-family: 'Metropolis', sans-serif;
  font-weight: 400;
  letter-spacing: 0.0125em; }

.background {
  position: fixed;
  width: 100%;
  height: 100%;
  background: url("../img/bg-normal.jpg") center center/cover no-repeat; }
  @media screen and (max-width: 640px) {
    .background {
      background: url("../img/bg-small.jpg") center center/cover no-repeat; } }

.page-wrapper {
  position: relative;
  display: flex;
  flex-flow: column nowrap;
  box-sizing: border-box;
  overflow-y: auto; }

a,
button {
  color: inherit;
  text-decoration: underline; }
  a:hover, a:focus, a:active,
  button:hover,
  button:focus,
  button:active {
    color: #ffe74c; }

p {
  margin-bottom: 20px; }
  p:last-child {
    margin-bottom: 0; }

.alert-wrapper {
  flex: 0 0 auto; }
  .alert-wrapper .alert {
    display: none;
    margin-top: 20px;
    background-color: #261411;
    color: #fff8f4; }
    .alert-wrapper .alert._active {
      display: block; }
  .alert-wrapper .alert__content {
    padding: 20px; }

.header-wrapper {
  flex: 0 0 auto; }
  .header-wrapper .header {
    overflow: hidden;
    margin: 20px 0; }
  .header-wrapper .main-heading {
    position: relative;
    z-index: 1;
    float: right; }
  @media screen and (max-width: 768px) {
    .header-wrapper .main-heading {
      float: none; } }

.navigation .navigation__list {
  overflow: hidden; }

.navigation .navigation__list-item {
  float: right;
  clear: both;
  margin-bottom: 20px;
  text-align: right; }
  .navigation .navigation__list-item:last-child {
    margin-bottom: 0; }

.navigation.navigation--main {
  flex: 0 0 auto;
  max-width: 280px; }

.navigation.navigation--small-screen {
  display: none; }

@media screen and (max-width: 768px) {
  .navigation {
    float: right; }
    .navigation .navigation__toggle {
      margin-left: 20px; }
    .navigation.navigation--main {
      display: none; }
    .navigation.navigation--small-screen {
      display: block; } }

.main-wrapper {
  flex: 1 0 auto;
  display: flex;
  flex-direction: row-reverse;
  margin-bottom: 20px;
  padding-left: 84px; }
  @media screen and (max-width: 768px) {
    .main-wrapper {
      padding-left: 0; } }

.main {
  flex: 1 1 0%;
  padding: 0 20px; }
  @media screen and (max-width: 480px) {
    .main {
      padding: 0; } }

.footer-wrapper {
  flex: 0 0 auto; }
  .footer-wrapper .footer {
    margin-bottom: 20px;
    padding-left: 104px;
    background-color: rgba(38, 20, 17, 0.75);
    color: #fff8f4; }
  .footer-wrapper .footer__content {
    padding: 20px; }
  @media screen and (max-width: 768px) {
    .footer-wrapper .footer {
      padding: 0; } }

.carousel .carousel__viewport {
  width: 100%;
  overflow: hidden; }

.carousel .carousel__panel-container {
  display: flex;
  transition: transform 0.5s ease-in-out; }
  .carousel .carousel__panel-container._no-transition {
    transition: none !important; }

.carousel .carousel__panel {
  flex: 0 0 100%;
  position: relative;
  overflow: hidden; }

.carousel .carousel__panel-description {
  position: absolute;
  bottom: 0;
  left: 0;
  display: flex;
  flex-flow: column nowrap;
  width: 100%;
  max-height: 50%; }

.carousel .carousel__panel-header {
  flex: 0 0 auto; }

.carousel .carousel__panel-content {
  flex: 0 1 auto;
  overflow: auto; }

.carousel:focus {
  outline: none; }

.content-container {
  font-size: 18px;
  line-height: 1.5; }
  .content-container a,
  .content-container button {
    color: inherit;
    text-decoration: underline; }
    .content-container a:hover, .content-container a:focus, .content-container a:active,
    .content-container button:hover,
    .content-container button:focus,
    .content-container button:active {
      color: #ffe74c; }
  @media screen and (max-width: 1024px) {
    .content-container {
      font-size: 16px; } }

.icon {
  box-sizing: border-box;
  vertical-align: middle;
  width: 1em;
  height: 1em;
  fill: inherit;
  stroke: inherit;
  pointer-events: none;
  transition: transform 0.333s ease-in-out; }
  .icon.icon-arrow._flip {
    transform: rotate3d(0, 0, 1, 180deg); }
  .icon.icon-arrow--down {
    transform: rotate3d(0, 0, 1, 90deg); }
    .icon.icon-arrow--down._flip {
      transform: rotate3d(0, 0, 1, 270deg); }
  .icon.icon-arrow--left {
    transform: rotate3d(0, 0, 1, 180deg); }
    .icon.icon-arrow--left._flip {
      transform: rotate3d(0, 0, 1, 360deg); }
  .icon.icon-arrow--up {
    transform: rotate3d(0, 0, 1, 270deg); }
    .icon.icon-arrow--up._flip {
      transform: rotate3d(0, 0, 1, 450deg); }

.image {
  width: 100%; }

.letter-block-box {
  box-sizing: border-box; }
  .letter-block-box .letter-block-box__header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end; }
  .letter-block-box .letter-block-box__heading {
    flex: 0 1 auto; }
  .letter-block-box .letter-block-box__controls {
    flex: 0 0 auto;
    display: flex;
    justify-content: flex-end;
    margin-left: 20px; }
  .letter-block-box .letter-block-box__control {
    margin-right: 10px; }
    .letter-block-box .letter-block-box__control:last-child {
      margin: 0; }
  .letter-block-box .letter-block-box__content {
    box-sizing: border-box;
    padding: 20px;
    background-color: rgba(38, 20, 17, 0.75);
    color: #fff8f4;
    font-size: 18px;
    line-height: 1.5; }
    .letter-block-box .letter-block-box__content.letter-block-box__content--small {
      padding: 10px;
      font-size: 16px; }
  @media screen and (max-width: 768px) {
    .letter-block-box .letter-block-box__content {
      font-size: 16px; }
      .letter-block-box .letter-block-box__content.letter-block-box__content--small {
        font-size: 14px; } }

.letter-block-box-container {
  /* Honest Attemps at Decent Semantic Names Gone Terribly, Terribly Wrong - Chapter 652: "Letter Block Box Container" */
  display: flex;
  flex-flow: row wrap;
  align-content: flex-start;
  align-items: flex-start;
  margin: -10px; }
  .letter-block-box-container > .letter-block-box {
    flex: 0 0 auto;
    width: 50%;
    padding: 10px; }
  @media screen and (max-width: 1280px) {
    .letter-block-box-container {
      display: block;
      margin: 0; }
      .letter-block-box-container > .letter-block-box {
        width: auto;
        margin-bottom: 20px;
        padding: 0; }
        .letter-block-box-container > .letter-block-box:last-child {
          margin: 0; } }

.letter-block {
  overflow: hidden;
  display: inline-block;
  vertical-align: top;
  margin: 0;
  background-color: #261411;
  color: #fff8f4;
  fill: #fff8f4;
  stroke: #fff8f4;
  font-size: 2em;
  font-weight: 600;
  line-height: 1; }
  .letter-block .letter-block__text {
    display: inline-block;
    padding: 0.08em 0.06em 0 0.12em; }
    .letter-block .letter-block__text .icon {
      position: relative;
      top: -0.05em; }
  .letter-block .icon {
    vertical-align: top;
    margin: 0.04em;
    padding: 0.15em 0; }
  .letter-block .letter-block__link,
  .letter-block .letter-block__button {
    color: inherit;
    text-decoration: none; }
  .letter-block .letter-block__link:hover, .letter-block .letter-block__link:focus, .letter-block .letter-block__link:active,
  .letter-block .letter-block__button:hover,
  .letter-block .letter-block__button:focus,
  .letter-block .letter-block__button:active, .letter-block.button:hover, .letter-block.button:focus, .letter-block.button:active {
    color: #ffe74c;
    fill: #ffe74c;
    stroke: #ffe74c; }
  .letter-block.letter-block--caps {
    text-transform: uppercase; }
  .letter-block.letter-block--large {
    font-size: 4em;
    font-weight: 700; }
  .letter-block.letter-block--small {
    font-size: 1.5em;
    font-weight: 600; }
  .letter-block.letter-block--has-descender .letter-block__text {
    padding-bottom: 0.15em; }
  @media screen and (max-width: 1024px) {
    .letter-block {
      font-size: 1.75em; }
      .letter-block.letter-block--large {
        font-size: 3.5em; } }
  @media screen and (max-width: 768px) {
    .letter-block.letter-block--small {
      font-size: 1.25em; } }
  @media screen and (max-width: 640px) {
    .letter-block {
      font-size: 1.5em; }
      .letter-block.letter-block--large {
        font-size: 3em; } }
  @media screen and (max-width: 480px) {
    .letter-block.letter-block--large {
      font-size: 2em; } }

.modal {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
  display: none;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  padding: 20px;
  background-color: rgba(38, 20, 17, 0.75); }
  .modal .modal__wrapper {
    flex: 0 0 auto;
    display: flex;
    flex-flow: column nowrap;
    width: 640px;
    max-height: 100%; }
  .modal .modal__header {
    flex: 0 0 auto; }
  .modal .modal__content {
    flex: 0 1 auto;
    overflow: auto; }
  .modal._active {
    display: flex; }
  .modal.modal--animated {
    display: flex;
    transform: translate3d(100%, 0, 0);
    transition: transform 0.333s ease-in-out; }
    .modal.modal--animated._active {
      transform: translate3d(0, 0, 0); }
  .modal.modal--right {
    justify-content: flex-end;
    align-items: flex-start;
    padding: 20px 0 0 0; }
    .modal.modal--right .modal__wrapper {
      width: auto; }
    .modal.modal--right .modal__header {
      justify-content: flex-end; }
    .modal.modal--right .modal__list {
      flex: 0 1 auto;
      overflow: auto;
      padding-top: 20px; }
    .modal.modal--right .modal__list-item {
      float: right;
      clear: both;
      margin-bottom: 20px; }
      .modal.modal--right .modal__list-item:last-child {
        margin-bottom: 0; }
  @media screen and (max-width: 768px) {
    .modal .modal__wrapper {
      width: 100%; } }

.peek {
  transform: translate(0, 100%);
  transition: transform 0.333s ease-in-out; }
  .peek .peek-visible {
    transition: transform 0.333s ease-in-out; }
    .peek .peek-visible._active {
      transform: translate(0, -100%); }
  .peek._active {
    transform: translate(0, 0); }
