/*/////////////////////////////////
SITE GENERAL
/////////////////////////////////*/

::selection {
    background-color: var(--selection-color, rgba(0, 0, 0, 0.25));
    color: #1b1b1b;
}

html,
body {
    font-family: 'Chronicle Deck A', 'Chronicle Deck B', Georgia;
    font-style: normal;
    font-size: 0;
    margin: 0;
    padding: 0;
    -webkit-font-smoothing: subpixel-antialiased;
    max-width: 100%;
    overflow-x: hidden;
    position: relative;
    color: #1b1b1b;
}

body.fonts-loading {
    opacity: 0;
}

body.transitioning {
    pointer-events: none;
}

a svg {
    pointer-events: none;
}

body {
    overflow: hidden;
}

h1,
h2 {
    font-family: 'Financier Display', Georgia, sans-serif;
    -webkit-font-smoothing: antialiased;
    font-weight: 600;
}

h6 {
    font-weight: lighter;
    letter-spacing: 0.5px;
}

html {
    background-color: #ffffff;
}

h1,
p,
li,
ul {
    margin: 0;
    padding: 0;
}

ul,
li {
    list-style: none;
    list-style-type: none;
}

p {
    letter-spacing: 0.25px;
}

a:focus {
    outline: none;
}

* {
    box-sizing: border-box;
}

#ribbon {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
}

#ribbon.case-detail-mode {
    position: absolute;
    height: 112.5vw;
    min-height: 1600px;
}

/*#ribbon.home-mode {
    position: fixed;
}

#ribbon.case-detail-mode {
    position: absolute;
    height: 112.5vw;
    min-height: 1600px;
}

#ribbon.next-case-mode {
    position: absolute;
    bottom: 0;
    top: auto;
    height: var(--footer-height, 100vh);
}*/

/*/////////////////////////////////
HEADER
/////////////////////////////////*/

#logo {
    z-index: 50;
    position: absolute;
    left: calc(3.75% - 30px);
    top: 14px;
    pointer-events: bounding-box;
}

#logo.fixed {
    position: fixed;
}

#logo.transitioning {
    transition: opacity 0.75s linear;
}

#logo a {
    display: block;
    width: 104px;
    height: 72px;
    padding: 29px 30px;
}

#logo a svg {
    margin: 2px 0 0 0;
}

/*/////////////////////////////////
HIRE US LINK
/////////////////////////////////*/

#hire-us {
    z-index: 50;
    position: absolute;
    top: 14px;
    right: calc(11.6% - 15px);
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 0.031em;
    -webkit-font-smoothing: antialiased;
    font-family: 'Financier Display', Georgia, sans-serif;
    transition: opacity 0.3s linear;
}

#hire-us.fixed {
    position: fixed;
}

#hire-us.transitioning {
    transition: opacity 0.75s linear;
}

#hire-us a {
    display: block;
    text-decoration: none;
    height: 72px;
    color: #1b1b1b;
    padding: 27px 15px 29px;
}

#hire-us a::after {
    content: '';
    display: block;
    background: rgb(27, 27, 27);
    height: 0;
    position: absolute;
    left: 9px;
    right: 8px;
    bottom: 25px;
    opacity: 0.1;
    transition: height 0.25s ease, opacity 0.25s ease;
}

#hire-us a:hover::after {
    height: 8px;
}

#hire-us.hidden,
#hire-us.menu-hidden {
    opacity: 0;
    pointer-events: none;
}

/* /////////////////////////////////
Footer
///////////////////////////////// */

#footer {
    /* width: 92.5%;
    max-width: 1440px; */
    margin: 300px auto 150px;
    display: flex;
}

#footer > div {
    height: 120px;
    width: 15.5405%;
    border-top: 1px solid rgba(33, 33, 33, 0.15);
    position: relative;
    display: inline-block;
    vertical-align: top;
}

.dark #footer > div {
    border-top: 1px solid rgba(255, 255, 255, 0.15);
}

#footer > div:first-child {
    margin: 0 1.3614% 0 25.337838%;
}

#footer > div:nth-child(2) {
    margin: 0 1.3614% 0 0;
}

#footer h5 {
    font-size: 16px;
    margin: 10px 0 0;
    font-weight: 400;
}

.dark #footer h5 {
    color: white;
}

#footer a {
    font-size: 14px;
    position: absolute;
    bottom: 0;
    color: #ff6e63;
    color: var(--accent-color, #ff6e63);
    text-decoration: none;
    transition: color 0.75s cubic-bezier(0.19, 1, 0.22, 1);
}

#footer a:hover {
    color: var(--accent-hover-color, #ff6e63);
}

#footer #social > div {
    position: absolute;
    bottom: 0;
    width: 100%;
    display: flex;
}

#footer #social a {
    position: relative;
    flex: 1;
    height: 16px;
}

#footer #social a:hover svg {
    fill: var(--accent-hover-color, #ff6e63);
    transform: translate3d(0, -50%, 0) scale(1.15);
}

#footer #social a svg {
    position: absolute;
    transform: translate3d(0, -50%, 0) scale(1);
    transform-origin: 50% 50%;
    top: 50%;
    fill: #ff6e63;
    fill: var(--accent-color, #ff6e63);
    transition: fill 0.75s cubic-bezier(0.19, 1, 0.22, 1),
        transform 0.75s cubic-bezier(0.19, 1, 0.22, 1);
}

/*///////////////////////////////
WRAPPER
///////////////////////////////*/

#wrapper {
    width: 100%;
    overflow: hidden;
}

.page-content {
    width: 92.5%;
    max-width: 1480px;
    margin: 0 auto;
    position: relative;
}

.section {
    width: 108.108108%;
    margin-left: -4.05%;
    overflow: hidden;
}

.section.dark {
    background: #1b1b1b;
    color: white;
}

.section-content {
    width: 92.5%;
    max-width: 1480px;
    margin: 0 auto;
    position: relative;
}

@media only screen and (min-width: 1600px) {
    #logo {
        left: 30px;
    }

    .section {
        width: 100vw;
        margin-left: calc(-50vw + 740px);
    }
}

@media only screen and (max-width: 1280px) {
    #logo {
        left: calc(5% - 30px);
    }

    .page-content {
        width: 90%;
    }

    .section {
        width: 111.111111%;
        margin-left: -5.5555555%;
    }

    .section-content {
        width: 90%;
    }

    #hire-us {
        right: calc(15.3% - 15px);
    }

    #footer {
        width: 90%;
    }

    #footer > div {
        width: 20%;
        margin: 0;
    }

    #footer > div:first-child {
        margin: 0 5% 0 15%;
    }

    #footer > div:nth-child(2) {
        margin: 0 5% 0 0;
    }
}

@media screen and (max-width: 1024px) {
    #footer > div {
        width: 24%;
        margin: 0;
    }

    #footer > div:first-child {
        margin: 0 5% 0 9%;
    }

    #footer > div:nth-child(2) {
        margin: 0 5% 0 0;
    }
}

@media only screen and (max-width: 768px) {
    #logo {
        left: calc(6% - 30px);
    }

    #hire-us {
        right: calc(21.2% - 15px);
    }

    .page-content {
        width: 88%;
    }

    .section {
        width: 113.636364%;
        margin-left: -6.818182%;
    }

    .section-content {
        width: 88%;
    }

    #footer {
        flex-flow: column;
        width: 88%;
        margin: 150px auto 150px;
    }

    #footer > div {
        width: 65.6%;
        margin: 0 0 0 17.2%;
    }

    #footer > div:first-child {
        margin: 0 0 0 17.2%;
    }

    #footer > div:nth-child(2) {
        margin: 0 0 0 17.2%;
    }

    #footer a {
        bottom: 50px;
    }
}

@media only screen and (max-width: 580px) {
    #logo {
        left: calc(12.5% - 30px);
    }

    #hire-us {
        right: calc(25.8% - 10px);
    }

    #hire-us a {
        padding: 27px 10px 29px;
    }

    .page-content {
        width: 75%;
    }

    .section {
        width: 133.333333%;
        margin-left: -16.6666665%;
    }

    .section-content {
        width: 75%;
    }

    #footer {
        width: 65.4320988%;
        margin: 200px auto 40px;
    }

    #footer > div {
        margin: 0;
        width: 100%;
    }

    #footer > div:first-child,
    #footer > div:nth-child(2) {
        margin: 0;
    }
}
#menu-button {
    pointer-events: bounding-box;
    position: fixed;
    display: block;
    width: 72px;
    height: 72px;
    right: calc(3.75% - 24px);
    top: 14px;
    z-index: 100;
    transition: transform 0.5s ease-in-out 0.125s;
}

#menu-button div {
    position: absolute;
    left: 24px;
    width: 16px;
    height: 2px;
    background: #1b1b1b;
    background: var(--button-color, #1b1b1b);
    transition: width 0.125s ease-in-out, top 0.25s ease-in-out 0.5s,
        transform 0.25s ease-out 0.25s, opacity 0.001s linear 0.5s,
        background-color 0.25s linear;
}

#menu-button.animating div {
    transition: width 0.125s ease-in-out, top 0.25s ease-in-out 0.5s,
        transform 0.25s ease-out 0.25s, opacity 0.001s linear 0.5s;
}

#menu-button.light div {
    background: white;
}

#menu-button div:nth-child(1),
#menu-button div:nth-child(2),
#menu-button:hover div {
    width: 24px;
}

#menu-button div:nth-child(1) {
    top: 29px;
}

#menu-button div:nth-child(2) {
    top: 35px;
}

#menu-button div:nth-child(3) {
    top: 41px;
}

#menu-button.opened {
    transform: rotate(90deg);
    transition: transform 0.5s ease-in-out 0.375s;
}

#menu-button.opened div {
    width: 24px;

    transition: width 0.125s ease-in-out 0.875s, top 0.25s ease-in-out 0.25s,
        transform 0.25s ease-out 0.5s, opacity 0.001s linear 0.5s;
}

#menu-button.opened div:nth-child(1) {
    top: 35px;
    transform: rotate(45deg);
}

#menu-button.opened div:nth-child(2) {
    opacity: 0;
}

#menu-button.opened div:nth-child(3) {
    top: 35px;
    transform: rotate(-45deg);
}

#menu-button.closing div {
    width: 24px;
}

/*/////////////////////////////////
Menu Button Arrow for Case Study
/////////////////////////////////*/
#menu-button.arrow-transition-in {
    position: fixed;
    transform: rotate(90deg);
    transition: transform 0.25s ease-in-out 0s;
}

#menu-button.arrow-transition-in div {
    /*width: 24px;*/

    transition: width 0.125s ease-in-out 0s, top 0.2s ease-in-out 0.05s,
        transform 0.25s ease-out 0s, background-color 0.25s linear;
}

#menu-button.arrow-transition-in div:nth-child(1) {
    top: 32px;
    transform: rotate(-45deg);
    width: 11px;
    left: 22px;
}

#menu-button.arrow-transition-in div:nth-child(2) {
    width: 28px;
}

#menu-button.arrow-transition-in div:nth-child(3) {
    top: 38px;
    transform: rotate(45deg);
    width: 11px;
    left: 22px;
}
#menu-button.arrow-transition-out {
    position: fixed;
    transform: rotate(0);
    transition: transform 0.25s ease-in-out 0s;
}
#menu-button.arrow-transition-out div {
    transition: width 0.125s ease-in-out 0.1s, top 0.125s ease-in-out 0s,
        transform 0.125s ease-out 0s;
}
#menu-button.arrow-transition-out div {
    position: absolute;
    left: 24px;
    width: 16px;
    height: 2px;
}

#menu-button.arrow-transition-out div:nth-child(1),
#menu-button.arrow-transition-out div:nth-child(2) {
    width: 24px;
}

#menu-button.arrow-transition-out div:nth-child(1) {
    top: 29px;
}

#menu-button.arrow-transition-out div:nth-child(2) {
    top: 35px;
}

#menu-button.arrow-transition-out div:nth-child(3) {
    top: 41px;
}

#menu {
    position: fixed;
    display: none;
    right: 0;
    top: 0;
    bottom: 0;
    width: 100%;
    max-width: 800px;
    background: grey;
    z-index: 99;
}

#menu.opening,
#menu.opened {
    display: block;
}

#menu.closing {
    display: block;
}

#menu.opened {
    transform: none;
}

#menu-wrapper {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    max-height: 100%;
    width: 100%;
}

#menu ul {
    position: relative;
    left: 12%;
    width: 80%;
}

#menu li {
    font-size: 72px;
    font-family: 'Financier Display';
    font-weight: 600;
    -webkit-font-smoothing: antialiased;
    line-height: 2em;
    /* letter-spacing: 0.0167em; */
}

#menu li a {
    text-decoration: none;
    color: white;
    position: relative;
}

#menu.reversed li a {
    color: #1b1b1b;
}

#menu li a::after {
    content: '';
    display: block;
    background: rgb(255, 255, 255);
    height: 0;
    position: absolute;
    left: -8px;
    right: -12px;
    bottom: -1px;
    opacity: 0.1;
    transition: height 0.25s ease, opacity 0.25s ease;
}

#menu.reversed li a::after {
    background: rgb(27, 27, 27);
}

#menu li a:hover::after {
    height: 27px;
    opacity: 0.15;
}

#menu.reversed li a:hover::after {
    opacity: 0.075;
}

#menu li.current a::after,
#menu li.current a:hover::after {
    content: '';
    display: block;
    height: 36px;
    position: absolute;
    bottom: -1px;
    opacity: 0.3;
}

#menu.reversed li.current a::after,
#menu.reversed li.current a:hover::after {
    opacity: 0.15;
}

#menu li.dropdown > a {
    padding-right: 64px;
}

#menu li.dropdown > a::before,
#menu li.dropdown > a::after {
    content: '';
    display: block;
    background: white;
    height: 2px;
    width: 24px;
    position: absolute;
    left: auto;
    right: -0;
    top: 50%;
    opacity: 1;
    transition: transform 350ms;
}

#menu.reversed li.dropdown > a::before,
#menu.reversed li.dropdown > a::after {
    background: #1b1b1b;
    opacity: 1;
}

#menu li.dropdown > a::after {
    transform: rotate(-90deg);
}

#menu li.dropdown.opened > a::before {
    transform: rotate(180deg);
}

#menu li.dropdown.opened > a::after {
    transform: rotate(0deg);
}

#menu ul li ul {
    position: relative;
    top: auto;
    transform: initial;
    left: 24px;
    width: 100%;
    height: 0;
    overflow: hidden;
    transition: height 350ms;
}

#menu ul li ul li {
    font-size: 24px;
    font-weight: 400;
    padding-left: 8px;
    line-height: 1.6em;
}

#menu ul li ul li:last-child {
    padding-bottom: 1em;
}

#menu ul li ul li a:hover::after {
    height: 14px;
}

#menu ul li ul li.current a::after,
#menu ul li ul li.current a:hover::after {
    height: 16px;
}

#follow-bar {
    position: absolute;
    top: 140px;
    right: calc(3.75vw - 6px);
    width: 60px;
    color: white;
}

.reversed #follow-bar {
    color: #1b1b1b;
}

#follow-bar > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 82px;
    transform: translate(0, 30px) rotate(90deg);
    margin: 0 0 100px 0;
}

#follow p {
    display: inline-block;
    font-size: 16px;
}

#follow span {
    display: inline-block;
    width: 12px;
    height: 1px;
    background-color: white;
}

.reversed #follow span {
    background-color: #1b1b1b;
}

#follow-bar a {
    position: relative;
    display: block;
    width: 60px;
    height: 60px;
    margin: 40px auto 0;
}

#follow-bar a:first-of-type {
    margin: 130px auto 0;
}

#follow-bar a svg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate3d(0, -50%, 0) scale(1);
    transform-origin: 50% 50%;
    fill: white;
    transition: transform 0.75s cubic-bezier(0.19, 1, 0.22, 1);
}

#follow-bar a:hover svg {
    transform: translate3d(0, -50%, 0) scale(1.15);
}

.reversed #follow-bar a svg {
    fill: #1b1b1b;
}

#menu-modal {
    display: none;
    position: absolute;
    background: rgba(255, 255, 255, 0);
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 98;
}

#menu-modal.closing,
#menu-modal.initial.open {
    display: block;
    background: rgba(255, 255, 255, 0);
}

#menu-modal.open {
    display: block;
    background: rgba(255, 255, 255, 0.8);
}

#logo {
    transform-origin: calc(50vw - 3.75% - 30px + 52px) calc(50vh - 30px + 36px);
}

#logo.modalled {
    transform: scale(0.95, 0.95);
}

#logo.modalled a {
    cursor: default;
}

#wrapper {
    transform-origin: center 50vh;
}

#wrapper.modalled {
    transform: scale(0.95, 0.95);
}

@media only screen and (min-width: 1600px) {
    #menu-button {
        right: 36px;
    }

    #follow-bar {
        right: 54px;
    }

    #logo {
        transform-origin: calc(50vw - 30px + 52px) calc(50vh - 14px + 36px);
    }
}

@media only screen and (max-width: 1280px) {
    #menu-button {
        right: calc(5% - 24px);
    }

    #follow-bar {
        right: calc(5vw - 12px);
    }

    #follow-bar > div {
        transform: translate(-3px, 30px) rotate(90deg);
    }

    #logo {
        transform-origin: calc(50vw - 5% - 30px + 52px) calc(50vh - 14px + 36px);
    }

    #menu {
        width: 54%;
    }

    #menu li {
        font-size: 62px;
    }

    #menu li a:hover::after {
        height: 20px;
    }

    #menu li.current a::after,
    #menu li.current a:hover::after {
        height: 30px;
    }

    #menu li.dropdown > a:hover::after {
        height: 2px;
    }
}

@media only screen and (max-width: 768px) {
    #menu-button {
        right: calc(6% - 24px);
    }

    #follow-bar {
        right: calc(6vw - 12px);
    }

    #follow-bar > div {
        transform: translate(-3px, 30px) rotate(90deg);
    }

    #logo {
        transform-origin: calc(50vw - 6% - 30px + 52px) calc(50vh - 14px + 36px);
    }

    #menu {
        width: 64%;
    }

    #menu li {
        font-size: 52px;
    }

    #menu li a:hover::after {
        height: 18px;
    }

    #menu li.current a::after,
    #menu li.current a:hover::after {
        height: 24px;
    }

    #menu ul li ul {
        left: 10px;
    }
}

@media only screen and (max-width: 580px) {
    #menu-button {
        right: calc(12.5% - 24px);
    }

    #follow-bar {
        right: calc(12.5vw - 12px);
        top: 86px;
    }

    #follow-bar > div {
        margin: 0;
    }

    #follow p,
    #follow span {
        display: none;
    }

    #follow-bar a:first-of-type {
        margin: 0 auto 0;
    }

    #follow-bar a {
        margin: 5px auto 0;
    }

    #logo {
        transform-origin: calc(50vw - 12.5% - 30px + 52px)
            calc(50vh - 14px + 36px);
    }

    #menu {
        width: 88%;
    }

    #menu ul {
        left: 8%;
    }

    #menu li {
        font-size: 42px;
    }

    #menu li a:hover::after {
        height: 14px;
    }

    #menu li.current a::after,
    #menu li.current a:hover::after {
        height: 18px;
    }
}

@media only screen and (max-width: 400px) {
    #menu ul {
        left: 6%;
    }
}
#responsive-grid {
    position: fixed;
    top: 0;
    height: 100%;

    width: 92.5%;
    max-width: 1480px;

    left: 50%;
    transform: translateX(-50%);

    display: flex;
    justify-content: space-between;

    pointer-events: none;
    z-index: 100;
}

.grid-column {
    height: 100%;
    background: rgba(255, 0, 0, 0.125);
    width: 7.0945946%;
}

@media only screen and (max-width: 1280px) {
  #responsive-grid {
    width: 90%;
  }

  .grid-column {
    background: rgba(255, 0, 255, 0.125);
    width: 9%;
  }

  .grid-column:nth-child(1n+10) {
    display: none;
  }
}

@media only screen and (max-width: 768px) {
  #responsive-grid {
    width: 88%;
  }

  .grid-column {
    background: rgba(0, 255, 255, 0.125);
    width: 14%;
  }

  .grid-column:nth-child(1n+7) {
    display: none;
  }

  /* gutter: 3.2% */
}

@media only screen and (max-width: 580px) {
  #responsive-grid {
    width: 75%;
  }

  .grid-column {
    background: rgba(0, 255, 0, 0.125);
    width: 13.580247%;
  }

  .grid-column:nth-child(1n+7) {
    display: none;
  }
}
/* column 7.0945946 */
/* gutter 1.3513513 */

.home-page {
    z-index: 0;
}

#bullets {
    /* 4 cols + 3 gutters */
    /* 28.3783784 + 4.0540539 */
    width: 400px;
    font-size: 16px;
    line-height: 16px;
    text-align: center;
    position: fixed;
    /* position: absolute; */
    left: calc(18.772563% - 200px);
    top: 50vh;
    transform: translateY(-200px);
    color: #1b1b1b;
    -webkit-font-smoothing: antialiased;
    /* transition: transform 0.6s cubic-bezier(0.475, -0.020, 0.010, 1.005); */

    font-family: "Financier Display", Georgia, sans-serif;
    font-weight: 600;
}

#bullets.absolute {
    position: absolute;
    left: calc(16.21621622% - 200px);
}

#bullets li {
    margin: 48px 0;
    position: relative;
    z-index: 1;
    /* transition: margin 0.6s cubic-bezier(0.475, -0.020, 0.010, 1.005),
    font-size 0.6s cubic-bezier(0.475, -0.020, 0.010, 1.005),
    line-height 0.6s cubic-bezier(0.475, -0.020, 0.010, 1.005); */
}

#bullets li.focused {
  /* font-size: 317px; */
  /* line-height: 227px;
  margin: 86px 0;
  z-index: 0; */
}

#bullets li a {
    text-decoration: none;
    color: #1b1b1b;
    padding: 12px;
    position: relative;
}

#bullets li.focused a {
    cursor: default;
}

#bullets .project-name {
    display: none;
    position: absolute;
    left: 12px;
    text-align: left;
    white-space: nowrap;
    overflow: hidden;
    padding-bottom: 0.2em;
    padding-top: 10px;
    transform: translateY(-10px);
    width: var(--initial-width, auto);
    transition: width 0.25s;
    opacity: var(--initial-opacity, 0);
}

#bullets .project-name span {
    opacity: 0;
}

#bullets a:hover .project-name {
    opacity: 1;
    width: var(--full-width, 500%);
}

#bullets li.focused a:hover .project-name, #bullets li.closing a:hover .project-name {
    width: var(--initial-width, 0%);
}

#pages {
    /* width: 57.77027027%; */
    margin-left: 33.78378378%;
    position: relative;
    padding: 0;
    transition: filter 0.5s;
}

#pages li {
    height: 100vh;
}

#pages a {
    display: block;
    position: relative;
    text-decoration: none;
    color: #1b1b1b;
    top: 50%;
    transform: translateY(-50%);
}

#pages h2 {
    font-size: 72px;
    margin: 0 0 35px 0;
    /* width: 74.73469388%; */
    width: 61.734694%;
    padding-top: 23px;
    line-height: 1.025em;
    font-weight: 600;
}

#pages .client-hidden h2 {
    padding-top: 0;
}

#pages h3 {
    position: absolute;
    top: 0px;
    width: 100%;
    margin: 0;
    font-size: 16px;
    line-height: 1.5em;
    font-family: "Financier Display", Georgia, sans-serif;
    font-weight: 600;
    -webkit-font-smoothing: antialiased;
    letter-spacing: 0.031em;
}

#pages p {
    font-size: 16px;
    line-height: 24px;
    width: 36.2244898%;
    font-weight: 400;
}

#pages .arrow {
  display: block;
  position: absolute;
  height: 86px;
  width: 16.959064%;
  bottom: 0;
  right: 16.900585%;
  /* transition: width 0.25s cubic-bezier(0.475, -0.020, 0.010, 1.005); */
}

#pages .arrow img {
  position: absolute;
  right: 0;
  top: 31px;
}

#pages .arrow .circle {
  display: block;
  width: 86px;
  height: 86px;
  position: absolute;
  right: -32px;
  top: 0;
  border-radius: 50%;
  box-sizing: border-box;
  border: 4px solid var(--highlight-primary, grey);
  opacity: 0.5;
  transition: opacity 0.25s linear;
}

#pages .arrow .spine {
  background: #1b1b1b;
  height: 4px;
  top: 41px;
  left: 0;
  right: 4px;
  position: absolute;
  transition: left 0.25s cubic-bezier(0.475, -0.020, 0.010, 1.005);
}

#pages a:hover .arrow .spine, #pages a .arrow .spine.transitioning {
  /* width: 14.619883%; */
  left: 13.836478%;
}

#pages a:hover .arrow .circle {
  opacity: 1.0;
}

@media only screen and (min-width: 1601px) {
    #bullets {
      left: calc(50% - 700px);
    }

    #bullets.absolute {
        left: calc(16.21621622% - 200px);
    }
}

@media only screen and (max-width: 1280px) {
    #bullets {
        left: calc(24.416667% - 200px);
    }

    #bullets.absolute {
        left: calc(21.5625% - 200px);
    }

    #pages {
        margin-left: 34.2%;
    }

    #pages h2 {
        font-size: 62px;
        /* width: 82.734694%; */
        width: 65.539514%;
    }

    #pages p {
        width: 58.5%;
        font-size: 14px;
        line-height: 22px;
    }

    #pages .arrow {
        right: 8.4%;
        width: 25.4%;
    }

    #pages a:hover .arrow .spine, #pages a .arrow .spine.transitioning {
        /* width: 21.1%; */
        left: 16.860465%;
    }
}

@media only screen and (max-width: 768px) {
    #bullets {
        left: calc(19.733333% - 200px);
    }

    #bullets.absolute {
        left: calc(15.6% - 200px);
    }

    #pages {
        margin-left: 34.4%;
    }

    #pages h2 {
        font-size: 52px;
        width: 73.780488%;
    }


    #pages .arrow {
        right: 35px;
    }

    #pages a:hover .arrow .spine, #pages a .arrow .spine.transitioning {
        left: 16.346154%;
    }
}

@media only screen and (max-width: 580px) {
    /* column 13.580247% */
    /* gutter 3.7037036% */

    #bullets {
        left: calc(17.545455% - 200px);
    }

    #bullets.absolute {
        left: calc(6.7901% - 200px);
    }

    #bullets li {
        transition: opacity 0.325s linear;
    }

    #bullets li.above {
        opacity: 0;
    }

    #pages {
        margin-left: 34.5679%;
    }

    #pages h2 {
        width: 100%;
        font-size: 40px;
        line-height: 1.025em;
        margin: 0 0 10px 0;
    }

    #pages h3 {
        font-size: 14px;
    }

    #pages p {
        width: 100%;
        font-size: 12px;
        line-height: 18px;
    }

    #pages .arrow {
        top: 110%;
        /* width: calc((40.740741% + 11.1111108%) / 0.8271605 - 31px); */
        width: calc(55% - 31px);
        right: auto;
    }

    #pages .arrow .circle {
        width: 58px;
        height: 58px;
    }

    #pages .arrow .spine {
        top: 27px;
        right: -16px;
    }

    #pages .arrow img {
        right: -20px;
        top: 17px;
    }

    #pages .arrow .circle {
      right: -40px;
    }
}
#pages h2.transitioning {
    transition: opacity 0.75s cubic-bezier(0.190, 1.000, 0.220, 1.000), transform 0.75s cubic-bezier(0.190, 1.000, 0.220, 1.000);
}
#pages h2.transition-out, #pages h2.transition-in {
    opacity: 0;
    transform: translate3d(-50vw, 0, 0) scale(0.1);
    transition-delay: 0;
}
#pages h3.transitioning {
    transition: opacity 0.75s cubic-bezier(0.190, 1.000, 0.220, 1.000), transform 0.75s cubic-bezier(0.190, 1.000, 0.220, 1.000);
}
#pages h3.transition-out, #pages h3.transition-in {
    opacity: 0;
    transform: translate3d(-50vw, 0, 0) scale(0.1);
    transition-delay: 0;
}

#pages p.transitioning {
    transition: opacity 0.75s cubic-bezier(0.190, 1.000, 0.220, 1.000), transform 0.75s cubic-bezier(0.190, 1.000, 0.220, 1.000);
}

#pages p.transition-out, #pages p.transition-in {
    opacity: 0;
    transform: translate3d(-50vw, 0, 0) scale(0.1);
    transition-delay: 0;
}
#pages .arrow .spine.transitioning {
    transition: opacity 0.75s cubic-bezier(0.190, 1.000, 0.220, 1.000), transform 0.75s cubic-bezier(0.190, 1.000, 0.220, 1.000);
}

#pages .arrow .spine.transition-out, #pages .arrow .spine.transition-in {
    opacity: 0;
    transform: translate3d(25vw, 0, 0) scale(0.5);
    transition-delay: 0;
}

#pages .arrow img.transitioning {
    transition: opacity 0.75s cubic-bezier(0.190, 1.000, 0.220, 1.000), transform 0.75s cubic-bezier(0.190, 1.000, 0.220, 1.000);
}

#pages .arrow img.transition-out, #pages .arrow img.transition-in {
    opacity: 0;
    transform: translate3d(25vw, 0, 0) scale(0.5);
    transition-delay: 0;
}

#pages .arrow .circle.transitioning, #pages a .arrow .circle.transitioning {
    transition: opacity 0.75s cubic-bezier(0.190, 1.000, 0.220, 1.000), transform 0.75s cubic-bezier(0.190, 1.000, 0.220, 1.000);
}

#pages .arrow .circle.transition-out, #pages a:hover .arrow .circle.transition-out,
#pages .arrow .circle.transition-in, #pages a:hover .arrow .circle.transition-in {
    opacity: 0;
    transform: translate3d(25vw, 0, 0) scale(0.5);
    transition-delay: 0;
}

#bullets.transitioning {
    transition: opacity 0.75s cubic-bezier(0.190, 1.000, 0.220, 1.000), left 0.75s cubic-bezier(0.190, 1.000, 0.220, 1.000);
}

#bullets.transition-in {
    opacity: 0;
    left: -25vw;
    transition-delay: 0;
}

#bullets.transition-out {
    opacity: 0;
    left: -25vw;
    transition-delay: 0;
    transition: opacity 0.75s cubic-bezier(0.190, 1.000, 0.220, 1.000), left 0.75s cubic-bezier(0.190, 1.000, 0.220, 1.000);
}

@media only screen and (max-width: 768px) {
    #bullets.transition-in {
        left: -60vw;
    }

    #bullets.transition-out {
        left: -60vw;
    }
}
/*/////////////////////////////////
CASE ENTRY
/////////////////////////////////*/
.case-detail-page {
    z-index: 1;
}

.case {
    position: relative;
    padding-top: 275px;
}

.case-title {
    position: relative;
}

.case-title h1 {
    font-size: 120px;
    line-height: 1.025em;
    margin: 0 0 75px 8.4459%;
    /* size of homepage title (adjusted for full width) * case study text height / homepage text height */
    /* 40.87837838% * 299 / 179 */
    width: 68.28287722%;
    font-weight: 600;
}

.case-title h2 {
    position: absolute;
    top: -41px;
    margin: 0 0 0 8.4459%;
    font-size: 16px;
    line-height: 1.5em;
    letter-spacing: 0.031em;
    font-family: "Financier Display", Georgia, sans-serif;
    -webkit-font-smoothing: antialiased;
    font-weight: 600;
}

.case-title span {
    display: block;
    margin: 0 0 0 8.4459%;
    margin: 0 0 95px 8.4459%;
    height: 4px;
    width: 15.5405%;
    background-color: #ac63ff ;
}

.case-title h3 {
    font-size: 16px;
    font-weight: lighter;
    margin: 0 0 0 8.4459%;
    line-height: 1.5em;
}

/*/////////////////////////////////
LAZY CONTENT
/////////////////////////////////*/
.case .lazy-wrapper {
    position: relative;
}

.case .lazy-wrapper::after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background: #dde1e4;
    position: absolute;
    top: 0;
    left: 0;
    transition: opacity 0.5s, height 0s linear 0.5s;
}

.case .lazy-wrapper.loaded::after {
    opacity: 0;
    height: 0;
}

.case .lazy-wrapper video {
    transform: translateZ(0);
}

@keyframes spinner-rotation {
  0%   { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

.case .lazy-wrapper .spinner,
#screenshot-container-desktop .lazy-wrapper .spinner,
#screenshot-container .lazy-wrapper .spinner {
    position: absolute;
    width: 28px;
    height: 28px;
    left: calc(50% - 14px);
    top: calc(50% - 14px);
    background-image: url('../images/spinner.png');
    background-size: 28px 28px;
    z-index: 1;
    animation: spinner-rotation 0.75s infinite linear;
    opacity: 1;
    transition: opacity 0.25s linear;
}

.case .lazy-wrapper.loading .spinner,
#screenshot-container-desktop .lazy-wrapper.loading .spinner,
#screenshot-container .lazy-wrapper.loading .spinner {
    opacity: 1;
}

.case .lazy-wrapper.loaded .spinner,
#screenshot-container-desktop .lazy-wrapper.loaded .spinner,
#screenshot-container .lazy-wrapper.loaded .spinner {
    opacity: 0;
}

/*/////////////////////////////////
DEVICES
/////////////////////////////////*/
.lazy-wrapper img, .lazy-wrapper video {
    width: 100%;
    height: 100%;
    object-fit: scale-down;
}

.iphone-4::before {
    background-image:url('../images/iPhone-4.png');
    content: '';
    position: absolute;
    background-size: cover;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.iphone-8::before {
    background-image:url('../images/iPhone-8.png');
    content: '';
    position: absolute;
    background-size: cover;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.iphone-X::before {
    background-image:url('../images/iPhone-X-BG.png');
    content: '';
    position: absolute;
    background-size: cover;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.iphone-X::after {
    background-image:url('../images/iPhone-X.png');
    content: '';
    position: absolute;
    background-size: cover;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.ipad::before {
    content: '';
    position: absolute;
    background-image:url('../images/iPad.png');
    background-size: cover;
    width: 100%;
    height: 100%;
}

.iphone-4 .lazy-wrapper {
    position: absolute;
    top: 20.35714%;
    left: 31.346153%;
    width: 59.80769%;
    height: 56.13052%;
}

.iphone-8 .lazy-wrapper {
    position: absolute;
    top: 15.357143%;
    left: 31.538462%;
    width: 59.807692%;
    height: 66.190476%;
}

.iphone-X .lazy-wrapper {
    position: absolute;
    top: 8.5119048%;
    left: 31.25%;
    width: 60.096154%;
    height: 80.714286%;
    border-radius: 15px;
}

.ipad .lazy-wrapper {
    position: absolute;
    top: 12.9375%;
    left: 18.25%;
    width: 65.916667%;
    height: 74.1875%;
    border-radius: 3px;
}

.desktop .lazy-wrapper{
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
}

/*/////////////////////////////////
HEROSHOTS IPHONES X 3 LAYOUT & DEFAULT
/////////////////////////////////*/
.iphonex3-layout, .default-layout {
    display: block;
    position: relative;
    display: flex;
    margin: 0 0 0 0;
}

.iphonex3-layout::after, .default-layout::after {
    content: "";
    display: block;
    padding-bottom: 100%;
}

.iphonex3-layout .iphone-4, .default-layout .iphone-4 {
    position: absolute;
    width: 37.142857%;
    height: 60%;
    background-size: cover;
}

.iphonex3-layout .iphone-8, .default-layout .iphone-8, .iphonex3-layout .iphone-X {
    position: absolute;
    width: 33.428571%;
    height: 54%;
    background-size: cover;
}

.iphonex3-layout .iphone-4:nth-child(3) {
    top: -8%;
    left: 61%;
}

.iphonex3-layout .iphone-4:nth-child(2) {
    top: 12%;
    left: 27.33%;
}

.iphonex3-layout .iphone-4:first-child {
    top: 32%;
    left: -6.55%;
}

.iphonex3-layout .iphone-8:nth-child(3), .default-layout .iphone-8:nth-child(3), .iphonex3-layout .iphone-X:nth-child(3) {
    top: -8%;
    left: 63.1%;
}

 .iphonex3-layout .iphone-8:nth-child(2), .default-layout .iphone-8:nth-child(2), .iphonex3-layout .iphone-X:nth-child(2) {
     top: 12%;
     left: 29.45%;
 }

 .iphonex3-layout .iphone-8:first-child, .default-layout .iphone-8:first-child, .iphonex3-layout .iphone-X:first-child {
     top: 32%;
     left: -4.3%;
 }

.iphonex3-layout .case-rally-mark, .default-layout .case-rally-mark {
    position: absolute;
    display: block;
    width: 32.4320%;
    top: 65%;
    right: 0;
}

.rally-mark-mobile {
    display: none;
}

.case-rally-mark svg, .rally-mark-mobile svg {
    width: 106px;
    height: 106px;
    display: block;
    margin: 0 auto 0;
}

.iphonex3-layout .case-tagline, .default-layout .case-tagline {
    position: absolute;
    display: flex;
    width: 44.2297%;
    left: 50.6757%;
    top: 86%;
}

.case-tagline-mobile {
    display: none;
}

.case-tagline p, .case-tagline-mobile p {
    font-family: "Financier Display";
    font-weight: 600;
    font-size: 40px;
    line-height: 50px;
    color: #1b1b1b;
    letter-spacing: .5px;
}

.case-tagline span, .case-tagline-mobile span {
    color: #ceced6;
}

#heroshot-slider-container {
    display: none;
}

/*/////////////////////////////////
HEROSHOT IPAD-IPHONE LAYOUT
/////////////////////////////////*/
.ipad-iphone-layout {
    position: relative;
    display: flex;
    margin: 0 0 0 0;
}

.ipad-iphone-layout::after {
    content: "";
    display: block;
    padding-bottom: 100%;
}

.ipad-iphone-layout .ipad {
    display: block;
    position: absolute;
    width: 88%;
    height: 58.66666696%;
    top: 18%;
    right: 28%
}

.ipad-iphone-layout .iphone-4, .ipad-iphone-layout .iphone-8, .ipad-iphone-layout .iphone-X {
    display: block;
    position: absolute;
    width: 37.1428572%;
    height: 60%;
    top: -8%;
    left: 61%;
}

.ipad-iphone-layout .case-rally-mark {
    position: absolute;
    display: block;
    width: 32.4%;
    top: 66%;
    right: 0;
}

.ipad-iphone-layout .case-tagline {
    position: absolute;
    display: flex;
    width: 42.5%;
    left: 17%;
    top: 87%;
}

/*/////////////////////////////////
HEROSHOT IPHONE IPAD LAYOUT
/////////////////////////////////*/
.iphone-ipad-layout {
    position: relative;
    display: flex;
    margin: 0 0 0 0;
}

.iphone-ipad-layout::after {
    content: "";
    display: block;
    padding-bottom: 100%;
}

.iphone-ipad-layout .ipad{
    display: block;
    position: absolute;
    width: 88%;
    height: 58.66666696%;
    top: -2%;
    left: 26%;
}

.iphone-ipad-layout .iphone-4, .iphone-ipad-layout .iphone-8 {
    position: absolute;
    width: 37.1428572%;
    height: 60%;
    top: 30%;
    left: -6.55%;
}

.iphone-ipad-layout .iphone-X {
    position: absolute;
    width: 37.1428572%;
    height: 60%;
    top: 30%;
    left: -7%;
}

.iphone-ipad-layout .case-rally-mark {
    position: absolute;
    width: 57.8%;
    top: 68%;
    right: 0;
}

.iphone-ipad-layout .case-tagline {
    position: absolute;
    display: flex;
    width: 49.2297%;
    top: 85%;
    right: 8.5%;
}

/*/////////////////////////////////
HEROSHOTS DESKTOP LAYOUT
/////////////////////////////////*/
.desktop-layout {
    position: relative;
}

.desktop-layout::after {
    content: "";
    display: block;
    padding-bottom: 90%;
}

.desktop-layout .desktop {
    display: block;
    position: absolute;
    width: 83.2%;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    box-shadow: 0px 30px 25px -30px;
}

.desktop-layout .desktop::before {
    content: '';
    display: block;
    position: relative;
    padding-bottom: calc(100% * var(--native-height, 1) / var(--native-width, 1));
}

.desktop-layout .case-rally-mark {
    position: absolute;
    display: block;
    width: 24%;
    right: 0;
    bottom: -2%;
}

.desktop-layout .case-tagline {
    position: absolute;
    display: flex;
    width: 40%;
    left: 17%;
    bottom: 0;
}

/*/////////////////////////////////
HEROSHOTS IPAD LAYOUTS
/////////////////////////////////*/
.ipad-layout {
    position: relative;
    margin: 0 0 0 0;
}

.ipad-layout::after {
    content: "";
    display: block;
    padding-bottom: 100%;
}

.ipad-layout .ipad {
    position: absolute;
    width: 103.3%;
    height: 68.8%;
    top: 5vw;
    left: -2.7%;
}

.ipad-layout .case-rally-mark {
    position: absolute;
    display: block;
    width: 24%;
    top: 87%;
    right: 0;
}

.ipad-layout .case-tagline {
    position: absolute;
    display: flex;
    width: 40%;
    left: 17%;
    top: 87%;
}

/*/////////////////////////////////
INTRO PARAGRAPH
/////////////////////////////////*/
#case-intro {
    display: flex;
    margin: 120px 0 0 0;
}

#case-intro p {
    font-size: 16px;
    line-height: 28px;
    width: 22.9865%;
}

#case-intro p:first-child {
    margin: 0 2.5% 0 16.8918%;
}

.layout4#case-intro {
    display: flex;
    margin: 150px 0 0 0;
}

.layout4#case-intro p:first-child {
    margin: 0 2.5% 0 33.7836%;
}

/*/////////////////////////////////
CASE DETAILS
/////////////////////////////////*/
#case-details {
    margin-top: 180px;
    position: relative;
}

#case-details::after {
    content: "";
    display: block;
    padding-bottom: 57.5%;
}

#case-details #de-svg {
    position: absolute;
    width: 15.5405%;
    left: 16.8918%;
    top: 0;
}

.launch-square {
    position: absolute;
    background: #ac63ff;
    width: 15.5405%;
    right: 16.8918%;
}

.launch-square::after {
    content: "";
    display: block;
    padding-bottom: 100%;
}

.launch-square a {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--accent-color, #1b1b1b);
    transition: background-color 0.175s linear;
}

.launch-square a:hover {
    background-color: var(--accent-hover-color, #1b1b1b);
}

.launch-square span {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin: 0;
    padding: 30px;
    font-size: 16px;
    letter-spacing: 1px;
    color: #fff;
    text-decoration: none;
}

.launch-square span::selection {
    color: #fff;
    background-color: var(--accent-hover-color, #1b1b1b);
}

.launch-square.reversed span {
    color: #1b1b1b;
}

.launch-square.reversed span::selection {
    color: #1b1b1b;
    background-color: var(--accent-hover-color, white);
}

#case-details #deets-dash {
    position: absolute;
    width: 4px;
    height: 30%;
    background: #000;
    top: 62%;
    left: 24.5%;
}

#case-details #ets-svg {
    position: absolute;
    width: 15.7405%;
    right: 16.8918%;
    top: 62%;
}

/*/////////////////////////////////
CASE STYLES
/////////////////////////////////*/
#case-styles {
    position: relative;
}

#case-styles::after {
    content: "";
    display: block;
}

#style-header, #style-description{
    width: 40.8784%;
    margin-left: 16.8918%;
}

#style-header {
    margin-top: 10%;;
}

#style-header img {
    max-width: 100%;
}

#style-description p {
    font-size: 16px;
    line-height: 28px;
    margin-top: 45px;
}

/*/////////////////////////////////
COLOR CARDS
/////////////////////////////////*/
#style-cards {
    display: flex;
    flex-wrap: wrap;
    width: 50.6765%;
    margin: 180px 0 180px 33.7838%;
}

.color-card {
    position: relative;
    width: 30.7%;
    margin: 0 2.6% 2.6% 0;
    border: solid 1px #f2f2f2;
    background: black;
}

.color-card::after {
    content: "";
    display: block;
    padding-bottom: 140%;
}

.color-card span {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 30%;
    background: rgba(0,0,0,.1);
    z-index: 0;
}

.color-card span h3 {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin: 0;
    font-size: 16px;
    letter-spacing: 1px;
    font-weight: normal;
    font-family: 'Helvetica', 'Arial', sans-serif;
    color: #fff;
    text-transform: uppercase;
}

#small-slider-container {
    display: none;
}

/*/////////////////////////////////
SCREENSHOT SLIDER
/////////////////////////////////*/
#screenshot-container {
    display: none;
}

.screenshot-container-desktop {
    display: block;
    position: relative;
    background: #f4f5f5;
    width: 108.108108%;
    left: -4.054054%;
}

#screenshot-wrapper-desktop {
    position: relative;
    padding: 200px 0;
}

#screenshot-slider-wrapper-desktop {
    max-width: 1480px;
    margin: 0 auto;
}

.screenshot-cell-desktop {
    position: relative;
    width: 100%;
    max-height: 700px;
}

.screenshot-cell-desktop .lazy-wrapper {
    position: relative;
    margin: 0 auto;
    height: 700px;
    width: 76.875%;
}

#screenshot-slider-desktop .flickity-viewport {
    max-height: 700px !important;
}

#screenshot-slider-desktop .flickity-slider {
    display: flex;
    align-items: center;
}

.screenshot-slider-desktop .flickity-page-dots {
    position: relative !important;
    max-width: 120px !important;
    margin: 0 auto 0 !important;
    bottom: -40px !important;
}

.screenshot-slider-desktop .flickity-page-dots .dot {
    padding: 30px 0;
    margin: 0  !important;
    height: 0px !important;
    border-radius: 0  !important;
    background: none ! important;
}

.screenshot-slider-desktop .flickity-page-dots .dot.is-selected {
    opacity: .25 !important;
}

.nav-item {
    display: block;
    height: 2px;
    background: #333;
}

.slider-bar {
    position: absolute;
    top: 20px;
    left: 0px;
    padding: 10px 0;
}

.slider-bar span {
    display: block;
    background: #333;
    height: 2px;
}

.screenshot-slider-desktop .flickity-button {
    background: none !important;
    width: 6.5% !important;
}

.screenshot-slider-desktop .flickity-button::after {
    content: '';
    width: 100%;
    height: 2px;
    background: #333;
    position: absolute;
    left: 0;
    top: 48.27%;
}

.screenshot-slider-desktop .flickity-prev-next-button {
    border-radius: 0 !important;
}

.screenshot-slider-desktop .flickity-prev-next-button.previous {
    left: 4% !important;
}

.screenshot-slider-desktop .flickity-prev-next-button.next {
    right: 4% !important;
}

#screenshot-slider-desktop button.flickity-button {
    padding: 0 !important;
}

#screenshot-slider-desktop button.flickity-button:disabled {
    opacity: 1 !important;
}

.flickity-prev-next-button.previous .flickity-button-icon {
    width: 20% !important;
    left: -4% !important;
    top: 21% !important;
}

.flickity-prev-next-button.next .flickity-button-icon {
    width: 20% !important;
    left: 83% !important;
    top: 21% !important;
}

/*/////////////////////////////////
SLIDESHOW LAZY
/////////////////////////////////*/

#screenshot-container .lazy-wrapper img,
#screenshot-container .lazy-wrapper video,
#screenshot-container-desktop .lazy-wrapper img,
#screenshot-container-desktop .lazy-wrapper video {
    opacity: 0;
    transition: opacity 0.25s linear;
}

#screenshot-container .lazy-wrapper.placeholder-loaded video,
#screenshot-container-desktop .lazy-wrapper.placeholder-loaded video {
    opacity: 0.75;
}

#screenshot-container .lazy-wrapper.loaded img,
#screenshot-container .lazy-wrapper.loaded video,
#screenshot-container-desktop .lazy-wrapper.loaded img,
#screenshot-container-desktop .lazy-wrapper.loaded video {
    opacity: 1;
}

/*/////////////////////////////////
FOOTER
/////////////////////////////////*/
.footer {
    position: relative;
    min-height: 160px;
}

.footer a {
    position: relative;
    display: block;
    padding-top: 150px;
    padding-bottom: 150px;
    text-decoration: none;
    color: #1b1b1b;
    z-index: 2;
}

.footer a h6 {
    font-size: 16px;
    font-weight: lighter;
    margin: 0 0 0 8.4459%;
    line-height: 1.5em;
    letter-spacing: 0;
}

.footer a span.next-label {
    text-decoration: none;
    font-size: 16px;
    font-weight: lighter;
    margin: 0 0 0  8.4459%;
    line-height: 25px;
    display: inline-block;
}

.footer a h1 {
    font-size: 120px;
    margin: 150px 0 70px 8.4459%;
    line-height: 1.025em;
    width: 68.28287722%;
    font-weight: 600;
}

.footer a h2 {
    font-size: 16px;
    font-family: "Financier Display", Georgia, sans-serif;
    -webkit-font-smoothing: antialiased;
    font-weight: 600;
    position: absolute;
    top: 280px;
    margin: 0 0 0 8.4459%;
    letter-spacing: 0.031em;
    line-height: 1.5em;
}

.footer a span.color-bar {
    display: block;
    width: 15.5404%;
    height: 4px;
    background-color: #009bd1;
    margin: 0 0 90px 8.4459%;
}

#arrow {
    position: absolute;
    left: 8.4459%;
    bottom: 60px;
}

#rally-tree {
    position: absolute;
    bottom: 60px;
    right: 0;
    z-index: 1;
}

/*/////////////////////////////////
MEDIA QUERIES
/////////////////////////////////*/
@media only screen and (min-width: 1600px) {
    #screenshot-container-desktop {
        width: 100vw;
        left: calc(-50vw + 740px);
    }

    #screenshot-slider-desktop .flickity-prev-next-button.previous {
        left: 0% !important;
    }

    #screenshot-slider-desktop .flickity-prev-next-button.next{
        right: 0% !important;
    }
}

/*/////////////////////////////////
MEDIA QUERIES
/////////////////////////////////*/
@media only screen and (max-width: 1280px) {
    .case-title h1 {
        font-size: 100px;
        margin: 0 0 65px 11.375%;
        line-height: 1.025em;
        /* 43.125 * 249 / 154 */
        width: 69.72808442%
    }

    .case-title h2 {
        margin-left: 11.375%;
    }

    .case-title span {
        margin: 0 0 65px 11.375%;
        width: 20.375%;
    }

    .case-title h3 {
        margin: 0 0 0 11.375%;
    }

    #case-rally-mark {
        width: 31.75%;
    }

    /*/////////////////////////////////
    HEROSHOT IPHONE X 3 LAYOUT
    /////////////////////////////////*/
    .iphonex3-layout .case-tagline, .default-layout .case-tagline {
        width: 54.2297%;
        left: 45.5%;
        top: 86%;
    }

    .iphonex3-layout .case-tagline p, .default-layout .case-tagline p{
        font-size: 32px;
        line-height: 40px;
        color: #1b1b1b;
    }

    /*/////////////////////////////////
    HEROSHOT IPAD-IPHONE LAYOUT
    /////////////////////////////////*/
    .ipad-iphone-layout .case-rally-mark {
        width: 31.8%;
        top: 64%;
        right: 0;
    }

    .ipad-iphone-layout .case-tagline {
        width: 45.5%;
        left: 11.5%;
    }

    .ipad-iphone-layout .case-tagline p {
        font-size: 32px;
        line-height: 40px;
        color: #1b1b1b;
    }

    /*/////////////////////////////////
    HEROSHOT IPHONE-IPAD LAYOUT
    /////////////////////////////////*/
    .iphone-ipad-layout .case-rally-mark {
        width: 54.5%;
        top: 72%;
        right: 0;
    }

    .iphone-ipad-layout .case-tagline {
        top: 92%;
        width: 54.5%;
        right: 0;
    }

    .iphone-ipad-layout .case-tagline p {
        font-size: 32px;
        line-height: 40px;
        color: #1b1b1b;
    }

    /*/////////////////////////////////
    HEROSHOTS DESKTOP LAYOUT
    /////////////////////////////////*/
    .desktop-layout .desktop {
        width: 88%;
    }

     .desktop-layout::after {
         padding-bottom: 92%;
     }

    .desktop-layout .case-rally-mark {
        width: 31.8%;
        bottom: -3%;
    }

    .desktop-layout .case-tagline {
        width: 50%;
        left: 11.4%;
    }

    .desktop-layout .case-tagline p {
        font-size: 32px;
        line-height: 40px;
        color: #1b1b1b;
    }

    /*/////////////////////////////////
    HEROSHOTS IPAD LAYOUT
    /////////////////////////////////*/
    .ipad-layout .ipad {
        position: absolute;
        width: 101.8%;
        height: 67.8%;
        top: 5vw;
        left: -2.2%;
    }

    .ipad-layout .case-rally-mark {
        position: absolute;
        display: block;
        width: 31.8%;
        top: 90%;
        right: 0;
    }

    .ipad-layout .case-tagline {
        position: absolute;
        display: flex;
        width: 50%;
        left: 11.4%;
        top: 90%;
    }

    .ipad-layout .case-tagline p {
        font-size: 32px;
        line-height: 40px;
        color: #1b1b1b;
    }

    /*/////////////////////////////////
    INTRO PARAGRAPH
    /////////////////////////////////*/
    #case-intro p {
        width: 31.75%;
    }

    #case-intro p:first-child {
        margin: 0 2.5% 0 11.375%;
    }

    #case-details::after {
        padding-bottom: 75%;
    }

    .layout4#case-intro p:first-child {
        margin: 0 2.5% 0 34.2%;
    }

    /*/////////////////////////////////
    CASE DETAILS
    /////////////////////////////////*/
    #case-details #de-svg {
        width: 20.375%;
        left: 11.375%;
    }

    .launch-square {
        width: 20.375%;
        right: 11.375%;
    }

    #case-details #deets-dash {
        left: 21.2%;
    }

    #case-details #ets-svg {
        width: 20.375%;
        right: 11.375%;
    }

    /*/////////////////////////////////
    CASE STYLES
    /////////////////////////////////*/
    #style-header {
        width: 43%;
    }

    #style-header, #style-description {
        margin-left: 11.375%;
    }

    #style-description {
        width: 45.486111%;
    }

    #style-header {
        margin-top: 14%;;
    }

    #style-cards {
        width: 68.25%;
        margin: 15vw 0 15vw 11.375%;
    }

    .color-card {
        width: 30%;
        margin: 0 3.3% 3.3% 0;
    }

    /*/////////////////////////////////
    SCREENSHOTS
    /////////////////////////////////*/
    .screenshot-container-desktop {
        width: 111.111111%;
        left: -5.5555555%;
    }

    .screenshot-wrapper-desktop {
        padding: 175px 0;
    }

    .screenshot-cell-desktop {
        width: 100%;
        max-height: 525px;
    }

    .screenshot-cell-desktop .lazy-wrapper {
        position: relative;
        margin: 0 auto;
        height: 525px;
        width: 69.525%;
    }

    .screenshot-slider-desktop .flickity-viewport {
        max-height: 525px !important;
    }

    .screenshot-slider-desktop .flickity-page-dots {
        bottom: -40px !important;
    }

    .screenshot-slider-desktop .flickity-button {
        width: 8% !important;
    }

    .screenshot-slider-desktop .flickity-prev-next-button.previous {
        left: 5% !important;
    }

    .screenshot-slider-desktop .flickity-prev-next-button.next{
        right: 5% !important;
    }

    .screenshot-slider-desktop .flickity-button::after {
        content: '';
        width: 100%;
        height: 2px;
        background: #333;
        position: absolute;
        left: 0;
        top: 48.27%;
    }

    .color-card span h3 {
        font-size: 14px;
    }

    .footer a {
        padding-top: 120px;
        padding-bottom: 200px;
    }

    .footer a h6 {
        margin: 0 0 0 11.375%;
    }

    .footer a span.next-label {
        margin: 0 0 0 11.375%;
    }

    .footer a h1 {
        font-size: 100px;
        margin: 100px 0 50px 11.375%;
        width: 69.72808442%;
    }

    .footer a h2 {
        margin-left: 11.375%;
        top: 215px;
    }

    .footer a span.color-bar {
        width: 20.375%;
        margin: 0 0 90px 11.375%;
    }

    #arrow {
        position: absolute;
        left: 11.375%;
        bottom: 60px;
    }
}

@media only screen and (max-width: 768px) {
    .case-title h1 {
        font-size: 92px;
        margin: 0 0 50px 0;
        line-height: 1.025em;
        /* 48.4 * 229 / 129 */
        width: 85.91937984%;
    }

    .case-title h2 {
        margin-left: 0;
    }

    .case-title span {
        margin: 0 0 50px 0;
        width: 31.2%;
    }

    .case-title h3 {
        margin: 0 0 0 0;
    }

    /*/////////////////////////////////
    HEROSHOT FLICKITY SLIDER LAYOUT
    /////////////////////////////////*/
    .iphonex3-layout, .default-layout {
        display: none;
    }

    #heroshot-slider-container {
        display: block;
        width: 100%;
        position: relative;
        margin: 80px 0 125px 0;
    }

    #heroshot-slider-wrapper {
        position: relative;
        width: 100%;
        margin: 0 auto 0;
        height: 118vw;
    }

    .heroshot-slider {
        transform-style: preserve-3d;
    }

    .heroshot-cell.iphone-4, .heroshot-cell.iphone-8, .heroshot-cell.iphone-X  {
        width: 80%;
        padding-bottom: 129.2307696%;
    }

    .heroshot-cell.iphone-4::before, .heroshot-cell.iphone-8::before, .heroshot-cell.iphone-X::after, .heroshot-cell.iphone-X::before {
        left: -11%;
    }

    .heroshot-cell.iphone-4 .lazy-wrapper, .heroshot-cell.iphone-8 .lazy-wrapper, .heroshot-cell.iphone-X .lazy-wrapper {
        left: 20.538462%;
    }

    .flickity-viewport {
        overflow: visible !important;
    }

    .heroshot-slider .flickity-page-dots {
        bottom: 0 !important;
        max-width: 120px !important;
        position: relative !important;
        margin: 0 auto 0 !important;
    }

    .heroshot-slider .flickity-page-dots .dot  {
        padding: 30px 0;
        margin: 0  !important;
        height: 0px !important;
        border-radius: 0  !important;
        background: none ! important;
    }

    .heroshot-slider .flickity-page-dots .dot.is-selected {
        opacity: .25 !important;
    }

    /*/////////////////////////////////
    IPAD-IPHONE & IPHONE-IPAD, IPAD LAYOUT
    /////////////////////////////////*/
    .ipad-iphone-layout::after, .iphone-ipad-layout::after, .ipad-layout::after {
        padding-bottom: 105%;
    }

    .ipad-iphone-layout .iphone-4, .ipad-iphone-layout .iphone-8, .ipad-iphone-layout .iphone-X, .iphone-ipad-layout .iphone-4, .iphone-ipad-layout .iphone-8, .iphone-ipad-layout .iphone-X {
        display: none;
    }

    .ipad-iphone-layout .case-rally-mark, .iphone-ipad-layout .case-rally-mark, .desktop-layout .case-rally-mark, .ipad-layout .case-rally-mark, .default-layout .case-rally-mark {
        display: none;
    }

    .ipad-iphone-layout .case-tagline, .iphone-ipad-layout .case-tagline, .desktop-layout .case-tagline, .ipad-layout .case-tagline, .default-layout .case-tagline {
        display: none;
    }

    .ipad-iphone-layout .ipad, .iphone-ipad-layout .ipad, .ipad-layout .ipad {
        width: 124.223602%;
        height: 78.7%;
        left: -13.5%;
        top: 150px;
    }

    .rally-mark-mobile {
        display: block;
        margin-top: 15vw;
    }

    .case-tagline-mobile {
        display: block;
    }

    .case-tagline-mobile p {
        font-size: 32px;
        line-height: 40px;
        margin: 15vw 17.2% 0 0;
    }

    /*/////////////////////////////////
    HEROSHOTS DESKTOP LAYOUT
    /////////////////////////////////*/

    .desktop-layout::after {
        padding-bottom: 80%;
    }

    .desktop-layout .desktop {
        width: 100%;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        margin-top: 10vw;
    }

    /*/////////////////////////////////
    INTRO PARAGRAPHS
    /////////////////////////////////*/
    #case-intro p {
        width: 48.4%;
    }

    #case-intro p:first-child {
        margin: 0 3.2% 0 0;
    }

    .layout4#case-intro {
        margin: 15vw 0 0 0;
    }

    .layout4#case-intro p {
        width: 48.4%;
    }

    .layout4#case-intro p:first-child {
        margin: 0 3.2% 0 0;
    }

    #case-details::after {
        /* padding-bottom: 145%; */
        padding-bottom: 200%;
    }

    #case-details #de-svg {
        width: 48.4%;
        left: -18%;
    }

    .launch-square {
        width: 48.4%;
        right: 0;
    }

    #case-details #deets-dash {
        left: 7%;
        height: 25%;
        top: 58%;

    }

    #case-details #ets-svg {
        /* width: 41.4%; */
        width: 48.4%;
        right: 0;
        top: 58%;
    }

    #case-styles {
        margin-top: 65vw;
    }

    #style-header, #style-description {
        margin: 0;
        width: 100%;
    }

    #style-cards {
        width: 100%;
        margin: 20vw 0;
    }

    .color-card {
        width: 31.2%;
        margin: 0 3.2% 3.2% 0;
    }

    .color-card:nth-child(3), .color-card:nth-child(6){
        margin: 0 0 3.2% 0;
    }

    .color-card span h3 {
        font-size: 14px;
    }

    /*/////////////////////////////////
    SCREENSHOT FLICKITY SLIDER
    /////////////////////////////////*/
    #screenshot-container-desktop {
        display: none;
    }

    #screenshot-container {
        display: block;
        position: relative;
        background: #f4f5f5;
        width: 113.636364%;
        left: -6.818182%;
    }

    #screenshot-wrapper {
        position: relative;
        width: 100%;
        margin: 0 auto;
        padding: 150px 0;
    }

    #screenshot-slider .flickity-viewport {
        max-height: 500px !important;
    }

    #screenshot-slider .flickity-slider {
        display: flex;
        align-items: center;
    }

    .screenshot-cell {
        width: 88%;
        margin: 0 auto;
        max-height: 500px;
        margin-right: 8%;
    }

    .screenshot-cell .lazy-wrapper {
        display: block;
        height: 500px;
    }

    .screenshot-slider .flickity-page-dots {
        position: relative !important;
        margin: 0 auto 0 !important;
        width: 120px !important;
    }

    .screenshot-slider .flickity-page-dots .dot {
        padding: 30px 0;
        margin: 0  !important;
        height: 0px !important;
        border-radius: 0  !important;
        background: none ! important;
    }

    .screenshot-slider .flickity-page-dots .dot.is-selected {
        opacity: .25 !important;
    }

    /*/////////////////////////////////
    FOOTER
    /////////////////////////////////*/
    .footer a {
        padding-top: 100px;
        padding-bottom: 200px;
    }

    .footer a h6 {
        margin: 0 0 0 0;
    }

    .footer a span.next-label {
        margin: 0 0 0 0;
    }

    .footer a h1 {
        font-size: 92px;
        margin: 100px 0 50px 0%;
        width: 85.91937984%;
    }

    .footer a h2 {
        margin-left: 0;
        top: 195px;
    }

    .footer a span.color-bar {
        width: 31.2%;
        margin: 0 0 50px 0%;
    }

    #arrow {
        left: 0%;
    }
}

@media only screen and (max-width: 580px) {
    .case {
        padding-top: 200px;
    }

    .case-title h1 {
        font-size: 54px;
        line-height: 1.025em;
        margin: 0 0 45px 0;
        /* 65.4321 * 296 / 220 */
        width: 88.03591636%;
    }

    .case-title span {
        margin: 0 0 45px 0;
        width: 48.1481%;
    }

    .case-title h3 {
        margin: 0 0 0 0;
    }

    /*/////////////////////////////////
    HEROSHOTS IPHONESX3 LAYOUT
    /////////////////////////////////*/
    #heroshot-slider-container {
        margin: 80px 0 115px 0;
    }

    #heroshot-slider-wrapper {
        height: 151vw;
    }

    .heroshot-cell.iphone-4, .heroshot-cell.iphone-8, .heroshot-cell.iphone-X  {
        width: 120%;
        padding-bottom: 193.8461%;
    }

    /*/////////////////////////////////
    IPAD-IPHONE & IPHONE-IPAD, IPAD LAYOUT
    /////////////////////////////////*/
    .ipad-iphone-layout::after, .iphone-ipad-layout::after , .ipad-layout::after {
        padding-bottom: 115%;
    }

    .ipad-iphone-layout .ipad, .iphone-ipad-layout .ipad, .ipad-layout .ipad {
        width: 151%;
        height: 87.5%;
        top: 50px;
        left: -27.25%;
    }

    .case-tagline-mobile p {
        font-size: 24px;
        line-height: 34px;
        margin: 15vw 0 0 0;
    }

    /*/////////////////////////////////
    HEROSHOTS DESKTOP LAYOUTS
    /////////////////////////////////*/
    .desktop-layout .desktop {
        width: 100%;
    }

    .desktop-layout::after {
        padding-bottom: 100%;
    }

    /*/////////////////////////////////
    INTRO PARAGRAPHS
    /////////////////////////////////*/
    #case-intro, .layout4#case-intro {
        display: block;
        margin-top: 15vw;
    }

    #case-intro p, .layout4#case-intro p {
        width: 100%;
    }

    #case-intro p:first-child, .layout4#case-intro p:first-child  {
        margin: 0 0 30px 0;
    }

    /*/////////////////////////////////
    CASE DETAILS
    /////////////////////////////////*/
    #case-details {
        margin-top: 100px;
    }

    #case-details::after {
        padding-bottom: 180%;
    }

    #case-details #de-svg {
        width: 48.4%;
        left: -18%;
    }

    #case-details #deets-dash {
        left: 6.7901%;
        top: 62%;
    }

    #case-details #ets-svg {
        width: 48.4%;
        right: 0;
        top: 62%;
    }

    #case-styles {
        margin-top: 70vw;
    }

    #style-cards {
        display: none;
    }

    #small-slider-container {
        width: 133.333333%;
        left:  -16.6666665%;
        display: block;
    }

    #small-slider-wrapper {
        width: 75%;
        margin: 25vw 0;
    }

    .colorcard-cell {
        width: 48%;
        height: 50vw;
        margin-right: 4%;
        border: solid 1px #f2f2f2;
        background: black;
    }

    .colorcard-cell span {
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 30%;
        background: rgba(0,0,0,.1);
        z-index: 0;
    }

    .colorcard-cell span h3 {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        margin: 0;
        font-size: 14px;
        letter-spacing: 1px;
        font-weight: normal;
        font-family: 'Helvetica', 'Arial', sans-serif;
        color: #fff;
        text-transform: uppercase;
    }

    .colorcard-cell img {
        width: 100%;
    }

    .colorswatch-slider .flickity-page-dots {
        position: relative !important;
        margin: 0 auto 0 !important;
        width: 120px !important;
    }

    .colorswatch-slider .flickity-page-dots .dot {
        padding: 30px 0;
        margin: 0  !important;
        height: 0px !important;
        border-radius: 0  !important;
        background: none ! important;
    }

    .colorswatch-slider .flickity-page-dots .dot.is-selected {
        opacity: .25 !important;
    }

    #screenshot-container {
        width: 133.333333%;
        left: -16.6666665%;
    }

    #screenshot-wrapper {
        width: 100%;
        padding: 100px 0;
    }

    #screenshot-slider .flickity-viewport {
        max-height: 400px !important;
    }

    .screenshot-cell {
        width: 90%;
        max-height: 400px;
    }

    .screenshot-cell img {
        max-height: 400px;
    }

    .screenshot-cell video {
        max-height: 400px;
    }

    .footer a h1 {
        font-size: 54px;
        margin: 65px 0 50px 0%;
        width: 88.03591636%;
    }

    .footer a h2 {
        top: 160px;
    }

    .footer a span.color-bar {
        margin: 0 0 65px 0%;
    }
}

@media only screen and (max-width: 400px) {
    /*/////////////////////////////////
    BREAKPOINT A - small
    /////////////////////////////////*/
    .case-title h1 {
        font-size: 54px;
    }

    .colorcard-cell span h3 {
        font-size: 12px;
    }

    /*/////////////////////////////////
    HEROSHOTS DESKTOP LAYOUTS
    /////////////////////////////////*/
    .rally-mark-mobile {
        margin-top: 20vw;
    }

    .case-tagline-mobile p {
        margin: 20vw 0 0 0;
    }

    #case-intro, .layout4#case-intro {
        margin-top: 20vw;
    }
}

.flickity-viewport {
    transform: translateZ(0);
}
.case .transitioning {
    transition: opacity 0.75s, transform 0.75s;
}

.case .transition-out {
    transform: translate3d(0, 100vh, 0);
}

.case .transition-in {
    transform: translate3d(0, 100vh, 0);
}

.case-title h3.transitioning,
.case-title h1.transitioning,
.case-title .stroke.transitioning,
.case-title h2.transitioning {
    transition: opacity 0.75s cubic-bezier(0.19, 1, 0.22, 1) 0.2s,
        transform 0.75s cubic-bezier(0.19, 1, 0.22, 1);
}

.case-title h3.transition-out,
.case-title .stroke.transition-out,
.case-title h2.transition-out {
    opacity: 0;
    transform: translate3d(25vw, 10vh, 0) scale(0.5);
    transition: opacity 0.5s cubic-bezier(0.19, 1, 0.22, 1),
        transform 0.75s cubic-bezier(0.19, 1, 0.22, 1);
}

.case-title h3.transition-in,
.case-title .stroke.transition-in,
.case-title h2.transition-in {
    opacity: 0;
    transform: translate3d(25vw, 10vh, 0) scale(0.5);
}

.case-title h1.transition-out {
    opacity: 0;
    transform: translate3d(20vw, 10vh, 0) scale(0.7);
    transition: opacity 0.5s cubic-bezier(0.19, 1, 0.22, 1),
        transform 0.75s cubic-bezier(0.19, 1, 0.22, 1);
}

.case-title h1.transition-in {
    opacity: 0;
    transform: translate3d(20vw, 10vh, 0) scale(0.7);
}

.heroshots.transitioning > div:nth-child(1) {
    transition: opacity 0.5s cubic-bezier(0.19, 1, 0.22, 1) 0.4s,
        transform 0.6s cubic-bezier(0.19, 1, 0.22, 1) 0.15s;
}
.heroshots.transitioning > div:nth-child(2) {
    transition: opacity 0.5s cubic-bezier(0.19, 1, 0.22, 1) 0.2s,
        transform 0.6s cubic-bezier(0.19, 1, 0.22, 1) 0.1s;
}
.heroshots.transitioning > div:nth-child(3) {
    transition: opacity 0.5s cubic-bezier(0.19, 1, 0.22, 1) 0s,
        transform 0.6s cubic-bezier(0.19, 1, 0.22, 1) 0s;
}

#heroshots.transition-in > div:nth-child(1) {
    /*opacity: 0;*/
    transform: translate3d(0, 100vh, 0);
}
#heroshots.transition-in > div:nth-child(2) {
    /*opacity: 0;*/
    transform: translate3d(0, 100vh, 0);
}
#heroshots.transition-in > div:nth-child(3) {
    /*opacity: 0;*/
    transform: translate3d(0, 100vh, 0);
}
#heroshots.transition-out > div:nth-child(1) {
    /*opacity: 0;*/
    transform: translate3d(0, 100vh, 0);
    transition: opacity 0.75s cubic-bezier(0.19, 1, 0.22, 1) 0.4s,
        transform 0.675s cubic-bezier(0, 0, 0.58, 1) 0.075s;
}
#heroshots.transition-out > div:nth-child(2) {
    /*opacity: 0;*/
    transform: translate3d(0, 100vh, 0);
    transition: opacity 0.75s cubic-bezier(0.19, 1, 0.22, 1) 0.4s,
        transform 0.675s cubic-bezier(0, 0, 0.58, 1) 0.05s;
}
#heroshots.transition-out > div:nth-child(3) {
    /*opacity: 0;*/
    transform: translate3d(0, 100vh, 0);
    transition: opacity 0.75s cubic-bezier(0.19, 1, 0.22, 1) 0.4s,
        transform 0.675s cubic-bezier(0, 0, 0.58, 1) 0s;
}

.heroshot-slider-container.transitioning {
    transition: opacity 0.5s cubic-bezier(0.19, 1, 0.22, 1) 0.4s,
        transform 0.6s cubic-bezier(0.19, 1, 0.22, 1) 0.15s;
}

.heroshot-slider-container.transition-in {
    transform: translate3d(0, 100vh, 0);
}

.heroshot-slider-container.transition-out {
    transform: translate3d(0, 100vh, 0);
    transition: opacity 0.75s cubic-bezier(0.19, 1, 0.22, 1) 0.4s,
        transform 0.675s cubic-bezier(0, 0, 0.58, 1) 0.075s;
}

.screenshot-container.transitioning,
.screenshot-container-desktop.transitioning {
    transition: transform 0.75s cubic-bezier(0.19, 1, 0.22, 1);
}
.screenshot-container.transition-in,
.screenshot-container-desktop.transition-in {
    transform: translate3d(0, -100vh, 0);
}
.screenshot-container.transition-out,
.screenshot-container-desktop.transition-out {
    transform: translate3d(0, -100vh, 0);
    transition: transform 0.75s cubic-bezier(0, 0, 0.58, 1);
}

.next-label.transitioning {
    transition: opacity 0.75s cubic-bezier(0, 0, 0.58, 1),
        transform 0.75s cubic-bezier(0.19, 1, 0.22, 1);
}
.next-label.transition-in {
    opacity: 0;
    transform: translate3d(0, -100vh, 0);
}
.next-label.transition-out {
    opacity: 0;
    transform: translate3d(0, -100vh, 0);
    transition: opacity 0.75s cubic-bezier(0, 0, 0.58, 1),
        transform 0.75s cubic-bezier(0, 0, 0.58, 1);
}

.rally-tree.transitioning {
    transition: opacity 0.75s cubic-bezier(0, 0, 0.58, 1),
        transform 0.75s cubic-bezier(0.19, 1, 0.22, 1);
}
.rally-tree.transition-in {
    opacity: 0;
    transform: translate3d(0, 50vh, 0);
}
.rally-tree.transition-out {
    opacity: 0;
    transform: translate3d(0, 50vh, 0);
    transition: opacity 0.75s cubic-bezier(0, 0, 0.58, 1),
        transform 0.75s cubic-bezier(0, 0, 0.58, 1);
}

.footer-arrow.transitioning {
    transition: opacity 0.75s cubic-bezier(0, 0, 0.58, 1),
        transform 0.75s cubic-bezier(0.19, 1, 0.22, 1);
}
.footer-arrow.transition-in {
    opacity: 0;
    transform: translate3d(0, 50vh, 0);
}
.footer-arrow.transition-out {
    opacity: 0;
    transform: translate3d(0, 50vh, 0);
    transition: opacity 0.75s cubic-bezier(0, 0, 0.58, 1),
        transform 0.75s cubic-bezier(0, 0, 0.58, 1);
}
/*/////////////////////////////////
STUDIO SECTIONS
/////////////////////////////////*/

/* #about-section, #projects-wrapper, #team-section, #camp-section { */
#about-section, #team-section, #camp-section {
    width: 100%;
    max-width: 1480px;
    margin: 0 auto;
}

/*/////////////////////////////////
ABOUT SECTION
/////////////////////////////////*/
#about-section {
    padding-top: 275px;
    margin-bottom: 180px;
    color: #1b1b1b;
}

#studio-header h1 {
    font-size: 150px;
    color: #1b1b1b;
    line-height: 135px;
    margin-left: 8.4459%;
}

#studio-header h1 span {
    display: inline-block;
    vertical-align: middle;
    width: 230px;
    height: 4px;
    background-color: #1b1b1b;
    opacity: 0.3;
    margin: 0 0 0 45px;
    transform-origin: 0;
    transform: scaleX(0);
    transition: transform 1s 0.5s cubic-bezier(0.190, 1.000, 0.220, 1.000);
}

#studio-header h1.animate span {
    transform: scaleX(1);
}

#studio-header p {
    display: none;
    margin: 100px 0 0 0;
    font-size: 16px;
    font-weight: lighter;
    line-height: 28px;
    letter-spacing: 0.25px;
}

#intro-wrapper {
    display: flex;
    margin-top: 100px;
}

#intro-wrapper p {
    font-size: 16px;
    font-weight: lighter;
    line-height: 28px;
    letter-spacing: 0.25px;
}

#intro-p1 {
    display: inline-block;
    width: 23.9865%;
    margin: 0 0 0 33.7839%;
}
#intro-p2 {
    display: inline-block;
    width: 23.9865%;
    margin: 0 0 0 1.35135%;
}

#studio-vision{
    margin: 180px 0 0 8.4459%;
}

#vision-header {
    display: inline-block;
    width: 49.2297%;
}

#vision-header h2 {
    font-weight: 600;
    font-size: 56px;
    line-height: 56px;
    margin: 0 0 60px 0;
}

#vision-header p {
    font-weight: lighter;
    font-size: 16px;
    line-height: 28px;
}

#vision-header span {
    font-weight: bold;
}

#logo-mark {
    display: inline-block;
    width: 32.3378%;
    vertical-align: top;
    /*margin: 0 0 0 8.4459%;*/
}

#logo-mark svg {
    width: 106px;
    height: 106px;
    display: block;
    margin: 0 auto 0;
}

#studio-description {
    display: none;
    margin: 200px 0 0 35%;
}

#studio-description p {
    padding: 0;
    font-size: 16px;
    font-weight: lighter;
}

#description-wrapper {
    margin: 200px 0 0 0;
    display: flex;
}

#description-wrapper p {
    font-size: 16px;
    font-weight: lighter;
    line-height: 28px;
    letter-spacing: 0.25px;
}

#content-p1 {
    display: inline-block;
    vertical-align: top;
    margin: 0 0 0 33.7839%;;
    width: 23.9865%;
}

#content-p2 {
    display: inline-block;
    vertical-align: top;
    margin: 0 0 0 1.35135%;
    width: 23.9865%;
}

.studio-partners {
    margin-top: 250px;
}

#studio-past-present {
    display: inline-block;
    vertical-align: top;
    width: 33.7878%;
    margin: 0 0 0 8.4459%;
}

#studio-past-present h2 {
    margin: 0;
    font-size: 56px;
}

#studio-past-present h2:first-child {
    margin-top: 80px;
}

#partners-dash {
    display: inline-block;
    vertical-align: middle;
    width: 38px;
    height: 1px;
    background-color: #000;
    margin-left: 12px;

    transform: scale(0, 1);
    transform-origin: left;
    transition: transform 0.5s ease-out;
}

#partners-dash.animate {
    transform: scale(1, 1);
}

#studio-past-present p {
    display: inline-block;
    margin: 24px 4px 0 0;
    font-size: 16px;
    font-weight: lighter;
}

#studio-past-present a {
    display: inline-block;
    font-weight: lighter;
    font-size: 16px;
    color: #ff6e63;
    color: var(--accent-color, #ff6e63);
    text-decoration: none;
    letter-spacing: 0.25px;
    transition: color 0.25s linear;
}

#studio-past-present a:hover {
    color: #cc5850;
    color: var(--accent-hover-color, #cc5850);
}

#partner-list {
    display: inline-block;
    vertical-align: top;
    width: 32%;
    margin-left: 16.8919%;
}

.list-item {
    display: inline-block;
    vertical-align: top;
    width: 40%;
    font-size: 16px;
    font-weight: lighter;
    margin: 0 0 15px 0;
    line-height: 24px;
    letter-spacing: 0.25px;

    opacity: 0;
    transform: translateY(100px) scale(0.6);
    transition: transform 0.8s 0.1s cubic-bezier(0.190, 1.000, 0.220, 1.000), opacity 0.8s 0.1s cubic-bezier(0.190, 1.000, 0.220, 1.000);
}

.list-item:nth-child(even) {
    margin: 0 0 0 13%;
}

.list-item.is-moved {
    opacity: 1;
    transform: translateY(0) scale(1);
}

/*/////////////////////////////////
DREAM PROJECTS SECTION -LEFT
/////////////////////////////////*/
/*#dream-projects-section {
    display: block;
    position: relative;
    background: #1b1b1b;
    width: 108.108108%;
    left: -4.054054%;
}*/

#projects-wrapper {
    display: flex;
}

/*#dream-projects-section  #projects-wrapper{
    width: 92.5%;
}*/

#project-body-left {
    display: inline-block;
    vertical-align: top;
    margin: 200px 0 0 8.4459%;
    width: 40.8781%;
}

#project-body-left svg {
    width: 106px;
    height: 106px;
}

#project-body-left h1 {
    font-size: 104px;
    line-height: 89px;
    color: #fff;
    margin-top: 88px;
}

#project-body-left span {
    display: block;
    width: 160px;
    height: 4px;
    background-color: #fff;
    margin: 100px 0 0 0;
    transform-origin: 0;
    transform: scaleX(0);
    transition: transform 1s 0.5s cubic-bezier(0.190, 1.000, 0.220, 1.000);
}

#project-body-left  span.animate  {
    transform: scaleX(1);
}

#project-body-left p {
    font-size: 16px;
    color: #fff;
    margin: 100px 42% 0 0;
    line-height: 28px;
    letter-spacing: 0.25px;
}

/*/////////////////////////////////
DREAM PROJECTS SECTION -RIGHT
/////////////////////////////////*/
#project-body-right {
    width: 50.6759%;
    margin: 400px 0 100px;
}

.grid-item {
    display: inline-block;
    vertical-align: top;
    position: relative;
    width: 30.5%;
    margin-bottom: 200px;
}

.grid-item:nth-child(odd) {
    margin: 0 19.6666% 220px 2.5%;
}

.grid-item:nth-child(5) {
    margin: 0 19.6666% 120px 2.5%;
    /* background: #ff6e63; */
}

.grid-item:after {
  content: "";
  display: block;
  padding-bottom: 100%;
}

.grid-item .content {
  position: absolute;
  width: 100%;
  height: 100%;
}

.content h1 {
    color: #fff;
    font-size: 14px;
    margin: 0 0 35px 0;
}

.content h2 {
    font-size: 24px;
    color: #fff;
    margin: 0;
}

.content p {
    font-size: 16px;
    font-weight: 300;
    line-height: 28px;
    letter-spacing: 0.25px;
    color: #fff;
    margin: 20px 0 10px 0;
}

.content h6 {
    font-size: 12px;
    margin: 0;
    font-style: italic;
    color: #a8a8a8;
}

.content a {
    display: block;
    vertical-align: top;
    width: 100%;
    font-size: 22px;
    font-weight: bold;
    text-align: center;
    color: #fff;
    text-decoration: none;
    padding: 45% 0;
    -webkit-font-smoothing: antialiased;
    background-color: #ff6e63;
    background-color: var(--accent-color, #ff6e63);
    transition: background-color 0.25s linear;
}

.content a:hover {
    background-color: #e6635a;
    background-color: var(--accent-hover-color, #e6635a);
}

/*/////////////////////////////////
TEAM SECTION -LEFT
/////////////////////////////////*/
#team-left {
    display: inline-block;
    vertical-align: top;
    width: 23.9864%;
    margin: 200px 0 0 8.4459%;
}

#team-left svg {
    width: 106px;
    height: 106px;
}

#team-left h1 {
    font-size: 104px;
    color: #1b1b1b;
    margin: 95px 0 95px 0;
    line-height: 89px;
}

#team-left span {
    display: block;
    width: 160px;
    height: 4px;
    background-color: #000;
    transform-origin: 0;
    transform: scaleX(0);
    transition: transform 1s 0.5s cubic-bezier(0.190, 1.000, 0.220, 1.000);
}

#team-left span.animate  {
    transform: scaleX(1);
}

#team-left p {
    font-size: 16px;
    margin: 100px 10% 35px 0;
    line-height: 28px;
    letter-spacing: 0.25px;
}

#now-hiring {
    display: block;
    font-size: 16px;
    font-family: "Chronicle Deck A", "Chronicle Deck B", Georgia;
    font-weight: bold;
    line-height: 28px;
    letter-spacing: 0.25px;
}

#now-hiring a {
    text-decoration: none;
    color: #ff6e63;
    color: var(--accent-color, #ff6e63);
    transition: color 0.25s linear;
}

#now-hiring a:hover {
    color: #cc5850;
    color: var(--accent-hover-color, #cc5850);
}

/*/////////////////////////////////
TEAM SECTION -RIGHT
/////////////////////////////////*/
#team-right {
    display: inline-block;
    margin-top: 340px;
    width: 67.5672%;
}

#team-right .grid-item {
    display: inline-block;
    vertical-align: top;
    position: relative;
    width: 23%;
    margin-bottom: 200px;
}

#team-right .grid-item:nth-child(odd) {
    margin: 0 14.5% 200px 27%;
}

 #team-right a.grid-item {
    text-align: center;
    color: #fff;
    font-size: 16px;
    text-decoration: none;
}

#team-right a.grid-item .content {
    background: #ff6e63;
    background-color: var(--accent-color, #ff6e63);
    transition: background-color 0.25s linear;
}

#team-right a.grid-item:hover .content {
    background-color: #e6635a;
    background-color: var(--accent-hover-color, #e6635a);
}

#team-right a.grid-item h2 {
    margin: 30% 0 15% 0;
    font-size: 24px;
    color: #fff;
}

#team-right  a.grid-item h2 span {
    font-weight: lighter;
}

#team-right .content h1 {
    color: #000;
}

#team-right .content h2 {
    margin: 40px 0 20px 0;
    color: #000;
}

#team-right .content p {
    color: #000;
}

#team-right .content h6 {
    color: #878787;
}

/*/////////////////////////////////
CAMP SECTION
/////////////////////////////////*/

#camp-container {
    position: relative;
    margin: 200px 0 0 0;
}

#camp-container::after {
    content: "";
    display: block;
    padding-bottom: 57.5%;
}

.clip-paths-svg {
    position: absolute;
    top: 0;
    left: 0;
}

.no-svg-placeholder {
    display: none;
    width: 100%;
}

_:-ms-lang(x), .no-svg-placeholder {
    display: block;
}

#ca {
    position: absolute;
    width: 15.805%;
    left: 16.7918%;
    background-image: url(../images/canyon-background-large.jpg);
    background-position: 50% 50%;
    background-attachment: fixed;
    background-size: cover;
}

#ca::after {
    content: "";
    display: block;
    padding-bottom: 203.913043%;
}

_:-ms-lang(x), #ca {
    background-image: none;
}

_:-ms-lang(x), #ca::after {
    padding-bottom: 0;
}

#rally-camp-title {
    position: absolute;
    font-size: 24px;
    font-weight: bold;
    right: 16.89189189%;
    margin: 0;
    top: 26%;
    width: 15.54054055%;
    text-align: center;
}

#rally-camp-title span {
    display: none;
}

#camp-dash {
    position: absolute;
    width: 4px;
    height: 27%;
    background-image: url(../images/canyon-background-large.jpg);
    background-position: 50% 50%;
    background-attachment: fixed;
    background-size: cover;
    top: 58%;
    left: 24.5621%;
}

_:-ms-lang(x), #camp-dash {
    background-attachment: inherit;
    background-size: auto;
}

#mp {
    position: absolute;
    top: 58%;
    width: 17%;
    left: 67.4672%;
    background-image: url(../images/canyon-background-large.jpg);
    background-position: 50% 50%;
    background-attachment: fixed;
    background-size: cover;
}

#mp::after {
    content: "";
    display: block;
    padding-bottom: 205.4736842%;
}

_:-ms-lang(x), #mp {
    background-image: none;
}

_:-ms-lang(x), #mp::after {
    padding-bottom: 0;
}

#camp-info {
    width: 22.9877%;
    margin: 120px 0 180px 16.8918%;

}

#camp-info p {
    font-size: 16px;
    font-weight: 300;
    line-height: 28px;
    letter-spacing: 0.25px;
    margin: 0 0 20px 0;
}

.camp {
    margin: 0 0 175px 0;
}

.date {
    display: inline-block;
    vertical-align: top;
    margin: 0 0 0 16.8918%;
    width: 23.9863%;
}

.date h1 {
    font-size: 56px;
    margin: 75px 0 50px 0;
}

.date h5 {
    font-size: 16px;
    font-weight: normal;
    margin: 0 0 10px 0;
    line-height: 28px;
    letter-spacing: 0.25px;
}

.date a {
    font-size: 16px;
    font-weight: normal;
    margin: 0;
    text-decoration: none;
    display: block;
    color: #ff6e63;
    color: var(--accent-color, #ff6e63);
    transition: background-color 0.25s linear;
}

.date a:hover {
    color: #cc5850;
    color: var(--accent-hover-color, #cc5850);
}

#camp-section .photos {
    display: inline-block;
    vertical-align: top;
    width: 59.1219%;
}

#camp-section .photo-card {
    display: inline-block;
    vertical-align: top;
    margin: 0 0 55px 2.3%;
    width: 26.3714%;
    text-decoration: none;
}

#camp-section .photo-card:nth-child(even) {
    margin-left: 16.5857%;
}

.info-container {
    position: relative;
    width: 100%;
    padding: 76% 0;
    -webkit-font-smoothing: antialiased;
    background: #ff6e63;
    background-color: var(--accent-color, #ff6e63);
    transition: background-color 0.25s linear;
}

a:hover .info-container {
    background-color: #e6635a;
    background-color: var(--accent-hover-color, #e6635a);
}

.info-container h4 {
    position: absolute;
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    margin: 0;
    color: #fff;
    transform: translate3d(-50%, -50%, 0);
    top: 50%;
    left: 50%;
}

.photo-wrapper {
    overflow: hidden;
    position: relative;
    width: 100%;
    background: #d4d4d4;
}

.studio-page .photo-wrapper {
    padding-bottom: 152.173913%;
}

.photo-wrapper::before {
    content: "";
    position: absolute;
    background: #e8e8e8;
    z-index: 1;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    transform: scale(1.03, 1.03);
    transition: height 0.5s ease-in-out 0.25s;
}

.photo-wrapper.loaded::before {
    height: 0;
}

.photo {
    position: absolute;
    width: 100%;
    transform: scale(1.05, 1.05);
    transition: transform 2s ease-out 0.15s;
}

.loaded .photo {
    transform: scale(1, 1);
}

.photos h6 {
    font-size: 12px;
    font-style: italic;
    color: #000;
    margin: 25px 0 0 0;
    font-weight: normal;
}

.photos .dash {
    display: inline-block;
    vertical-align: middle;
    width: 8px;
    height: 1px;
    background-color: #000;
    margin: 0 3px;
}

.photos a:nth-child(2) {
    pointer-events: none;
}

.photos a:nth-child(2) div {
    background: #e8e8e8;
}

/*/////////////////////////////////
Animations
/////////////////////////////////*/
.word {
    white-space: nowrap;
}

.logo-lines {
    stroke-dasharray: 1000;
    stroke-dashoffset: 1000;
    transition: 4s linear;
}

.logo-lines.animate {
    stroke-dashoffset: 0;
}

.tree-form {
    transform-origin: center;
    transform: scale(0) rotateX(-35deg) rotateY(-30deg);
    transition: transform 2s .5s cubic-bezier(0.190, 1.000, 0.220, 1.000), opacity 1.2s 0.1s cubic-bezier(0.190, 1.000, 0.220, 1.000);
}

.tree-form.animate {
    transform: scale(1) rotateX(0deg) rotateY(0deg);
}

/* .follow-icon {
    opacity: 0;
    transform: translateY(300px) scale(0);
    transition: transform 1.2s 0.1s cubic-bezier(0.190, 1.000, 0.220, 1.000), opacity 1.2s 0.1s cubic-bezier(0.190, 1.000, 0.220, 1.000);
}

.follow-icon.animate {
    opacity: 1;
    transform: translateY(0) scale(1);
} */

.intro-paragraph, #studio-header p, #description-wrapper .content, #vision-header p, #logo-mark, #studio-description, #studio-past-present p, #projects-logo, #projects-intro, .grid-item, #team-logo, #team-intro, #now-hiring, .team-square, #rally-camp-title, .ca-paragraph, .date h5, .date a, #camp-section .photo-card, #ca, #mp, #camp-dash {
    opacity: 0;
    transform: translateY(300px) scale(0) rotateX(-35deg) rotateY(-30deg);
    transition: transform 1.2s 0.25s cubic-bezier(0.190, 1.000, 0.220, 1.000), opacity 1.2s 0.1s cubic-bezier(0.190, 1.000, 0.220, 1.000);
}

#ca, #mp, #camp-dash {
    -moz-transform: none;
}

.intro-paragraph.animate, #studio-header p.animate, #description-wrapper .content.animate, #vision-header.animate p, #logo-mark.animate, #studio-description.animate, #studio-past-present.animate, #studio-past-present.animate p, #projects-logo.animate, #projects-intro.animate, .grid-item.animate, #team-logo.animate, #team-intro.animate, #now-hiring.animate, .team-square.animate, #rally-camp-title.animate, .ca-paragraph.animate, .date.animate h5, .date.animate a, #camp-section .photo-card.animate {
    opacity: 1;
    transform: translateY(0) scale(1) rotateX(0deg) rotateY(0deg);
}

#ca.animate, #mp.animate, #camp-dash.animate {
    opacity: 1;
    transform: translateY(0) scale(1) rotateX(0deg) rotateY(0deg);
    -moz-transform: none;
}

/*/////////////////////////////////
MEDIA QUERIES
/////////////////////////////////*/
@media only screen and (min-width: 1600px) {

    /*/////////////////////////////////
    BREAKPOINT D - beyond max
    /////////////////////////////////*/
    /*#dream-projects-section {
        width: 100vw;
        left: calc(-50vw + 740px);
    }*/
}

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

    /*/////////////////////////////////
    BREAKPOINT C
    /////////////////////////////////*/

    /*/////////////////////////////////
    ABOUT SECTION
    /////////////////////////////////*/
    #about-section {
        padding-top: 275px;
        margin: 0 auto 250px;
    }

    #studio-header h1 {
        margin: 0 0 0 11.375%;
    }

    #studio-header h1 span {
        display: block;
        margin: 45px 0 0 0;
    }

    #intro-wrapper {
        margin: 100px 0 0 11.375%;
    }

    #intro-p1 {
        width: 45.5%;
        margin: 0 0 0 0;
    }

    #intro-p2 {
        width: 45.5%;
        margin: 0 0 0 6%;
    }

    #studio-vision {
        margin: 125px 0 0 11.375%;
    }

    #vision-header {
        width: 51.35%;
    }

    #vision-header h2 {
        font-size: 46px;
        line-height: 46px;
        margin: 0 0 60px 0;
    }

    #content-p1 {
        margin: 0 0 0 0;
        width: 45.5%
    }

    #content-p2 {
        margin: 0 0 0 6%;
        width: 45.5%
    }

    #logo-mark {
        width: 48.65%;
    }

    #logo-mark svg {
        margin: 0 auto 0;
    }

    #description-wrapper {
        margin: 125px 0 0 11.375%;
    }

    .studio-partners {
        margin: 150px 0 0 11.375%;
    }

    #studio-past-present {
        width: 38.5%;
        margin: 0 0 0 0;
    }

    #studio-past-present h2 {
        font-size: 46px;
    }

    #studio-past-present a {
        line-height: 40px;
    }

    #partner-list {
        margin: 0 0 0 13%;
        width: calc(61.5% - 13%);
    }

    /*/////////////////////////////////
    DREAM PROJECTS SECTION
    /////////////////////////////////*/
    /*#dream-projects-section {
        width: 112.108108%;
        left: -6.054054%;
    }

    #dream-projects-section  #projects-wrapper{
        width: 90%;
    }*/

    #projects-wrapper {
        flex-flow: column;
    }

    #project-body-right, #project-body-left {
        width: auto;
    }

    #project-body-left {
        margin: 200px 0 0 11.375%;
    }

    #project-body-left p {
        width: 65%;
    }

    #project-body-right {
        margin-top: 100px;
    }

    .grid-item {
        width: 31.75%;
        margin: 0 11.375% 120px 6.875%;
    }

    .grid-item:nth-child(odd) {
        margin: 0 6.875% 150px 11.375%;
    }

    .grid-item:nth-child(5), .grid-item:nth-child(6) {
        margin-top: 5%;
    }

    .grid-item:nth-last-child(-n+2) {
        margin-top: 5%;
    }

    /*/////////////////////////////////
    TEAM SECTION
    /////////////////////////////////*/
    #team-wrapper {
        display: flex;
        flex-flow: column;
    }

    #team-left, #team-right {
        width: auto;
    }

    #team-left {
        margin: 250px 0 0 11.375%;
    }

    #team-left h1 {
        margin: 95px 0;
        line-height: 89px;
    }

    #team-left span {
        margin: 0;
        padding: 0;
    }

    #team-left p {
        width: 65%;
        margin: 75px 0 35px 0;
    }

    #team-right {
        margin-top: 100px;
    }

    #team-right .grid-item {
        width: 31.5%;
        margin: 120px 11.375% 0 7.125%;
    }

    #team-right .grid-item:nth-child(odd) {
        margin: 120px 7.125% 0 11.375%;
    }

    /*/////////////////////////////////
    CAMP SECTION
    /////////////////////////////////*/
    #camp-container {
        margin: 150px 0 0 0;
    }

    #camp-container::after {
        padding-bottom: 80%;
    }

    #ca {
        width: 20.675%;
        left: 11.2%;
    }

    #rally-camp-title {
        right: 11.375%;
        width: 20.375%;
    }

    #mp {
        width: 22.575%;
        left: 68.1%;
        top: 55%
    }

    #camp-dash {
        left: 21.375%;
        height: 24%;
        top: 55%;
    }

    #camp-info {
        width: auto;
        margin: 100px 0 180px 11.375%;
    }

    #camp-info p {
        width: 45.5%;
        margin: 0 0 20px 0;
    }

    .date {
        margin: 0 0 0 11.375%;
        width: 34.125%;
    }

    #camp-section .photos {
        width: 54.5%;
    }

    .date h1 {
        font-size: 45px;
    }

    #camp-section .photo-card {
        margin: 0 0 55px 0;
        width: 37%;
    }

    #camp-section .photo-card:nth-child(even) {
        margin-left: 5%;
    }
}

@media only screen and (max-width: 900px) {
    /*/////////////////////////////////
    Cheating: BREAKPOINT B/C
    /////////////////////////////////*/

    .grid-item::after {
        padding-bottom: 120%;
    }

    .content a {
        padding: 55% 0;
    }

    #team-right a.grid-item h2 {
        margin: 40% 0 15% 0;
    }
}

@media only screen and (max-width: 768px) {
    /*/////////////////////////////////
    BREAKPOINT B
    /////////////////////////////////*/

    /*/////////////////////////////////
    ABOUT SECTION
    /////////////////////////////////*/
    #about-section {
        padding-top: 230px;
        margin: 0 auto 150px;
    }

    #studio-header h1 {
        font-size: 96px;
        line-height: 90px;
        margin: 0;
    }

    #studio-header h1 span {
        width: 115px;
    }

    #intro-wrapper {
        margin: 100px 0 0 0;
    }

    #intro-p1, #intro-p2 {
        width: 46.8%;
    }

    #intro-p2 {
        margin: 0 0 0 6.4%;
    }

    #studio-vision {
        display: flex;
        flex-flow: column;
        margin: 125px 0 0 0;
    }

    #vision-header, #logo-mark {
        width: auto;
    }

    #logo-mark {
        margin: 120px auto;
    }

    #description-wrapper {
        margin: 0 0 0 0;
    }

    #content-p1, #content-p2 {
        width: 46.8%;
    }

    #content-p2 {
        margin: 0 0 0 6.4%;
    }

    .studio-partners {
        margin: 150px 0 0 0;
        display: flex;
        flex-flow: column;
    }

    .list-item {
        width: 31%;
    }

    #studio-past-present, #partner-list {
        width: auto;
    }

    #studio-past-present {
        margin: 0;
    }

    #studio-past-present h2 {
        margin: 0;
        font-size: 42px;
    }

    #studio-past-present h2:first-child {
        margin-top: 0;
    }

    #partner-list {
        display: inline;
        margin: 75px 0 0 0;
    }

    #partner-list li:nth-child(even) {
        margin: 0;
    }

    #partner-list li:nth-child(odd) {
        margin-right: 4%;
    }

    /*/////////////////////////////////
    DREAM PROJECTS SECTION
    /////////////////////////////////*/
    /*#dream-projects-section {
        width: 113.636364%;
        left: -6.818182%;
    }

    #dream-projects-section  #projects-wrapper {
        width: 88%;
    }*/

    #project-body-left {
        margin: 150px 0 0 0;
    }

    #project-body-left h1 {
        margin-top: 100px;
        font-size: 75px;
        line-height: 75px;
    }

    #project-body-left p {
        margin: 75px 20% 0 0;
    }

    #project-body-right {
        margin: 180px 0 150px;
    }

    .grid-item {
        width: 34.2%;
    }

    .grid-item::after {
        padding-bottom: 150%;
    }

    .grid-item:nth-child(odd) {
        margin: 0 0 250px 0;
    }

    .grid-item:nth-child(even) {
        margin: 0 0 250px 18%;
    }

    .content h2 {
        font-size: 22px;
        margin: 30px 0 20px 0;
    }

    .content a {
        font-size: 22px;
        padding: 67.5% 0;
    }

    /*/////////////////////////////////
    TEAM SECTION
    /////////////////////////////////*/
    #team-left {
        margin: 150px 0 0 0;
    }

    #team-right {
        margin-top: 180px;
    }

    #team-left h1 {
        margin-top: 100px;
        font-size: 75px;
        line-height: 75px;
    }

    #team-right .grid-item {
        margin: 200px 0 0 18%;
        width: 34.4%;
    }

    #team-right .grid-item:nth-child(odd) {
        margin: 200px 0 0;
    }

    #team-right .grid-item:nth-child(-n+2) {
        margin-top: 0;
    }

    #team-right a.grid-item h2 {
        font-size: 22px;
        margin: 45% 0 15% 0;
    }

    #camp-container::after {
        padding-bottom: 120%;
    }

    #ca {
        width: 31.8%;
        left: -0.2%;
        background-position: 40% 50%;
    }

    #rally-camp-title {
        font-size: 22px;
        width: 31.2%;
        right: 0;
    }

    #camp-dash {
        left: 15.2%;
        background-position: 40% 50%;
    }

    #mp {
        width: 34.3%;
        left: 68.6%;
        background-position: 70% 50%;
    }

    #camp-info {
        margin: 100px 0 180px 0;
    }

    #camp-info p {
        width: 48.4%;
    }

    .date {
        margin: 0;
    }

    .camp {
        display: flex;
        flex-flow: column;
        margin: 0 0 75px 0;
    }

    .date, #camp-section .photos {
        width: auto;
    }

    .date h1 {
        margin: 0 0 25px 0;
    }

    #camp-section .photos {
        margin-top: 50px;
    }

    #camp-section .photo-card {
        width: calc(50% - 12.5px);
    }

    #camp-section .photo-card:nth-child(odd) {
        margin-right: 12.5px;
    }

    #camp-section .photo-card:nth-child(even) {
        margin-left: 12.5px;
    }
}

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

    /*/////////////////////////////////
    BREAKPOINT A
    /////////////////////////////////*/

    /*/////////////////////////////////
    ABOUT SECTION
    /////////////////////////////////*/
    #about-section {
        padding-top: 200px;
        margin: 0 auto 150px;
    }

    #studio-header p {
        display: block;
    }

    #intro-wrapper {
        display: none;
    }

    #vision-header p {
        max-width: 325px;
    }

    #description-wrapper {
        display: block;
    }

    #content-p1, #content-p2 {
        width: 100%;
        max-width: 325px;
    }

    #content-p2 {
        margin: 20px 0 0 0;
    }

    #studio-header h1 {
        font-size: 92px;
    }

    #vision-header h2 {
        font-size: 40px;
    }

    #studio-past-present h2 {
        font-size: 40px;
    }

    #partner-list li:nth-child(odd) {
        margin-right: 0%;
    }

    .list-item {
        width: 50%;
    }

    .list-item:nth-child(even) {
        width: 45%;
    }

    #partner-list li:nth-child(even) {
        margin-left: 5%;
    }

    /*/////////////////////////////////
    DREAM PROJECTS SECTION
    /////////////////////////////////*/
    /*#dream-projects-section {
        width: 133.333333%;
        left: -16.6666665%;
    }

    #dream-projects-section  #projects-wrapper {
        width: 75%;
    }*/

    #project-body-left p {
        width: auto;
        max-width: 325px;
        margin: 75px 0 0 0;
    }

    #project-body-right {
        margin: 100px 0 80px;
    }

    .grid-item {
        width: 100%;
        max-width: 325px;
    }

    .grid-item .content {
        position: relative;
    }

    .grid-item::after {
        padding-bottom: 0;
    }

    .grid-item:nth-child(odd), .grid-item:nth-child(even), .grid-item:nth-last-child(-n+2) {
        margin: 0 0 100px 0;
    }

    .content a {
        padding: 45% 0;
    }

    /*/////////////////////////////////
    TEAM SECTION
    /////////////////////////////////*/
    #team-left {
        margin: 150px 0 0 0;
    }

    #team-left p {
        width: auto;
        margin: 75px 0 35px 0;
        max-width: 325px;
    }

    #team-right {
        margin-top: 100px;
    }

    #team-right .grid-item:nth-child(odd), #team-right .grid-item:nth-child(even) {
        margin: 0 0 100px;
        width: 100%;
        max-width: 325px;
    }

    #team-right .grid-item a {
        padding: 45% 0;
    }

    #team-right div.grid-item .content {
        position: relative;
    }

    #team-right a.grid-item .content {
        position: absolute;
        font-size: 16px;
    }

    #team-right .grid-item::after {
        padding-bottom: 100%;
    }

    #team-right div.grid-item::after {
        padding-bottom: 0;
    }

    #team-right a.grid-item h2 {
        margin: 30% 0 15% 0;
    }

    /*/////////////////////////////////
    CAMP SECTION
    /////////////////////////////////*/
    #camp-container::after {
        padding-bottom: 250%;
    }

    #ca {
        width: 48.6%;
    }

    #rally-camp-title {
        width: 48.148093%;
        font-size: 24px;
    }

    #camp-dash {
        left: 23.5%;
        height: 21.5%;
        top: 48%;
        width: 1.0667%;
    }

    #mp {
        width: 52.8%;
        top: 50%;
        right: -4.2%;
        left: auto;
    }

    #camp-info {
        margin: 50px 0 120px 0;
    }

    #camp-info p {
        width: auto;
    }

    .date h1 {
        font-size: 40px;
    }

    #camp-section .photo-card {
        width: 48.1481%;
    }

    #camp-section .photo-card:nth-child(odd) {
        margin-right: 0;
    }

    #camp-section .photo-card:nth-child(even) {
        margin-left: 3.7037%;
    }

    .photos h4 {
        font-size: 18px
    }
}

@media only screen and (max-width: 400px) {
    /*/////////////////////////////////
    BREAKPOINT A - small
    /////////////////////////////////*/

}

@media (pointer: coarse) {

    #ca, #mp {
        background-image: none;
    }

    #ca::after, #mp::after {
        display: none;
    }

    .clip-paths-svg {
        display: none;
    }

    .no-svg-placeholder {
        display: block;
    }

    #camp-dash {
        background-attachment: inherit;
        background-size: auto;
    }

}
.studio-page .transitioning {
    transition: opacity 0.75s, transform 0.75s;
}
.studio-page .transition-in {

}
.studio-page .transition-out {
    /*opacity: 0;*/
    transform: translate3d(0, 100vh, 0);
}
/*/////////////////////////////////
Form Section
/////////////////////////////////*/
#form-section {
    width: 100%;
    max-width: 1480px;
    margin: 275px auto 0;
    overflow: hidden;
    display: block;
    opacity: 1;
    transition: opacity 0.5s;
}

#form-section.hidden {
    opacity: 0;
}

#hello {
    margin-left: 8.4459%;
}

#form-section h1 {
    font-size: 150px;
    color: #1b1b1b;
    line-height: 150px;
    margin-bottom: 145px;
}

#form-section h1 span {
    display: inline-block;
    width: 215px;
    height: 4px;
    background-color: #1b1b1b;
    opacity: 0.3;
    vertical-align: middle;
    margin: 0 0 0 75px;
    transform-origin: 0;
    transform: scaleX(0);
    transition: transform 1s 0.5s cubic-bezier(0.190, 1.000, 0.220, 1.000);
}

#form-section h1.animate span {
    transform: scaleX(1);
}

#form {
    max-width: 500px;
    margin: 0 0 135px 33.7838%;
    overflow: hidden;
    font-size: 20px;
    opacity: 1;
    transition: opacity 0.25s 0.5s;
}

#form h4 {
    float: left;
    margin: 0;
    font-weight: 300;
    padding: 0 5px 0 0;
    user-select: none;
}

#form > div {
    margin: 0 0 15px;
}

#form textarea {
    display: block;
    font-family: "Chronicle Deck A", "Chronicle Deck B", Georgia;
    width: 100%;
    border: none;
    resize: none;
    height: 100px;
    font-style: normal;
    font-weight: 700;
    font-size: 20px;
    padding: 8px 0 0 0;
    -webkit-appearance: none;
    -webkit-border-radius: 0;
    color: #1b1b1b;
    transition: border-color 0.35s;
    background: transparent;
}

#form input {
    font-family: "Chronicle Deck A", "Chronicle Deck B", Georgia;
    border: none;
    width: 100%;
    padding: 0;
    font-style: normal;
    font-weight: 700;
    font-size: 20px;
    -webkit-appearance: none;
    -webkit-border-radius: 0;
    color: #1b1b1b;
    transition: border-color 0.35s;
    background: transparent;
}

#form select {
    font-family: "Chronicle Deck A", "Chronicle Deck B", Georgia;
    width: 100%;
    border: none;
    border-bottom: 1px solid rgba(33, 33, 33, 0.3);
    border-radius: 0;
    background-color: transparent;
    font-style: normal;
    font-weight: 700;
    font-size: 20px;
    -webkit-appearance: none;
    -webkit-border-radius: 0;
    background: url("../images/arrow.svg") no-repeat right+10px center/14px 9px;
    cursor: pointer;
    color: #1b1b1b;
}

#form span {
    display: block;
    overflow: hidden;
    position: relative;
}

#form .border {
    padding: 0 0 2px 0;
}

#form .border:before {
    position: absolute;
    left: 0;
    content: '';
    height: 1px;
    width: 100%;
    bottom: 0;
    display: block;
    border-bottom: solid 1px rgba(33, 33, 33, 0.3);
}

#form .border:after {
    position: absolute;
    left: 0;
    content: '';
    height: 1px;
    width: 100%;
    bottom: 0;
    display: block;
    border-bottom: solid 2px #1b1b1b;
    transform: scaleX(0);
    transform-origin: 0 50%;
    transition: transform 0.7s cubic-bezier(0.190, 1.000, 0.220, 1.000);
}

#form .border.animate:after {
    transform: scaleX(1);
}

#name, #company, #description, #budget, #timeframe, #email, #ps {
    opacity: 0;
    transform: translateY(1200px) scale(0.6);
    transition: transform 1.2s 0.1s cubic-bezier(0.190, 1.000, 0.220, 1.000), opacity 1.2s 0.1s cubic-bezier(0.190, 1.000, 0.220, 1.000);
}

#name.animate, #company.animate, #description.animate, #budget.animate, #timeframe.animate, #email.animate, #ps.animate {
    opacity: 1;
    transform: translateY(0) scale(1);
}

#submit {
    position: relative;
    display: inline-block;
    margin: 0 0 0 16.8919%;
}

#submit.disabled {
    pointer-events: none;
    cursor: default;
}

#submit h2 {
    font-size: 56px;
    color: #1b1b1b;
    display: inline-block;
    vertical-align: top;
    margin: 10px 0 0 0;
    opacity: 0.25;
    transition: opacity 0.35s;
}

#submit > span {
    position: absolute;
    width: 200px;
    height: 4px;
    background-color: #1b1b1b;
    top: 50%;
    transform: translateX(-130px) scaleX(0.7);
    transform-origin: 0 50%;
    transition: transform 1.25s cubic-bezier(0.190, 1.000, 0.220, 1.000);
    z-index: 10;
}

#submit #arrow {
    position: absolute;
    display: inline-block;
    left: 150px;
    height: 91px;
    width: 200px;
}

#submit #arrow #point {
    position: absolute;
    width: 14px;
    height: 14px;
    right: 10px;
    top: 111.5%;
    transform: rotate(45deg) translate(-160px, 160px);
    border: 4px solid #1b1b1b;
    border-left: none;
    border-bottom: none;
    opacity: 0;
    transition: transform 1.25s cubic-bezier(0.190, 1.000, 0.220, 1.000), opacity 0.55s cubic-bezier(0.190, 1.000, 0.220, 1.000);
}

#submit #circle {
    display: inline-block;
    position: relative;
    overflow: hidden;
    left: 185px;
    margin: 5px 0 0 0;
    width: 86px;
    height: 86px;
}

#halfclip {
    width: 50%;
    height: 100%;
    right: 0;
    position: absolute;
    overflow: hidden;
    transform-origin: left center;
}

.halfcircle {
    box-sizing: border-box;
    height: 100%;
    right: 0;
    position: absolute;
    border: solid 4px transparent;
    border-top-color: rgba(255, 110, 99, 0.3);
    border-left-color: rgba(255, 110, 99, 0.3);
    border-radius: 50%;
    transition: border-color 0.35s;
}

#clipped {
    width: 200%;
    transform: rotate(-45deg);
}

#fixed {
    width: 100%;
    transform: rotate(135deg);
    opacity: 0;
}

#submit.active {
    cursor: pointer;
    pointer-events: auto;
}

#submit.active h2 {
    opacity: 1;
}

#submit.active > span {
    transform: translateX(32px) scaleX(1);
    transition: transform 1.25s cubic-bezier(0.190, 1.000, 0.220, 1.000);
}

#submit.active #arrow #point {
    transform: rotate(45deg) translate(0, 0);
    opacity: 1;
    transition: transform 1.25s cubic-bezier(0.190, 1.000, 0.220, 1.000), opacity 0.4s cubic-bezier(0.190, 1.000, 0.220, 1.000);
}

#submit.active #circle #halfclip {
    animation: cliprotate 0.5s 1 normal;
    transform: rotate(180deg);
}

#submit.active #circle #clipped {
    transform: rotate(135deg);
    animation: rotate 0.25s linear 2 normal;
}

#submit.active #circle #fixed {
    animation: showfixed 0.5s 1 normal;
    opacity: 1;
}

#submit.active:hover > span {
    transform: translateX(72px) scaleX(0.8);
}

#submit.active:hover .halfcircle {
    border-top-color: rgba(255, 110, 99, 1);
    border-left-color: rgba(255, 110, 99, 1);
}

input:focus, textarea:focus, select:focus {
    outline: none;
}

.error::-webkit-input-placeholder {
    color: #ff6e63;
}
.error::-moz-placeholder {
    color: #ff6e63;
}
.error:-ms-input-placeholder {
    color: #ff6e63;
}
.error:-moz-placeholder {
    color: #ff6e63;
}
::-webkit-input-placeholder { /* Chrome/Opera/Safari */
    color: rgba(27, 27, 27, 0.5);
    font-size: 20px;
    font-weight: 100;
    transition: color 0.2s;
}
::-moz-placeholder { /* Firefox 19+ */
    color: rgba(27, 27, 27, 0.5);
    font-size: 20px;
    font-weight: 100;
    transition: color 0.2s;
}
:-ms-input-placeholder { /* IE 10+ */
    color: rgba(27, 27, 27, 0.5);
    font-size: 20px;
    font-weight: 100;
    transition: color 0.2s;
}
:-moz-placeholder { /* Firefox 18- */
    color: rgba(27, 27, 27, 0.5);
    font-size: 20px;
    font-weight: 100;
    transition: color 0.2s;
}

/*/////////////////////////////////
Success Message
/////////////////////////////////*/
#success {
    position: absolute;
    max-width: 530px;
    width: 100%;
    overflow: hidden;
    display: block;
    margin: 0 auto 0;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    opacity: 0;
    z-index: -10;
    transition: opacity 0.5s 0.2s;
}
#success h1 {
    font-size: 155px;
    color: #1b1b1b;
    line-height: 155px;
    margin: 0 0 55px 0;
}
#success h1 span {
    position: relative;
    display: inline-block;
    width: 105px;
    height: 105px;
    margin: 0 0 0 25px;
    transform: scale(0);
    transform-origin: 50% 50%;
    transition: transform 0.35s 0.7s;
}
#success h1 span svg {
    position: absolute;
    top: 0;
}
#success p {
    font-size: 20px;
    color: #1b1b1b;
    width: 45%;
    line-height: 32px;
    margin: 0 0 0 15px;
    opacity: 0;
    transform: translateY(250px);
    transition: transform 0.75s 0.6s, opacity 0.75s 0.6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
}

#success.visible {
    display: block;
    opacity: 1;
    z-index: 10;
}
#success.visible span {
    transform: scale(1);
}
#success.visible p {
    opacity: 1;
    transform: translateY(0);
}
/*/////////////////////////////////
Error Message
/////////////////////////////////*/
#error {
    max-width: 750px;
    margin: 300px auto 0;
    overflow: hidden;
    display: none;
    opacity: 1;
}
#error h1 {
    font-size: 200px;
    color: #1b1b1b;
    line-height: 175px;
    margin-bottom: 55px;
}
#error h1 span {
    display: inline-block;
    width: 215px;
    height: 4px;
    background-color: #ff6e63;
    vertical-align: middle;
    margin: 0 0 0 75px;
    transform-origin: 0;
    transform: scaleX(1);
    transition: transform 0.75s 0.25s cubic-bezier(0.190, 1.000, 0.220, 1.000);
}
#error p {
    font-size: 20px;
    font-weight: 300;
    color: #1b1b1b;
    line-height: 32px;
    margin: 0 0 0 10px;
}
#error p a {
    text-decoration: none;
    color: #ff6e63;
}

/*////////////////////////////
Animations
////////////////////////////*/
.word {
    white-space: nowrap;
}

@keyframes rotate {
    0% {transform: rotate(-45deg);}
    100% {transform: rotate(135deg);}
}
@keyframes showfixed {
    0% {opacity: 0;}
    49.99% {opacity: 0;}
    50% {opacity: 1;}
    100% {opacity: 1;}
}
@keyframes cliprotate {
  0% {transform: rotate(0deg);}
  50% {transform: rotate(0deg);}
  50.01% {transform: rotate(180deg);}
  100% {transform: rotate(180deg);}
}
@media
not screen and (-webkit-min-device-pixel-ratio: 2),
not screen and (   min--moz-device-pixel-ratio: 2),
not screen and (     -o-min-device-pixel-ratio: 2/1),
not screen and (        min-device-pixel-ratio: 2),
not screen and (                min-resolution: 192dpi),
not screen and (                min-resolution: 2dppx) {

    body {
        /* -webkit-font-smoothing: antialiased; */
    }

}

/*/////////////////////////////////
MEDIA QUERIES
/////////////////////////////////*/

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

    /*/////////////////////////////////
    BREAKPOINT D - beyond max
    /////////////////////////////////*/

}

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

    /*/////////////////////////////////
    BREAKPOINT C
    /////////////////////////////////*/
    #form-section {
        margin: 275px auto 0;
    }

    #hello {
        margin-left: 11.375%;
    }

    #form {
        margin: 0 0 135px 22.75%;
    }

    #submit {
        margin: 0 0 0 11.375%;
    }

    /*/////////////////////////////////
    Success Message
    /////////////////////////////////*/

    #success {
        max-width: 465px;
    }

    #success h1 {
        font-size: 140px;
        line-height: 140px;
    }

    #success p {
        width: 65%;
    }
}

@media screen and (max-width : 1024px) {
    /*/////////////////////////////////
   Form Section
   /////////////////////////////////*/
    #form-section h1 span {
        display: block;
        margin: 45px 0 0 5px;
    }

    /*/////////////////////////////////
    Error Message
    /////////////////////////////////*/
    #error h1 span {
        display: block;
        margin: 45px 0 0 10px;
    }
    #error h1 {
        margin: 0 0 75px 60px;
    }
    #error p  {
         margin: 0 0 0 70px;
    }
}

@media screen and (max-width: 768px) {
    /*/////////////////////////////////
    Form Section
    /////////////////////////////////*/
    #form-section {
        margin: 200px auto 100px;
    }
    #form-section h1 {
        font-size: 96px;
        line-height: 90px;
        margin: 0 0 125px 0;
    }
    #form-section h1 span {
        width: 115px;
    }
    #form {
        font-size: 16px;
        margin: 0 0 55px 0;
        max-width: 100%;
    }
    #form > div {
        margin: 0 0 35px;
    }
    #form textarea, #form input, #form select {
        font-size: 16px;
    }
    #form h4 {
        float: none;
        margin: 0 0 5px 0;
    }
    #form span {
        padding: 0;
    }
    #submit {
        margin: 0 0 0 10px;
    }
    #submit h2 {
        font-size: 32px;
        margin: 20px 0 0 0;
    }
    #submit span {
        width: 110px;
        transform: translateX(-80px) scaleX(0.82);
    }
    #submit #arrow {
        left: 100px;
        height: 61px;
        width: 100px;
    }
    #submit #arrow #point {
        top: 124%;
        right: 6px;
        transform: rotate(45deg) translate(-85px, 85px);
    }
    #submit #circle {
        left: 90px;
        width: 76px;
        height: 76px;
    }
    #submit.active > span {
        transform: translateX(22px) scaleX(1);
    }
    #submit.active:hover > span {
        transform: translateX(45px) scaleX(0.8);
    }
    ::-webkit-input-placeholder { /* Chrome/Opera/Safari */
        font-size: 16px;
    }
    ::-moz-placeholder { /* Firefox 19+ */
        font-size: 16px;
    }
    :-ms-input-placeholder { /* IE 10+ */
        font-size: 16px;
    }
    :-moz-placeholder { /* Firefox 18- */
        font-size: 16px;
    }
    /*/////////////////////////////////
    Success Message
    /////////////////////////////////*/
    #success {
        max-width: 305px;
        margin: 0 auto 100px;
    }
    #success h1 {
        font-size: 96px;
        line-height: 90px;
        margin: 0 0 45px 0;
    }
    #success h1 span {
        width: 60px;
        height: 60px;
        margin: 0;
    }
    #success p {
        width: 100%;
        margin: 0 0 0 5px;
        font-size: 16px;
    }
    /*/////////////////////////////////
    Error Message
    /////////////////////////////////*/
    #error {
        max-width: 100%;
        margin: 230px 35px 100px 35px;
    }
    #error h1 {
        font-size: 96px;
        line-height: 96px;
        margin: 0 0 45px 0;
    }
    #error h1 span {
        width: 88px;
        margin: 45px 0 0 5px;
    }
    #error p {
        margin: 0 0 0 5px;
        font-size: 16px;
    }
}

@media only screen and (max-width: 580px) {
    /*/////////////////////////////////
    BREAKPOINT A
    /////////////////////////////////*/
    #form-section {
        margin: 200px auto 150px;
    }
}

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

    /*/////////////////////////////////
    BREAKPOINT A - small
    /////////////////////////////////*/

}

@media screen and (max-width: 374px) {
    #success {
        max-width: 255px;
    }
    #success h1 {
        font-size: 76px;
        line-height: 68px;
    }
    #success p {
        font-size: 14px;
        line-height: 25px;
    }
}
.form-page.transitioning {
    transition: opacity 0.75s, transform 0.75s;
}
.form-page.transition-in {
}
.form-page.transition-out {
    /*opacity: 0;*/
    transform: translate3d(0, 100vh, 0);
}
.listing {
    position: relative;
    padding-top: 275px;
}

.listing-title {
    position: relative;
}

.listing-title h1 {
    font-size: 120px;
    line-height: 1.025em;
    margin: 0 0 75px 8.4459%;
    /* size of homepage title (adjusted for full width) * case study text height / homepage text height */
    /* 40.87837838% * 299 / 179 */
    width: 68.28287722%;
    font-weight: 600;
}

.listing-title h2 {
    position: absolute;
    top: -41px;
    margin: 0 0 0 8.4459%;
    font-size: 16px;
    line-height: 1.5em;
    letter-spacing: 0.031em;
    font-family: "Financier Display", Georgia, sans-serif;
    -webkit-font-smoothing: antialiased;
}

.listing-title span {
    display: block;
    margin: 0 0 0 8.4459%;
    margin: 0 0 95px 8.4459%;
    height: 4px;
    width: 15.5405%;
    background-color: #ac63ff ;
}

.listing .top-line {
    position: relative;
    display: flex;
    margin-top: 100px;
}

.listing .top-line p {
    font-size: 16px;
    font-weight: 400;
    line-height: 28px;
    letter-spacing: 0.25px;
    display: inline-block;
    width: 23.9865%;
}

.listing .top-line p:first-child {
    margin: 0 0 0 33.7839%;
}

.listing .top-line p:last-child {
    margin: 0 0 0 1.35135%;
}

.section-list {
    margin-top: 250px;
}

.section-title {
    display: inline-block;
    vertical-align: top;
    width: 33.7878%;
    margin: 0 0 0 8.4459%;
}

.section-list h2 {
    margin: 0 0 24px 0;
    font-size: 56px;
}

.section-list h3 {
    display: inline-block;
    margin: 0;
    font-size: 16px;
    line-height: 24px;
    font-weight: 400;
    padding-right: 16px;
}

.section-list ul {
    display: inline-block;
    vertical-align: top;
    margin-left: 15.5405%;
    width: 25.3378%;
}

.section-list li {
    font-size: 16px;
    font-weight: 400;
    margin: 0 0 16px 0;
    line-height: 24px;
    letter-spacing: 0.25px;
    padding-left: 5.3333%;
    position: relative;
}

.section-list li::before {
    content: "";
    width: 12px;
    height: 22px;
    background: url(../images/list-bullet.svg) no-repeat center;
    position: absolute;
    top: 0;
    left: 0;
}

.listing .perks {
    position: relative;
    font-size: 16px;
    line-height: 28px;
    margin-top: 240px;
    margin-bottom: 165px;
}

.listing .perks h2 {
    margin: 0;
    margin-left: 42.22973%;
    position: absolute;
    top: 124px;
    font-size: 56px;
    line-height: 1em;
}

.listing .perks h2 span {
    display: block;
}

.listing .perks h2 span:first-child {
    display: none;
}

#svg-pe {
    margin-left: 15.540541%;
    margin-bottom: 200px;
    width: 18.243243%;
    height: auto;
    fill: #1b1b1b;
}

#svg-rks {
    margin-right: 15.3%;
    width: 18.8%;
    height: auto;
    fill: #1b1b1b;
    position: absolute;
    bottom: 0;
    right: 0;
}

.listing .tree-logo {
    width: 106px;
    position: absolute;
}

.perks .tree-logo {
    left: 75.337838%;
    top: 180px;
    transform: translate(-50%, -50%);
}

.listing .perks-container {
    width: 50.67568%;
    margin-left: 16.89189%;
    display: flex;
}

.listing .perks-container ul {
    width: 47.3333%;
    margin-right: 2.6667%;
    line-height: 26px;
}

.listing .perks-container ul:last-child {
    margin-right: 0;
}

.listing .perks-container ul li {
    position: relative;
    padding-bottom: 16px;
    padding-left: 30px;
}

.listing .perks-container ul li::before {
    content: "•";
    content: var(--emoji, "•");
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 21px;
    text-align: center;
    font-family: "Noto Color Emoji", "Apple Color Emoji", "Segoe UI Emoji", Times, Symbola, Aegyptus, Code2000, Code2001, Code2002, Musica, serif, LastResort;
}

.listing .mid-cta {
    display: inline-block;
    font-size: 16px;
    line-height: 28px;
    color: #1b1b1b;
    letter-spacing: .5px;
    margin-left: 16.89189%;
    margin-bottom: 240px;
}

.listing .mid-cta a {
    display: block;
    text-decoration: none;
    color: #1b1b1b;
    color: var(--accent-color, #1b1b1b);
    transition: color 0.25s linear;
}

.listing .mid-cta a:hover {
    color: var(--accent-hover-color, #1b1b1b);
}

.listing .mid-cta a .arrow {
    display: inline-block;
    position: relative;
    width: 27px;
    height: 28px;
    vertical-align: top;
    margin-left: 6px;
    transition: width 0.25s;
}

.listing .mid-cta a:hover .arrow {
    width: 37px;
}

.listing .mid-cta a .arrow::before {
    content: "";
    display: block;
    position: absolute;
    top: 13px;
    height: 2px;
    left: 0;
    right: 2px;
    background-color: #1b1b1b;
    background-color: var(--accent-color, #1b1b1b);
    transition: background-color 0.25s linear;
}

.listing .mid-cta a:hover .arrow::before {
    background-color: var(--accent-hover-color, #1b1b1b);
}

.listing .mid-cta a .arrow svg {
    position: absolute;
    top: 6px;
    right: 0;
}

.listing .mid-cta a polygon {
    transition: fill 0.25s linear;
    fill: var(--accent-color, #1b1b1b);
}

.listing .mid-cta a:hover polygon {
    fill: var(--accent-hover-color, #1b1b1b);
}

.working-at-rally {
    padding-top: 235px;
}

.working-at-rally h2 {
    position: relative;
    z-index: 2;
    font-size: 120px;
    margin-top: 0;
    margin-left: 8.4459459%;
    width: 32.432432%;
}

.working-at-rally h3 {
    font-size: 16px;
    line-height: 1.5em;
    font-weight: 400;
    position: absolute;
    top: 160px;
    left: 8.4459459%;
    margin: 0;
}

.working-at-rally .tree-logo {
    left: 79.560811%;
    top: 300px;
    transform: translate(-50%, -50%);
}

.working-at-rally p {
    font-size: 16px;
    line-height: 28px;
    width: 23.986486%;
    margin-left: 8.4459459%;
    margin-top: 220px;
}

.working-at-rally .photo-slider {
    display: none;
}

.working-at-rally .photo-slider + p {
    margin-left: 67.567568%;
    margin-top: 392px;
}

.working-at-rally .photo-card {
    position: absolute;
    background: grey;
}

.working-at-rally .photo-wrapper {
    position: absolute;
    height: 100%;
}

.working-at-rally .photo-card::after {
    content: "";
    display: block;
}

.working-at-rally .photo-card.landscape::after {
    padding-bottom: 58.878505%;
}

.working-at-rally .photo-card.portrait::after {
    padding-bottom: 161.363636%;
}

.working-at-rally p + .photo-card {
    width: 57.837838%;
    top: 1104px;
    right: 47.297297%;
    z-index: 2;
}

.working-at-rally p + .photo-card + .photo-card {
    width: 15.540541%;
    top: 836px;
    left: 42.22973%;
}

.working-at-rally p + .photo-card + .photo-card + .photo-card {
    width: 23.986486%;
    top: 721px;
    right: 8.4459459%;
}

.working-at-rally p + .photo-card + .photo-card + .photo-card + .photo-card {
    width: 31.621622%;
    top: 1912px;
    left: 79.864865%;
}

.dark .photo-wrapper::before {
    background-color: #262626;
}

.emoji {
    font-family: "Noto Color Emoji", "Apple Color Emoji", "Segoe UI Emoji", Times, Symbola, Aegyptus, Code2000, Code2001, Code2002, Musica, serif, LastResort;
}

.apply-button {
    font-family: "Financier Display";
    font-size: 20px;
    line-height: 50px;
    color: white;
    letter-spacing: .5px;
    width: 15.540541%;
    margin: 240px auto;
    display: block;
    position: relative;
    background-color: #1b1b1b;
    background-color: var(--accent-color, #1b1b1b);
    transition: background-color 0.25s linear;
}

.apply-button:hover {
    background-color: var(--accent-hover-color, #1b1b1b);
}

.apply-button span {
    position: absolute;
    top: 50%;
    width: 100%;
    text-align: center;
    transform: translateY(-50%);
}

.apply-button::after {
    content: "";
    display: block;
    padding-bottom: 100%;
}

@media only screen and (max-width: 1280px) {
    .listing-title h2 {
        margin-left: 11.371528%;
    }

    .listing-title h1 {
        font-size: 100px;
        margin-left: 11.371528%;
    }

    .listing-title span {
        margin-left: 11.371528%;
        width: 20.399306%;
    }

    .listing .top-line p:first-child {
        margin-left: 22.743056%;
    }

    .listing .top-line p:last-child {
        margin-left: 2.34375%;
    }

    .listing .top-line p {
        width: 31.770833%;
    }

    .section-title {
        margin-left: 11.371528%;
        width: 34.114583%;
    }

    .section-list ul {
        margin-left: 9.0277778%;
        width: 34.114583%;
    }

    .section-list li {
        padding-left: 6.870229%;
    }

    #svg-pe {
        margin-left: 11.371528%;
        width: 20.399306%;
    }

    #svg-rks {
        margin-right: 11.1%;
        width: 20.899306%;
    }

    .listing .perks h2 {
        margin-left: 45.486111%;
    }

    .perks .tree-logo {
        left: 78.472222%;
        top: 180px;
    }

    .listing .perks-container {
        margin-left: 11.371528%;
        width: 43.142361%;
    }

    .listing .perks-container ul {
        width: 47.283702%;
        margin-right: 5.4325956%;
    }

    .listing .mid-cta {
        margin-left: 11.371528%;
    }

    .working-at-rally h2 {
        margin-left: 11.371528%;
        width: 43.142361%;
    }

    .working-at-rally h3 {
        left: 11.371528%;
    }

    .working-at-rally .tree-logo {
        left: 84.114583%;
    }

    .working-at-rally p {
        margin-left: 11.371528%;
        width: 31.770833%;
    }

    .working-at-rally .photo-slider + p {
        margin-left: 68.229167%;
        margin-top: 420px;
    }

    .working-at-rally p + .photo-card {
        right: 43.142361%;
        width: 75%;
    }

    .working-at-rally p + .photo-card + .photo-card {
        left: 54.513889%;
        width: 20.399306%;
    }

    .working-at-rally p + .photo-card + .photo-card + .photo-card {
        right: auto;
        left: 79.600694%;
        width: 31%;
    }

    .working-at-rally p + .photo-card + .photo-card + .photo-card + .photo-card {
        display: none;
    }

    .apply-button {
        width: 18%;
    }
}

@media only screen and (max-width: 1024px) {
    .section-list ul {
        margin-top: 84px;
    }

    .working-at-rally h2 {
        width: 55%;
    }

    .apply-button {
        width: 21.6%;
    }
}

@media only screen and (max-width: 768px) {
    .listing-title h2 {
        margin-left: 0;
    }

    .listing-title h1 {
        margin-left: 0;
        font-size: 92px;
    }

    .listing-title span {
        margin-left: 0;
        width: 31.2%;
    }

    .listing .top-line p:first-child {
        margin-left: 0;
    }

    .listing .top-line p:last-child {
        margin-left: 3.2%;
    }

    .listing .top-line p {
        width: 48.4%;
    }

    .section-title {
        margin-left: 0;
        width: 48.4%;
    }

    .section-title h2 {
        font-size: 42px;
    }

    .section-list {
        margin-top: 200px;
    }

    .section-list ul {
        margin-left: 0;
        margin-top: 0;
        width: 51.6%;
    }

    .section-list li {
        padding-left: 6.2015504%;
    }

    .listing .perks {
        margin-top: 208px;
        margin-bottom: 150px;
    }

    #svg-pe {
        margin-left: -17.2%;
        width: 48.4%;
        margin-bottom: 104px;
    }

    #svg-rks {
        margin-right: -17.2%;
        width: 48.4%;
    }

    .listing .perks h2 {
        margin-left: 41.4%;
        top: 128px;
        font-size: 42px;
    }

    .perks .tree-logo {
        left: auto;
        right: 0;
        top: 170px;
        transform: translateY(-50%);
    }

    .listing .perks-container {
        margin-left: 0;
        width: 65.6%;
    }

    .listing .perks-container ul {
        width: 47.560976%;
        margin-right: 4.8780488%;
    }

    .listing .mid-cta {
        margin-left: 0;
        margin-bottom: 222px;
    }

    .working-at-rally h2 {
        margin-left: 0;
        width: 72%;
    }

    .working-at-rally h3 {
        left: 0;
    }

    .working-at-rally .tree-logo {
        left: auto;
        right: 0;
        transform: translateY(-50%);
    }

    .working-at-rally p {
        margin-left: 0;
        width: 48.4%;
    }

    .working-at-rally .photo-slider + p {
        margin-left: 51.6%;
        margin-top: 385px;
        width: 48.4%;
    }

    .working-at-rally p + .photo-card {
        width: 90%;
        right: 65.6%;
    }

    .working-at-rally p + .photo-card + .photo-card {
        width: 34.4%;
        left: 58.6%;
    }

    .working-at-rally p + .photo-card + .photo-card + .photo-card {
        display: none;
    }

    .apply-button {
        width: 31.2%;
        margin: 172px auto 257px;
    }
}

@media only screen and (max-width: 660px) {
    .section-list ul {
        margin-top: 70px;
    }
}

@media only screen and (max-width: 580px) {
    .listing {
        padding-top: 240px;
    }

    .listing-title h1 {
        font-size: 54px;
        width: 100%;
        margin-bottom: 36px;
    }

    .listing-title span {
        margin-bottom: 0;
    }

    .listing .top-line {
        display: block;
        margin-top: 55px;
    }

    .listing .top-line p {
        width: 100%;
    }

    .listing .top-line p:last-child {
        margin-left: 0;
        margin-top: 16px;
    }

    .section-list {
        margin-top: 100px;
    }

    .section-title {
        width: 100%;
    }

    .section-list ul {
        width: 100%;
        margin-top: 24px;
    }

    .listing .perks {
        margin-top: 100px;
        margin-bottom: 42px;
    }

    #svg-pe {
        margin-bottom: 64px;
    }

    #svg-rks {
        bottom: auto;
        top: 234px;
    }

    .listing .perks h2 {
        top: 60px;
        margin-left: 41.4%;
    }

    .listing .tree-logo {
        width: 30.864198%;
    }

    .perks .tree-logo {
        left: 93.209877%;
        top: 102px;
        right: auto;
    }

    .listing .perks-container {
        display: block;
    }

    .listing .perks-container ul {
        width: 100%;
        margin-right: 0;
    }

    .listing .mid-cta {
        margin-bottom: 102px;
    }

    .working-at-rally {
        padding-top: 164px;
    }

    .working-at-rally h2 {
        width: 100%;
        /* font-size: 92px; */
        font-size: 68px;
        margin-bottom: 0;
    }

    .working-at-rally h3 {
        top: 95px;
    }

    .working-at-rally .tree-logo {
        left: 93.209877%;
        top: 242px;
    }

    .working-at-rally p {
        width: 100%;
        margin-top: 32px;
    }

    .working-at-rally .photo-slider {
        display: block;
        position: relative;
        margin: 52px 0 32px;
        white-space: nowrap;
    }

    .working-at-rally .photo-slider::before {
        content: "";
        display: block;
        position: relative;
        width: 100%;
        padding-bottom: 130.960854%;
    }

    .working-at-rally .polaroids-wrapper {
        position: absolute;
        height: 100%;
        width: 100%;
        top: 0;
    }

    .polaroids-wrapper .flickity-page-dots {
        display: none;
    }

    .working-at-rally .polaroid {
        width: 89.323843%;
        position: relative;
        display: inline-block;
        margin: 10.294118% 5.3380783% 0;
    }

    .working-at-rally .polaroid::before {
        content: "";
        position: absolute;
        display: block;
        width: 148.605578%;
        height: 162.549801%;
        left: -24.302789%;
        top: -13.944223%;
        background: url('../images/polaroid.png') no-repeat center;
        background-size: contain;
    }

    .working-at-rally .polaroid::after {
        content: "";
        position: relative;
        display: block;
        padding-bottom: 100%;
    }

    .working-at-rally .polaroid img {
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
    }

    .working-at-rally .photo-slider + p {
        width: 100%;
        margin-left: 0;
        margin-top: 0;
    }

    .working-at-rally .photo-card {
        display: none;
    }

    .apply-button {
        width: 65.4320988%;
        margin: 80px auto;
    }
}
.listing.transitioning {
    transition: opacity 0.75s, transform 0.75s;
}
.listing.transition-in {

}
.listing.transition-out {
    /*opacity: 0;*/
    transform: translate3d(0, 100vh, 0);
}

.listing .listing-title h2 {
    transition: opacity 0.75s linear 0.7s,
        transform 0.75s cubic-bezier(0.190, 1.000, 0.220, 1.000) 0.7s;
    opacity: 1;
}

.listing.transition-in .listing-title h2 {
    transition: none;
    opacity: 0;
    transform: translate3d(0, 20px, 0);
}

.listing .listing-title span {
    transition: opacity 0.75s linear 0.85s,
        transform 0.75s cubic-bezier(0.190, 1.000, 0.220, 1.000) 0.85s;
    opacity: 1;
    transform-origin: center left;
}

.listing.transition-in .listing-title span {
    transition: none;
    opacity: 0;
    transform: translate3d(0, 20px, 0) scaleX(0);
}

.listing .top-line p:first-child {
    transition: opacity 0.75s linear 1.0s,
        transform 0.75s cubic-bezier(0.190, 1.000, 0.220, 1.000) 1.0s;
    opacity: 1;
}

.listing.transition-in .top-line p:first-child {
    transition: none;
    opacity: 0;
    transform: translate3d(0, 20px, 0);
}

.listing .top-line p:last-child {
    transition: opacity 0.75s linear 1.15s,
        transform 0.75s cubic-bezier(0.190, 1.000, 0.220, 1.000) 1.15s;
    opacity: 1;
}

.listing.transition-in .top-line p:last-child {
    transition: none;
    opacity: 0;
    transform: translate3d(0, 20px, 0);
}

.listing .section-list {
    transition: opacity 0.75s linear 1.30s,
        transform 0.75s cubic-bezier(0.190, 1.000, 0.220, 1.000) 1.30s;
    opacity: 1;
}

.listing.transition-in .section-list {
    transition: none;
    opacity: 0;
    transform: translate3d(0, 20px, 0);
}
/*! Flickity v2.2.1
https://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;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.flickity-enabled.is-draggable .flickity-viewport{cursor:move;cursor:-webkit-grab;cursor:grab}.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down{cursor:-webkit-grabbing;cursor:grabbing}.flickity-button{position:absolute;background:hsla(0,0%,100%,.75);border:none;color:#333}.flickity-button:hover{background:#fff;cursor:pointer}.flickity-button:focus{outline:0;box-shadow:0 0 0 5px #19f}.flickity-button:active{opacity:.6}.flickity-button:disabled{opacity:.3;cursor:auto;pointer-events:none}.flickity-button-icon{fill:currentColor}.flickity-prev-next-button{top:50%;width:44px;height:44px;border-radius:50%;transform:translateY(-50%)}.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 .flickity-button-icon{position:absolute;left:20%;top:20%;width:60%;height:60%}.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}
