@import url("//fast.fonts.net/cssapi/0d4f8adc-11ea-4302-b1fe-828cf52160e5.css");

@font-face {
  font-family: "AdobeCaslonW01-Regular";
  src: url("/assets/fonts/ef429e53-4846-40b9-a3fe-4295cefc7e94.eot?#iefix");
  src: url("/assets/fonts/ef429e53-4846-40b9-a3fe-4295cefc7e94.eot?#iefix") format("eot"), url("/assets/fonts/3531483a-a370-4cac-bcd3-9cbd5c0aa8fe.woff2") format("woff2"), url("/assets/fonts/29fc7b6f-c777-4db4-99c7-98a753629a74.woff") format("woff"), url("/assets/fonts/492aae7f-5ec2-484f-8c4a-5dceb929def5.ttf") format("truetype"), url("/assets/fonts/27231d8a-1ac1-4ede-8e91-c7bb60852443.svg#27231d8a-1ac1-4ede-8e91-c7bb60852443") format("svg");
}

@font-face {
  font-family: "Adobe Caslon W01 It";
  src: url("/assets/fonts/48e53584-22ac-4328-a940-54ac91ee35db.eot?#iefix");
  src: url("/assets/fonts/48e53584-22ac-4328-a940-54ac91ee35db.eot?#iefix") format("eot"), url("/assets/fonts/df7ba2f1-324a-404c-88c7-f68adad9ac33.woff2") format("woff2"), url("/assets/fonts/67620760-8bd8-45d7-b70d-de7936d7a6e1.woff") format("woff"), url("/assets/fonts/d39c7172-0364-4db6-80c5-116c450e3e98.ttf") format("truetype"), url("/assets/fonts/c1570ebd-fc91-4d70-b33b-8f19e9a0fabf.svg#c1570ebd-fc91-4d70-b33b-8f19e9a0fabf") format("svg");
}

@font-face {
  font-family: "NeoGram W00 Light";
  src: url("/assets/fonts/85ca5614-490f-4898-ba49-bb635fb2788b.eot?#iefix");
  src: url("/assets/fonts/85ca5614-490f-4898-ba49-bb635fb2788b.eot?#iefix") format("eot"), url("/assets/fonts/bd44c78c-b228-413c-9e24-bb1083763f95.woff2") format("woff2"), url("/assets/fonts/5a83e09c-d64b-4afc-8c62-65a7e7a27e77.woff") format("woff"), url("/assets/fonts/5844e733-202c-4a41-9e08-ed35acd619ad.ttf") format("truetype"), url("/assets/fonts/25f2e0d5-9921-4dc1-9757-714e15c6e93e.svg#25f2e0d5-9921-4dc1-9757-714e15c6e93e") format("svg");
}

@font-face {
  font-family: "NeoGram W00 Light Italic";
  src: url("/assets/fonts/e1794c40-c260-4faf-bd9c-5c1105482dad.eot?#iefix");
  src: url("/assets/fonts/e1794c40-c260-4faf-bd9c-5c1105482dad.eot?#iefix") format("eot"), url("/assets/fonts/6955e0d7-53ed-464a-bb9b-aacae371d336.woff2") format("woff2"), url("/assets/fonts/9f66c5c4-db37-4ddc-a4a2-511c97a434ed.woff") format("woff"), url("/assets/fonts/e78db428-d263-49b2-a8ae-612be0381db0.ttf") format("truetype"), url("/assets/fonts/abe200e6-dcff-4c0b-b11a-7516d0a93fd5.svg#abe200e6-dcff-4c0b-b11a-7516d0a93fd5") format("svg");
}

@font-face {
  font-family: "NeoGram W00 Regular";
  src: url("/assets/fonts/ac262552-6d88-4d4c-ab0b-249caccfc793.eot?#iefix");
  src: url("/assets/fonts/ac262552-6d88-4d4c-ab0b-249caccfc793.eot?#iefix") format("eot"), url("/assets/fonts/fded895a-95fe-4d8a-95d2-42ae0b74da2f.woff2") format("woff2"), url("/assets/fonts/5e8e5f6c-828d-4a67-8976-4e3ad23fe9e3.woff") format("woff"), url("/assets/fonts/8d7676b1-9953-4bb1-a73b-c34325a811db.ttf") format("truetype"), url("/assets/fonts/3257f9cd-b423-4f0c-8ed2-a2a551b42f08.svg#3257f9cd-b423-4f0c-8ed2-a2a551b42f08") format("svg");
}

@font-face {
  font-family: "NeoGram W00 Medium";
  src: url("/assets/fonts/b71fdcbe-b195-43cd-9739-90cafa05efd3.eot?#iefix");
  src: url("/assets/fonts/b71fdcbe-b195-43cd-9739-90cafa05efd3.eot?#iefix") format("eot"), url("/assets/fonts/fbdc627d-b093-4d45-86ba-2032bb1bb3c9.woff2") format("woff2"), url("/assets/fonts/126e818a-3aba-4e09-88f5-f538d4c02473.woff") format("woff"), url("/assets/fonts/3adb4f5b-7df4-41c7-b824-ad59b8396ff5.ttf") format("truetype"), url("/assets/fonts/7192c252-11f1-4f4c-9064-f3f90db38592.svg#7192c252-11f1-4f4c-9064-f3f90db38592") format("svg");
}

@font-face {
  font-family: "NeoGram W00 Bold";
  src: url("/assets/fonts/0a7a9e16-351d-4d69-9c62-539becb11c2b.eot?#iefix");
  src: url("/assets/fonts/0a7a9e16-351d-4d69-9c62-539becb11c2b.eot?#iefix") format("eot"), url("/assets/fonts/f4658252-7987-40a7-8ee0-d41e80780f4b.woff2") format("woff2"), url("/assets/fonts/8b59be3b-0d0d-43f6-8a15-e626ba6de4e6.woff") format("woff"), url("/assets/fonts/c828b71f-0bca-4b55-af34-009ada53f484.ttf") format("truetype"), url("/assets/fonts/23d6afb2-9b79-4ceb-8129-84c482fe655d.svg#23d6afb2-9b79-4ceb-8129-84c482fe655d") format("svg");
}

/* normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
html {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}

audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: baseline;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

[hidden],
template {
  display: none;
}

a {
  background-color: transparent;
}

a:active {
  outline: 0;
}

a:hover {
  outline: 0;
}

abbr[title] {
  border-bottom: 1px dotted;
}

b,
strong {
  font-weight: bold;
}

dfn {
  font-style: italic;
}

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

mark {
  background: #ff0;
  color: #000;
}

small {
  font-size: 80%;
}

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

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

img {
  border: 0;
}

svg:not(:root) {
  overflow: hidden;
}

figure {
  margin: 1em 40px;
}

hr {
  box-sizing: content-box;
  height: 0;
}

pre {
  overflow: auto;
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

button,
input,
optgroup,
select,
textarea {
  color: inherit;
  font: inherit;
  margin: 0;
}

button {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

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

button[disabled],
html input[disabled] {
  cursor: default;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

input {
  line-height: normal;
}

input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  padding: 0;
}

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

input[type="search"] {
  -webkit-appearance: textfield;
  box-sizing: content-box;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

legend {
  border: 0;
  padding: 0;
}

textarea {
  overflow: auto;
}

optgroup {
  font-weight: bold;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

td,
th {
  padding: 0;
}

html {
  box-sizing: border-box;
}

*,
*::before,
*::after {
  box-sizing: inherit;
}

@-moz-viewport {
  width: device-width;
}

@-ms-viewport {
  width: device-width;
}

@-o-viewport {
  width: device-width;
}

@-webkit-viewport {
  width: device-width;
}

@viewport {
  width: device-width;
}

html {
  font-size: 10px;
  -webkit-tap-highlight-color: transparent;
}

body {
  font-family: "NeoGram W00 Light", "Helvetica Neue Light", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  font-size: 1rem;
  line-height: 1.5;
  color: #373a3c;
  background-color: #f7f7f9;
}

[tabindex="-1"]:focus {
  outline: none !important;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin-top: 0;
  margin-bottom: .5rem;
}

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

abbr[title],
abbr[data-original-title] {
  cursor: help;
  border-bottom: 1px dotted #B9131A;
}

address {
  margin-bottom: 1rem;
  font-style: normal;
  line-height: inherit;
}

ol,
ul,
dl {
  margin-top: 0;
  margin-bottom: 1rem;
}

ol ol,
ul ul,
ol ul,
ul ol {
  margin-bottom: 0;
}

dt {
  font-weight: 700;
}

dd {
  margin-bottom: .5rem;
  margin-left: 0;
}

blockquote {
  margin: 0 0 1rem;
}

a {
  color: #B9131A;
  text-decoration: none;
}

a:hover,
a:focus {
  color: #a21117;
  text-decoration: underline;
}

pre {
  margin-top: 0;
  margin-bottom: 1rem;
}

figure {
  margin: 0 0 1rem;
}

img {
  vertical-align: middle;
}

[role="button"] {
  cursor: pointer;
}

a,
area,
button,
[role="button"],
input,
label,
select,
summary,
textarea {
  -ms-touch-action: manipulation;
  touch-action: manipulation;
}

th {
  text-align: left;
}

label {
  display: inline-block;
  margin-bottom: .5rem;
}

button:focus {
  outline: 1px dotted;
  outline: 5px auto -webkit-focus-ring-color;
}

input,
button,
select,
textarea {
  margin: 0;
  line-height: inherit;
  border-radius: 0;
}

textarea {
  resize: vertical;
}

fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0;
}

legend {
  display: block;
  width: 100%;
  padding: 0;
  margin-bottom: .5rem;
  font-size: 1.5rem;
  line-height: inherit;
}

input[type="search"] {
  box-sizing: inherit;
  -webkit-appearance: none;
}

output {
  display: inline-block;
}

[hidden] {
  display: none !important;
}

.icon {
  display: inline-block;
  width: 20px;
  height: 20px;
  vertical-align: middle;
  margin-right: 5px;
}

.icon svg {
  width: 100%;
  height: 100%;
}

.icon path {
  fill: currentColor;
}

/* Header Component */
.header {
  background: rgba(255, 255, 255, 0.95);
  height: 45px;
  padding: 4px 0.5em 0 1em;
  position: fixed;
  width: 100%;
  z-index: 1000;
}

@media only screen and (min-width: 48em) {
  .header {
    height: 65px;
    padding: 1em;
  }
}

.header .header-wrap {
  margin: 0 auto;
}

.header .nav {
  display: inline-block;
  float: right;
}

.header .nav button {
  position: relative;
  top: 0px;
  right: 0px;
  bottom: auto;
  left: auto;
}

@media only screen and (min-width: 48em) {
  .header .nav button {
    position: relative;
    top: 5px;
    right: 0px;
    bottom: auto;
    left: auto;
  }
}

.logo {
  margin: -8px 0 0 0;
  position: absolute;
  top: 50%;
  left: 1rem;
  max-width: 280px;
  width: 180px;
}

@media only screen and (min-width: 48em) {
  .logo {
    margin: -11px 0 0 0;
    position: absolute;
    top: 50%;
    left: 3em;
    width: 280px;
  }
}

@media only screen and (min-width: 1280px) {
  .logo {
    position: absolute;
    top: 50%;
    left: 6rem;
  }
}

.logo .icon--sp-logotype {
  height: 18px;
  width: auto;
  vertical-align: top;
}

@media only screen and (min-width: 48em) {
  .logo .icon--sp-logotype {
    height: 23px;
  }
}

@media only screen and (min-width: 1280px) {
  .logo .icon--sp-logotype {
    height: 25px;
  }
}

.logo a,
.logo a:hover,
.logo a:active,
.logo a:visited {
  color: #000;
}

.nav .nav-wrap {
  position: fixed;
  top: 4.3125rem;
  right: 0px;
  bottom: auto;
  left: auto;
  border-bottom: 7px solid rgba(185, 182, 179, 0.2);
  border-left: 7px solid rgba(185, 182, 179, 0.2);
  -ms-flex-direction: column;
  flex-direction: column;
  display: -ms-flexbox;
  display: flex;
  right: -100%;
  width: 100%;
  padding: 0 0;
  top: 40px;
  transition: all 0.3s ease-in-out 0s, visibility 0s linear 0.3s;
  visibility: none;
}

@media only screen and (min-width: 48em) {
  .nav .nav-wrap {
    right: -300px;
    top: 65px;
    width: 300px;
  }
}

.nav .nav-wrap.is-active {
  display: -ms-flexbox;
  display: flex;
  -webkit-transform: translateX(-100%);
  transform: translateX(-100%);
  visibility: visible;
}

@media only screen and (min-width: 48em) {
  .nav .nav-wrap.is-active {
    -webkit-transform: translateX(-300px);
    transform: translateX(-300px);
  }
}

.nav ul {
  font-family: "NeoGram W00 Light", "Helvetica Neue Light", Helvetica, Arial, sans-serif;
  list-style: none;
  margin: 0;
  padding: 0;
}

.nav ul li {
  display: block;
}

.nav ul li a {
  background: rgba(234, 233, 232, 0.9);
  background: white;
  color: #000;
  border-bottom: 1px solid #000;
  display: block;
  font-size: 2.8em;
  line-height: 2;
  padding: 0 0 0 5%;
  text-decoration: none;
  transition: background 0.2s;
}

@media only screen and (min-width: 48em) {
  .nav ul li a {
    padding: 0 0 0 1em;
    font-size: 2.8em;
  }
}

.nav ul li a:hover,
.nav ul li a:active,
.nav ul li a:visited {
  color: #000;
}

.nav ul li a:hover {
  background: #eae9e8;
}

.nav ul li a:last-child {
  border-bottom: none;
}

.c-lines2x {
  background: transparent;
  display: block;
  position: relative;
  overflow: hidden;
  margin: 0;
  padding: 0;
  width: 40px;
  height: 36px;
  font-size: 0;
  text-indent: -9999px;
  appearance: none;
  box-shadow: none;
  border-radius: none;
  border: none;
  cursor: pointer;
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
  transition: 250ms ease-in-out;
}

.c-lines2x:focus {
  outline: none;
}

.c-lines2x span {
  display: block;
  position: absolute;
  left: 6px;
  right: 6px;
  height: 2px;
  background: #000;
  border-radius: 0;
  opacity: 1;
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
  transition: 250ms ease-in-out;
}

.c-lines2x span:nth-child(1) {
  top: 6px;
}

.c-lines2x span:nth-child(2) {
  top: 13px;
}

.c-lines2x span:nth-child(3) {
  bottom: 13px;
}

.c-lines2x span:nth-child(4) {
  bottom: 6px;
}

.c-lines2x.is-active span:nth-child(1) {
  top: 17px;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
}

.c-lines2x.is-active span:nth-child(2) {
  left: -40px;
  opacity: 0;
}

.c-lines2x.is-active span:nth-child(3) {
  right: -40px;
  opacity: 0;
}

.c-lines2x.is-active span:nth-child(4) {
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
  bottom: 17px;
}

.no-js .header .nav button {
  display: none;
}

.no-js .nav .nav-wrap {
  border: none;
  right: 30px;
  transition: none;
  top: 4px;
  width: auto;
}

.no-js .nav ul li {
  display: inline-block;
}

.no-js .nav ul li a:hover {
  background: transparent;
}

/*! Flickity v2.0.8
http://flickity.metafizzy.co
---------------------------------------------- */
.flickity-enabled {
  position: relative;
}

.flickity-enabled:focus {
  outline: 0;
}

.flickity-viewport {
  overflow: hidden;
  position: relative;
  height: 100%;
}

.flickity-slider {
  position: absolute;
  width: 100%;
  height: 100%;
}

.flickity-enabled.is-draggable {
  -webkit-tap-highlight-color: transparent;
  tap-highlight-color: transparent;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.flickity-enabled.is-draggable .flickity-viewport {
  cursor: move;
  cursor: grab;
}

.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {
  cursor: grabbing;
}

.flickity-prev-next-button {
  position: absolute;
  top: 50%;
  width: 44px;
  height: 44px;
  border: none;
  border-radius: 50%;
  background: #fff;
  background: rgba(255, 255, 255, 0.75);
  cursor: pointer;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.flickity-prev-next-button:hover {
  background: #fff;
}

.flickity-prev-next-button:focus {
  outline: 0;
  box-shadow: 0 0 0 5px #09f;
}

.flickity-prev-next-button:active {
  opacity: .6;
}

.flickity-prev-next-button.previous {
  left: 10px;
}

.flickity-prev-next-button.next {
  right: 10px;
}

.flickity-rtl .flickity-prev-next-button.previous {
  left: auto;
  right: 10px;
}

.flickity-rtl .flickity-prev-next-button.next {
  right: auto;
  left: 10px;
}

.flickity-prev-next-button:disabled {
  opacity: .3;
  cursor: auto;
}

.flickity-prev-next-button svg {
  position: absolute;
  left: 20%;
  top: 20%;
  width: 60%;
  height: 60%;
}

.flickity-prev-next-button .arrow {
  fill: #333;
}

.flickity-page-dots {
  position: absolute;
  width: 100%;
  bottom: -25px;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
  line-height: 1;
}

.flickity-rtl .flickity-page-dots {
  direction: rtl;
}

.flickity-page-dots .dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 0 8px;
  background: #333;
  border-radius: 50%;
  opacity: .25;
  cursor: pointer;
}

.flickity-page-dots .dot.is-selected {
  opacity: 1;
}

.b-lazy {
  transition: opacity 0.3s ease-in-out;
  opacity: 0;
}

.b-lazy.b-loaded {
  opacity: 1;
}

/*! Lity - v2.2.2 - 2016-12-14
* http://sorgalla.com/lity/
* Copyright (c) 2015-2016 Jan Sorgalla; Licensed MIT */
.lity {
  z-index: 9990;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  white-space: nowrap;
  background: #0b0b0b;
  background: rgba(0, 0, 0, 0.9);
  outline: none !important;
  opacity: 0;
  transition: opacity 0.2s ease;
}

.lity.lity-opened {
  opacity: 1;
}

.lity.lity-closed {
  opacity: 0;
}

.lity * {
  box-sizing: border-box;
}

.lity-wrap {
  z-index: 9990;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  text-align: center;
  outline: none !important;
}

.lity-wrap:before {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle;
  margin-right: -0.25em;
}

.lity-loader {
  z-index: 9991;
  color: #fff;
  position: absolute;
  top: 50%;
  margin-top: -0.8em;
  width: 100%;
  text-align: center;
  font-size: 14px;
  font-family: Arial, Helvetica, sans-serif;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.lity-loading .lity-loader {
  opacity: 1;
}

.lity-container {
  z-index: 9992;
  position: relative;
  text-align: left;
  vertical-align: middle;
  display: inline-block;
  white-space: normal;
  max-width: 100%;
  max-height: 100%;
  outline: none !important;
}

.lity-content {
  z-index: 9993;
  width: 100%;
  -webkit-transform: scale(1);
  transform: scale(1);
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
}

.lity-loading .lity-content,
.lity-closed .lity-content {
  -webkit-transform: scale(0.8);
  transform: scale(0.8);
}

.lity-content:after {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  display: block;
  right: 0;
  width: auto;
  height: auto;
  z-index: -1;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
}

.lity-close {
  z-index: 9994;
  width: 35px;
  height: 35px;
  position: fixed;
  right: 0;
  top: 0;
  -webkit-appearance: none;
  cursor: pointer;
  text-decoration: none;
  text-align: center;
  padding: 0;
  color: #fff;
  font-style: normal;
  font-size: 35px;
  font-family: Arial, Baskerville, monospace;
  line-height: 35px;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
  border: 0;
  background: none;
  outline: none;
  box-shadow: none;
}

.lity-close::-moz-focus-inner {
  border: 0;
  padding: 0;
}

.lity-close:hover,
.lity-close:focus,
.lity-close:active,
.lity-close:visited {
  text-decoration: none;
  text-align: center;
  padding: 0;
  color: #fff;
  font-style: normal;
  font-size: 35px;
  font-family: Arial, Baskerville, monospace;
  line-height: 35px;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
  border: 0;
  background: none;
  outline: none;
  box-shadow: none;
}

.lity-close:active {
  top: 1px;
}

/* Image */
.lity-image img {
  max-width: 100%;
  display: block;
  line-height: 0;
  border: 0;
}

/* iFrame */
.lity-iframe .lity-container,
.lity-youtube .lity-container,
.lity-vimeo .lity-container,
.lity-facebookvideo .lity-container,
.lity-googlemaps .lity-container {
  width: 100%;
  max-width: 964px;
}

.lity-iframe-container {
  width: 100%;
  height: 0;
  padding-top: 56.25%;
  overflow: auto;
  pointer-events: auto;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-overflow-scrolling: touch;
}

.lity-iframe-container iframe {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #000;
}

.lity-hide {
  display: none;
}

/* Home Page */
.home .main {
  background: #EAE9E8;
  padding-top: 45px;
}

@media only screen and (min-width: 48em) {
  .home .main {
    height: 100vh;
    padding-top: 65px;
  }
}

.home .main .masthead {
  margin: 0 10px;
  position: absolute;
}

.work-tiles {
  background: #EAE9E8;
  padding: 5px 0;
  margin: 0 5px;
  position: relative;
  width: auto;
  display: grid;
  grid-gap: 5px;
  grid-template-columns: repeat(1, 1fr);
}

@media only screen and (min-width: 48em) {
  .work-tiles {
    grid-template-columns: repeat(4, 1fr);
  }
}

.work-tiles a {
  outline: 0;
}

.work-tiles .tile {
  box-sizing: border-box;
  min-height: 0;
  position: relative;
  justify-self: start;
}

.work-tiles .tile--large {
  width: 100%;
}

@media only screen and (min-width: 48em) {
  .work-tiles .tile--large {
    grid-column: span 2;
    grid-row: span 2;
  }
}

.work-tiles .tile--small {
  width: 100%;
}

.work-tiles .tile--portrait {
  width: 100%;
}

@media only screen and (min-width: 48em) {
  .work-tiles .tile--portrait {
    grid-row: span 2;
  }
}

.work-tiles .tile-inner {
  transition: all 0.2s ease-out;
  display: block;
  overflow: hidden;
  position: relative;
  min-width: 100%;
  height: 100%;
}

.work-tiles .tile-inner .tile-header {
  transition: opacity 0.3s ease-out;
  top: 0;
  opacity: 0;
  position: absolute;
  visibility: hidden;
  width: 100%;
  z-index: 100;
}

.work-tiles .tile-inner .tile-header h2,
.work-tiles .tile-inner .tile-header h3 {
  background: rgba(234, 233, 232, 0.9);
  font-family: "NeoGram W00 Medium", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 1.4rem;
  font-weight: normal;
  letter-spacing: 1px;
  line-height: 1.25;
  margin: 0;
  padding: 0.5rem 3rem 0.5rem 0.5rem;
  padding: 0;
  visibility: hidden;
}

.work-tiles .tile-inner a {
  display: block;
  height: 100%;
  width: 100%;
  overflow: hidden;
}

.work-tiles .tile-inner img {
  border: 0;
  width: 100%;
  height: 100%;
  display: block;
  transition: all 0.25s ease-out;
}

.work-tiles .tile-inner:hover {
  border-color: #fff;
}

@media only screen and (min-width: 48em) {
  .work-tiles .tile-inner:hover img {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
  }
}

.no-js .work-tiles .tile-inner img.b-lazy {
  display: none;
}

.no-js noscript img {
  display: block;
}

.work-single .main {
  padding-top: 45px;
}

@media only screen and (min-width: 768px) {
  .work-single .main {
    padding-top: 65px;
    height: 100vh;
  }
}

.work-single .project-info {
  padding: 0 1.75rem 1rem;
  padding: 1.5rem 1.75rem 2.5rem;
}

@media only screen and (min-width: 768px) {
  .work-single .project-info {
    background: #EAE9E8;
    background: rgba(234, 233, 232, 0.8);
    display: inline-block;
    height: 100%;
    text-align: start;
    padding: 2.5em 2em 0 2.375em;
    width: auto;
  }
}

@media only screen and (min-width: 1280px) {
  .work-single .project-info {
    padding: 2.5em 2em 95px 5.625em;
  }
}

.work-single .project-info h1,
.work-single .project-info h2,
.work-single .project-info p {
  display: block;
  margin: 0;
}

.work-single .project-info h1,
.work-single .project-info h2.agency {
  font-size: 1.5rem;
  font-weight: normal;
  margin-bottom: 1em;
}

@media only screen and (min-width: 768px) {

  .work-single .project-info h1,
  .work-single .project-info h2.agency {
    font-size: 2rem;
    margin-bottom: 1em;
  }
}

.work-single .project-info h1 .client-name,
.work-single .project-info h1 .agency-name,
.work-single .project-info h2.agency .client-name,
.work-single .project-info h2.agency .agency-name {
  font-family: "NeoGram W00 Bold", "Helvetica Neue Bold", Helvetica, Arial, sans-serif;
}

.work-single .project-info .agency {
  margin-top: -1em;
}

.work-single .project-info sup.nike {
  font-family: "NeoGram W00 Bold", "Helvetica Neue Bold", Helvetica, Arial, sans-serif;
  font-size: 0.35em;
  padding-top: 0.5em;
  vertical-align: super;
}

.work-single .project-info .project-head {
  font-family: "AdobeCaslonW01-Regular";
  font-weight: normal;
  font-size: 4rem;
  line-height: 1.05;
}

@media only screen and (min-width: 1080px) {
  .work-single .project-info .project-head {
    font-size: 6rem;
    padding-bottom: 0.25em;
  }
}

.work-single .project-info .project-head em {
  font-family: "Adobe Caslon W01 It";
  font-style: normal;
}

.work-single .project-info .project-head .project-subhead {
  display: block;
  font-size: 0.4em;
  padding-top: 0.5em;
  max-width: 39ch;
}

.work-single .project-info .more-head {
  font-family: "NeoGram W00 Bold", "Helvetica Neue Bold", Helvetica, Arial, sans-serif;
  font-size: 1.5rem;
  font-weight: normal;
  padding-bottom: 1em;
}

@media only screen and (min-width: 768px) {
  .work-single .project-info .more-head {
    font-size: 2rem;
    padding-bottom: 1em;
  }
}

.work-single .project-info p {
  font-family: "NeoGram W00 Light", "Helvetica Neue Light", Helvetica, Arial, sans-serif;
  font-size: 1.1em;
  margin: 0.75em 0;
}

.work-single .project-info .scope {
  display: table;
}

.work-single .project-info ul {
  font-size: 1.5rem;
  list-style-type: none;
  padding: 0;
  margin: 0;
}

@media only screen and (min-width: 768px) {
  .work-single .project-info ul {
    font-size: 1.6rem;
    padding-right: 3em;
    max-height: 40vh;
    display: table-cell;
  }
}

.work-single .project-info ul li {
  display: block;
  white-space: nowrap;
}

.work-single .project-info ul li:before {
  content: "-";
  margin-right: 0.25em;
}

.main-carousel {
  height: 100%;
  width: 100%;
}

@media only screen and (min-width: 768px) {
  .project {
    padding-right: 0;
    display: block;
    height: 100%;
    position: relative;
    width: 100%;
  }
}

.project .frame-overlay-l,
.project .frame-overlay-r {
  display: none;
}

@media only screen and (min-width: 768px) {

  .project .frame-overlay-l,
  .project .frame-overlay-r {
    background: #EAE9E8;
    bottom: 0;
    display: block;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 10px;
    z-index: 900;
  }
}

.project .frame-overlay-r {
  left: auto;
  right: 0;
}

.slide {
  width: auto;
}

.slide img {
  max-height: auto;
  width: 100%;
}

.slide figcaption {
  font-family: "NeoGram W00 Light", "Helvetica Neue Light", Helvetica, Arial, sans-serif;
  font-size: 1.5rem;
  padding: 0 2rem 1rem;
}

@media only screen and (min-width: 768px) {
  .slide figcaption {
    padding: 0;
    position: absolute;
    bottom: 1.5rem;
    right: 6rem;
  }
}

@media only screen and (min-width: 768px) {
  .slide {
    background: #fff;
    height: 100%;
  }

  .slide img {
    max-height: 100%;
    height: 100%;
    width: auto;
  }
}

.firsties,
.lasties {
  background: #EAE9E8;
  -ms-flex-align: start;
  align-items: flex-start;
}

@media only screen and (max-width: 767px) {

  .firsties,
  .lasties {
    background-image: none !important;
  }
}

@media only screen and (min-width: 768px) {

  .firsties,
  .lasties {
    width: 100%;
    max-width: 100%;
    height: 100%;
  }
}

@media only screen and (min-width: 768px) {

  .firsties .img-container,
  .lasties .img-container {
    display: none;
  }

  .firsties .img-container img,
  .lasties .img-container img {
    display: none;
  }
}

@media only screen and (max-width: 767px) {
  .lasties {
    padding-bottom: 2rem;
  }
}

.progress-bar {
  background: #333;
  bottom: 0;
  height: 4px;
  opacity: 0.5;
  position: absolute;
  width: 0;
  z-index: 850;
}

.flickity-page-dots {
  bottom: 0;
  height: 30px;
  position: absolute;
}

.flickity-page-dots .dot {
  border: 1px solid #fff;
  height: 8px;
  margin: 0 4px;
  width: 8px;
}

.flickity-prev-next-button {
  transition: all 0.15s linear;
  background: rgba(234, 233, 232, 0.5);
  border-radius: 5px 0 0 5px;
  bottom: 12%;
  height: 50px;
  top: auto;
}

.flickity-prev-next-button.previous {
  border-radius: 0 5px 5px 0;
}

.flickity-prev-next-button:hover {
  background: rgba(234, 233, 232, 0.9);
}

.flickity-prev-next-button.prev:hover {
  left: 0;
  width: 53px;
}

.flickity-prev-next-button.next:hover {
  right: 0;
  width: 53px;
}

.flickity-prev-next-button:disabled {
  opacity: 0;
  cursor: auto;
}

@media only screen and (min-width: 768px) {
  .logos .firsties .project-info {
    padding-right: 1rem;
    max-width: 32%;
    width: 32%;
  }
}

.logos .flickity-page-dots {
  display: none;
}

.about,
.contact,
.clients {
  padding: 0 0 3em;
}

.about .main,
.contact .main,
.clients .main {
  height: auto;
  margin: 0 2em;
  padding-top: 65px;
}

@media only screen and (min-width: 48em) {

  .about .main,
  .contact .main,
  .clients .main {
    margin: 0 3em;
    padding-top: 105px;
  }
}

@media only screen and (min-width: 1280px) {

  .about .main,
  .contact .main,
  .clients .main {
    margin: 0 10.5rem;
    padding-top: 125px;
  }
}

.about .main p.secondary,
.contact .main p.secondary,
.clients .main p.secondary {
  font-family: "NeoGram W00 Light", "Helvetica Neue Light", Helvetica, Arial, sans-serif;
  font-size: 1.75rem;
  line-height: 1.25;
  padding-bottom: 0.75em;
  text-align: justify;
}

@media only screen and (min-width: 48em) {

  .about .main p.secondary,
  .contact .main p.secondary,
  .clients .main p.secondary {
    font-size: 2.25rem;
    line-height: 1.25;
  }
}

@media only screen and (min-width: 64em) {

  .about .main p.secondary,
  .contact .main p.secondary,
  .clients .main p.secondary {
    font-size: 2.75rem;
  }
}

.about .main .primary,
.contact .main .primary,
.clients .main .primary {
  border-bottom: 1px solid #000;
  font-family: "AdobeCaslonW01-Regular";
  font-weight: normal;
  font-size: 2.25rem;
  line-height: 1.25;
  margin-bottom: 0.5em;
  padding-bottom: 0.75em;
  text-align: justify;
}

@media only screen and (min-width: 48em) {

  .about .main .primary,
  .contact .main .primary,
  .clients .main .primary {
    font-size: 3rem;
  }
}

@media only screen and (min-width: 64em) {

  .about .main .primary,
  .contact .main .primary,
  .clients .main .primary {
    border-bottom: 2px solid #000;
    font-size: 5rem;
  }
}

.about .main .primary em,
.contact .main .primary em,
.clients .main .primary em {
  font-family: "Adobe Caslon W01 It";
  font-style: normal;
}

.about .main .primary sup,
.contact .main .primary sup,
.clients .main .primary sup {
  margin-left: -0.3em;
  top: -0.3em;
}

.about .main .lede,
.contact .main .lede,
.clients .main .lede {
  text-transform: uppercase;
}

.about .main .company,
.contact .main .company,
.clients .main .company {
  color: #B9131A;
}

.about .main .row,
.contact .main .row,
.clients .main .row {
  box-sizing: border-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex: 0 1 auto;
  flex: 0 1 auto;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.about .main .links,
.contact .main .links,
.clients .main .links {
  font-family: "NeoGram W00 Light", "Helvetica Neue Light", Helvetica, Arial, sans-serif;
  font-size: 1.75rem;
  line-height: 1.25;
}

@media only screen and (min-width: 48em) {

  .about .main .links,
  .contact .main .links,
  .clients .main .links {
    font-size: 2.25rem;
  }
}

@media only screen and (min-width: 64em) {

  .about .main .links,
  .contact .main .links,
  .clients .main .links {
    font-size: 2.75rem;
  }
}

.about .main .links p,
.contact .main .links p,
.clients .main .links p {
  margin: 0 0 0.75em;
}

.about .main .links a,
.about .main .links a:visited,
.contact .main .links a,
.contact .main .links a:visited,
.clients .main .links a,
.clients .main .links a:visited {
  font-family: "NeoGram W00 Medium", "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: #000;
  text-decoration: none;
}

.about .main .links a:hover,
.about .main .links a:active,
.contact .main .links a:hover,
.contact .main .links a:active,
.clients .main .links a:hover,
.clients .main .links a:active {
  color: #B9131A;
  text-decoration: underline;
}

.about .main .links .col,
.contact .main .links .col,
.clients .main .links .col {
  display: block;
  box-sizing: border-box;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
}

@media only screen and (min-width: 48em) {

  .about .main .links .col,
  .contact .main .links .col,
  .clients .main .links .col {
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%;
    max-width: 50%;
  }
}

@media only screen and (min-width: 48em) {
  .about .main .links .col-end {
    -ms-flex-pack: end;
    justify-content: flex-end;
    text-align: end;
  }
}

.clients {
  padding: 0 0 3em;
}

.clients .main {
  height: auto;
  margin: 0 1em;
}

@media only screen and (min-width: 48em) {
  .clients .main {
    margin: 0 7.5%;
  }
}

@media only screen and (min-width: 64em) {
  .clients .main {
    margin: 0 10.5rem;
  }
}

.clients .main p.secondary {
  font-family: "NeoGram W00 Light", "Helvetica Neue Light", Helvetica, Arial, sans-serif;
  font-size: 1.75rem;
  line-height: 1.25;
  padding-bottom: 0.75em;
  text-align: justify;
}

@media only screen and (min-width: 48em) {
  .clients .main p.secondary {
    font-size: 2.25rem;
    line-height: 1.25;
  }
}

@media only screen and (min-width: 64em) {
  .clients .main p.secondary {
    font-size: 2.75rem;
  }
}

.clients .main .primary {
  border-bottom: 1px solid #000;
  font-family: "AdobeCaslonW01-Regular";
  font-weight: normal;
  font-size: 2.25rem;
  line-height: 1.25;
  margin-bottom: 0.5em;
  padding-bottom: 0.75em;
  text-align: justify;
}

@media only screen and (min-width: 48em) {
  .clients .main .primary {
    font-size: 3rem;
  }
}

@media only screen and (min-width: 64em) {
  .clients .main .primary {
    border-bottom: 2px solid #000;
    font-size: 5rem;
  }
}

.clients .main .primary em {
  font-family: "Adobe Caslon W01 It";
  font-style: normal;
}

.clients .main .primary a,
.clients .main .primary a:visited,
.clients .main .primary a:hover,
.clients .main .primary a:active {
  color: #B9131A;
  text-decoration: none;
}

.clients .main .primary a:hover,
.clients .main .primary a:active {
  color: #B9131A;
  text-decoration: underline;
}

.clients .main .lede {
  text-transform: uppercase;
}

.clients .main .company {
  color: #B9131A;
}

.clients .main .lists {
  font-family: "NeoGram W00 Light", "Helvetica Neue Light", Helvetica, Arial, sans-serif;
  font-size: 1.75rem;
  line-height: 1.25;
}

@media only screen and (min-width: 48em) {
  .clients .main .lists {
    font-size: 2.25rem;
  }
}

@media only screen and (min-width: 64em) {
  .clients .main .lists {
    font-size: 1.75rem;
  }
}

.clients .main .lists h3 {
  font-size: 1.5rem;
}

.clients .main .lists p {
  margin: 0 0 0.75em;
}

.clients .main .lists ul {
  list-style-type: none;
  margin: 0 0 1em;
  padding: 0;
}

.clients .main .lists a,
.clients .main .lists a:visited {
  font-family: "NeoGram W00 Medium", "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: #000;
  text-decoration: none;
}

.clients .main .lists a:hover,
.clients .main .lists a:active {
  color: #B9131A;
  text-decoration: underline;
}

.clients .main .lists .col {
  display: block;
  box-sizing: border-box;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
}

@media only screen and (min-width: 48em) {
  .clients .main .lists .col {
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%;
    max-width: 50%;
  }
}

@media only screen and (min-width: 64em) {
  .clients .main .lists .col {
    -ms-flex-preferred-size: 25%;
    flex-basis: 25%;
    max-width: 25%;
  }
}