/* ------------- */
/* CSS VARIABLES */
/* ------------- */

:root {
    /* Gutters */
    --gutter: 2.5rem;
    --column-gutter: 1rem;
    --row-gutter: 5rem;
    --row-content-gutter: 1.875rem;

    /* Headings */
    --heading-h1-size: clamp(2.1875rem, 1.0511rem + 3.0303vmin, 4.6875rem);
    --heading-h1-weight: 700;
    --heading-h2-weight: 700;
    --heading-h3-weight: 700;
    --heading-h1-leading: 1.1333;
    --heading-h2-leading: 1.125;
    --heading-h3-leading: 1.1333;
    --heading-body2-size: clamp(0.9375rem, 0.8523rem + 0.2273vmin, 1.125rem);
    --heading-default-leading: 1.4;
    
    /* Slider */
    --slider-padding-horizontal: 5.188rem;
    --slider-padding-vertical: 4.125rem;

    /* List */
    --list-style: outside;

    /* Easing */    
    --easing-ease-out-sine: cubic-bezier(0.390, 0.575, 0.565, 1.000);

    /* Animations */
    --arrowSlide-stage-1: 0rem;
    --arrowSlide-stage-2: 0.5rem;
    --arrowSlide-stage-3: 1rem;
    --arrowSlide-stage-4: 1.5rem;
}

@media (max-width: 47.938em) {
    :root {
        /* Gutters */
        --row-gutter: 3.125rem;        

        /* Animations */
        --arrowSlide-stage-1: 0rem;
        --arrowSlide-stage-2: 1rem;
        --arrowSlide-stage-3: 2rem;
        --arrowSlide-stage-4: 3rem;
    }
}

/* ----- */
/* FONTS */
/* ----- */

@font-face {
    font-family: 'magna-icons';
    src: url('../fonts/magna-icons.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: block;
}

/* -------------------- */
/* DEFAULTS & OVERRIDES */
/* -------------------- */

html {
    -webkit-font-smoothing: antialiased;
    scroll-behavior: smooth;
}

html,
body {
    margin: 0;
    padding: 0;
    background: #000;
}

* {
    box-sizing: border-box;
}

*, ::after, ::before {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    color: inherit;
    font-family: inherit;
    line-height: inherit;
    margin: 0;
}

* + * {
    margin-top: 1.5rem;
}

body, html {
    overflow-x: hidden;
}

body {
    background-color: #fff;
    color: #000;
    font: normal 400 var(--heading-body2-size)/var(--heading-default-leading) "Helvetica Neue",sans-serif;
}

a {
    color: var(--link-color,#da291c);
    -webkit-text-decoration: var(--link-underline,underline);
    text-decoration: var(--link-underline,underline);
}

[role=button],
a, area, button,
input:not([type=range]),
label, select, summary, textarea {
    -ms-touch-action: manipulation;
    touch-action: manipulation;
}

@media (min-width: 48em) {
    body {
        height: 100vh;
        overflow-y: scroll;
    }
}

/* -------- */
/* HEADINGS */
/* -------- */

.o-heading-h1 {
    font-size: var(--heading-h1-size);
    font-weight: var(--heading-h1-weight);
    line-height: var(--heading-h1-leading);
    color: var(--heading-h1-color,#000);
}

.o-heading2, h2 {
    font-size: calc(1.5rem + 1.625 * (100vw - 37.5em)/ 62.5);
    font-weight: 400;
    line-height: normal;    
}

.o-heading3, h3,
.o-heading4, h4 {
    font-weight: 400;
    line-height: normal;
    font-size: 25px;
}

.o-heading5, h5 {
    font-size: 1em;
    font-weight: 400;
}

@media (min-width: 48em) {
    .o-heading3, h3 {
        font-size: calc(1rem + 1.25 * (100vw - 37.5em)/ 62.5);
    }

    .o-heading4, h4 {
        font-size: calc(1rem + 0.875 * (100vw - 37.5em) / 62.5);
    }
}

/* -------- */
/* KEYLINES */
/* -------- */

.o-keyline {
    height: var(--keyline-height,1px);
    display: block;
    background-color: var(--keyline-color,currentColor);
    overflow: hidden;
    -webkit-transform-origin: 0 50%;
    -ms-transform-origin: 0 50%;
    transform-origin: 0 50%;
    will-change: opacity,transform;
}

.o-keyline + .o-heading2,
.o-keyline + h2 {
    margin-top: 1.25rem;
}

/* ------- */
/* BUTTONS */
/* ------- */

.o-buttonlink--ghost,
.o-buttonlink-wrapper--ghost a {
    --button-background: transparent;
    --button-border: solid 1px currentColor;
    --button-color: currentColor;
}

.o-buttonlink,
.o-buttonlink-wrapper a {
    --link-underline: none;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-decoration: none;
    min-height: var(--button-height,2.3em);
    border: var(--button-border,solid 1px transparent);
    padding: var(--button-padding,.45em 1.2em);
    background-color: var(--button-background,#000);
    color: var(--button-color,#fff);
    font-size: var(--button-font-size,1.25rem);
    font-weight: var(--button-font-weight,700);
    line-height: 1.1;
    -webkit-transition: background-color .65s cubic-bezier(.35,.495,.445,1.005),border-color .3s cubic-bezier(.35,.495,.445,1.005);
    -o-transition: background-color .65s cubic-bezier(.35,.495,.445,1.005),border-color .3s cubic-bezier(.35,.495,.445,1.005);
    transition: background-color .65s cubic-bezier(.35,.495,.445,1.005),border-color .3s cubic-bezier(.35,.495,.445,1.005);
    white-space: var(--button-whitespace,normal);
}

.o-button,
.o-button-toggle {
    -ms-touch-action: manipulation;
    touch-action: manipulation;
}

.o-buttonlink--icon::before, .o-buttonlink-wrapper--icon a::before, .o-icon {
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
}

.o-buttonlink--icon::before, .o-buttonlink-wrapper--icon a::before, .o-icon {
    font-family: magna-icons!important;
    speak: never;
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    font-size: var(--icon-size, "inherit");
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.o-buttonlink--icon::before, .o-buttonlink-wrapper--icon a::before {
    -webkit-order: 1;
    -ms-flex-order: 1;
    order: 1;
    content: "";
    margin-left: 1em;
    -webkit-transform: translateX(var(--button-icon-shift,0));
    -ms-transform: translateX(var(--button-icon-shift,0));
    transform: translateX(var(--button-icon-shift,0));
    -webkit-transition: -webkit-transform .35s cubic-bezier(.35,.495,.445,1.005);
    transition: -webkit-transform .35s cubic-bezier(.35,.495,.445,1.005);
    -o-transition: transform .35s cubic-bezier(.35,.495,.445,1.005);
    transition: transform .35s cubic-bezier(.35,.495,.445,1.005);
    transition: transform .35s cubic-bezier(.35,.495,.445,1.005),-webkit-transform .35s cubic-bezier(.35,.495,.445,1.005);
}

.o-buttonlink--ghost:focus,
.o-buttonlink--ghost:hover,
.o-buttonlink-wrapper--ghost a:focus,
.o-buttonlink-wrapper--ghost a:hover {
    --button-background: #fff;
    --button-color: #000000;
}

.o-buttonlink:hover,
.o-buttonlink:focus {
    text-decoration: none;
    --button-background: #fff;
    --button-color: #000000;
    --button-border: solid 1px #000000;
    --button-icon-shift: 0.25rem;
}

/* ------- */
/* COLOURS */
/* ------- */

.color-white {
    color: #fff;
}

/* ---------------- */
/* BACKGROUND VIDEO */
/* ---------------- */

.c-card-masthead__video {
    height: 100%;
    width: 100%;
}

.c-card-masthead__image, .c-card-masthead__video {
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: cover;
    overflow: hidden;
}

[id] {
    scroll-margin-top: calc(80px + 2ex);
}

video {
    position: absolute;
    object-fit: cover;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}

/* ---------------- */
/* NAVIGATION LINKS */
/* ---------------- */

.c-menu-simple {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.625rem;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.c-menu-simple__link {
    --link-underline: none;
    padding: 0;
    font-weight: 700;
    display: grid;
    grid-template-columns: 1fr 1em;
    gap: 0 1.25rem;
    align-items: center;
    width: 100%;
    color: inherit;
    margin-top: 0;
    padding: 0;    
}

button.c-menu-simple__link {
    background-color: transparent;
    border: none;
    text-align: left;
    font-size: inherit;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
}

.c-menu-simple__link::after {
    content: "";
    font-family: magna-icons !important;
    speak: never;
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    font-size: 0.8888em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.c-menu-simple__link:hover,
.c-menu-simple__link:focus {
    opacity: 0.7;
    --button-icon-shift: 0.25rem;
}

.c-menu-simple__link,
.c-menu-simple__link, 
.c-menu-simple__link::after,
.c-menu-simple__link::after {
    -webkit-transition: all .35s cubic-bezier(.35,.495,.445,1.005);
    -o-transition: all .35s cubic-bezier(.35,.495,.445,1.005);
    transition: all .35s cubic-bezier(.35,.495,.445,1.005);
}

.c-menu-simple__link:hover::after,
.c-menu-simple__link:focus::after {
    -webkit-transform: translateX(var(--button-icon-shift,0));
    -ms-transform: translateX(var(--button-icon-shift,0));
    transform: translateX(var(--button-icon-shift,0));    
}

/* --------------- */
/* SLIDER DEFAULTS */
/* --------------- */

.slick-loading .slick-list {    
    background-image: url(data:image/gif;base64,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);
}

/* ------------- */
/* CUSTOM SLIDER */
/* ------------- */

.coc-slider {
    position: relative;
    width: 100%;
    height: 100vh;
    margin: 0 !important;
}

.coc-slider .slick-slide {
    position: relative;
    margin: 0px 20px;
    transition: all ease-in-out .3s;
    /* opacity: .2; */
}

.coc-slider .slick-slide .is-animate-done {
    position: relative;
}

.coc-slider .slick-slide img {
    /* object-fit: cover;
    object-position: center; */
}

.coc-slider .slick-prev:before,
.coc-slider .slick-next:before {
    color: black;
}

.coc-slider .slick-current {
    opacity: 1;
}

.coc-slider .slick-list,
.coc-slider.slick-initialized .slick-slide {
    height: inherit;
}

.coc-slider.slick-initialized .slick-slide {
    margin: 0;
    padding: var(--slider-padding-vertical) var(--slider-padding-horizontal);
}

.coc-slider .slick-list,
.coc-slider.slick-initialized .slick-track,
.coc-slider.slick-initialized .slick-slide {
    display: flex !important;
    flex-grow: 1;
}

.coc-slider.slick-initialized .slick-slide {
    flex-direction: column;
}

@media screen and (max-width: 47.938em) {
    .coc-slider {
        height: 100vh;
        overflow-y: scroll;
    }

    .coc-slider > div {
        padding: 2.813rem 2.500rem;        
        /* min-height: 100vh; */
    }

    .coc-slider .slick-list {
        height: auto !important;
    }

    .coc-slider.slick-initialized .slick-track {
        flex-direction: column;
    }

    .coc-slider.slick-initialized .slick-slide {
        display: block !important;
        height: auto;
    }
}

section {
    position: relative;
}

.reveal-me {
    opacity: 0;
}

.c-block--image {
    margin-top: 0;
}

/* Should be enabled for a11y? */

.coc-slider.slick-initialized .slick-slide:focus-visible {
    outline: none;
}

/* Dots */

.coc-slider .slick-dots {
    bottom: 1rem;
    z-index: 9999;
}

.coc-slider .slick-dots li button {
    width: 10px;
    height: 10px;
    background-color: #fff;
    border-radius: 100%;
    opacity: .5;
    transition: .25s opacity ease;
}

.coc-slider .slick-dots li button:hover,
.coc-slider .slick-dots li.slick-active button:focus,
.coc-slider .slick-dots li.slick-active button {
    opacity: 1;
}

.coc-slider .slick-dots li button::before {
    display: none;
}

@media screen and (max-width: 47.938em) {
    .c-block--image {
        display: grid;
        align-items: flex-start;
        row-gap: var(--row-content-gutter);
    }

    .c-block--image > * {
        margin-top: 0;
    }

    .c-block--image img {
        width: 100%;
        height: auto;
    }

    .c-block--image .o-buttonlink  {
        justify-self: flex-start;
    }
}

/* Slide 1 */

.grid-template-home {
    grid-template-columns: minmax(auto, 300px) auto;
    gap: 8.438rem;
    align-items: flex-start;
    margin: 0;    
}

.coc-slider.slick-initialized .slick-slide[data-slick-index="0"] .c-block--image {
    display: flex;
    flex-wrap: wrap;
}

.grid-template-home--chiefs {
    grid-template-columns: repeat(2, minmax(auto, 300px));
    gap: 8.438rem;
}

/* Slide 2 */

.grid-template-introduction {
    gap: 1.875rem;
}

.grid-template-introduction__links {
    gap: 3.125rem;
    grid-template-columns: 1fr max-content;
    /* justify-content: center; */    
}

/* Slide 3 */

.grid-template-our-customers {
    gap: 1.875rem;
    margin: 0 auto;
}

.grid-template-our-customers__links {
    gap: 3.125rem;
    grid-template-columns: auto minmax(auto, 300px);
    justify-content: center;
}

.grid-template-our-customers__links>img:first-child {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* Slide 5 */

.grid-template-our-employees {
    grid-template-columns: 1fr;
}

.grid-template-our-employees__links {
    grid-template-rows: 145px auto;
    gap: 1.875rem;
}

.grid-template-our-employees--inner > img {
    width: 100%;
    height: auto;
}

/* Slide 6 */

.grid-template-our-business {
    grid-template-columns: minmax(auto, 900px) 300px;
    grid-template-rows: auto minmax(50%, auto);
    row-gap: 2.000rem;
    column-gap: 3.125rem;
    justify-content: center;
}

/* Slide 7 */

.grid-template-download-center {
    --grid-row-gap: 1.875rem;
    grid-template-columns: 1fr;
    grid-template-rows: repeat(2, calc((100% - var(--grid-row-gap, 1.875rem)) / 2));
    row-gap: var(--grid-row-gap, 1.875rem);
    column-gap: 3.125rem;
}

.grid-template-download-center--inner {
    -ms-grid-columns: 1fr auto;
    grid-template-columns: 1fr auto;
    gap: 3.125rem;
    margin: 0 auto;
}

.grid-template-download-center--thumbnails {
    grid-template-columns: minmax(auto,200px) minmax(auto, 500px);
    grid-template-rows: repeat(2, calc((100% - var(--grid-row-gap, 1.875rem)) / 2) );    
    gap: var(--grid-row-gap, 1.875rem);
    justify-content: flex-end;
}

.grid-template-download-center--thumbnails .absolute-img {
    position: relative;
}

.grid-template-download-center--thumbnails .absolute-img > img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

/* Mobile Slides */

@media (max-width: 47.938em) {
    .grid-template-home,
    .grid-template-home--chiefs,
    .grid-template-introduction__links,
    .grid-template-our-employees,
    .grid-template-our-business,
    .grid-template-download-center--inner {
        grid-template-columns: 1fr;  
        row-gap: var(--row-gutter);
    }

    .grid-template-our-business,
    .grid-template-our-employees__links,
    .grid-template-download-center {
        grid-template-rows: 1fr;
    }

    .coc-slider .slick-section {
        margin-top: 0;
    }

    .coc-slider > div:first-child > .slick-section:first-child {
        height: calc(100vh);
    }

    .grid-template-our-business,
    .grid-template-our-employees,
    .grid-template-download-center,
    .grid-template-download-center--inner {
        row-gap: var(--row-content-gutter);
        width: 100%;
    }   

    .coc-slider > div:first-child img {
        aspect-ratio: 1 / 1;
    }

    .coc-slider img {
        aspect-ratio: 1 / 0.5882352941176471;
    }
}

@media (min-width: 48em) {
    .coc-slider.slick-initialized .slick-slide[data-slick-index="0"] .c-menu-simple {
        max-width: 300px;
    }

    .grid-template-home {
        grid-template-columns: 1fr;
    }    

    .grid-template-our-employees--inner {
        grid-template-columns: repeat(3, 1fr);
        grid-template-rows: 250px;
        gap: 1.875rem;
        justify-content: flex-end;
    }

    .grid-template-our-employees--inner img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
    }
}

@media (min-width: 64em) {
    .grid-template-home {
        grid-template-columns: minmax(auto, 300px) auto;
    }
    
    .grid-template-home--chiefs {
        position: relative;
    }

    .grid-template-introduction__links {        
        justify-self: center;    
    }

    .grid-template-our-employees {        
        grid-template-columns: auto 320px;
        justify-content: center;
        gap: 3.438rem;
    }

    .grid-template-our-employees--inner {
        margin-top: calc( -1 * var(--slider-padding-vertical) );
        grid-template-columns: minmax(auto,200px) minmax(auto,317px) minmax(auto,180px);
        grid-template-rows: 113px 74px repeat(3, auto);
    }
}

@media (min-width:76.875em) {
    .grid-template-home--chiefs {
        position: absolute;
        right: var(--slider-padding-horizontal);
        bottom: var(--slider-padding-vertical);
    }
}

/* Short screens */

@media (min-width: 47.938em) and (max-height: 53.125em) {
    .coc-slider.slick-initialized .slick-slide {
        --slider-padding-vertical: 3rem;
        --slider-padding-horizontal: 3rem;
    }

    .o-heading3, h3 {
        font-size: 30px;
    }

    .o-buttonlink, .o-buttonlink-wrapper a {
        --button-font-size: 1rem;
    }

    .grid-template-home--chiefs {
        /* zoom: 80%; */
        grid-template-columns: repeat(2, minmax(auto, 195px));
        gap: 6rem;
    }

    .grid-template-home--chiefs .o-heading4 {
        font-size: 18px;
    }

    .grid-template-home--chiefs .o-buttonlink--ghost.md\:u-margin10--bottom {
        margin-bottom: 0;
    }

    .c-scroll-indicator  .arrows > .arrow {
        margin-bottom: -5px;        
    }

    .c-scroll-indicator  .arrows > .arrow > svg {
        height: 40px;
    }

    .grid-template-introduction__links > img,
    .grid-template-links > picture > img,
    .grid-template-links > img {
        max-height: 265px;
    }

    .grid-template-introduction > .c-block--image:first-child > div {
        text-align: center;
    }
    
    .grid-template-introduction > .c-block--image:first-child > div,
    .grid-template-introduction > .c-block--image:first-child > div img {
        max-height: 230px;
        object-fit: cover;
    }

    .grid-template-our-customers > .c-block--image:first-child > div > img {
        max-height: 150px;
    }

    .grid-template-our-employees__links {
        grid-template-rows: 1fr;
    }

    .grid-template-our-employees__links > div {
        grid-row: 1;
    }

    .grid-template-our-business {
        grid-template-columns: minmax(auto, 630px) 300px;
    }

    .grid-template-our-business h3 br {
        display: none;
    }

    .grid-template-our-business h3 span {
        padding-left: .5rem;
    }

    .grid-template-our-employees--inner .md\:u-grid-column--1.md\:u-grid-row--5,
    .grid-template-our-employees--inner .md\:u-grid-column--2.md\:u-grid-row--5,
    .grid-template-download-center--inner .grid-template-download-center--thumbnails {
        display: none;
    }

    .grid-template-links {
        grid-template-columns: auto auto;
    }

    .grid-template-download-center {
        grid-template-rows: 1fr;
        grid-template-columns: minmax(auto, 750px) 300px;
    }

    .grid-template-download-center > div:first-child img {
        object-fit: cover;
        width: 100%;
        height: 100%;
    }
}

@media (min-width: 47.938em) and (max-height: 53.125em) {
}

/* ----------- */
/* GRID LAYOUT */
/* ----------- */

.grid-template-rows {
    gap: 3.125rem;
    margin: 0 auto;
}

.grid-template-links,
.grid-template-rows--2 {
    grid-template-columns: 1fr;
}

.grid-template-links,
.grid-template-rows {
    row-gap: var(--row-content-gutter); 
}

@media (min-width: 48em) {
    .grid-template-links {
        grid-template-columns: auto 300px;
        gap: 3.125rem;
        justify-content: center;
    }    
}

/* ---------------- */
/* SCROLL INDICATOR */
/* ---------------- */

.c-scroll-indicator {
    position: absolute;
    left: 0;
    bottom: 0;
    padding: var(--slider-padding-vertical) var(--slider-padding-horizontal);
    z-index: 9999;
    pointer-events: none;
    display: flex;
    align-items: center;
}

.c-scroll-indicator,
.c-scroll-indicator > span {
    transition: opacity 0.15s ease, visibility 0.25s ease-out;
}

.c-scroll-indicator .arrows {
    display: flex;
    align-items: center;
    margin-top: 0;
}

.c-scroll-indicator > .arrows > .arrow {
    margin-top: 0;
    opacity: 0;
    -webkit-animation: arrowSlide 1.5s linear infinite; 
    animation: arrowSlide 1.5s linear infinite;
}

.c-scroll-indicator > .arrows > .arrow:not(:first-child) {
    margin-left: -1rem;
}

.c-scroll-indicator > .arrows > .arrow.delay1 {
    -webkit-animation-delay: .25s; 
    animation-delay: .25s;
}

.c-scroll-indicator > .arrows > .arrow.delay2 {
    -webkit-animation-delay: .5s; 
    animation-delay: .5s;
}

.c-scroll-indicator > .arrows > .arrow.delay3 {
    -webkit-animation-delay: .75s; 
    animation-delay: .75s;
}

.c-scroll-indicator.js-disabled,
.c-scroll-indicator.js-disabled > span {
    visibility: hidden;
    opacity: 0;
}

.c-scroll-indicator.js-disabled > .arrows > .arrow {
    -webkit-animation: none; 
    animation: none;
}
  
@-webkit-keyframes arrowSlide {
    0% { opacity:0; transform: translateX(var(--arrowSlide-stage-1)); }  
    20% { opacity:1; transform: translateX(var(--arrowSlide-stage-2)); } 
    80% { opacity:1; transform: translateX(var(--arrowSlide-stage-3)); }  
    100% { opacity:0; transform: translateX(var(--arrowSlide-stage-4)); } 
}

@keyframes arrowSlide {
    0% { opacity:0; transform: translateX(var(--arrowSlide-stage-1)); }  
    20% { opacity:1; transform: translateX(var(--arrowSlide-stage-2)); } 
    80% { opacity:1; transform: translateX(var(--arrowSlide-stage-3)); }  
    100% { opacity:0; transform: translateX(var(--arrowSlide-stage-4)); } 
}

@media (max-width: 47.938em) {
    .c-scroll-indicator {
        opacity: 1 !important;
        left: 50%;
        bottom: 4rem;
        padding: 0;
        margin: 0;
        -webkit-transform: translateX(-50%) rotate(90deg);
        -ms-transform: translateX(-50%) rotate(90deg);
        transform: translateX(-50%) rotate(90deg);
    }

    .c-scroll-indicator > span {
        display: none;
    }

    .c-scroll-indicator > .arrows > .arrow:not(:first-child) {
        margin-left: -0.75rem;
    }

    .c-scroll-indicator .arrow > svg {
        width: 14px;
        height: 36px;
    }    
}

@media (min-width: 47.938em) and (max-height: 53.125em) {
    .c-scroll-indicator {
        padding-bottom: 1rem;
    }

    .c-scroll-indicator > span {
        font-size: 20px;
    }
}

/* --------------- */
/* UTILITY CLASSES */
/* --------------- */

.spacing-top-10 {
    margin-top: 0.625rem;
}

.spacing-top-20 {
    margin-top: 1.25rem;
}

.u-grid {
    display: -ms-grid;
    display: grid;
}

.u-flex {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
}

.u-justify--center {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.u-align--flex-end {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
}

.u-margin0--top {
    margin-top: 0;
}

.u-margin10--bottom {
    margin-bottom: 5rem;
}

.u-padding4--left {
    padding-left: 2rem;
}

.u-margin-auto--top {
    margin-top: auto;
}

.u-object-fit--cover {
    object-fit: cover;
    object-position: center;
}

.u-overflow-hidden {
    overflow: hidden;
}

.h-100 {
    height: 100%;
}

.w-100 {
    width: 100%;
}

.mw-full {
    max-width: 100%;
}

.mw-300 {
    max-width: 300px;
}

@media (min-width: 64em) {
    .md\:w-25 {
        width: 25%;
    }

    .md\:w-30 {
        width: 30%;
    }

    .md\:w-70 {
        width: 70%;
    }

    .md\:w-75 {
        width: 75%;
    }

    .md\:u-position--absolute {
        position: absolute;
    }

    .md\:spacing-top-50 {
        margin-top: 3.125rem;
    }

    .md\:u-align--flex-end {
        -webkit-box-align: end;
        -ms-flex-align: end;
        align-items: flex-end;
    }

    .md\:u-justify--center {
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center;
    }

    .md\:u-justify--flex-end {
        -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
        justify-content: flex-end;
    }

    .md\:u-padding4--right {
        padding-right: 2rem;
    }

    .md\:u-padding12--right {
        padding-right: 6rem;
    }

    .md\:u-padding28--right {
        padding-right: 14rem;
    }

    .md\:u-margin10--bottom {
        margin-bottom: 5rem;
    }

    .md\:u-flex {
        display: flex;
    }

    .md\:u-grid-column--1 {
        grid-column: 1;
    }

    .md\:u-grid-column--2 {
        grid-column: 2;
    }

    .md\:u-grid-column--3 {
        grid-column: 3;
    }

    .md\:u-grid-row--1\/3 {
        grid-row: 1/3;
    }

    .md\:u-grid-row--2 {
        grid-row: 2;
    }

    .md\:u-grid-row--2\/5 {
        grid-row: 2/5;
    }

    .md\:u-grid-row--3\/5 {
        grid-row: 3/5;
    }

    .md\:u-grid-row--5 {
        grid-row: 5;
    }

    .md\:hide  {
        display: none !important;
    }

    .md\:u-margin-auto--top {
        margin-top: auto;
    }
}

@media (min-width: 48em) and (max-width: 64em) {
    .sm\:hide  {
        display: none;
    }

    .sm\:show  {
        display: block;
    }

    .sm\:u-margin4--top {
        margin-top: 2rem;
    }
}

@media (max-width: 47.938em) {
    .xs\:hide  {
        display: none;
    }

    .xs\:show  {
        display: block;
    }

    .xs\:show-inline  {
        display: inline;
    }

    .xs\:mw-300 {
        max-width: 300px;
    }

    .xs\:order--1  {
        order: -1;
    }

    .xs\:order-0  {
        order: 0;
    }

    .xs\:order-1  {
        order: 1;
    }

    .xs\:order-2  {
        order: 2;
    }
}