html {
  box-sizing: border-box;
  font-size: 16px; }

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

body, h1, h2, h3, h4, h5, h6, p, ol, ul {
  margin: 0;
  padding: 0;
  font-weight: normal; }

ol, ul {
  list-style: none; }

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

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

h2 {
  text-transform: uppercase;
  color: #fff;
  font-size: 42px;
  font-weight: 300;
  width: 100%;
  padding: 80px 0; }

h3 {
  text-transform: uppercase;
  color: #fff;
  font-size: 32px;
  font-weight: 300;
  width: 100%;
  padding: 80px 0; }

.subhead {
  color: #fff;
  font-weight: 300;
  margin: -70px 0 0 0;
  padding: 0 0 100px 0; }

body {
  font-family: "IBM Plex Sans", "Helvetica Neue", Arial, sans-serif;
  font-size: 18px;
  font-weight: 300; }

.wrapper {
  width: 100%;
  margin: 0 auto; }

.serif {
  font-family: "IBM Plex Serif", Georgia, serif; }

.w100 {
  font-weight: 100; }

a:hover {
  opacity: 0.7; }

.content {
  width: 90%;
  margin: 0 auto;
  max-width: 1100px;
  min-width: 350px;
  padding: 0 0 90px 0; }

.header {
  position: fixed;
  top: 0;
  z-index: 900;
  width: 100%;
  /* fallback/image non-cover color */
  background-color: #93246A;
  /* Firefox 3.6+ */
  background-image: -moz-linear-gradient(left, #93246A 0%, #376B8C 100%);
  /* Safari 4+, Chrome 1+ */
  background-image: -webkit-gradient(linear, left top, right top, color-stop(0%, #93246A), color-stop(100%, #376B8C));
  /* Safari 5.1+, Chrome 10+ */
  background-image: -webkit-linear-gradient(left, #93246A 0%, #376B8C 100%);
  /* Opera 11.10+ */
  background-image: -o-linear-gradient(left, #93246A 0%, #376B8C 100%);
  /* IE10+ */
  background: -ms-linear-gradient(left, #93246A 0%, #376B8C 100%);
  /* Standard */
  background: linear-gradient(to right, #93246A 0%, #376B8C 100%);
  /* IE6-9 */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='$from', endColorstr='$to',GradientType=1 );
  color: #fff;
  height: 290px;
  -webkit-transition: all 0.1s linear;
  transition: all 0.1s linear; }
  .header.sticky {
    height: 50px; }
    .header.sticky .content {
      line-height: 50px; }
  .header .content {
    -webkit-transition: all 0.1s linear;
    transition: all 0.1s linear;
    line-height: 290px; }
  .header h1 {
    font-size: 36px;
    font-weight: 300;
    float: left;
    margin-top: -2px; }
  .header nav {
    float: right;
    text-transform: uppercase;
    font-size: 14px;
    font-weight: 300; }
    .header nav .item {
      margin: 0 0 0 40px;
      float: left; }
      .header nav .item.current {
        font-weight: 900; }

.home {
  height: 290px; }

.promo {
  background: #ECEADC;
  background: linear-gradient(to left bottom, #ECEADC 50%, #e3e0cb 50%);
  color: #142C60;
  text-align: center;
  padding: 120px 0 90px; }
  .promo .promoline {
    width: 100%;
    font-size: 64px;
    font-weight: 100;
    margin: 0 0 20px 0; }

.graphics {
  background: #93246A;
  background: linear-gradient(to right bottom, #93246A 50%, #7f1f5b 50%);
  min-height: 500px; }
  .graphics .projects {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    padding-bottom: 120px; }
    .graphics .projects .project {
      display: relative;
      padding: 0.8rem;
      width: calc(100% / 2);
      border: 1px solid transparent;
      -webkit-transition: all 0.2s linear;
      transition: all 0.2s linear; }
      .graphics .projects .project:hover {
        border: 1px solid #ECEADC; }
        .graphics .projects .project:hover .tile .title .fas {
          margin-left: 10px; }
      .graphics .projects .project .tile {
        cursor: pointer; }
        .graphics .projects .project .tile .title {
          width: 100%;
          background: rgba(255, 255, 255, 0.2);
          margin-top: -5px;
          font-size: 16px;
          padding: 10px 20px;
          color: #fff; }
          .graphics .projects .project .tile .title .fas {
            -webkit-transition: all 0.2s linear;
            transition: all 0.2s linear;
            margin-left: 5px; }

.tingle-modal-box {
  width: 70%;
  min-height: 100vh;
  border-radius: 0;
  background: #ECEADC;
  background: linear-gradient(to left bottom, #ECEADC 50%, #e3e0cb 50%);
  color: #142C60; }
  .tingle-modal-box .hero-img {
    margin: 30px 0; }
    .tingle-modal-box .hero-img video {
      width: 100% !important;
      height: auto; }
  .tingle-modal-box .modalTitle {
    font-size: 36px;
    padding: 0 0 30px 0;
    font-weight: 300; }
  .tingle-modal-box .txt {
    margin: 30px 0; }
  .tingle-modal-box .link {
    color: inherit;
    font-size: 20px;
    font-weight: 500;
    margin: 0 0 50px 0; }
  .tingle-modal-box .split {
    width: 100%;
    display: inline-block;
    margin: 40px auto; }
    .tingle-modal-box .split .sm-img {
      width: 58%; }
    .tingle-modal-box .split .text {
      width: 38%; }
  .tingle-modal-box .left {
    float: left; }
  .tingle-modal-box .right {
    float: right; }

.tingle-modal-box__footer {
  background: transparent; }

.tingle-modal__close {
  font-size: 4rem; }

@media (max-width: 540px) {
  .tingle-modal-box {
    width: 100%; } }
.writing {
  background: #763A75;
  background: linear-gradient(to left bottom, #763A75 50%, #653264 50%);
  min-height: 800px; }
  .writing .essays {
    max-width: 700px; }
    .writing .essays .essay {
      color: #ECEADC;
      font-size: 24px;
      margin: 0 0 30px 0; }
      .writing .essays .essay .title {
        font-weight: 600; }
      .writing .essays .essay .blurb {
        font-weight: 200; }
      .writing .essays .essay .fas {
        opacity: 0.7;
        margin-left: 5px; }

.photos {
  background: #4E5984;
  background: linear-gradient(to right bottom, #4E5984 50%, #454e74 50%);
  min-height: 700px; }

.genart {
  background: #4E5984;
  background: linear-gradient(to right bottom, #4E5984 50%, #454e74 50%);
  min-height: 700px; }

  .artworks {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
  }
  .artwork {
    /* float: left;
    margin: 10px; */
    display: block;
    padding: 0.5rem;
  }

#insta {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row; }
  #insta .responsive-image {
    max-width: 100%; }
  #insta .pic {
    width: calc(100% / 4); }
    #insta .pic img {
      display: block;
      padding: 0.5rem; }
  #insta a {
    background: #fff; }
  #insta .caption {
    position: absolute;
    z-index: 20;
    bottom: 10px;
    left: 5px;
    background: rgba(255, 255, 255, 0.4);
    padding: 5px 8px;
    opacity: 0.6; }
  #insta .error {
    grid-column: 1/-1;
    justify-self: center; }
  #insta .loading {
    width: calc(var($instaSpacing) * 3);
    height: calc(var($instaSpacing) * 3);
    grid-column: 1/-1;
    justify-self: center;
    align-self: center;
    background: rgba(255, 0, 255, 0.4);
    animation: load 2000ms infinite ease-in-out;
    transform: rotate(0); }
@keyframes load {
  100% {
    transform: rotate(360deg); } }
  #insta .moreInsta {
    cursor: pointer;
    color: #fff;
    font-weight: 100;
    margin: 20px 0 20px 0.5rem; }
    #insta .moreInsta:hover {
      opacity: 0.7; }

.contact {
  background: #376B8C;
  background: linear-gradient(to left bottom, #376B8C 50%, #305d7a 50%);
  min-height: 500px; }
  .contact .col {
    display: block;
    width: 33%;
    width: 50%;
    float: left; }
    .contact .col > div {
      display: block; }

.link {
  color: #fff;
  font-size: 24px;
  font-weight: 100;
  margin: 0 0 15px 0;
  height: 35px;
  line-height: 35px; }
  .link .site {
    font-size: 22px;
    margin: 0 0 0 10px;
    display: inline-block; }

@media screen and (max-width: 599px) {
  h2 {
    font-size: 36px; }

  .header {
    .content-height: 290px;
    .content-line-height: 10px; }
    .header.sticky {
      height: 100px; }
    .header h1 {
      line-height: 50px;
      margin: 20px 0 -15px 0; }
    .header nav {
      float: left;
      font-size: 13px; }
      .header nav .item {
        margin: 0 20px 0 0; }

  .promo .promoline {
    font-size: 40px; }

  .writing {
    min-height: 300px; }
    .writing .essays .essay {
      font-size: 18px; }

  .photos .subhead {
    font-size: 16px; }

  .contact .link {
    font-size: 18px; }
  .contact .col {
    width: 100%; }

  #insta .pic {
    width: calc(100% / 2); }

  .graphics .projects .project {
    width: 100%; } }
@media screen and (min-width: 600px) {
  #insta .pic {
    width: calc(100% / 3); }

  .graphics .projects .project {
    width: calc(100% / 1); }
    .graphics .projects .project img {
      width: 100%;
      height: 100%; } }
@media screen and (min-width: 1000px) {
  #insta .pic {
    width: calc(100% / 4); }

  .graphics .projects .project {
    width: calc(100% / 2); } }
