@font-face {
    font-family: theinhardt-light;
    src: url(../../../../fonts/Theinhardt-Light.html) format("otf")
}

@font-face {
    font-family: theinhardt-medium;
    src: url(../../../../fonts/Theinhardt-Medium.html) format("otf")
}

@font-face {
    font-family: theinhardt-bold;
    src: url(../../../../fonts/Theinhardt-Bold.html) format("otf")
}

@-webkit-keyframes plyr-progress {
    to {
        background-position: 25px 0
    }
}

@keyframes plyr-progress {
    to {
        background-position: 25px 0
    }
}

@-webkit-keyframes plyr-popup {
    0% {
        opacity: .5;
        -webkit-transform: translateY(10px);
        transform: translateY(10px)
    }

    to {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

@keyframes plyr-popup {
    0% {
        opacity: .5;
        -webkit-transform: translateY(10px);
        transform: translateY(10px)
    }

    to {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

@-webkit-keyframes plyr-fade-in {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes plyr-fade-in {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@-webkit-keyframes arrow-bounce {
    0% {
        background-position: right .5em center, 0
    }

    50% {
        background-position: right 1em center, 0
    }

    to {
        background-position: right .5em center, 0
    }
}

@keyframes arrow-bounce {
    0% {
        background-position: right .5em center, 0
    }

    50% {
        background-position: right 1em center, 0
    }

    to {
        background-position: right .5em center, 0
    }
}

@-webkit-keyframes marquee {
    0% {
        left: 100%
    }

    to {
        left: 0;
        -webkit-transform: translate(-100%, -50%);
        transform: translate(-100%, -50%)
    }
}

@keyframes marquee {
    0% {
        left: 100%
    }

    to {
        left: 0;
        -webkit-transform: translate(-100%, -50%);
        transform: translate(-100%, -50%)
    }
}

@-webkit-keyframes bounce {
    0% {
        -webkit-transform: translate(.625rem, -.625rem);
        transform: translate(.625rem, -.625rem)
    }

    50% {
        -webkit-transform: translate(0);
        transform: translate(0)
    }

    to {
        -webkit-transform: translate(.625rem, -.625rem);
        transform: translate(.625rem, -.625rem)
    }
}

@keyframes bounce {
    0% {
        -webkit-transform: translate(.625rem, -.625rem);
        transform: translate(.625rem, -.625rem)
    }

    50% {
        -webkit-transform: translate(0);
        transform: translate(0)
    }

    to {
        -webkit-transform: translate(.625rem, -.625rem);
        transform: translate(.625rem, -.625rem)
    }
}

@-webkit-keyframes fadeIn {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes fadeIn {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

body {
    --primary: #000;
    --secondary: #fff
}

.primary--red {
    --primary: #f33440;
    --secondary: #000
}

.primary--orange {
    --primary: #ff5100;
    --secondary: #000
}

.primary--yellow {
    --primary: #ffb71b;
    --secondary: #000
}

.primary--green {
    --primary: #006938;
    --secondary: #fff
}

.primary--blue {
    --primary: #000f9f;
    --secondary: #fff
}

.primary--the-one {
    --primary: #6dd24c;
    --secondary: #000
}

/*! Flickity v2.2.0
https://flickity.metafizzy.co
---------------------------------------------- */
.flickity-enabled {
    position: relative
}

.flickity-enabled:focus {
    outline: none
}

.flickity-viewport {
    overflow: hidden;
    position: relative;
    height: 100%
}

.flickity-slider {
    position: absolute;
    width: 100%;
    height: 100%
}

.flickity-enabled.is-draggable {
    -webkit-tap-highlight-color: transparent;
    tap-highlight-color: transparent;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.flickity-enabled.is-draggable .flickity-viewport {
    cursor: move;
    cursor: -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 {
    cursor: pointer
}

.flickity-button:focus {
    outline: none;
    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%;
    -webkit-transform: translateY(-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
}

.kis-container {
    display: -webkit-box;
    display: flex;
    flex-wrap: wrap;
    -webkit-box-align: center;
    align-items: center;
    justify-content: space-around;
    margin: -.625rem
}

.kis-container .kis-horizontal {
    margin: .625rem
}

.kis-horizontal {
    width: 615px;
    height: 150px
}

body {
    position: relative
}

@media (min-width:1024px) {
    .footer__row--meta .col:first-child .list-inline {
        margin-left: 6.png25rem
    }
}

:root .optanon-show-settings-popup-wrapper {
    position: absolute;
    bottom: 0;
    z-index: 20;
    overflow: visible;
    width: 100%;
    height: auto !important
}

@media (min-width:1024px) {
    :root .optanon-show-settings-popup-wrapper {
        width: calc(100% - 7.8125rem)
    }
}

:root .optanon-show-settings-button {
    box-sizing: border-box;
    max-width: 100rem;
    overflow: visible;
    padding: 0 1.25rem;
    margin: 0 auto
}

@media (min-width:1024px) {
    :root .optanon-show-settings-button {
        padding: 0 2.5rem
    }
}

:root .optanon-show-settings-popup-wrapper .optanon-show-settings-left, :root .optanon-show-settings-popup-wrapper .optanon-show-settings-middle, :root .optanon-show-settings-popup-wrapper .optanon-show-settings-right {
    float: none !important;
    width: auto !important;
    height: auto !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important
}

@media (max-width:1023px) {
    :root .optanon-show-settings-popup-wrapper .optanon-show-settings-left, :root .optanon-show-settings-popup-wrapper .optanon-show-settings-middle, :root .optanon-show-settings-popup-wrapper .optanon-show-settings-right {
        text-align: center
    }
}

:root .optanon-show-settings-popup-wrapper .optanon-show-settings-middle a.optanon-show-settings {
    margin: 0 !important;
    color: #fff !important;
    font-family: theinhardt-medium, sans-serif, Arial, serif;
    font-size: .6rem;
    font-size: calc(0.6rem*var(--scale, 1));
    font-weight: 400;
    line-height: 1.25;
    letter-spacing: -.03125em
}

@media (min-width:1024px) {
    :root .optanon-show-settings-popup-wrapper .optanon-show-settings-middle a.optanon-show-settings {
        position: absolute;
        top: -2.5rem;
        -webkit-transform: translateY(-100%);
        transform: translateY(-100%)
    }
}

@media (max-width:1023px) {
    :root .optanon-show-settings-popup-wrapper .optanon-show-settings-middle a.optanon-show-settings {
        padding: .125rem .25rem;
        border: .125rem solid
    }
}

#optanon-show-settings-popup {
    display: none !important
}

#optanon-popup-wrapper a:after, #optanon-popup-wrapper li:before {
    content: none
}

.optanon-alert-box-wrapper .optanon-alert-box-button-container .optanon-button-allow .optanon-alert-box-button-middle a {
    background-color: inherit;
    color: var(--secondary) !important
}

.GeckoChatWidget .ChatButton-custom {
    border: .125rem solid #fff;
    border-radius: 50%;
    right: .625rem !important;
    bottom: .625rem !important
}

@media (min-width:1024px) {
    .GeckoChatWidget .ChatButton-custom {
        right: 1.25rem !important;
        bottom: 7.5rem !important
    }
}

.GeckoChatWidget .ChatContainer.active {
    margin-bottom: -.5rem;
    right: 6.png25rem !important
}

.GeckoChatWidget .ChatButton-custom>img {
    margin: 0 !important
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary {
    display: block
}

audio, canvas, video {
    display: inline-block
}

audio:not([controls]) {
    display: none;
    height: 0
}

[hidden] {
    display: none
}

html {
    font-family: sans-serif;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%
}

body {
    margin: 0
}

a:focus {
    outline: thin dotted
}

a:active, a:hover {
    outline: 0
}

h1 {
    font-size: 2em;
    margin: .67em 0
}

abbr[title] {
    border-bottom: 1px dotted
}

b, strong {
    font-weight: 700
}

dfn {
    font-style: italic
}

hr {
    box-sizing: content-box;
    height: 0
}

mark {
    background: #ff0;
    color: #000
}

code, kbd, pre, samp {
    font-family: monospace, serif;
    font-size: 1em
}

pre {
    white-space: pre-wrap
}

q {
    quotes: "\201C""\201D""\2018""\2019"
}

small {
    font-size: 80%
}

sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sup {
    top: -.5em
}

sub {
    bottom: -.25em
}

img {
    border: 0
}

svg:not(:root) {
    overflow: hidden
}

figure {
    margin: 0
}

fieldset {
    border: 1px solid silver;
    margin: 0 2px;
    padding: .35em .625em .75em
}

legend {
    border: 0;
    padding: 0
}

button, input, select, textarea {
    font-family: inherit;
    font-size: 100%;
    margin: 0
}

button, input {
    line-height: normal
}

button, select {
    text-transform: none
}

button, html input[type=button], input[type=reset], input[type=submit] {
    -webkit-appearance: button;
    cursor: pointer
}

button[disabled], html input[disabled] {
    cursor: default
}

input[type=checkbox], input[type=radio] {
    box-sizing: border-box;
    padding: 0
}

input[type=search] {
    -webkit-appearance: textfield;
    box-sizing: content-box
}

input[type=search]::-webkit-search-cancel-button, input[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

button::-moz-focus-inner, input::-moz-focus-inner {
    border: 0;
    padding: 0
}

textarea {
    overflow: auto;
    vertical-align: top
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

*, :after, :before {
    box-sizing: border-box
}

:first-child {
    margin-top: 0
}

:last-child {
    margin-bottom: 0
}

.theme--black {
    --primary: #fff;
    --secondary: #000;
    --text: #fff;
    position: relative;
    z-index: 10;
}

.theme--black a {
    -webkit-text-decoration-color: var(--text,hsla(0, 0%, 100%, .4));
    text-decoration-color: var(--text,hsla(0, 0%, 100%, .4));
}

.theme--black a:hover {
    -webkit-text-decoration-color: var(--text, hsla(0, 0%, 100%, .8));
    text-decoration-color: var(--text, hsla(0, 0%, 100%, .8));
}

.theme--black ::-moz-selection {
    background-color: var(--text, #fff);
    color: var(--background, #000)
}

.theme--black ::selection {
    background-color: #fff;
    color: #000
}

form {
    width: 100%;
    margin: 0 auto 2.5rem
}

fieldset {
    padding: 0;
    margin: 0 0 2.5rem;
    border: 0
}

fieldset:last-child {
    margin-bottom: 0
}

label {
    display: block;
    cursor: pointer;
    font-size: 1rem;
    font-size: calc(1rem*var(--scale, 1));
    text-align: left
}

input[type=email], input[type=password], input[type=search], input[type=text], select, textarea {
    width: 100%;
    padding: .625rem 0;
    background-color: transparent;
    border: solid;
    border-width: 0 0 .125rem;
    border-radius: 0;
    box-shadow: none;
    color: inherit;
    font-size: 1rem;
    font-size: calc(1rem*var(--scale, 1));
    line-height: 1.25;
    letter-spacing: -.03125em;
    -webkit-transition: all .25s;
    transition: all .25s
}

input[type=email]:focus, input[type=password]:focus, input[type=search]:focus, input[type=text]:focus, select:focus, textarea:focus {
    outline: none
}

input[type=search] {
    -webkit-appearance: none
}

select {
    padding-right: 2.25rem;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' transform='rotate(90)'%3E%3Cpath d='M14.3 4.54l-1.42 1.42 2.43 2.43H.54v2h14.77l-2.43 2.43 1.42 1.41 4.84-4.84z'/%3E%3C/svg%3E");
    background-position: right .625rem center;
    background-repeat: no-repeat;
    background-size: 1rem auto
}

input[type=checkbox], input[type=radio], select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

input[type=checkbox], input[type=radio] {
    vertical-align: middle;
    width: 1.25rem;
    height: 1.25rem;
    margin-right: .1875rem;
    border: .125rem solid;
    border-color: var(--primary, currentColor);
    cursor: pointer
}

input[type=checkbox]:checked, input[type=radio]:checked {
    background: var(--primary, currentColor)
}

input[type=checkbox]:focus, input[type=radio]:focus {
    outline: none
}

input[type=checkbox]+label, input[type=radio]+label {
    display: -webkit-inline-box;
    display: inline-flex;
    vertical-align: middle;
    -webkit-box-align: start;
    align-items: flex-start;
    margin-right: 1.25rem;
    margin-left: .3125rem;
    line-height: 1.25rem
}

input[type=radio] {
    border-radius: 50%
}

input[type=button], input[type=submit] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 0;
    border-radius: 0;
    outline: 0
}

button, input[type=button], input[type=submit] {
    -webkit-transition: all .25s;
    transition: all .25s
}

::-webkit-input-placeholder {
    color: grey
}

:-moz-placeholder, ::-moz-placeholder {
    color: grey
}

:-ms-input-placeholder {
    color: grey
}

h1, h2, h3, h4, h5, h6 {
    margin: 3.75rem auto 1.25rem;
    font-weight: 500;
    letter-spacing: -.03125em;
    line-height: 1;
    -webkit-transition: all .25s;
    transition: all .25s
}

@media (max-width:639px) {
    h1, h2, h3, h4, h5, h6 {
        --scale: 0.875
    }
}

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
    color: inherit;
    font-weight: inherit
}

h1, h2 {
    font-size: 3rem;
    font-size: calc(3rem*var(--scale, 1))
}

h3 {
    font-size: 2rem;
    font-size: calc(2rem*var(--scale, 1))
}

h4 {
    font-size: 1.5rem;
    font-size: calc(1.5rem*var(--scale, 1))
}

h5 {
    font-size: 1.25rem;
    font-size: calc(1.25rem*var(--scale, 1))
}

h6 {
    font-size: 1.125rem;
    font-size: calc(1.125rem*var(--scale, 1))
}

img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 0 auto 1.25rem
}

@media (min-width:1024px) {
    img {
        margin-bottom: 2.5rem
    }
}

p img {
    margin-bottom: 0
}

picture {
    display: block;
    max-width: 100rem;
    margin: 0 auto
}

figure {
    display: inline-block;
    margin: 2.5rem auto
}

figure img {
    margin: 0
}

figcaption {
    padding: .625rem 0;
    border-left-color: var(--primary, currentColor);
    border-bottom: .125rem solid;
    border-bottom-color: var(--primary, currentColor);
    border-right-color: var(--primary, currentColor);
    border-top-color: var(--primary, currentColor);
    font-size: .8rem;
    font-size: calc(0.8rem*var(--scale, 1));
    font-style: italic;
    line-height: 1.25
}

svg {
    fill: currentColor;
    vertical-align: middle
}

video {
    display: block;
    width: auto;
    height: auto;
    margin: 0 auto 1.25rem
}

iframe, video {
    max-width: 100%
}

iframe {
    margin: 0 auto;
    border: 0
}

table {
    width: 100%;
    margin: 3.75rem auto;
    text-align: center
}

caption {
    font-size: .8rem;
    font-size: calc(0.8rem*var(--scale, 1));
    text-align: left
}

caption, td, th {
    padding: .625rem 1.25rem;
    border-bottom: .125rem solid #bfb7b0
}

td, th {
    line-height: 1.25
}

th {
    font-size: 1rem;
    font-size: calc(1rem*var(--scale, 1))
}

td {
    font-size: .8rem;
    font-size: calc(0.8rem*var(--scale, 1))
}

thead th {
    border-bottom: .25rem solid
}

tbody th, thead th:empty:first-child {
    border-right: .25rem solid
}

tbody tr:last-child td, tbody tr:last-child th {
    border-bottom: none
}

@media (max-width:639px) {
    table {
        display: block;
        overflow: auto
    }
}

.table--borderless tbody td, .table--borderless tbody th {
    border-bottom: 0
}

.table--borderless caption:first-child, .table--borderless td:first-child, .table--borderless th:first-child {
    padding-left: 0
}

.table--borderless caption:last-child, .table--borderless td:last-child, .table--borderless th:last-child {
    padding-right: 0;
    text-align: right
}

.table-container {
    position: relative;
    margin: 3.75rem auto
}

.table-container:first-child {
    margin-top: 0
}

.table-container:last-child {
    margin-bottom: 0
}

.table-container table {
    margin: 0
}

@media (max-width:639px) {
    .table-container {
        position: relative
    }

    .table-container tbody tr:first-of-type:after {
        content: "";
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        z-index: 1;
        width: 6.png25rem;
        background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M14.3 4.54l-1.42 1.42 2.43 2.43H.54v2h14.77l-2.43 2.43 1.42 1.41 4.84-4.84z'/%3E%3C/svg%3E") 100% no-repeat, -webkit-gradient(linear, left top, right top, from(transparent), to(#fff)) 0 no-repeat;
        background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M14.3 4.54l-1.42 1.42 2.43 2.43H.54v2h14.77l-2.43 2.43 1.42 1.41 4.84-4.84z'/%3E%3C/svg%3E") 100% no-repeat, linear-gradient(90deg, transparent, #fff) 0 no-repeat;
        background-size: .875rem, 100%;
        -webkit-animation: arrow-bounce .75s ease-in-out infinite;
        animation: arrow-bounce .75s ease-in-out infinite
    }

    .table-container tr td:last-child, .table-container tr th:last-child {
        position: relative;
        z-index: 2;
        background: #fff
    }
}

@media (max-width:639px) {
    .theme--black .table-container tbody tr:first-of-type:after {
        background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23fff'%3E%3Cpath d='M14.3 4.54l-1.42 1.42 2.43 2.43H.54v2h14.77l-2.43 2.43 1.42 1.41 4.84-4.84z'/%3E%3C/svg%3E"), -webkit-gradient(linear, left top, right top, from(transparent), to(#000));
        background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23fff'%3E%3Cpath d='M14.3 4.54l-1.42 1.42 2.43 2.43H.54v2h14.77l-2.43 2.43 1.42 1.41 4.84-4.84z'/%3E%3C/svg%3E"), linear-gradient(90deg, transparent, #000)
    }

    .theme--black .table-container tr>:last-child {
        background: #000
    }
}

* {
    font-weight: 400
}

body, html {
    font-size: 1rem
}

body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    color: var(--text, #000);
    font-family: theinhardt-medium, sans-serif, Arial, sans-serif;
    font-size: calc(1rem*var(--scale, 1));
    line-height: 1.25;
    letter-spacing: -.03125em;
    --scale: 1
}

@media (min-width:1280px) {
    body {
        --scale: 1.25
    }
}

@media (max-width:639px) {
    body {
        --scale: 1
    }
}

@media (max-width:1023px) {
    body {
        text-align: center
    }
}

section {
    margin: 2.5rem auto
}

@media (min-width:1024px) {
    section {
        margin: 3.75rem auto
    }
}

section:first-child {
    margin-top: 0
}

section:last-child {
    margin-bottom: 0
}

ol, p, ul {
    margin: 0 0 1.25rem
}

ol, ul {
    padding-left: 1em;
    text-align: left
}

ul {
    padding-left: 0;
    list-style-type: none
}

ul li {
    position: relative;
    padding-left: 1em
}

ul li:before {
    content: "\2013\A0";
    position: absolute;
    left: 0;
    display: block
}

li, p {
    letter-spacing: -.03125em
}

li {
    margin-bottom: .3125rem
}

a {
    color: inherit;
    text-decoration: underline;
    -webkit-text-decoration-color: var(--text, rgba(0, 0, 0, .4));
    text-decoration-color: var(--text, rgba(0, 0, 0, .4));
    -webkit-text-decoration-skip-ink: ink;
    text-decoration-skip-ink: ink;
    -webkit-transition: all .25s;
    transition: all .25s
}

a:hover {
    outline: 0;
    -webkit-text-decoration-color: var(--text, rgba(0, 0, 0, .8));
    text-decoration-color: var(--text, rgba(0, 0, 0, .8))
}

strong {
    font-weight: 500;
    font-family: theinhardt-bold, sans-serif, Arial, sans-serif
}

small {
    font-size: .8em
}

sub, sup {
    padding: 0 .0625em;
    font-size: calc(0.75rem*var(--scale, 1));
}

sup {
    top: -.75em
}

sub {
    bottom: 0
}

button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: .3125rem .625rem;
    background: transparent;
    border: .125rem solid;
    font-size: .8rem;
    font-size: calc(0.8rem*var(--scale, 1));
    color: inherit
}

blockquote {
    padding: 0 0 0 1.25rem;
    margin: 2.5rem auto;
    border: 0 solid;
    border-color: var(--primary, currentColor);
    border-left: .25rem solid var(--primary, currentColor)
}

::-moz-selection {
    background-color: #000;
    color: #fff
}

::selection {
    background-color: #000;
    color: #fff
}

.main {
    max-width: 100%;
    overflow: visible
}

@media (max-width:1023px) {
    .main {
        overflow: hidden
    }
}

.inner {
    width: 100%;
    max-width: 100rem;
    padding: 0 1.25rem;
    margin: 0 auto
}

@media (min-width:1024px) {
    .inner {
        padding-left: 2.5rem;
        padding-right: 2.5rem
    }
}

@media (min-width:1024px) {
    .page-frame, .page-frame~* {
        margin-right: 7.8125rem
    }
}

.page-frame {
    position: relative;
    z-index: 50;
    -webkit-transition: all .25s;
    transition: all .25s
}

@media (max-width:1023px) {
    .page-frame {
        position: fixed;
        top: 0;
        z-index: 50;
        width: 100%;
        border-bottom: .125rem solid #000
    }

    .page-frame+* {
        margin-top: 5.375rem
    }
}

@media (max-width:1023px) {
    body.is-ticker .page-frame+* {
        margin-top: 8.5rem
    }
}

body[class*=is-offcanvas] .page-frame {
    color: #fff
}

.header {
    position: relative;
    z-index: 50;
    padding: 1.25rem 0
}

@media (min-width:1024px) {
    .header {
        padding: 2.5rem 0 0;
        background: var(--background, transparent);
    }
}

.header .inner {
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    align-items: center
}

@media (max-width:1023px) {
    .header {
        background: -webkit-gradient(linear, left top, right top, color-stop(50%, #fff), color-stop(50%, transparent)) 0 no-repeat;
        background: linear-gradient(90deg, #fff 50%, transparent 0) 0 no-repeat;
        background-size: 200% auto;
        -webkit-transition: background 0s .75s;
        transition: background 0s .75s
    }

    body:before {
        content: "";
        position: fixed;
        top: 0;
        right: 0;
        left: 0;
        z-index: 25;
        height: 5.375rem;
        background: #fff
    }

    body[class*=is-offcanvas] .header {
        background-position: 100%;
        -webkit-transition-delay: 0s;
        transition-delay: 0s
    }
}

.logo {
    flex-shrink: 0;
    height: 2.75rem;
    margin-right: 3.75rem;
    text-decoration: none
}

.logo:after {
    content: none
}

.logo svg {
    height: 100%
}

@media (min-width:1024px) {
    .logo {
        height: 4.5rem
    }
}

.header__buttons {
    margin-left: auto
}

@media (min-width:1024px) {
    .header__buttons {
        display: none
    }
}

.header.theme--black:before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: #000;
    z-index: -1
}

body[class*=is-offcanvas] .logo {
    -webkit-transition-delay: .75s;
    transition-delay: .75s
}

@media (min-width:1024px) {
    body[class*=is-offcanvas] .logo {
        -webkit-transition-delay: 1s;
        transition-delay: 1s
    }
}

.footer {
    padding: 3.75rem 0 0
}

@media (min-width:1024px) {
    .footer {
        padding-top: 6.png25rem
    }

    .footer .inner {
        padding-left: 1.25rem;
        padding-right: 1.25rem
    }
}

.footer .footer__row {
    padding: 0 0 2.5rem;
    margin-bottom: 2.5rem;
    border: solid;
    border-width: 0 0 .25rem
}

@media (min-width:1024px) {
    .footer .footer__row {
        padding: 0 1.25rem 2.5rem
    }

    .footer .footer__row .col:last-child {
        text-align: right
    }
}

.footer .footer__row:last-child {
    margin-bottom: 0;
    border-bottom: 0
}

.footer .footer__row li, .footer .footer__row p {
    font-size: inherit
}

.footer .footer__row p {
    margin-bottom: .625rem
}

.footer .footer__row--brand {
    border-bottom-width: .5rem
}

.footer .footer__row--brand p {
    font-size: 2.5rem;
    font-size: calc(2.5rem*var(--scale, 1))
}

@media (max-width:1023px) {
    .footer .footer__row--brand p {
        margin-bottom: 1.25rem
    }
}

.footer .footer__row--info {
    font-size: .8rem;
    font-size: calc(0.8rem*var(--scale, 1))
}

.footer .footer__row--meta {
    font-size: .6rem;
    font-size: calc(0.6rem*var(--scale, 1))
}

.footer .logo {
    display: inline-block;
    height: 3.75rem;
    margin: 0
}

.footer .logo svg {
    height: 100%
}

.footer .back-to-top {
    font-size: 1rem;
    font-size: calc(1rem*var(--scale, 1))
}

.footer .back-to-top:after {
    content: none
}

.footer .back-to-top svg {
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg)
}

.sidebar {
    z-index: 50;
    width: 7.8125rem;
    font-size: .8rem;
    font-size: calc(0.8rem*var(--scale, 1));
    padding: 1.25rem 0;
    -webkit-transition: all .75s ease;
    transition: all .75s ease;
    overflow: hidden
}

.sidebar ul {
    padding: 0
}

.sidebar li {
    padding-left: 0
}

.sidebar li:before {
    content: none
}

.sidebar a {
    text-decoration: none
}

.sidebar a:after {
    content: none
}

@media (min-width:1024px) {
    .sidebar {
        position: absolute;
        top: 0;
        left: 100%;
        min-height: 100vh;
        padding: 0;
        background: -webkit-gradient(linear, left top, right top, from(#fff), color-stop(25%, #fff), color-stop(25%, rgba(0, 0, 0, .25)), color-stop(25%, rgba(0, 0, 0, .5)), color-stop(50%, rgba(0, 0, 0, .5)), color-stop(50%, rgba(0, 0, 0, .75)), color-stop(75%, rgba(0, 0, 0, .75)), color-stop(75%, #000), to(#000)) 0 no-repeat;
        background: linear-gradient(90deg, #fff 0, #fff 25%, rgba(0, 0, 0, .25) 0, rgba(0, 0, 0, .5) 0, rgba(0, 0, 0, .5) 50%, rgba(0, 0, 0, .75) 0, rgba(0, 0, 0, .75) 75%, #000 0, #000) 0 no-repeat;
        background-size: 400%
    }
}

@media (max-width:1023px) {
    .sidebar {
        position: fixed;
        bottom: 0;
        width: 100%;
        height: auto !important;
        padding: 2.5rem 0 0;
        -webkit-transform: translateY(100%);
        transform: translateY(100%);
        background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(2.5rem, #000));
        background: linear-gradient(180deg, transparent, #000 2.5rem);
        -webkit-transition: all .25s ease-out;
        transition: all .25s ease-out
    }
}

.sidebar__background {
    background-size: 0;
    height: 100%;
    overflow: hidden
}

.sidebar__background:before {
    content: "";
    position: absolute;
    width: 200%;
    background: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .5)), color-stop(50%, rgba(0, 0, 0, .5)), color-stop(50%, #000), to(#000));
    background: linear-gradient(90deg, rgba(0, 0, 0, .5), rgba(0, 0, 0, .5) 50%, #000 0, #000);
    top: 0;
    left: 100%;
    right: 0;
    bottom: 0;
    -webkit-transition: all .5s ease-out .9s;
    transition: all .5s ease-out .9s;
    opacity: .3
}

@media (max-width:1023px) {
    .sidebar__background {
        background: none !important
    }

    .sidebar__background:before {
        display: none
    }
}

.sidebar__inner {
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -webkit-transition: top .25s;
    transition: top .25s
}

@media (min-width:1024px) {
    .sidebar__inner {
        position: fixed;
        top: 2.5rem;
        bottom: 2.5rem;
        right: 0;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        flex-direction: column;
        width: 7.8125rem;
        padding: 0 1.25rem;
        border-left: .125rem solid
    }

    .sidebar__inner>* {
        -webkit-box-flex: 0;
        flex: 0 1 50%
    }
}

@supports (mix-blend-mode:difference) {
    .sidebar__background {
        background-size: 100%
    }

    @media (min-width:1024px) {
        .sidebar__inner {
            color: #fff;
            mix-blend-mode: difference
        }
    }
}

.sidebar__quicklinks {
    align-self: flex-start;
    z-index: 4;
    position: relative
}

.sidebar__quicklinks ul {
    display: inline-block;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    -webkit-transform: rotate(180deg) translateX(.25rem);
    transform: rotate(180deg) translateX(.25rem)
}

.sidebar__quicklinks li {
    display: inline-block;
    margin-top: 1.25rem
}

.sidebar__quicklinks li a {
    padding: 4px
}

.sidebar__quicklinks li a:focus, .sidebar__quicklinks li a:hover {
    background-color: #fff;
    color: #000
}

@media (max-width:1023px) {
    .sidebar__quicklinks {
        display: none
    }
}

@media (max-height:640px) {
    .sidebar__quicklinks li:first-child {
        display: none
    }
}

@media (min-width:1024px) {
    .sidebar__tools {
        display: -webkit-box;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        flex-direction: column;
        -webkit-box-pack: end;
        justify-content: flex-end
    }

    .sidebar__tools a {
        padding: 4px
    }

    .sidebar__tools a:focus, .sidebar__tools a:hover {
        background-color: #fff;
        color: #000
    }
}

@media (max-width:1023px) {
    .sidebar__tools {
        width: 100%;
        border-top: .125rem solid
    }

    .sidebar__tools ul {
        display: -webkit-box;
        display: flex;
        text-align: center
    }

    .sidebar__tools li {
        -webkit-box-flex: 0;
        flex: 0 1 50%;
        margin: 0;
        border-left: .125rem solid
    }

    .sidebar__tools li:first-child {
        border-left: 0
    }

    .sidebar__tools li:last-child {
        display: none
    }

    .sidebar__tools a {
        display: block;
        padding: 1.25rem;
        line-height: 1.32;
        text-transform: uppercase
    }
}

@media (min-width:1024px) {
    .sidebar__buttons {
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        flex-basis: auto;
        padding: 0 1.25rem
    }
}

@media (max-width:1023px) {
    .sidebar__buttons {
        display: none
    }
}

.sidebar__button {
    padding: 0;
    border: 0;
    margin-right: .625rem
}

.sidebar__button:last-child {
    margin-right: 0
}

@media (min-width:1024px) {
    .sidebar__button {
        display: -webkit-box;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        flex-direction: column;
        -webkit-box-align: center;
        align-items: center;
        margin: 1.25rem 0;
        overflow: visible;
        padding-top: 4rem
    }

    .sidebar__button:last-child {
        padding-bottom: 4rem;
        padding-top: 0
    }

    .sidebar__button:focus, .sidebar__button:hover {
        outline: none
    }

    .sidebar__button:focus .label, .sidebar__button:hover .label {
        opacity: 1
    }
}

.sidebar__button svg {
    display: block;
    width: 2rem;
    height: 2rem;
    padding: .3125rem
}

.sidebar__button .label {
    opacity: 0;
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
    -webkit-transition: -webkit-transform .25s;
    transition: -webkit-transform .25s;
    transition: transform .25s;
    transition: transform .25s, -webkit-transform .25s;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl
}

@media (max-width:1023px) {
    .sidebar__button .label {
        display: none
    }
}

.sidebar__button:focus .label, .sidebar__button:hover .label {
    opacity: 1
}

.sidebar__button:focus {
    border-color: #fff
}

.sidebar__button.sidebar__button--nav:focus, .sidebar__button.sidebar__button--nav:hover {
    outline: 3px solid currentColor !important
}

.sidebar__button.sidebar__button--nav:focus .label, .sidebar__button.sidebar__button--nav:hover .label {
    -webkit-transform: rotate(180deg) translateY(1.25rem);
    transform: rotate(180deg) translateY(1.25rem)
}

.sidebar__button.sidebar__button--search:focus, .sidebar__button.sidebar__button--search:hover {
    outline: 3px solid currentColor !important
}

.sidebar__button.sidebar__button--search:focus .label, .sidebar__button.sidebar__button--search:hover .label {
    -webkit-transform: rotate(180deg) translateY(-1.25rem);
    transform: rotate(180deg) translateY(-1.25rem)
}

.sidebar__button--nav svg {
    -webkit-box-ordinal-group: 3;
    order: 2
}

body.is-offcanvas--navigation .sidebar__button--nav .label, body.is-offcanvas--search .sidebar__button--search .label {
    position: relative;
    color: #000
}

body.is-offcanvas--navigation .sidebar__button--nav .label:before, body.is-offcanvas--search .sidebar__button--search .label:before {
    content: "Close";
    position: absolute;
    bottom: 0;
    color: #fff
}

body.is-offcanvas--navigation .sidebar__background:before, body.is-offcanvas--search .sidebar__background:before {
    left: -100%;
    -webkit-transition-delay: 0s;
    transition-delay: 0s;
    opacity: 1
}

@media (min-width:1024px) {
    body:not([class*=is-offcanvas]) .sidebar {
        -webkit-transition-delay: .75s;
        transition-delay: .75s
    }

    body[class*=is-offcanvas] .sidebar {
        background-position: 100%
    }
}

@media (max-width:1023px) {
    body.is-offcanvas--navigation .sidebar {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0);
        -webkit-transition-delay: 1s;
        transition-delay: 1s
    }
}

.offcanvas {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    z-index: 25;
    width: 100%;
    background: #000;
    background: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .25)), color-stop(25%, rgba(0, 0, 0, .25)), color-stop(25%, rgba(0, 0, 0, .5)), color-stop(50%, rgba(0, 0, 0, .5)), color-stop(50%, rgba(0, 0, 0, .75)), color-stop(75%, rgba(0, 0, 0, .75)), color-stop(75%, #000), to(#000)) 0 no-repeat;
    background: linear-gradient(90deg, rgba(0, 0, 0, .25) 0, rgba(0, 0, 0, .25) 25%, rgba(0, 0, 0, .5) 0, rgba(0, 0, 0, .5) 50%, rgba(0, 0, 0, .75) 0, rgba(0, 0, 0, .75) 75%, #000 0, #000) 0 no-repeat;
    background-size: 400%;
    color: #fff;
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
    -webkit-transition: background .75s ease-in-out, padding .25s, -webkit-transform 1s ease-in-out;
    transition: background .75s ease-in-out, padding .25s, -webkit-transform 1s ease-in-out;
    transition: transform 1s ease-in-out, background .75s ease-in-out, padding .25s;
    transition: transform 1s ease-in-out, background .75s ease-in-out, padding .25s, -webkit-transform 1s ease-in-out;
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -webkit-box-pack: center;
    justify-content: center
}

@media (min-width:1024px) {
    .offcanvas {
        -webkit-transform: translateX(calc(100% - 7.8125rem));
        transform: translateX(calc(100% - 7.8125rem))
    }
}

.offcanvas .inner {
    max-height: 100%;
    overflow-y: auto;
    opacity: 0;
    -webkit-transition: all .75s;
    transition: all .75s
}

.is-ticker .offcanvas {
    padding-top: 8.5rem
}

@media (min-width:1024px) {
    .is-ticker .offcanvas {
        padding-top: 10.75rem
    }
}

.offcanvas__content {
    max-height: 100%;
    overflow-y: auto
}

body {
    min-height: 100vh
}

body[class*=is-offcanvas] {
    overflow: hidden
}

body[class*=is-offcanvas] .offcanvas {
    background-position: 100%
}

@media (min-width:1024px) {
    body[class*=is-offcanvas] .offcanvas {
        -webkit-transition-delay: .25s, .25s;
        transition-delay: .25s, .25s
    }
}

body[class*=is-offcanvas] .offcanvas .inner {
    -webkit-transition-delay: .75s;
    transition-delay: .75s
}

body[class*=is-offcanvas] .header .logo {
    opacity: 0;
    -webkit-transition-delay: 1s;
    transition-delay: 1s;
    color: #000
}

body.is-offcanvas--navigation .offcanvas--navigation {
    -webkit-transform: translateX(0);
    transform: translateX(0)
}

body.is-offcanvas--navigation .offcanvas--navigation .inner {
    opacity: 1
}

body.is-offcanvas--search .offcanvas--search {
    -webkit-transform: translateX(0);
    transform: translateX(0)
}

body.is-offcanvas--search .offcanvas--search .inner {
    opacity: 1
}

.navigation {
    position: relative;
    padding: 2.5rem 0;
    text-align: left
}

@media (min-width:1024px) {
    .navigation {
        width: 90%;
        padding: 2.5rem;
        margin: 0
    }
}

@media (max-width:1023px) {
    .navigation {
        padding-bottom: 5rem
    }
}

@media (max-width:639px) {
    .navigation {
        --scale: 0.875
    }
}

.navigation ul {
    display: none;
    padding: 0;
    margin: 0;
    -webkit-transition: all .25s;
    transition: all .25s
}

.navigation li {
    display: -webkit-box;
    display: flex;
    -webkit-box-align: end;
    align-items: flex-end;
    padding: 0;
    margin-bottom: 1.25rem;
    line-height: 1.32
}

.navigation li:before {
    content: none
}

.navigation a {
    text-decoration: none
}

.navigation a:after {
    content: none;
    position: static;
    background: none
}

.navigation li a {
    vertical-align: middle;
    background: -webkit-gradient(linear, left top, right top, color-stop(50%, #fff), color-stop(50%, transparent)) 100% no-repeat;
    background: linear-gradient(90deg, #fff 50%, transparent 0) 100% no-repeat;
    background-size: 200%;
    cursor: pointer;
    -webkit-transition: background .25s;
    transition: background .25s;
    position: relative
}

.navigation li a span {
    pointer-events: none
}

.navigation li a:hover {
    background-position: 0
}

.navigation li a:hover span {
    color: #000
}

.navigation li a:focus {
    background-color: #fff;
    outline: none;
    color: #000
}

.navigation li a:focus:before {
    content: "";
    position: absolute;
    height: 8px;
    width: 100%;
    bottom: -8px;
    left: 0;
    right: 0;
    background-color: #fff
}

.navigation nav>a, .navigation nav>span a {
    display: none !important
}

.navigation nav>a:after, .navigation nav>span a:after {
    content: none !important
}

.navigation .active>ul, .navigation .parent>ul {
    display: block
}

.navigation .parent>a, .navigation .parent>span a, .navigation .parent>ul>li {
    display: none
}

.navigation .parent>ul>.active, .navigation .parent>ul>.parent {
    display: block
}

@media (min-width:1024px) {
    .navigation .active ul {
        padding-left: 2.5rem
    }
}

@media (max-width:639px) {
    .navigation .active ul {
        --scale: 0.75
    }
}

.navigation .active li {
    font-size: 3rem;
    font-size: calc(3rem*var(--scale, 1));
    line-height: 1
}

.navigation .active>a, .navigation .active>span a {
    display: block;
    margin-bottom: 2.5rem;
    font-size: 1.5rem;
    font-size: calc(1.5rem*var(--scale, 1));
    pointer-events: none
}

.navigation .active>a:after, .navigation .active>span a:after {
    content: " menu";
    color: currentColor
}

.navigation .active-leaf a {
    text-decoration: underline
}

@supports (mix-blend-mode:difference) {
    .navigation li a:hover span, .navigation li a span {
        color: #fff;
        mix-blend-mode: difference
    }
}

.navigation__hierarchy, .navigation__hierarchy:empty~.navigation__secondary-link {
    display: -webkit-box;
    display: flex;
    flex-wrap: wrap;
    padding: 0 0 1.25rem;
    margin: 0 0 1.25rem;
    border-bottom: .125rem solid
}

.navigation__hierarchy:empty, .navigation__hierarchy:empty~.navigation__secondary-link:empty {
    display: none
}

.navigation__hierarchy li, .navigation__secondary-link li {
    margin-bottom: 0
}

.navigation__hierarchy button, .navigation__secondary-link button {
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    padding: 0;
    margin: 0 1.25rem 0 0;
    border: 0;
    cursor: pointer;
    font-size: .8rem;
    font-size: calc(0.8rem*var(--scale, 1));
    letter-spacing: 0;
    text-transform: uppercase
}

.navigation__hierarchy button:before, .navigation__secondary-link button:before {
    content: "";
    width: 1rem;
    height: 1rem;
    margin-right: .625rem;
    background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23fff'%3E%3Cpath d='M14.3 4.54l-1.42 1.42 2.43 2.43H.54v2h14.77l-2.43 2.43 1.42 1.41 4.84-4.84z'/%3E%3C/svg%3E") 50% no-repeat;
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg)
}

.navigation__hierarchy button:focus, .navigation__secondary-link button:focus {
    background-color: #fff;
    color: #000;
    outline: none
}

.navigation__hierarchy button:focus:before, .navigation__secondary-link button:focus:before {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M14.3 4.54l-1.42 1.42 2.43 2.43H.54v2h14.77l-2.43 2.43 1.42 1.41 4.84-4.84z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: 0
}

.navigation__expand {
    position: relative;
    -webkit-box-flex: 0;
    flex: 0 0 3rem;
    flex: 0 0 calc(3rem*var(--scale, 1));
    display: none;
    vertical-align: middle;
    padding: 0;
    margin-left: auto;
    border: none;
    overflow: hidden
}

@media (min-width:1024px) {
    .navigation__expand {
        margin-left: 1.25rem
    }
}

.navigation__expand svg {
    width: 3rem;
    height: 3rem;
    width: calc(3rem*var(--scale, 1));
    height: calc(3rem*var(--scale, 1));
    fill: #fff;
    pointer-events: none;
    -webkit-transition: all .25s;
    transition: all .25s
}

.navigation__expand:focus, .navigation__expand:hover {
    outline: none
}

.navigation__expand:focus svg, .navigation__expand:hover svg {
    background: #fff;
    fill: #000
}

.navigation__expand:after {
    content: "Expand";
    position: absolute;
    top: 50%;
    left: 100%;
    opacity: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    -webkit-transition: all .25s;
    transition: all .25s
}

.navigation__expand:hover:after {
    opacity: 1;
    padding-left: 1.25rem
}

.active li>.navigation__expand {
    display: inline-block
}

.navigation {
    display: -webkit-box;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column
}

.navigation--has-secondary nav:first-of-type.active>a {
    display: block !important
}

.navigation__secondary-link {
    display: none;
    -webkit-box-ordinal-group: 0;
    order: -1
}

nav:first-of-type.active+.navigation__secondary-link, nav:first-of-type.parent+.navigation__secondary-link {
    display: block
}

li.processed>a {
    -webkit-transition: none !important;
    transition: none !important
}

.content-type {
    padding: 3.75rem 0;
    background-color: var(--background);
}

@media (min-width:1024px) {
    .content-type {
        padding: 6.png25rem 0
    }
}

.blockquote--feature {
    position: relative;
    padding: 3.75rem 1.25rem;
    border-width: .25rem 0;
    text-align: center
}

.blockquote--feature>* {
    position: relative;
    z-index: 2;
    line-height: 1.32
}

.blockquote--feature:after, .blockquote--feature:before {
    content: "";
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 10vw;
    height: 10vw;
    max-width: 10rem;
    max-height: 10rem;
    background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 160' fill='%23e5e5e5'%3E%3Cpath d='M0 158.4v-57.3C0 91 .6 78 1.1 69c4-40.4 18.6-66.3 71.4-67.4v36.5c-20.8 1.7-32 9.6-32 39.9v6.7h32v73.6H0zm87.5 0v-57.3c0-10.1.6-23 1.1-32 4-40.5 18.6-66.4 71.4-67.5v36.5c-20.8 1.7-32 9.6-32 39.9v6.7h32v73.6H87.5z'/%3E%3C/svg%3E") 50% no-repeat;
    background-size: contain
}

@media (min-width:1024px) {
    .blockquote--feature:after, .blockquote--feature:before {
        left: auto;
        -webkit-transform: none;
        transform: none
    }
}

.blockquote--feature:before {
    top: .625rem
}

@media (min-width:1024px) {
    .blockquote--feature:before {
        top: 2.5rem;
        left: -2.5rem
    }
}

.blockquote--feature:after {
    bottom: .625rem;
    -webkit-transform: translateX(-50%) rotate(180deg);
    transform: translateX(-50%) rotate(180deg)
}

@media (min-width:1024px) {
    .blockquote--feature:after {
        bottom: 2.5rem;
        right: -2.5rem;
        -webkit-transform: rotate(180deg);
        transform: rotate(180deg)
    }
}

.theme--black .blockquote--feature:after, .theme--black .blockquote--feature:before {
    opacity: .25
}

.button {
    display: -webkit-inline-box;
    display: inline-flex;
    -webkit-box-align: center;
    align-items: center;
    padding: .625rem 1.25rem;
    background: -webkit-gradient(linear, left top, right top, color-stop(50%, #000), color-stop(50%, var(--background, #fff))) 100% no-repeat;
    background: linear-gradient(90deg, #000 50%, var(--background, #fff) 0) 100% no-repeat;
    background: -webkit-gradient(linear, left top, right top, color-stop(50%, var(--primary, #000)), color-stop(50%, var(--background, #fff))) 100% no-repeat;
    background: linear-gradient(90deg, var(--text, var(--primary, #000)) 50%, var(--background, #fff) 0) 100% no-repeat;;
    background-size: 200%;
    border: .125rem solid;
    font-size: .8rem;
    font-size: calc(0.8rem*var(--scale, 1));
    line-height: 1.32;
    letter-spacing: 0;
    text-decoration: none;
    text-transform: uppercase;
    -webkit-transition: all .25s;
    transition: all .25s
}

.button:after, .button span:after {
    content: none
}

.button span, .button svg {
    vertical-align: middle
}

.button svg {
    -webkit-box-flex: 0;
    flex: 0 0 auto;
    width: 1em;
    height: 1em;
    margin-left: .625rem
}

.button:focus, .button:hover {
    outline: none;
    background-position: 0;
    border-color: var(--text, var(--primary, #000));
    color: #fff;
    color: var(--background, var(--secondary, #fff));
}

.button .icon:first-child:last-child {
    margin-left: -.625rem;
    margin-right: -.625rem
}

.theme--black .button {
    background-image: -webkit-gradient(linear, left top, right top, color-stop(50%, #fff), color-stop(50%, #000));
    background-image: linear-gradient(90deg, #fff 50%, #000 0)
}

.theme--black .button:hover {
    color: #000;
    color: var(--secondary, #000)
}
@supports (mix-blend-mode:difference) {
    .theme--black .button span, .theme--black .button svg {
        color: #fff;
        mix-blend-mode: difference
    }
}

.carousel {
    max-width: 100rem;
    margin: 3.75rem auto
}

.carousel:first-child {
    margin-top: 0
}

.carousel:last-child {
    margin-bottom: 0
}

.carousel__item {
    width: 100%;
    position: relative
}

.carousel__nav {
    margin-top: 2.5rem;
    text-align: center
}

.carousel__nav .flickity-prev-next-button {
    position: static;
    -webkit-transform: none;
    transform: none;
    margin: 0 .625rem
}

.carousel__nav .flickity-page-dots {
    position: static;
    margin-top: 2.5rem
}

@media (min-width:1024px) {
    .carousel__nav .flickity-page-dots {
        margin-top: 0
    }
}

.flickity-page-dots, .flickity-prev-next-button {
    padding: 0;
    margin: 0
}

.flickity-prev-next-button {
    width: auto;
    height: auto;
    padding: .625rem 1.25rem;
    background: -webkit-gradient(linear, left top, right top, color-stop(50%, #000), color-stop(50%, var(--background, #fff))) 100% no-repeat;
    background: linear-gradient(90deg, #000 50%, var(--background, #fff) 0) 100% no-repeat;
    background: -webkit-gradient(linear, left top, right top, color-stop(50%, var(--primary, #000)), color-stop(50%, var(--background, #fff))) 100% no-repeat;
    background: linear-gradient(90deg, var(--primary, #000) 50%, var(--background, #fff) 0) 100% no-repeat;
    background-size: 200%;
    border: .125rem solid;
    border-radius: 0;
    color: inherit;
    opacity: 1;
    -webkit-transition: all .25s;
    transition: all .25s;
    white-space: nowrap
}

.flickity-prev-next-button .flickity-button-icon {
    position: static;
    width: 1.25rem;
    height: 1.25rem
}

.flickity-prev-next-button[disabled] {
    opacity: .5
}

.flickity-prev-next-button.previous {
    left: 0;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%)
}

.flickity-prev-next-button.next {
    right: 0;
    -webkit-transform: translate(50%, -50%);
    transform: translate(50%, -50%)
}

@media (min-width:640px) {
    .flickity-prev-next-button:hover {
        background-position: 0;
        border-color: var(--primary, #000);
        color: #fff;
        color: var(--secondary, #fff)
    }
}

@media (max-width:767px) {
    .flickity-prev-next-button {
        top: unset;
        bottom: 0
    }

    .flickity-prev-next-button.next, .flickity-prev-next-button.previous {
        -webkit-transform: translate(0);
        transform: translate(0)
    }
}

.flickity-page-dots {
    bottom: 1.25rem;
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: center;
    justify-content: center
}

.flickity-page-dots .dot {
    margin: 0 .3125rem;
    background: transparent;
    border: .125rem solid;
    border-radius: 0;
    opacity: 1
}

.flickity-page-dots .is-selected {
    background: currentColor
}

.carousel:not(.flickity-enabled) {
    display: -webkit-box;
    display: flex;
    overflow: hidden
}

.carousel:not(.flickity-enabled) .carousel__item {
    -webkit-box-flex: 1;
    flex: 1 0 auto
}

.carousel:not(.flickity-enabled) .carousel__caption, .carousel:not(.flickity-enabled) .carousel__item {
    opacity: 1 !important
}

.carousel.is-fade .is-selected {
    z-index: 2
}

.theme--black .flickity-prev-next-button {
    background-image: -webkit-gradient(linear, left top, right top, color-stop(50%, #fff), color-stop(50%, #000));
    background-image: linear-gradient(90deg, #fff 50%, #000 0)
}

.carousel--facts-a {
    counter-reset: i;
    margin: 0;
    text-align: center
}

.carousel--facts-a .flickity-viewport {
    margin: 1.25rem 0;
    border-left: .125rem solid;
    border-left-color: var(--primary, currentColor);
    border-bottom-color: var(--primary, currentColor);
    border-right-color: var(--primary, currentColor);
    border-top-color: var(--primary, currentColor)
}

@media (min-width:640px) {
    .carousel--facts-a .flickity-viewport {
        margin: 3.75rem 0
    }
}

.carousel--facts-a .carousel__item {
    counter-increment: i;
    width: 15rem;
    min-height: 100%;
    padding: 0 1.25rem;
    border-left: 1px solid;
    opacity: .5;
    text-align: left
}

.carousel--facts-a .carousel__item:before {
    content: counter(i, decimal-leading-zero);
    display: block;
    margin-bottom: 2.5rem;
    font-size: 2rem;
    font-size: calc(2rem*var(--scale, 1));
    line-height: 1.32
}

.carousel--facts-a .carousel__item.is-selected {
    opacity: 1;
    border-color: var(--primary, currentColor)
}

.carousel--facts-b {
    display: -webkit-box;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    min-height: 100%;
    padding: 1.25rem;
    margin: 0
}

.carousel--facts-b .carousel__pager {
    color: grey;
    font-size: .8rem;
    font-size: calc(0.8rem*var(--scale, 1));
    line-height: 1
}

.carousel--facts-b .carousel__pager:before {
    content: attr(data-active-slide);
    color: #fff;
    font-size: 1.5rem;
    font-size: calc(1.5rem*var(--scale, 1));
    vertical-align: text-top
}

.carousel--facts-b .flickity-viewport {
    margin: auto 0
}

@media (min-width:1024px) {
    .carousel--facts-b .flickity-prev-next-button {
        display: none
    }
}

.carousel--articles-a {
    display: -webkit-box;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    -webkit-box-flex: 1;
    flex-grow: 1;
    margin: 0
}

.carousel--articles-a .flickity-viewport {
    margin: auto 0
}

@media (min-width:1024px) {
    .carousel--articles-a .flickity-page-dots {
        display: none
    }
}

.carousel--articles-b {
    margin: 0 auto
}

.carousel--articles-b .flickity-viewport {
    background-color: #fff
}

@media (min-width:1024px) {
    .carousel--articles-b .flickity-viewport {
        margin: 3.75rem 0
    }
}

@media (min-width:1024px) {
    .carousel--articles-b .flickity-prev-next-button {
        display: none
    }
}

@media (max-width:1023px) {
    .carousel--articles-b .carousel__nav {
        display: none
    }
}

.carousel--captions-a {
    margin: 0
}

.carousel--captions-a .flickity-page-dots {
    color: #fff
}

.carousel--captions-b {
    margin: 0
}

.carousel--captions-b h1, .carousel--captions-b h2, .carousel--captions-b h3, .carousel--captions-b h4, .carousel--captions-b h5, .carousel--captions-b h6 {
    padding-left: 1.25rem;
    margin-left: 0;
    border-left: .25rem solid;
    border-left-color: var(--primary, currentColor);
    border-bottom-color: var(--primary, currentColor);
    border-right-color: var(--primary, currentColor);
    border-top-color: var(--primary, currentColor)
}

@media (max-width:1023px) {
    .carousel--captions-b h1, .carousel--captions-b h2, .carousel--captions-b h3, .carousel--captions-b h4, .carousel--captions-b h5, .carousel--captions-b h6 {
        display: inline-block;
        text-align: left
    }
}

@media (min-width:1024px) {
    .carousel--captions-b h1, .carousel--captions-b h2, .carousel--captions-b h3, .carousel--captions-b h4, .carousel--captions-b h5, .carousel--captions-b h6 {
        max-width: 18.75rem
    }
}

.carousel--captions-b .flickity-prev-next-button {
    position: static;
    -webkit-transform: none;
    transform: none;
    margin-top: 2.5rem
}

.carousel--captions-b .flickity-prev-next-button+.flickity-prev-next-button {
    margin-left: 1.25rem
}

.row {
    margin: 2.5rem 0;
    text-align: left
}

.row:first-child {
    margin-top: 0
}

.row:last-child {
    margin-bottom: 0
}

@media (min-width:1024px) {
    .row {
        margin-top: 3.75rem;
        margin-bottom: 3.75rem
    }
}

@media (max-width:1023px) {
    .row {
        text-align: center
    }
}

.row+.row:before {
    content: "";
    display: block;
    padding-top: 2.5rem;
    border-top: .125rem solid;
    opacity: .5
}

@media (min-width:1024px) {
    .row+.row:before {
        padding-top: 3.75rem
    }
}

.cols {
    display: -webkit-box;
    display: flex;
    flex-wrap: wrap;
    -webkit-box-pack: start;
    justify-content: flex-start;
    margin: 2.5rem -1.25rem
}

.cols:first-child {
    margin-top: 0
}

.cols:last-child {
    margin-bottom: 0
}

@media (max-width:1023px) {
    .cols {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        flex-direction: column
    }
}

.col {
    -webkit-box-flex: 1;
    flex: 1;
    width: 100%;
    padding: 0 1.25rem
}

@media (max-width:1023px) {
    .col {
        margin-bottom: 1.25rem
    }

    .col:last-child {
        margin-bottom: 0
    }
}

.cols--top {
    -webkit-box-align: start;
    align-items: flex-start
}

.cols--middle {
    -webkit-box-align: center;
    align-items: center
}

.cols--bottom {
    -webkit-box-align: end;
    align-items: flex-end
}

.col--25 {
    flex: 0 1 25%
}

.col--25, .col--30 {
    -webkit-box-flex: 0
}

.col--30 {
    flex: 0 1 30%
}

.col--33 {
    flex: 0 1 33.333%
}

.col--33, .col--40 {
    -webkit-box-flex: 0
}

.col--40 {
    flex: 0 1 40%
}

.col--50 {
    flex: 0 1 50%
}

.col--50, .col--60 {
    -webkit-box-flex: 0
}

.col--60 {
    flex: 0 1 60%
}

.col--66 {
    flex: 0 1 66.666%
}

.col--66, .col--70 {
    -webkit-box-flex: 0
}

.col--70 {
    flex: 0 1 70%
}

.col--75 {
    -webkit-box-flex: 0;
    flex: 0 1 75%
}

.col--25:nth-child(n+5), .col--30:nth-child(n+4), .col--33:nth-child(n+4), .col--40:nth-child(n+3), .col--50:nth-child(n+3), .col--60:nth-child(n+2), .col--66:nth-child(n+2), .col--70:nth-child(n+2), .col--75:nth-child(n+2) {
    margin-top: 1.25rem
}

@media (min-width:1024px) {
    .figure--left, .figure--right {
        max-width: calc(50% - 1.25rem);
        margin: 0 0 1.25rem
    }

    .figure--left {
        float: left;
        margin-right: 2.5rem
    }

    .figure--right {
        float: left;
        margin-left: 2.5rem
    }
}

.icon {
    margin-left: .625rem
}

.icon:first-child {
    margin-left: 0
}

.icon--colour {
    color: var(--primary, currentColor)
}

.icon+span {
    vertical-align: middle;
    margin-left: .3125rem
}

.icon--arrow {
    width: 1em;
    height: 1em
}

.form__field {
    display: -webkit-box;
    display: flex;
    -webkit-box-align: end;
    align-items: flex-end;
    position: relative;
    margin-bottom: 1.25rem
}

.form__field:last-child {
    margin-bottom: 0
}

.form__field .floating-label {
    -webkit-box-flex: 1;
    flex: 1 0 auto
}

.form__field .button {
    margin-left: 1.25rem
}

.form__field .button--no-text {
    position: absolute;
    right: 0;
    bottom: .125rem;
    z-index: 5
}

.form__field input[type=checkbox], .form__field input[type=radio] {
    flex-shrink: 0
}

.button--no-text {
    width: 2.5rem;
    height: 2.5rem;
    padding: .625rem;
    border: 0
}

.button--no-text svg {
    width: 100%;
    height: 100%;
    margin: 0
}

.floating-label {
    position: relative;
    display: -webkit-box;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    flex-flow: column-reverse
}

.floating-label input, .floating-label label, .floating-label select, .floating-label textarea {
    margin: 0;
    cursor: text;
    text-align: left;
    -webkit-transition: all .25s;
    transition: all .25s;
    touch-action: manipulation
}

.floating-label label {
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-transform: translateY(calc(100% + .625rem));
    transform: translateY(calc(100% + .625rem))
}

.floating-label input::-webkit-input-placeholder, .floating-label textarea::-webkit-input-placeholder {
    opacity: 0;
    -webkit-transition: inherit;
    transition: inherit
}

.floating-label input::-moz-placeholder, .floating-label textarea::-moz-placeholder {
    opacity: 0;
    -webkit-transition: inherit;
    transition: inherit
}

.floating-label input:-ms-input-placeholder, .floating-label textarea:-ms-input-placeholder {
    opacity: 0;
    -webkit-transition: inherit;
    transition: inherit
}

.floating-label input::-ms-input-placeholder, .floating-label textarea::-ms-input-placeholder {
    opacity: 0;
    -webkit-transition: inherit;
    transition: inherit
}

.floating-label input::placeholder, .floating-label textarea::placeholder {
    opacity: 0;
    -webkit-transition: inherit;
    transition: inherit
}

.floating-label input:focus::-webkit-input-placeholder, .floating-label textarea:focus::-webkit-input-placeholder {
    opacity: 1
}

.floating-label input:focus::-moz-placeholder, .floating-label textarea:focus::-moz-placeholder {
    opacity: 1
}

.floating-label input:focus:-ms-input-placeholder, .floating-label textarea:focus:-ms-input-placeholder {
    opacity: 1
}

.floating-label input:focus::-ms-input-placeholder, .floating-label textarea:focus::-ms-input-placeholder {
    opacity: 1
}

.floating-label input:focus::placeholder, .floating-label textarea:focus::placeholder {
    opacity: 1
}

.floating-label input:focus+label, .floating-label input:not(:placeholder-shown)+label, .floating-label textarea:focus+label, .floating-label textarea:not(:placeholder-shown)+label {
    -webkit-transform: translateY(0);
    transform: translateY(0)
}

.floating-label select, .floating-label select+label {
    cursor: pointer
}

.floating-label select+label {
    z-index: -1;
    opacity: 0
}

.list-border, .list-breadcrumbs, .list-inline, .list-labels, .list-unstyled {
    list-style-type: none
}

@media (max-width:1023px) {
    .list-border, .list-breadcrumbs, .list-inline, .list-labels, .list-unstyled {
        text-align: center
    }
}

.list-border li, .list-breadcrumbs li, .list-inline li, .list-labels li, .list-unstyled li {
    padding-left: 0
}

.list-border li:before, .list-breadcrumbs li:before, .list-inline li:before, .list-labels li:before, .list-unstyled li:before {
    content: none
}

.list-border, .list-breadcrumbs, .list-inline, .list-labels {
    text-align: inherit
}

.list-border li, .list-breadcrumbs li, .list-inline li, .list-labels li {
    display: inline-block;
    vertical-align: middle;
    width: auto;
    margin-right: 1.25rem;
    margin-bottom: 0
}

.list-inline.connect-with-us-icons li { margin-right: 0; }

.list-border li:last-child, .list-breadcrumbs li:last-child, .list-inline li:last-child, .list-labels li:last-child {
    margin-right: 0
}

.list-inline--img li {
    margin-right: 2.5rem
}

.list-border {
    margin-bottom: 1.25rem;
    overflow: hidden;
    font-size: .7rem;
    font-size: calc(0.7rem*var(--scale, 1));
    line-height: 1.32
}

@media (min-width:640px) {
    .list-border {
        margin-bottom: 2.5rem
    }
}

@media (min-width:1280px) {
    .list-border {
        margin-bottom: 3.75rem
    }
}

.list-border li {
    padding-right: .625rem;
    margin-right: calc(.625rem - .1875em);
    border-left-color: var(--primary, currentColor);
    border-bottom-color: var(--primary, currentColor);
    border-right: .125rem solid;
    border-right-color: var(--primary, currentColor);
    border-top-color: var(--primary, currentColor)
}

.list-border li:last-child {
    padding-right: 0;
    margin-right: 0;
    border-right: 0
}

.list-border:after {
    content: "";
    display: block;
    width: 2em;
    height: .125rem;
    margin-top: 1em;
    background: #000;
    background: var(--primary, currentColor)
}

@media (max-width:1023px) {
    .list-border:after {
        margin-left: auto;
        margin-right: auto
    }
}

.list-breadcrumbs {
    display: inline-block;
    padding-bottom: .625rem;
    border-bottom: 1px solid;
    text-align: left;
    -webkit-transition: all .25s .75s;
    transition: all .25s .75s
}

@media (min-width:1024px) {
    .list-breadcrumbs {
        --scale: 1
    }
}

.list-breadcrumbs li {
    display: inline-block;
    margin-right: .4375rem;
    font-size: .6rem;
    font-size: calc(0.6rem*var(--scale, 1));
    line-height: 1.25;
    text-transform: uppercase
}

.list-breadcrumbs li:after {
    content: "";
    display: inline-block;
    vertical-align: middle;
    width: 1em;
    height: 1em;
    margin-left: .625rem;
    background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' style='transform-origin:center center' transform='rotate(180)'%3E%3Cpath d='M19.09 9H4.32l2.43-2.43-1.42-1.41L.49 10l4.84 4.84 1.42-1.41L4.32 11h14.77V9z'/%3E%3C/svg%3E") 50% no-repeat;
    background-size: contain
}

.list-breadcrumbs li:last-child:after {
    content: none
}

.list-breadcrumbs a {
    text-decoration: none
}

.list-breadcrumbs a:after {
    content: none
}

@media (max-width:1023px) {
    .list-breadcrumbs {
        display: none
    }
}

.theme--black .list-breadcrumbs li:after {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' style='transform-origin:center center' fill='%23fff' transform='rotate(180)'%3E%3Cpath d='M19.09 9H4.32l2.43-2.43-1.42-1.41L.49 10l4.84 4.84 1.42-1.41L4.32 11h14.77V9z'/%3E%3C/svg%3E")
}

body[class*=is-offcanvas] .list-breadcrumbs {
    opacity: 0;
    visibility: hidden;
    -webkit-transition-delay: 0s;
    transition-delay: 0s
}

.list-columns {
    -webkit-columns: 2;
    -moz-columns: 2;
    column-count: 2;
    text-align: left
}

.list-labels {
    margin: -.3125rem -.3125rem .9375rem
}

.list-labels li {
    display: -webkit-inline-box;
    display: inline-flex;
    -webkit-box-align: center;
    align-items: center;
    padding: .1875rem .5rem;
    margin: .3125rem;
    background: #000;
    background: var(--primary, #000);
    border: .125rem solid #000;
    border-color: var(--primary);
    color: #fff;
    color: var(--secondary, #fff);
    font-size: .8rem;
    font-size: calc(0.8rem*var(--scale, 1));
    line-height: 1.25
}

.list-labels .list-labels__tag {
    background: transparent;
    border: .125rem solid;
    color: var(--primary, #000)
}

.theme--black .list-labels li {
    background: var(--text, #fff);
    color: var(--background, #000)
}

.listing {
    display: -webkit-box;
    display: flex;
    margin-bottom: 1.25rem;
    font-size: 1rem;
    font-size: calc(1rem*var(--scale, 1))
}

@media (min-width:1280px) {
    .listing {
        --scale: 1
    }
}

@media (max-width:1023px) {
    .listing {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        flex-direction: column
    }
}

.listing:last-child {
    margin-bottom: 0
}

.listing .listing__inner {
    -webkit-box-flex: 1;
    flex: 1 1 auto
}

.listing .listing__inner h2, .listing .listing__inner h3 {
    padding-bottom: .625rem;
    margin-bottom: .625rem;
    border-bottom: .125rem solid rgba(0, 0, 0, .25);
    font-size: 1.5rem;
    font-size: calc(1.5rem*var(--scale, 1))
}

.listing__thumb {
    -webkit-box-flex: 0;
    flex: 0 0 10rem;
    margin: 0 0 .625rem
}

@media (min-width:1024px) {
    .listing__thumb {
        margin: 0 1.25rem 0 0
    }
}

.tab {
    margin: 3.75rem 0
}

.tab:first-child {
    margin-top: 0
}

.tab:last-child {
    margin-bottom: 0
}

.tab__bar {
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    max-width: 100%;
    padding: 0;
    margin: 0 0 2.5rem;
    overflow: auto;
    list-style-type: none
}

@media (min-width:768px) {
    .tab__bar {
        flex-wrap: wrap;
        -webkit-box-pack: center;
        justify-content: center
    }
}

@media (max-width:767px) {
    .tab__bar {
        max-width: calc(100% + 2.5rem);
        margin-left: -1.25rem;
        margin-right: -1.25rem
    }

    .tab__bar:after, .tab__bar:before {
        content: "";
        -webkit-box-flex: 0;
        flex: 0 0 1.25rem;
        height: 1px
    }

    .tab__bar:after {
        position: absolute;
        right: 0;
        width: 6.png25rem;
        height: 2.5rem;
        background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M14.3 4.54l-1.42 1.42 2.43 2.43H.54v2h14.77l-2.43 2.43 1.42 1.41 4.84-4.84z'/%3E%3C/svg%3E") 100% no-repeat, -webkit-gradient(linear, left top, right top, from(transparent), to(#fff)) 0 no-repeat;
        background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M14.3 4.54l-1.42 1.42 2.43 2.43H.54v2h14.77l-2.43 2.43 1.42 1.41 4.84-4.84z'/%3E%3C/svg%3E") 100% no-repeat, linear-gradient(90deg, transparent, #fff) 0 no-repeat;
        background-size: .875rem, 100%;
        -webkit-animation: arrow-bounce .75s ease-in-out infinite;
        animation: arrow-bounce .75s ease-in-out infinite
    }
}

.tab__bar li {
    padding-left: 0
}

.tab__bar li:before {
    content: none
}

.tab__item {
    -webkit-box-flex: 0;
    flex: 0 0 auto;
    cursor: pointer;
    margin: .625rem
}

@media (min-width:1024px) {
    .tab__item {
        margin: .625rem 1.25rem
    }
}

.tab__item:first-child {
    margin-left: 0
}

.tab__item:last-child {
    margin-right: 0
}

@media (max-width:639px) {
    .tab__item:last-child {
        z-index: 20
    }

    .tab__item:last-child:after {
        content: "";
        position: absolute;
        right: 0;
        width: 1.25rem;
        height: 2.5rem;
        -webkit-transform: translateX(100%);
        transform: translateX(100%);
        background: #fff
    }
}

.tab__item svg {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg)
}

.tab__item--active .button {
    background-position: 0;
    color: #000;
    color: var(--secondary, #000)
}

.tab__content {
    display: none;
    margin: 0
}

.tab__content--active {
    display: block
}

@media (max-width:767px) {
    .theme--black .tab__bar:after {
        background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23fff'%3E%3Cpath d='M14.3 4.54l-1.42 1.42 2.43 2.43H.54v2h14.77l-2.43 2.43 1.42 1.41 4.84-4.84z'/%3E%3C/svg%3E"), -webkit-gradient(linear, left top, right top, from(transparent), to(#000));
        background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23fff'%3E%3Cpath d='M14.3 4.54l-1.42 1.42 2.43 2.43H.54v2h14.77l-2.43 2.43 1.42 1.41 4.84-4.84z'/%3E%3C/svg%3E"), linear-gradient(90deg, transparent, #000)
    }

    .theme--black .tab__item:last-child:after {
        background: #000
    }
}

@media (max-width:767px) {
    .theme--light-grey .tab__bar:after {
        background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M14.3 4.54l-1.42 1.42 2.43 2.43H.54v2h14.77l-2.43 2.43 1.42 1.41 4.84-4.84z'/%3E%3C/svg%3E"), -webkit-gradient(linear, left top, right top, from(transparent), to(#f2f2f2));
        background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M14.3 4.54l-1.42 1.42 2.43 2.43H.54v2h14.77l-2.43 2.43 1.42 1.41 4.84-4.84z'/%3E%3C/svg%3E"), linear-gradient(90deg, transparent, #f2f2f2)
    }

    .theme--light-grey .tab__item:last-child:after {
        background: #f2f2f2
    }
}

.download {
    display: -webkit-box;
    display: flex;
    margin-bottom: .625rem;
    -webkit-box-align: center;
    align-items: center
}

.download:after {
    content: none
}

.download .icon {
    flex-shrink: 0;
    padding-right: .625rem;
    margin-right: .625rem;
    border-left-color: var(--primary, currentColor);
    border-bottom-color: var(--primary, currentColor);
    border-right: .125rem solid;
    border-right-color: var(--primary, currentColor);
    border-top-color: var(--primary, currentColor)
}

.download .icon+span {
    margin-left: 0
}

.download .icon+span, .h-alt {
    font-size: .8rem;
    font-size: calc(0.8rem*var(--scale, 1))
}

.h-alt {
    display: inline-block;
    padding: .3125rem .625rem;
    background: #000;
    background: var(--primary, currentColor);
    color: #fff;
    color: var(--secondary, #fff);
    line-height: 1.25
}

.h-border {
    padding-bottom: .625rem;
    margin-bottom: 2.5rem;
    border-left-color: var(--primary, currentColor);
    border-bottom: .25rem solid;
    border-bottom-color: var(--primary, currentColor);
    border-right-color: var(--primary, currentColor);
    border-top-color: var(--primary, currentColor);
    font-size: 2rem;
    font-size: calc(2rem*var(--scale, 1))
}

.icon-block {
    display: -webkit-box;
    display: flex;
    max-width: 30rem;
    margin-bottom: 1.25rem;
    font-size: .8rem;
    font-size: calc(0.8rem*var(--scale, 1));
    text-align: left
}

@media (max-width:1023px) {
    .icon-block {
        margin-left: auto;
        margin-right: auto
    }
}

.icon-block:last-child {
    margin-bottom: 0
}

.icon-block>.icon {
    -webkit-box-flex: 0;
    flex: 0 0 2rem;
    width: 100%;
    height: 100%;
    margin-right: 1.25rem;
    fill: var(--primary, currentColor)
}

.icon-block h1:first-child, .icon-block h2:first-child, .icon-block h3:first-child, .icon-block h4:first-child, .icon-block h5:first-child, .icon-block h6:first-child, .icon-block p:first-child {
    font-size: 2rem;
    font-size: calc(1rem*var(--scale, 1));
    line-height: 1;
    margin-bottom: .3125rem
}

.icon-block .button:last-child {
    margin-bottom: .625rem
}
      
.icon-block__address {
	font-size: calc(1rem*var(--scale, 1));
}

.link-block {
    padding-left: 1.25rem;
    margin-bottom: 1.25rem;
    border: 0 solid;
    border-color: var(--primary, currentColor);
    border-left: .25rem solid var(--primary, currentColor);
    text-align: left
}

@media (min-width:1024px) {
    .link-block {
        --scale: 1;
        margin-bottom: 3.75rem
    }
}

.link-block:last-child {
    margin-bottom: 0
}

.link-block .inline-buttons {
    -webkit-box-align: start;
    align-items: flex-start
}

.link-block__heading {
    margin: 0 0 1.25rem;
    font-size: 1.5rem;
    font-size: calc(1.5rem*var(--scale, 1))
}

.link-block__heading a svg {
    opacity: 0;
    -webkit-transform: translateX(-.25em);
    transform: translateX(-.25em);
    -webkit-transition: all .25s;
    transition: all .25s
}

.link-block__heading a:hover svg {
    opacity: 1;
    -webkit-transform: none;
    transform: none
}

.link-block--callout {
    padding: 1.25rem;
    border-width: .25rem
}

@media (min-width:1024px) {
    .link-block--callout {
        margin-top: -1.25rem
    }
}

.inline-buttons {
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    flex-wrap: wrap;
    margin: 0 -.625rem 1.875rem
}

@media (max-width:1023px) {
    .inline-buttons {
        -webkit-box-pack: center;
        justify-content: center
    }
}

.inline-buttons:last-child {
    margin-bottom: 0
}

.inline-buttons .button {
    -webkit-box-flex: 0;
    flex: 0 0 auto;
    margin: .625rem;
    max-width: calc(100% - 1.25rem)
}

.inline-buttons--vertical {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    margin-left: 0;
    margin-right: 0
}

.inline-buttons--vertical .button {
    margin: .625rem 0
}

.align-centre .inline-buttons {
    -webkit-box-pack: center;
    justify-content: center
}

@media (min-width:1024px) {
    .align-centre .row .inline-buttons {
        -webkit-box-pack: start;
        justify-content: flex-start
    }
}

@media (min-width:1024px) {
    .align-centre .row .inline-buttons--vertical {
        -webkit-box-align: start;
        align-items: flex-start
    }
}

.lede {
    font-size: 1.5rem;
    font-size: calc(1.5rem*var(--scale, 1));
    line-height: 1.25
}

.cards .row:before {
    content: none
}

.card, .card__inner {
    display: -webkit-box;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column
}

.card {
    height: 100%;
    max-width: 30rem;
    margin: 0 auto
}

.card h2, .card h3, .card h4, .card h5, .card h6 {
    margin-bottom: 1.25rem;
    font-size: 1.5rem;
    font-size: calc(1.5rem*var(--scale, 1))
}

@media (min-width:1024px) {
    .card h2, .card h3, .card h4, .card h5, .card h6 {
        width: 100%
    }
}

.card p {
    margin-bottom: 0
}

.card ul {
    margin: 2.5rem 0 1.875rem
}

.card .inline-buttons {
    margin-top: auto
}

.card__image {
    position: relative;
    display: inline-block;
    margin-bottom: 2.5rem
}

.card__image img {
    margin: 0
}

.card__image-tag {
    position: absolute;
    bottom: 0;
    padding: .625rem 1.25rem 0 0;
    background: #fff;
    font-size: .8rem;
    font-size: calc(0.8rem*var(--scale, 1));
    line-height: 1
}

.card__image-tag span, .card__image-tag svg {
    vertical-align: middle
}

.card__image-tag svg {
    width: 2rem;
    height: 2rem
}

.card__inner {
    -webkit-box-flex: 1;
    flex: 1 0 auto
}

.panel, .panel__inner {
    display: -webkit-box;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column
}

.panel {
    height: 100%;
    border-bottom: .125rem solid rgba(0, 0, 0, .25)
}

.panel img {
    margin-bottom: .625rem
}

.panel .inline-buttons {
    margin-top: auto
}

.panel__heading {
    margin: 0 0 2.5rem;
    font-size: 1.5rem;
    font-size: calc(1.5rem*var(--scale, 1))
}

.panel__inner {
    -webkit-box-flex: 1;
    flex: 1 0 auto;
    padding: 1.25rem 0
}

.theme--black .panel {
    border-color: hsla(0, 0%, 100%, .25)
}

.promo {
    display: inline-block;
    position: relative;
    color: #fff;
    text-align: left
}

.promo img {
    margin: 0
}

.promo h1, .promo h2, .promo h3, .promo h4, .promo h5, .promo h6 {
    font-size: 2rem;
    font-size: calc(2rem*var(--scale, 1));
    margin-bottom: auto
}

.promo .inline-buttons {
    -webkit-box-align: start;
    align-items: flex-start
}

.promo .button {
    background-image: -webkit-gradient(linear, left top, right top, color-stop(50%, var(--text, #000)), color-stop(50%, var(--background, #fff)));
    background-image: linear-gradient(90deg, var(--text, #000) 50%, var(--background, #fff) 0);
    border-color: var(--text, #000);
    color: var(--text, #000)
}

.promo .button:focus, .promo .button:hover {
    color: var(--background, #fff);
}

.promo__inner {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: -webkit-box;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    padding: 1.25rem;
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, .75)), color-stop(50%, transparent));
    background: linear-gradient(180deg, rgba(0, 0, 0, .75), transparent 50%)
}

.promo__inner>* {
    width: 100%
}

.stamp {
    position: relative;
    display: -webkit-inline-box;
    display: inline-flex;
    -webkit-box-align: center;
    align-items: center;
    padding: 1.25rem .625rem .625rem;
    color: #fff;
    color: var(--secondary, #fff);
    line-height: 1.25;
    text-align: center
}

.stamp, .stamp svg {
    font-size: 1rem;
    font-size: calc(1rem*var(--scale, 1))
}

.stamp svg {
    position: absolute;
    top: .625rem;
    right: .625rem;
    z-index: 1;
    width: 3.2rem;
    height: 3.2rem;
    width: calc(3rem*var(--scale, 1));
    height: calc(3rem*var(--scale, 1));
    -webkit-transform: translate(.25em, -.25em);
    transform: translate(.25em, -.25em);
    -webkit-animation: bounce 1s ease-in-out infinite;
    animation: bounce 1s ease-in-out infinite;
    stroke: var(--primary);
    stroke-width: 3
}

@media (min-width:640px) {
    .stamp svg {
        top: 0;
        right: 0
    }
}

.stamp__inner {
    width: 9rem;
    height: 9rem;
    width: calc(9rem*var(--scale, 1));
    height: calc(9rem*var(--scale, 1));
    padding: 2.5rem 1.25rem;
    background: #000;
    background: var(--primary, currentColor);
    border-radius: 50%;
    -webkit-transform: rotate(15deg);
    transform: rotate(15deg)
}

.stat {
    display: -webkit-box;
    display: flex;
    -webkit-box-align: start;
    align-items: flex-start;
    max-width: 50rem;
    margin: 2.5rem 0;
    line-height: 1.25
}

.stat svg {
    -webkit-box-flex: 0;
    flex: 0 0 auto;
    width: 2.5rem;
    height: 2.5rem;
    margin-right: .1875em
}

.stat:first-child {
    margin-top: 0
}

.stat:last-child {
    margin-bottom: 0
}

.stat__lead, .stat__sub {
    font-size: 2.5rem;
    font-size: calc(2.5rem*var(--scale, 1));
    line-height: .9375;
    letter-spacing: -.03125em
}

@media (max-width:639px) {
    .stat__lead, .stat__sub {
        --scale: 0.875
    }
}

.stat__text {
    margin-left: 1.25rem
}

@media (min-width:1280px) {
    .stat__text {
        margin-left: 2.5rem
    }
}

.stat__sub {
    margin-bottom: .625rem
}

.stat--stack, .stat--stack-large {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    -webkit-box-align: center;
    align-items: center;
    margin-left: auto;
    margin-right: auto;
    text-align: center
}

.stat--stack-large .stat__lead, .stat--stack .stat__lead {
    margin: 0;
    line-height: 1.32
}

.stat--stack-large svg, .stat--stack svg {
    margin-bottom: .625rem
}

.stat--stack-large .stat__text, .stat--stack .stat__text {
    max-width: 14rem;
    margin: 0
}

.stat--stack-large .stat__lead {
    margin-bottom: 1.25rem;
    font-size: 8.75rem;
    font-size: calc(8.75rem*var(--scale, 1))
}

.stat--stack-large svg {
    width: 8.75rem;
    height: 8.75rem;
    padding-top: 2.5rem;
    width: calc(8.75rem*var(--scale, 1));
    height: calc(8.75rem*var(--scale, 1));
    padding-top: calc(2rem*var(--scale, 1))
}

@media (min-width:1920px) {
    .stat--stack-large .stat__lead {
        font-size: calc(11.25rem*var(--scale, 1))
    }

    .stat--stack-large svg {
        width: calc(11.25rem*var(--scale, 1));
        height: calc(11.25rem*var(--scale, 1))
    }
}

@media (max-width:639px), (min-width:1024px) and (max-width:1279px) {
    .stat--stack-large .stat__lead {
        font-size: calc(7rem*var(--scale, 1))
    }

    .stat--stack-large svg {
        width: calc(7rem*var(--scale, 1));
        height: calc(7rem*var(--scale, 1))
    }
}

@media (max-width:1023px) {
    .stat:not([class*=stat--stack]) {
        text-align: left
    }
}

@media (max-width:639px) {
   /*
    .stat:not([class*=stat--stack]) {
        display: block
    }

    .stat:not([class*=stat--stack]) .stat__lead, .stat:not([class*=stat--stack]) .stat__text {
        margin: 0
    }

    .stat:not([class*=stat--stack]) .stat__lead {
        font-size: inherit;
        line-height: inherit
    } **/
}

.statistics {
    width: 100%;
    max-width: 30rem;
    margin: 2.5rem 0
}

@media (max-width:1023px) {
    .statistics {
        margin-left: auto;
        margin-right: auto
    }
}

.statistics:first-child {
    margin-top: 0
}

.statistics:last-child {
    margin-bottom: 0
}

.statistics .statistics__title {
    font-family: theinhardt-bold, sans-serif, Arial, sans-serif;
    font-size: 1rem;
    font-size: calc(1rem*var(--scale, 1))
}

.statistics > :is(ul, div) {
    display: -webkit-box;
    display: flex;
    padding: 0;
    list-style-type: none
}

.statistics li {
    padding-left: 0
}

.statistics li:before {
    content: none
}

.statistics .stat {
    -webkit-box-flex: 1;
    flex: 1 1 auto;
    margin: 0
}

.statistics .stat+.stat {
    padding-left: 1.25rem;
    margin-left: 1.25rem;
    border-left: .25rem solid;
    border-left-color: var(--primary, currentColor);
    border-bottom-color: var(--primary, currentColor);
    border-right-color: var(--primary, currentColor);
    border-top-color: var(--primary, currentColor)
}

.statistics--border ul {
    padding: 1.25rem .625rem;
    border: .25rem solid;
    border-color: var(--primary, currentColor)
}

@media (min-width:1024px) {
    .statistics--border ul {
        padding: 1.25rem
    }
}

@media (min-width:1280px) {
    .statistics--border ul {
        padding: 1.25rem 2.5rem
    }
}

.statistics--border .stat+.stat {
    padding-left: .625rem;
    margin-left: .625rem
}

.subheading {
    display: block;
    max-width: 30rem;
    padding-bottom: .15625em;
    margin-bottom: 1.25rem;
    overflow: hidden
}

.subheading:last-child {
    margin-bottom: 0
}

.subheading p {
    display: inline;
    overflow: hidden;
    background: var(--background, #fff);
    box-shadow: .625rem 0 0 var(--background, #fff), -.625rem 0 0 var(--background, #fff);
    font-size: 1.5rem;
    font-size: calc(1.5rem*var(--scale, 1));
    line-height: 1.32
}

.subheading span {
    position: relative
}

.theme--black .subheading p {
    background: var(--background, #000);
    box-shadow: .625rem 0 0 var(--background, #000), -.625rem 0 0 var(--background, #000)
}

.accordionset {
    margin-bottom: 2.5rem;
    border: .25rem solid;
    border-bottom: 0
}

.accordionset:last-child {
    margin-bottom: 0
}

h2+.accordionset {
    margin-top: 3.75rem
}

.accordion-expand {
    text-align: right;
    margin-bottom: 2.5rem;
    display: block
}

.accordion-bar {
    -webkit-box-align: center;
    align-items: center;
    padding: .625rem 1.25rem;
    border-bottom: .25rem solid;
    text-align: left
}

.accordion-bar, .accordion-bar a {
    display: -webkit-box;
    display: flex;
    text-decoration: none
}

.accordion-bar:after, .accordion-bar span:after {
    content: none
}

.accordion-bar:last-child {
    margin-bottom: 0
}

.accordion-bar:hover {
    text-decoration: none;
    cursor: pointer
}

.accordion-icon {
    padding: 0;
    margin-left: auto;
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    overflow: hidden
}

.accordion-icon, .accordion-icon svg {
    height: .9375rem;
    -webkit-transition: all .25s;
    transition: all .25s
}

.accordion-icon svg {
    display: block;
    fill: currentColor;
    width: .9375rem;
    -webkit-transform-origin: 50% 50%;
    transform-origin: 50% 50%
}

.accordion-bar--active .accordion-icon {
    height: .1875rem
}

.accordion-bar__title {
    width: auto;
    margin: 0;
    font-size: 1rem;
    font-size: calc(1rem*var(--scale, 1));
    line-height: 1.25;
    letter-spacing: -.03125em;
    text-transform: none;
    -webkit-transition: all .25s;
    transition: all .25s
}

.accordion-pane {
    overflow: hidden
}

.accordion-bar--active+.accordion-pane {
    border-bottom: .25rem solid
}

.accordion-pane__content {
    margin: 1.25rem;
    text-align: left
}

.fade-enter-active, .fade-leave-active {
    -webkit-transition: opacity .5s;
    transition: opacity .5s
}

.fade-enter, .fade-leave-to {
    opacity: 0
}

.filter .row {
    margin: 1.25rem 0
}

.filter .row:first-child {
    margin-top: 0
}

.filter .row:last-child {
    margin-bottom: 0
}

.filter .row:before {
    padding-top: 1.25rem
}

@media (min-width:1024px) {
    .filter .col+.col {
        border-left: .125rem solid
    }
}

.filter .col .col+.col {
    border: none
}

.h-group {
    max-width: 30rem;
    margin: 0 auto 2.5rem
}

.h-group .h-group__logo {
    display: none
}

@media (max-width:1023px) {
    .h-group .h-group__logo {
        display: block;
        height: auto;
        width: 6rem
    }
}

@media (min-width:1024px) {
    .h-group {
        margin: 0 0 2.5rem
    }
}

@media (max-width:639px) {
    .h-group {
        --scale: 0.875
    }
}

.h-group .h-alt, .h-group:last-child {
    margin-bottom: 0
}

.h-group .h-main {
    overflow: hidden;
    padding-bottom: .5rem
}

.h-group .h-main h1, .h-group .h-main h2, .h-group .h-main h3, .h-group .h-main h4, .h-group .h-main h5, .h-group .h-main h6, .h-group .h-main p {
    display: inline;
    background: var(--background, #fff);
    box-shadow: .625rem 0 0 var(--background, #fff), -.625rem 0 0 var(--background, #fff);
    font-size: 3rem;
    font-size: calc(3rem*var(--scale, 1));
    line-height: 1
}

.h-group .h-main span {
    position: relative
}

.align-centre .h-group {
    max-width: 50rem;
    margin-left: auto;
    margin-right: auto
}

.image-grid {
    max-width: 50rem;
    margin: 0 auto 3.75rem
}

.image-grid:last-child {
    margin-bottom: 0
}

.image-grid__item+.image-grid__item img {
    display: none
}

@supports (display:grid) {
    .image-grid {
        display: grid;
        grid-template-columns: repeat(16, 1fr);
        grid-template-rows: repeat(12, 1fr)
    }

    .image-grid__item {
        grid-column: var(--col-start, var(--col-span))/var(--col-end, var(--col-span));
        grid-row: var(--row-start, var(--row-span))/var(--row-end, var(--row-span))
    }

    .image-grid__item img {
        -o-object-fit: cover;
        object-fit: cover;
        height: 100%;
        width: 100%
    }

    .image-grid__item+.image-grid__item img {
        display: block
    }
}

.wraparound {
    position: relative;
    overflow: auto;
    max-width: 45rem;
    text-align: left
}

.wraparound img {
    min-width: 100%;
    margin: 0
}

.wraparound p {
    position: absolute;
    top: 50%;
    left: 70%;
    right: 0;
    font-size: 6.png5vw;
    line-height: 1
}

@media (min-width:50rem) {
    .wraparound p {
        --scale: 1.25;
        font-size: 2.5rem;
        font-size: calc(2.5rem*var(--scale, 1))
    }
}

.wraparound--var1 p {
    top: 25%;
    left: 45%;
    right: 10%
}

@supports (shape-outside:polygon(0% 0%, 100% 100%)) {
    .wraparound--var1 p {
        top: 0;
        bottom: 0
    }

    .wraparound--var1 p:before {
        content: "";
        float: left;
        width: 100%;
        height: 100%;
        shape-outside: polygon(0 0, 100% 0, 100% 25%, 0 25%, 0 40%, 15% 48%, 25% 60%, 100% 60%, 100% 100%, 0 100%);
        -webkit-clip-path: polygon(0 0, 100% 0, 100% 25%, 0 25%, 0 40%, 15% 48%, 25% 60%, 100% 60%, 100% 100%, 0 100%);
        clip-path: polygon(0 0, 100% 0, 100% 25%, 0 25%, 0 40%, 15% 48%, 25% 60%, 100% 60%, 100% 100%, 0 100%)
    }
}

@media (min-width:64rem) and (max-width:100rem) {
    .col .wraparound p {
        font-size: 3.125vw
    }

    .col--60 .wraparound p {
        font-size: 3.75vw
    }

    .col--40 .wraparound p {
        font-size: 2.5vw
    }
}

@media (min-width:80rem) {
    .col--60 .wraparound p {
        font-size: 2.5rem;
        font-size: calc(2.5rem*var(--scale, 1))
    }
}

.hero .inner {
    position: relative
}

@media (min-width:1024px) {
    .hero img {
        max-width: calc(100% - 3.75rem)
    }
}

.hero .subheading {
    padding-left: 1.25rem;
    border-left: .25rem solid;
    border-left-color: var(--primary, currentColor);
    border-bottom-color: var(--primary, currentColor);
    border-right-color: var(--primary, currentColor);
    border-top-color: var(--primary, currentColor)
}

@media (max-width:1023px) {
    .hero .subheading {
        display: inline-block;
        text-align: left
    }
}

.hero .h-group, .hero .subheading {
    z-index: 6;
    position: relative
}

.hero .col {
    position: relative
}

@media (max-width:1023px) {
    .hero .col--60 {
        display: -webkit-box;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        flex-direction: column
    }

    .hero .col--60>img+.h-group {
        -webkit-box-ordinal-group: 2;
        order: 1
    }

    .hero .col--60>img {
        -webkit-box-ordinal-group: 3;
        order: 2
    }

    .hero .col--60 .h-group+.row {
        -webkit-box-ordinal-group: 4;
        order: 3
    }

    .hero .cols--middle {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        flex-direction: column-reverse
    }

    .hero .cols--middle .col:first-child {
        margin-bottom: 1rem
    }
}

.hero__date {
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    padding: .625rem;
    margin: 0;
    background: #fff;
    font-size: 3rem;
    font-size: calc(3rem*var(--scale, 1));
    line-height: 1.32;
    white-space: nowrap
}

@media (min-width:1024px) {
    .hero__date {
        top: 2.5rem;
        left: 0;
        padding: 1.25rem 0 1.25rem .625rem;
        -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        -webkit-transform: rotate(180deg) translateX(calc(50% - .625rem));
        transform: rotate(180deg) translateX(calc(50% - .625rem))
    }

    .hero__date sup {
        top: 0;
        left: .25em;
        padding: .0625em 0
    }
}

@media (max-width:768px) {
    .hero__date {
        position: relative;
        top: unset;
        left: unset;
        -webkit-transform: none;
        transform: none;
        margin-top: .5rem;
        font-size: calc(2rem*var(--scale, 1));
        white-space: normal
    }
}

@media (min-width:1024px) {
    .hero--var0 .cols {
        -webkit-box-pack: center;
        justify-content: center
    }

    .hero--var0 .col:first-child {
        z-index: 1
    }

    .hero--var0 .col:last-child img {
        max-width: 150%;
        float: right
    }

    .hero--var0 .col:first-child:last-child {
        text-align: center
    }

    .hero--var0 .col:first-child:last-child .h-group, .hero--var0 .col:first-child:last-child .subheading {
        margin-left: auto;
        margin-right: auto
    }
}

@media (max-width:1023px) {
    .hero--var0 .col:first-child {
        -webkit-box-ordinal-group: 3;
        order: 2;
        margin: 1.25rem 0 0
    }
}

.hero--var0 .h-group, .hero--var0 .subheading {
    max-width: 36.25rem
}

.hero--var0 .subheading {
    padding-left: 0;
    border-left: none
}

@media (max-width:1023px) {
    .hero--var0 .subheading {
        text-align: center;
        margin-left: auto;
        margin-right: auto
    }
}

.hero--var1 img {
    margin-right: 0
}

@media (min-width:1024px) {
    .hero--var1 .col:first-child img {
        -webkit-transform: translateX(8.75rem);
        transform: translateX(8.75rem)
    }

    .hero--var1 .col:last-child img {
        margin-top: 3.75rem
    }

    .hero--var1 .h-group {
        position: absolute;
        z-index: 1;
        -webkit-transform: translateY(-100%);
        transform: translateY(-100%);
        margin-top: -5rem
    }
}

@media (max-width:1023px) {
    .hero--var1 .col--60:first-child {
        margin-bottom: 0
    }

    .hero--var1 .col--40:last-child {
        display: none
    }
}

@media (min-width:1024px) {
    .hero--var2 img:first-of-type {
        margin-left: 0
    }

    .hero--var2 img+img {
        margin-top: -35%;
        margin-right: 0;
        -webkit-transform: translateX(2.5rem);
        transform: translateX(2.5rem)
    }

    .hero--var2 .h-group {
        margin-right: 3.75rem
    }

    .hero--var2 .subheading, .hero--var2 .subheading~p {
        margin-left: 3.75rem
    }
}

@media (max-width:1023px) {
    .hero--var2 img:first-of-type {
        display: none
    }

    .hero--var2 img:first-of-type:last-of-type {
        display: block
    }
}

@media (min-width:1024px) {
    .hero--var3 .col:first-child img {
        max-width: 150%;
        margin-left: 0;
        -webkit-transform: translateX(3.75rem);
        transform: translateX(3.75rem)
    }

    .hero--var3 .col:nth-child(2) {
        align-self: flex-start
    }

    .hero--var3 .col:last-child img {
        margin-left: 0;
        -webkit-transform: translateX(-6.png25rem);
        transform: translateX(-6.png25rem)
    }
}

@media (max-width:1023px) {
    .hero--var3 .col:first-child {
        display: -webkit-box;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        flex-direction: column
    }

    .hero--var3 .col:first-child .h-group {
        -webkit-box-ordinal-group: 3;
        order: 2;
        margin: 1.25rem auto 0
    }

    .hero--var3 .col:last-child img, .hero--var3 .col:nth-child(2) {
        display: none
    }
}

.hero--var4 img {
    margin-right: 0
}

.hero--var4 section {
    margin: 0
}

@media (min-width:1024px) {
    .hero--var4 .col:first-child img {
        margin-right: 0;
        -webkit-transform: translateX(8.75rem);
        transform: translateX(8.75rem)
    }

    .hero--var4 .col:last-child img:first-child {
        margin-top: 3.75rem
    }

    .hero--var4 .col:last-child img:last-child {
        position: absolute;
        left: -1.25rem;
        bottom: 0;
        -webkit-transform: translateX(calc(-100% + 8.75rem));
        transform: translateX(calc(-100% + 8.75rem))
    }

    .hero--var4 section {
        position: absolute;
        z-index: 1;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%)
    }

    .hero--var4 .h-group {
        max-width: 50rem
    }
}

@media (max-width:1023px) {
    .hero--var4 .col--60:first-child {
        margin-bottom: 0
    }

    .hero--var4 .col--40:last-child, .hero--var4 .col--60:first-child img+img {
        display: none
    }
}

.hero--var4 .subheading {
    padding-left: 0;
    border-left: none
}

@media (max-width:1023px) {
    .hero--var4 .subheading {
        text-align: center
    }
}

.hero--var5 .stamp {
    position: absolute;
    bottom: -1.25rem;
    right: -.625rem
}

@media (min-width:1024px) {
    .hero--var5 .cols {
        -webkit-box-pack: center;
        justify-content: center
    }

    .hero--var5 .col:first-child {
        z-index: 6
    }

    .hero--var5 .col:first-child .h-group~* {
        padding-right: 1.25rem
    }

    .hero--var5 .col:last-child img {
        margin: 0
    }

    .hero--var5 .col:last-child img:last-of-type {
        margin-top: -35%;
        margin-left: 0;
        -webkit-transform: translateX(-2.5rem);
        transform: translateX(-2.5rem)
    }
}

@media (min-width:1024px) and (min-width:1280px) {
    .hero--var5 .col:last-child img:last-of-type {
        margin-top: -30%
    }
}

@media (min-width:1024px) and (min-width:1920px) {
    .hero--var5 .col:last-child img:last-of-type {
        margin-top: -25%
    }
}

@media (min-width:1024px) {
    .hero--var5 .col:last-child .stamp {
        bottom: 2.5rem;
        right: 30%;
        -webkit-transform: translateX(50%);
        transform: translateX(50%)
    }
}

@media (min-width:1024px) {
    .hero--var5 .col:first-child:last-child {
        text-align: center
    }

    .hero--var5 .col:first-child:last-child .h-group, .hero--var5 .col:first-child:last-child .subheading {
        margin-left: auto;
        margin-right: auto
    }
}

@media (max-width:1023px) {
    .hero--var5 .col:first-child {
        -webkit-box-ordinal-group: 3;
        order: 2;
        margin: 1.25rem 0 0
    }

    .hero--var5 .col:last-child img+img {
        display: none
    }
}

.hero--var5 .h-group, .hero--var5 .subheading {
    max-width: 36.25rem
}

@media (max-width:1023px) {
    .hero--var5 .subheading {
        text-align: center
    }
}

.hero--var6 img {
    margin-right: 0
}

@media (min-width:1024px) {
    .hero--var6 .col:first-child img {
        max-width: calc(100% - 6.png25rem)
    }

    .hero--var6 .col:last-child {
        padding-top: 3.75rem
    }

    .hero--var6 .col:last-child img {
        margin-top: 3.75rem;
        margin-left: 0;
        -webkit-transform: translateX(-6.png25rem);
        transform: translateX(-6.png25rem)
    }

    .hero--var6 section {
        position: absolute;
        top: 0;
        z-index: 1
    }
}

@media (max-width:1023px) {
    .hero--var6 .col--40:last-child img {
        display: none
    }
}

.hero--var7 .h-main p {
    box-shadow: none;
    background: transparent
}

.hero--var7 .col:first-child img:first-child {
    margin-left: 0;
    margin-bottom: 0
}

.hero--var7 .col:first-child img:last-child {
    margin-right: -7.5rem;
    margin-bottom: 0;
    margin-top: -3.75rem
}

.hero--var7 .col:last-child .hero__strapline {
    -webkit-transform: translateX(-22%);
    transform: translateX(-22%);
    text-align: right;
    margin-bottom: 6.png25rem
}

.hero--var7 .col:last-child .h-alt {
    background-color: #6dd24c;
    margin-top: 0;
    margin-bottom: 0;
    line-height: 1;
    --scale: (45/16/0.8)
}

.hero--var7 .col:last-child .h-group {
    max-width: none;
    margin-right: 0;
    text-align: left
}

.hero--var7 .col:last-child .h-group .h-alt {
    margin-left: 20px
}

.hero--var7 .col:last-child .h-group .h-main {
    overflow: visible;
    line-height: .25
}

.hero--var7 .col:last-child .h-group .h-main p {
    font-size: 20vw;
    background-color: transparent;
    line-height: inherit
}

.hero--var7 .col:last-child .hero__for-the-one {
    margin-right: 9.2vw;
    margin-top: -.5em
}

.hero--var7 .subheading {
    border-width: 0;
    padding-left: 0;
    max-width: none
}

.hero--var7 .subheading p {
    background: var(--background, #fff);
    box-shadow: .625rem 0 0 var(--background, #fff), -.625rem 0 0 var(--background, #fff);
    color: var(--text, #000);
}

.hero--var7 .subheading--the-one p {
    background: var(--background, #6dd24c);
    box-shadow: .625rem 0 0 var(--background, #6dd24c), -.625rem 0 0 var(--background, #6dd24c)
}

@media (max-width:1023px) {
    .hero--var7 .col:first-child img:first-child {
        margin-top: 1rem
    }

    .hero--var7 .col:first-child img:last-child {
        display: none
    }

    .hero--var7 .col:last-child .hero__strapline {
        -webkit-transform: translateX(0);
        transform: translateX(0);
        display: -webkit-inline-box;
        display: inline-flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        flex-direction: column;
        margin-bottom: 3rem
    }

    .hero--var7 .col:last-child .h-alt {
        --scale: (45/30/0.8)
    }

    .hero--var7 .col:last-child .h-group {
        margin-bottom: 2rem
    }

    .hero--var7 .col:last-child .h-group .h-main p {
        font-size: 28vw
    }

    .hero--var7 .col:last-child .hero__for-the-one {
        margin-right: 12.88vw
    }
}

@media (max-width:767px) {
    .hero--var7 .col:last-child .hero__strapline {
        -webkit-transform: translateX(0);
        transform: translateX(0);
        display: -webkit-inline-box;
        display: inline-flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        flex-direction: column
    }

    .hero--var7 .col:last-child .h-alt {
        --scale: (45/45/0.8)
    }

    .hero--var7 .col:last-child .h-group {
        margin-bottom: 1rem
    }

    .hero--var7 .col:last-child .h-group .h-main p {
        font-size: 36vw
    }

    .hero--var7 .col:last-child .hero__for-the-one {
        margin-right: 16.56vw
    }
}

@media (min-width:1920px) {
    .hero--var7 .col:last-child .h-group .h-main p {
        --scale: 6.png95;
        font-size: calc(3rem*var(--scale, 1))
    }

    .hero--var7 .col:last-child .hero__for-the-one {
        margin-right: 9.591rem
    }
}

@media (min-width:1024px) {
    .hero--var8 .col:first-child {
        align-self: stretch;
        display: -webkit-box;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        flex-direction: column
    }

    .hero--var8 .col:first-child .h-group {
        margin-left: 1.25rem
    }

    .hero--var8 .col:first-child img:first-of-type {
        margin-left: 5rem;
        margin-top: 5rem;
        z-index: 3
    }

    .hero--var8 .col:first-child img:last-of-type {
        position: absolute;
        top: -2.5rem;
        right: 0;
        width: 60%
    }

    .hero--var8 .col:nth-child(2) {
        padding-left: 2.5rem
    }

    .hero--var8 .col:nth-child(2) .h-group {
        display: none
    }

    .hero--var8 .col:nth-child(2) img {
        width: 100%;
        margin: 5rem 0 0;
        -webkit-transform: translateX(-7.5rem);
        transform: translateX(-7.5rem)
    }

    .hero--var8 .svg-pattern--lg {
        left: 50%;
        top: -50%
    }

    .hero--var8 .svg-pattern--md {
        left: 40%;
        bottom: 0
    }

    .hero--var8 .svg-pattern--sm {
        top: 30%
    }
}

@media (max-width:1023px) {
    .hero--var8 .col:first-child {
        display: -webkit-box;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        flex-direction: column
    }

    .hero--var8 .col:first-child .h-group {
        -webkit-box-ordinal-group: 3;
        order: 2;
        margin: 1.25rem auto 0;
        display: none
    }

    .hero--var8 .col:first-child img:first-of-type {
        display: none
    }

    .hero--var8 .col:first-child img:last-of-type {
        position: relative
    }

    .hero--var8 .col:last-child .h-group {
        display: block
    }

    .hero--var8 .col:last-child img {
        display: none
    }
}

@media (min-width:1024px) {
    .hero--var9 img:first-of-type {
        margin-left: 0
    }

    .hero--var9 img+img {
        margin-top: -20%;
        margin-right: 0;
        -webkit-transform: translateX(2.5rem);
        transform: translateX(2.5rem)
    }

    .hero--var9 .h-group, .hero--var9 .subheading, .hero--var9 .subheading~p {
        margin-left: 3.75rem
    }

    .hero--var9 .svg-pattern--lg {
        left: -5%;
        bottom: -10%
    }

    .hero--var9 .svg-pattern--md {
        top: 0;
        right: 0
    }

    .hero--var9 .svg-pattern--sm {
        top: 86%;
        right: 25%
    }
}

@media (max-width:1023px) {
    .hero--var9 img:last-of-type {
        display: none
    }

    .hero--var9 img:first-of-type {
        margin-top: 2.5rem
    }

    .hero--var9 .svg-pattern--md {
        top: 60% !important
    }
}

.hero .svg-pattern {
    position: absolute
}

@media (max-width:1023px) {
    .hero .svg-pattern--lg {
        top: 0;
        right: 0;
        -webkit-transform: translate(20%, -50%);
        transform: translate(20%, -50%)
    }
}

@media (max-width:1023px) {
    .hero .svg-pattern--md {
        top: calc(56.25vw - 1.40625rem);
        left: 0;
        -webkit-transform: translate(-25%, -66%);
        transform: translate(-25%, -66%)
    }
}

@media (max-width:1023px) {
    .hero .svg-pattern--sm {
        top: 56.25vw;
        right: .625rem
    }
}

@media (min-width:1024px) {
    .hero--var0 .svg-pattern--lg {
        top: -9.75rem;
        right: -6.png25rem
    }

    .hero--var0 .svg-pattern--md {
        bottom: -3.75rem;
        left: 50%
    }

    .hero--var0 .svg-pattern--sm {
        top: 0;
        right: 60%
    }
}

.hero--no-img .svg-pattern {
    z-index: 0
}

@media (min-width:1024px) {
    .hero--no-img .svg-pattern--md {
        left: 10%
    }

    .hero--no-img .svg-pattern--sm {
        left: 5%
    }
}

@media (min-width:107.8125rem) {
    .hero--no-img .svg-pattern--lg {
        right: calc((100vw - 100rem)/-2)
    }
}

@media (max-width:1023px) {
    .hero--no-img .svg-pattern--lg {
        display: none
    }

    .hero--no-img .svg-pattern--md {
        bottom: auto;
        left: auto;
        top: .625rem;
        right: -2.5rem
    }

    .hero--no-img .svg-pattern--sm {
        top: auto;
        right: auto;
        bottom: -2.5rem;
        left: 2.5rem
    }
}

@media (min-width:1024px) {
    .hero--var1 .svg-pattern--lg, .hero--var4 .svg-pattern--lg {
        top: -9.75rem;
        right: -3.75rem
    }

    .hero--var1 .svg-pattern--md, .hero--var4 .svg-pattern--md {
        bottom: -6.png25rem;
        right: calc(20% - 5vw)
    }

    .hero--var1 .svg-pattern--sm, .hero--var4 .svg-pattern--sm {
        top: 1.25rem;
        left: 6.png25rem
    }
}

@media (min-width:1024px) {
    .hero--var2 .svg-pattern--lg {
        top: -9.75rem;
        right: -6.png25rem
    }

    .hero--var2 .svg-pattern--md {
        bottom: 2.5rem;
        right: 10%
    }

    .hero--var2 .svg-pattern--sm {
        bottom: 2.5rem;
        left: 6.png25rem
    }
}

@media (min-width:1024px) {
    .hero--var3 .svg-pattern--lg {
        bottom: -8.75rem;
        left: -6.png25rem
    }

    .hero--var3 .svg-pattern--md {
        top: -2.5rem;
        right: 3.75rem
    }

    .hero--var3 .svg-pattern--sm {
        bottom: -2.5rem;
        right: -1.25rem
    }
}

@media (min-width:1024px) {
    .hero--var5 .svg-pattern--lg {
        top: -7.5rem;
        left: 30%
    }

    .hero--var5 .svg-pattern--sm {
        bottom: -2.5rem;
        left: 25%
    }
}

@media (min-width:1024px) {
    .hero--var6 .svg-pattern--lg {
        bottom: -3.75rem;
        right: -3.75rem
    }

    .hero--var6 .svg-pattern--md {
        top: -3.75rem;
        left: 40%
    }

    .hero--var6 .svg-pattern--sm {
        bottom: 0;
        left: 3.75rem
    }
}

.hero--var7 .svg-pattern circle, .hero--var7 .svg-pattern path, .hero--var7 .svg-pattern rect {
    fill: #6dd24c
}

@media (min-width:1024px) {
    .hero--var7 .svg-pattern--lg {
        bottom: 100%;
        right: 3.75rem
    }

    .hero--var7 .svg-pattern--md {
        top: 60%;
        left: 12.5%
    }

    .hero--var7 .svg-pattern--sm {
        top: 55%;
        right: 3.75rem
    }
}

.hero--rainbow .svg-pattern--lg path, .hero--rainbow .svg-pattern--lg path:nth-child(11), .hero--rainbow .svg-pattern--lg path:nth-child(12) {
    fill: #f33440
}

.hero--rainbow .svg-pattern--lg path:nth-child(9), .hero--rainbow .svg-pattern--lg path:nth-child(10) {
    fill: #ff5100
}

.hero--rainbow .svg-pattern--lg path:nth-child(7), .hero--rainbow .svg-pattern--lg path:nth-child(8) {
    fill: #ffb71b
}

.hero--rainbow .svg-pattern--lg path:nth-child(5), .hero--rainbow .svg-pattern--lg path:nth-child(6) {
    fill: #006938
}

.hero--rainbow .svg-pattern--lg path:nth-child(3), .hero--rainbow .svg-pattern--lg path:nth-child(4) {
    fill: #000f9f
}

.hero--rainbow .svg-pattern--lg path:first-child, .hero--rainbow .svg-pattern--lg path:nth-child(2) {
    fill: #45009e
}

.hero--rainbow .svg-pattern--lg path:nth-child(21), .hero--rainbow .svg-pattern--lg path:nth-child(22), .hero--rainbow .svg-pattern--lg path:nth-child(23), .hero--rainbow .svg-pattern--lg path:nth-child(24) {
    fill: #793c87
}

.introduction .cols {
    -webkit-box-align: start;
    align-items: flex-start
}

@media (min-width:1024px) {
    .introduction .col:first-child {
        padding-right: 3.75rem
    }
}

@media (max-width:1023px) {
    .introduction .col:first-child {
        margin-bottom: 2.5rem
    }
}

.introduction .col:last-child {
    margin-left: 1.25rem;
    border: 0 solid;
    border-color: var(--primary, currentColor);
    border-left: .25rem solid var(--primary, currentColor)
}

@media (max-width:1023px) {
    .introduction .col:last-child {
        margin-left: 0;
        border-left: 0
    }

    .introduction .col:last-child:before {
        content: "";
        display: block;
        padding-top: 1.25rem;
        border-color: var(--primary, currentColor);
        border-top: .25rem solid;
        border-top-color: var(--primary, currentColor)
    }
}

.introduction .col:last-child h2, .introduction .col:last-child h3, .introduction .col:last-child h4, .introduction .col:last-child h5, .introduction .col:last-child h6 {
    font-size: 1rem;
    font-size: calc(1rem*var(--scale, 1))
}

.introduction section {
    padding: 1.25rem 0;
    border-color: var(--primary, currentColor);
    border-top: .25rem solid;
    border-top-color: var(--primary, currentColor);
    margin: 1.25rem auto
}

@media (min-width:1024px) {
    .introduction section {
        padding: 2.5rem 0;
        margin: 2.5rem auto
    }
}

.introduction section:first-child {
    padding-top: 0;
    margin-top: 0
}

.introduction section:last-child {
    padding-bottom: 0;
    margin-bottom: 0
}

.introduction section h1, .introduction section h2, .introduction section h3, .introduction section h4, .introduction section h5, .introduction section h6 {
    font-size: 1rem;
    font-size: calc(1rem*var(--scale, 1))
}

.hero+.introduction {
    padding-top: 0
}

.gallery {
    position: relative;
    display: -webkit-box;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    -webkit-box-pack: center;
    justify-content: center;
    text-align: center
}

.gallery h2 {
    margin-bottom: .625rem;
    font-size: 2rem
}

.gallery__info {
    font-size: 1rem
}

.gallery__info.gallery__info--active {
    display: none
}

.gallery__close {
    display: none;
    position: absolute;
    top: 1.25rem;
    right: 1.25rem;
    padding: 0;
    border: 0;
    z-index: 20
}

@media (min-width:768px) {
    .gallery__close {
        top: 2.5rem;
        right: 2.5rem
    }
}

.gallery__items {
    display: -webkit-box;
    display: flex;
    flex-wrap: wrap;
    -webkit-box-align: center;
    align-items: center;
    margin: 2.5rem -.625rem
}

.gallery__items:last-child {
    margin-bottom: 0
}

.gallery__item {
    -webkit-box-flex: 0;
    flex: 0 0 50%;
    width: 100%;
    padding: .625rem;
    cursor: pointer;
    overflow: hidden;
    position: relative
}

@media (min-width:1024px) {
    .gallery__item {
        flex-basis: 25%
    }
}

.gallery__item figure {
    margin: 0;
    pointer-events: none;
    width: 100%
}

.gallery__item figcaption {
    display: none;
    font-style: normal;
    padding: 0;
    margin: 2.5rem auto 0;
    border: 0
}

.gallery__item figcaption span {
    display: block;
    font-size: 1.5rem;
    font-size: calc(1.5rem*var(--scale, 1))
}

.gallery__item figcaption span+span {
    font-size: 1rem;
    font-size: calc(1rem*var(--scale, 1))
}

.gallery__item.gallery__item--video {
    position: relative
}

.gallery__item .gallery__item-title {
    position: absolute;
    top: 0;
    left: 12%;
    right: 12%;
    width: 76%;
    z-index: 6;
    font-size: 1.3rem;
    pointer-events: none
}

.gallery__item .gallery__item-title>span {
    display: inline;
    background: var(--background, #fff);
    box-shadow: .625rem 0 0 var(--background, #fff), -.625rem 0 0 var(--background, #fff);
    line-height: 1.3em
}

@media (max-width:640px) {
    .gallery__item .gallery__item-title {
        font-size: 1rem
    }

    .gallery__item .gallery__item-title>span {
        line-height: 1.3rem
    }
}

body.is-gallery {
    overflow: hidden
}

.gallery--expanded {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 100;
    padding: 0;
    color: #fff;
}
.gallery--expanded, .content-type.gallery--expanded {
  background: #000;
}

.gallery--expanded .inner {
    -webkit-animation: fadeIn .75s forwards;
    animation: fadeIn .75s forwards
}

.gallery--expanded .gallery__info {
    display: block
}

.gallery--expanded .gallery__info.gallery__info--inactive {
    display: none
}

.gallery--expanded .gallery__close {
    display: block
}

.gallery--expanded .gallery__items {
    display: block;
    margin-left: -1.25rem;
    margin-right: -1.25rem
}

@media (min-width:1024px) {
    .gallery--expanded .gallery__items {
        margin-left: -2.5rem;
        margin-right: -2.5rem
    }
}

.gallery--expanded .gallery__items .gallery__item-title {
    display: none
}

.gallery--expanded .gallery__item {
    padding: 0;
    pointer-events: none
}

.gallery--expanded .gallery__item+.gallery__item {
    margin-left: 1.25rem
}

.gallery--expanded figcaption {
    display: block
}

.gallery--expanded .flickity-page-dots {
    position: static;
    margin-top: 2.5rem
}

@media (min-width:1024px) {
    .gallery--expanded .gallery__item {
        width: 60%
    }

    .gallery--expanded .gallery__item+.gallery__item {
        margin-left: 6.png25rem
    }
}

.location h2 {
    margin-bottom: 3.75rem
}

.location .google-map {
    display: block
}

@media (min-width:1024px) {
    .location .google-map {
        margin-right: 0
    }
}

.location-marker {
    font-weight: 700
}

@media (min-width:1024px) {
    .location-marker {
        padding-bottom: 1.25rem;
        border-left-color: var(--primary, currentColor);
        border-bottom: .25rem solid;
        border-bottom-color: var(--primary, currentColor);
        border-right-color: var(--primary, currentColor);
        border-top-color: var(--primary, currentColor)
    }
}

.location-marker svg {
    fill: var(--primary, currentColor)
}

.captions, .captions .inner {
    position: relative
}

@media (min-width:1024px) {
    .captions .h-group {
        position: absolute;
        top: 3.75rem;
        z-index: 5
    }
}

@media (min-width:1024px) {
    .carousel--captions-a {
        -webkit-transform: translateX(8.75rem);
        transform: translateX(8.75rem)
    }
}

@media (min-width:1024px) {
    .carousel--captions-b {
        padding: 2.5rem;
        -webkit-transform: translateY(-3.75rem);
        transform: translateY(-3.75rem);
        background: #fff
    }
}

.theme--black .carousel--captions-b {
    background: #000
}

.course-search form, .course-search h2 {
    max-width: 50rem
}

.course-search h2 {
    margin-bottom: 2.5rem
}

.course-search input {
    border-width: 0 0 .25rem;
    border-color: var(--primary, currentColor);
    font-size: 1.5rem;
    font-size: calc(1.5rem*var(--scale, 1))
}

.course-search .button--no-text {
    bottom: .25rem;
    width: 3.5rem;
    height: 3.5rem;
    padding: 1rem
}

.facts-and-figures .cols {
    margin-left: 0;
    margin-right: 0
}

.facts-and-figures .col {
    padding-left: 0;
    padding-right: 0
}

@media (max-width:1023px) {
    .facts-and-figures .h-group {
        margin-bottom: 0
    }

    .facts-and-figures .carousel {
        max-width: calc(100% + 2.5rem);
        margin-left: -1.25rem;
        margin-right: -1.25rem
    }

    .facts-and-figures .carousel--facts-a {
        display: none;
        margin-left: 0
    }
}

@media (min-width:768px) {
    .key-statistics .carousel__item {
        width: 50%;
        padding: 0 1.25rem
    }
}

@media (min-width:1024px) {
    .key-statistics .carousel__item {
        width: 25%;
        padding: 0;
        margin-right: 2.5rem
    }
}

@media (min-width:1024px) {
    .key-statistics .carousel__nav {
        text-align: left
    }

    .key-statistics .carousel__nav .flickity-button:first-child {
        margin-left: 0
    }
}

@media (min-width:1280px) {
    .room-options .row {
        --scale: 1
    }
}

.room-options .row:before {
    content: none
}

.room-options .h-border {
    margin-bottom: 1.25rem
}

.related-content {
    padding-top: 0
}

.related-content__wrap {
    padding-top: 2.5rem;
    border-color: var(--primary, currentColor);
    border-top: .25rem solid;
    border-top-color: var(--primary, currentColor)
}

@media (min-width:1024px) {
    .related-content__wrap .col--40 {
        text-align: right
    }
}

.related-content__wrap a {
    display: -webkit-inline-box;
    display: inline-flex;
    -webkit-box-align: center;
    align-items: center;
    text-align: left;
    max-width: 22.5rem;
    font-size: 1rem;
    font-size: calc(1rem*var(--scale, 1));
    text-decoration: none
}

.related-content__wrap a:after, .related-content__wrap a span:after {
    content: none
}

.related-content__wrap .icon--arrow-lg {
    -webkit-box-flex: 0;
    flex: 0 0 auto;
    width: 6.png25rem;
    height: 6.png25rem;
    width: calc(6.png25rem*var(--scale, 1));
    height: calc(6.png25rem*var(--scale, 1));
    margin-left: 3.75rem
}

.related-content__wrap .list-inline li {
    margin-right: .4375rem
}

.standard-content+.related-content .related-content__wrap {
    max-width: 50rem;
    margin: 0 auto
}

.standard-content {
    padding: 0 0 2.5rem
}

.standard-content:last-child {
    padding-bottom: 3.75rem
}

@media (min-width:1024px) {
    .standard-content:last-child {
        padding-bottom: 6.png25rem
    }
}

.standard-content h2 {
    font-size: 2rem;
    font-size: calc(2rem*var(--scale, 1))
}

.standard-content h3 {
    font-size: 1.5rem;
    font-size: calc(1.5rem*var(--scale, 1))
}

.standard-content__wrap {
    max-width: 50rem;
    padding: 2.5rem 0 0;
    margin: 0 auto;
    border-color: var(--primary, currentColor);
    border-top: .25rem solid;
    border-top-color: var(--primary, currentColor)
}

.tabbed-content {
    overflow: hidden
}

.tabbed-content .inner {
    position: relative
}

.tabbed-content .svg-pattern {
    position: absolute;
    z-index: 0
}

.tabbed-content .svg-pattern--md {
    top: -5rem;
    left: -1.25rem
}

@media (min-width:768px) {
    .tabbed-content .svg-pattern--md {
        top: -6.png25rem;
        left: -3.75rem
    }
}

@media (min-width:1024px) {
    .tabbed-content .svg-pattern--md {
        top: -8.75rem;
        left: -2.5rem
    }
}

.testimonial .cols {
    -webkit-box-align: center;
    align-items: center;
    -webkit-box-pack: center;
    justify-content: center
}

.testimonial blockquote {
    position: relative;
    padding-left: 0;
    border-left: 0
}

@media (min-width:1024px) {
    .testimonial blockquote {
        text-indent: -1.875rem
    }
}

.testimonial blockquote svg {
    width: 1em;
    height: 1em;
    margin: 0;
    fill: var(--primary, currentColor)
}

@media (min-width:1024px) {
    .testimonial blockquote svg {
        margin: 0 calc(.625rem - .1875em)
    }
}

.testimonial blockquote svg:last-child {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg)
}

.testimonial blockquote p {
    margin: 0;
    font-size: 1.5rem;
    font-size: calc(1.5rem*var(--scale, 1));
    line-height: 1.25
}

@media (min-width:1024px) {
    .testimonial blockquote p {
        display: inline;
        vertical-align: middle
    }
}

.testimonial__course, .testimonial__student, .testimonial__title {
    text-decoration: none
}

.testimonial__course:after, .testimonial__student:after, .testimonial__title:after {
    content: none
}

.testimonial__title {
    position: relative;
    display: -webkit-box;
    display: flex;
    -webkit-box-align: end;
    align-items: flex-end;
    padding: 0 0 1.25rem .625rem;
    margin-bottom: 1.25rem;
    border-left: .25rem solid;
    border-left-color: var(--primary, currentColor);
    -webkit-border-image: linear-gradient(180deg, var(--primary, currentColor) 0, var(--primary, currentColor) calc(100% - 1.25rem), transparent calc(100% - 1.25rem)) 1 100%;
    -o-border-image: linear-gradient(180deg, var(--primary, currentColor) 0, var(--primary, currentColor) calc(100% - 1.25rem), transparent calc(100% - 1.25rem)) 1 100%;
    border-image: linear-gradient(180deg, var(--primary, currentColor) 0, var(--primary, currentColor) calc(100% - 1.25rem), transparent calc(100% - 1.25rem)) 1 100%;
    text-align: left;
    -webkit-transition: none;
    transition: none
}

.testimonial__title:last-child {
    margin-bottom: 0
}

.testimonial__title * {
    -webkit-box-flex: 1;
    flex: 1 0 auto;
    margin-bottom: 0
}

@media (max-width:639px) {
    .testimonial__title {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        flex-direction: column;
        -webkit-box-align: start;
        align-items: flex-start
    }
}

.testimonial__student {
    -webkit-box-flex: 0;
    flex-grow: 0;
    font-size: 2rem;
    font-size: calc(2rem*var(--scale, 1));
    line-height: 1
}

@media (min-width:640px) {
    .testimonial__student {
        align-self: center
    }
}

.testimonial__course {
    -webkit-box-flex: 0;
    flex: 0 1 auto;
    max-width: 12.5rem;
    font-size: .8rem;
    font-size: calc(0.8rem*var(--scale, 1));
    line-height: 1.32
}

@media (min-width:640px) {
    .testimonial__course {
        margin-left: 1.25rem
    }
}

.testimonial__link {
    position: absolute;
    bottom: 0;
    font-size: .8rem;
    font-size: calc(0.8rem*var(--scale, 1));
    -webkit-transition: opacity .25s;
    transition: opacity .25s
}

.testimonial__link:after {
    -webkit-transition-delay: .25s;
    transition-delay: .25s
}

@media (min-width:1024px) {
    .testimonial__link {
        opacity: 0
    }
}

.testimonial--single {
    padding: 3.75rem 0 0
}

@media (max-width:1023px) {
    .testimonial--single .col:first-child {
        -webkit-box-ordinal-group: 3;
        order: 2;
        margin-bottom: 0
    }
}

.testimonial--single .col:last-child {
    padding-bottom: 2.5rem
}

@media (min-width:1024px) {
    .testimonial--single .col:last-child {
        padding-bottom: 3.75rem
    }

    .testimonial--single .col:last-child>* {
        margin-left: 1.875rem
    }
}

@media (max-width:1023px) {
    .testimonial--single .flickity-prev-next-button {
        display: none
    }

    .testimonial--single .flickity-page-dots {
        position: static;
        width: calc(100% + 2.5rem);
        padding: 1.25rem 0;
        margin: 0 -1.25rem;
        background: #fff
    }
}

@media (min-width:768px) {
    .testimonial--single .carousel__item {
        padding-left: 2.5rem;
        padding-right: 2.5rem
    }
}

.testimonial__hover {
    display: none
}

@media (min-width:1024px) {
    .testimonial--multiple {
        position: relative;
        z-index: 0;
        -webkit-transition: z-index 0s .25s;
        transition: z-index 0s .25s
    }

    .testimonial--multiple .col:first-child {
        padding-right: 3.75rem;
        -webkit-transition: all .25s;
        transition: all .25s;
        -webkit-transition-delay: .25s;
        transition-delay: .25s
    }

    .testimonial--multiple .testimonial__hover {
        position: fixed;
        left: 0;
        bottom: 0;
        z-index: -1;
        display: -webkit-box;
        display: flex;
        -webkit-box-align: start;
        align-items: flex-start;
        width: calc(50% - 3.90625rem);
        margin: 0;
        opacity: 0;
        -webkit-transition: all .25s;
        transition: all .25s;
        visibility: hidden
    }

    .testimonial--multiple .testimonial__hover>* {
        -webkit-box-flex: 0;
        flex: 0 1 auto;
        margin: 0
    }

    .testimonial--multiple .testimonial__hover img {
        width: 65%
    }

    .testimonial--multiple .testimonial__hover blockquote {
        width: 35%;
        -webkit-transform: translateX(-3.75rem);
        transform: translateX(-3.75rem);
        text-align: center
    }

    .testimonial--multiple .testimonial__hover blockquote svg {
        display: block;
        margin: 1.25rem auto
    }

    .testimonial--multiple.is-hovered .testimonial__title {
        opacity: .5;
        -webkit-transition: opacity .25s;
        transition: opacity .25s
    }

    .testimonial--multiple.is-hovered .testimonial__title:hover {
        opacity: 1;
        -webkit-transition-delay: .25s;
        transition-delay: .25s
    }

    .testimonial--multiple.is-hovered .testimonial__title:hover .testimonial__link {
        opacity: 1
    }

    .testimonial--multiple.is-hovered .col:first-child {
        opacity: 0;
        -webkit-transition-delay: 0s;
        transition-delay: 0s
    }

    .testimonial--multiple.is-hovered--1 .testimonial__hover:first-of-type, .testimonial--multiple.is-hovered--2 .testimonial__hover:nth-of-type(2), .testimonial--multiple.is-hovered--3 .testimonial__hover:nth-of-type(3), .testimonial--multiple.is-hovered--4 .testimonial__hover:nth-of-type(4) {
        opacity: 1;
        -webkit-transition-delay: .25s;
        transition-delay: .25s;
        visibility: visible
    }

    .main:after {
        content: "";
        position: fixed;
        top: 50%;
        right: 0;
        bottom: 50%;
        left: 0;
        z-index: 50;
        background: #e5e5e5;
        -webkit-transition: all .25s .25s, z-index 0s;
        transition: all .25s .25s, z-index 0s;
        opacity: 0
    }

    body.is-testimonial .main:after {
        top: 0;
        bottom: 0;
        opacity: 1
    }

    body.is-testimonial .testimonial--multiple.is-hovered {
        z-index: 52
    }
}

@media (min-width:1024px) {
    .things-we-love .col:first-child {
        display: -webkit-box;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        flex-direction: column;
        padding-right: 3.75rem
    }
}

@media (max-width:1023px) {
    .things-we-love .col:first-child {
        -webkit-box-ordinal-group: 3;
        order: 2;
        margin: 1.25rem 0 0
    }
}

@media (min-width:1024px) {
    .things-we-love .col:last-child {
        border: .25rem solid;
        border-color: var(--primary, currentColor);
        padding: 3.75rem 2.5rem;
        -webkit-transform: translateX(2.5rem);
        transform: translateX(2.5rem)
    }

    .things-we-love .col:last-child p {
        font-size: 1rem;
        font-size: calc(1rem*var(--scale, 1))
    }
}

@media (max-width:1023px) {
    .things-we-love .col:last-child p {
        display: none
    }
}

@media (min-width:1024px) {
    .things-we-love .carousel--articles-b {
        max-width: calc(100% + 5rem);
        margin-left: -2.5rem;
        margin-right: -2.5rem
    }

    .things-we-love .carousel--articles-b .flickity-viewport {
        -webkit-transform: translateX(-4rem);
        transform: translateX(-4rem)
    }
}

@media (max-width:639px) {
    .things-we-love .carousel--articles-b {
        max-width: calc(100% + 2.5rem);
        margin-left: -1.25rem;
        margin-right: -1.25rem
    }
}

body.is-ticker .ticker {
    -webkit-transform: translateY(0);
    transform: translateY(0)
}

body.is-ticker .page-frame {
    margin-top: 3.125rem
}

@media (min-width:1024px) {
    body.is-ticker .sidebar__inner {
        top: 6.png25rem
    }
}

.ticker {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 100;
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    justify-content: space-between;
    padding: .625rem 1.25rem;
    border-bottom: .125rem solid;
    background: #fff;
    font-size: .8rem;
    font-size: calc(0.8rem*var(--scale, 1));
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
    -webkit-transition: all .25s;
    transition: all .25s
}

@media (min-width:1024px) {
    .ticker {
        padding-left: 2.5rem;
        padding-right: 2.5rem
    }
}

.ticker p {
    text-transform: uppercase
}

.ticker .button {
    padding: .3125rem .625rem;
    margin: .3125rem 0;
    font-size: .7rem;
    font-size: calc(0.7rem*var(--scale, 1));
    line-height: 1
}

.ticker .button .icon {
    padding: .125em
}

.ticker>.icon {
    flex-shrink: 0;
    margin-bottom: auto
}

.ticker.theme--black {
    background: #000
}

.ticker:not(.ticker--static) .ticker__message p {
    position: absolute;
    top: 50%;
    white-space: nowrap;
    -webkit-animation: marquee 25s linear infinite;
    animation: marquee 25s linear infinite;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

.ticker__message {
    position: relative;
    -webkit-box-flex: 1;
    flex-grow: 1;
    margin: 0 1.25rem;
    overflow: hidden;
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    align-items: center
}

.ticker__message p {
    position: relative;
    font-size: 1rem;
    white-space: normal;
    text-align: left
}

@media (max-width:639px) {
    .ticker>.icon {
        display: none
    }

    .ticker .button {
        padding: .3125rem;
        margin: 0;
        border: 0
    }

    .ticker .button span {
        display: none
    }

    .ticker .button .icon {
        width: 1.25rem;
        height: 1.25rem;
        margin: 0
    }

    .ticker__message {
        margin-left: 0
    }
}

.video, .video .inner {
    position: relative
}

.video .inner {
    display: -webkit-box;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    flex-direction: column-reverse
}

.video .h-group {
    margin: 0 auto;
    text-align: center;
    -webkit-transition: opacity .25s .25s, -webkit-transform .75s;
    transition: opacity .25s .25s, -webkit-transform .75s;
    transition: opacity .25s .25s, transform .75s;
    transition: opacity .25s .25s, transform .75s, -webkit-transform .75s
}

@media (min-width:1024px) {
    .video .h-group {
        position: absolute;
        top: 0;
        left: 50%;
        -webkit-transform: translate(-50%, -2rem);
        transform: translate(-50%, -2rem);
        z-index: 2;
        width: 50rem;
        max-width: 100%
    }
}

.video video {
    margin: 0
}

@media (max-width:1023px) {
    .video .svg-pattern {
        display: none
    }
}

@media (min-width:1024px) {
    .video .svg-pattern--lg {
        max-width: 20rem;
        max-height: 20rem;
        bottom: -8.75rem;
        right: -3.75rem
    }

    .video .svg-pattern--md {
        top: -3.75rem;
        left: 0;
        -webkit-transform: translate(-25%, -25%);
        transform: translate(-25%, -25%)
    }

    .video .svg-pattern--sm {
        top: auto;
        bottom: -3.75rem;
        left: 25%
    }
}

.next-steps {
    text-align: center
}

.next-steps+.next-steps {
    padding-top: 0;
    padding-bottom: 1.25rem
}

.next-steps+.next-steps .row {
    -webkit-transform: translateY(-2.5rem);
    transform: translateY(-2.5rem)
}

@media (min-width:1024px) {
    .next-steps+.next-steps {
        padding-bottom: 2.5rem
    }

    .next-steps+.next-steps .row {
        -webkit-transform: translateY(-3.75rem);
        transform: translateY(-3.75rem)
    }
}

.parallax-reveal {
    padding: 0;
    height: 100vh;
    overflow: hidden;
    position: relative;
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0)
}

.parallax-reveal .parallax-reveal__background {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    z-index: -1
}

.parallax-reveal .parallax-reveal__background.fixed {
    position: fixed
}

.parallax-reveal .parallax-reveal__background:before {
    content: " ";
    background: rgba(0, 0, 0, .5);
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2
}

.parallax-reveal .parallax-reveal__background-image, .parallax-reveal .parallax-reveal__background>img {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    padding: 0;
    margin: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.parallax-reveal .parallax-reveal__content {
    height: 100%;
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -webkit-box-pack: center;
    justify-content: center
}

.parallax-reveal .parallax-reveal__content .stat__lead {
    color: var(--primary)
}

.parallax-reveal .parallax-reveal__content .stat__sub {
    color: #fff
}

.parallax-reveal .parallax-reveal__content.parallax-reveal__content--decorated {
    background-image: url(../../../../images/recruitment/recruitment-stat-decorator.html);
    background-repeat: no-repeat;
    background-position: 50%;
    background-size: 110%
}

@media (max-width:1023px) {
    .parallax-reveal .parallax-reveal__content.parallax-reveal__content--decorated {
        background-size: 150%
    }
}

@media (max-width:767px) {
    .parallax-reveal .parallax-reveal__content.parallax-reveal__content--decorated {
        background-size: 220%
    }
}

.parallax-reveal.parallax-reveal--shallow {
    height: 40rem
}

.parallax-reveal.parallax-reveal--deep {
    height: 60rem
}

.story {
    position: relative;
    display: -webkit-box;
    display: flex;
    padding: 0;
    margin: 0
}

.story article {
    -webkit-box-flex: 1;
    flex: 1
}

.story__counter {
    position: -webkit-sticky;
    position: sticky;
    width: 0;
    margin: 0;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    top: 0;
    left: 0;
    z-index: 10;
    height: 60rem !important
}

@media (max-width:1279px) {
    .story__counter {
        height: 40rem !important
    }
}

@media (max-width:1023px) {
    .story__counter {
        display: none
    }
}

.story__counter-inner {
    display: -webkit-box;
    display: flex;
    position: absolute;
    left: 150%;
    margin: 0;
    top: 0;
    height: 60rem;
    width: 20rem;
    -webkit-box-align: center;
    align-items: center;
    -webkit-box-pack: end;
    justify-content: flex-end
}

@media (max-width:1279px) {
    .story__counter-inner {
        height: 40rem;
        width: 17rem
    }
}

.step {
    position: relative;
    height: 60rem;
    overflow: hidden
}

@media (max-width:1279px) {
    .step {
        height: 40rem
    }
}

@media (max-width:1023px) {
    .step {
        height: auto
    }
}

.step__content {
    margin-left: 20rem;
    height: 100%;
    position: relative;
    z-index: 10;
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    overflow: hidden
}

.step__content .h-main {
    padding-left: 1rem;
    -webkit-transform: translateX(-2rem);
    transform: translateX(-2rem)
}

.step__content .h-main p {
    padding: .5rem 0;
    box-shadow: 1rem 0 0 #fff, -1rem 0 0 #fff;
    -webkit-box-decoration-break: clone;
    -moz-box-decoration-break: clone;
    box-decoration-break: clone
}

@media (max-width:1279px) {
    .step__content {
        margin-left: 17rem
    }
}

@media (max-width:1599px) {
    .step__content .h-main p {
        font-size: 2.8rem
    }
}

@media (max-width:1023px) {
    .step__content {
        margin-left: 0
    }

    .step__content .h-main {
        -webkit-transform: translateX(-.5rem);
        transform: translateX(-.5rem)
    }

    .step__content .h-main p {
        font-size: 2rem
    }
}

@media (max-width:767px) {
    .step__content .h-main p {
        font-size: 1.65rem;
        padding: .25rem 0;
        box-shadow: .5rem 0 0 #fff, -.5rem 0 0 #fff
    }
}

.step__body {
    margin-left: 2rem;
    margin-right: 2rem
}

.step__body .stat--stack, .step__body .stat--stack-large {
    text-align: left;
    -webkit-box-align: start;
    align-items: flex-start;
    margin: 0
}

.step__body .stat--stack-large .stat__lead, .step__body .stat--stack .stat__lead {
    line-height: 1;
    color: #6dd24c
}

.step__body .stat--stack-large .stat__text, .step__body .stat--stack .stat__text {
    max-width: none;
    font-size: 2rem;
    font-size: calc(2rem*var(--scale, 1));
    line-height: .9375;
    letter-spacing: -.03125em
}

.step__body .story__images {
    display: -webkit-box;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    -webkit-box-pack: start;
    justify-content: flex-start;
    max-width: 16rem
}

.step__body .story__images>img {
    margin: 0 0 2rem;
    padding: 0
}

.step__body .story__images.story__images--first-large {
    max-width: 20rem
}

.step__body .story__images.story__images--first-large img:not(:first-child) {
    max-width: 16rem
}

@media (max-width:1023px) {
    .step__body .story__images {
        margin-top: 2rem;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        flex-direction: row;
        width: 100%;
        max-width: none
    }

    .step__body .story__images>img {
        margin-right: 1rem;
        width: 30%
    }

    .step__body .story__images>img:last-child {
        margin-right: 0
    }

    .step__body .story__images.story__images--first-large {
        max-width: none
    }
}

.step__body_inner {
    display: -webkit-box;
    display: flex;
    flex-wrap: wrap;
    -webkit-box-align: center;
    align-items: center;
    text-align: left
}

.step__body_inner .h-group {
    width: 100%;
    max-width: none
}

.step__body_inner h3 {
    margin-top: 0
}

.step__body_inner .step__body_inner_left {
    max-width: 44%;
    margin-right: 4rem
}

.step__body_inner .step__body_inner_right {
    max-width: 44%
}

.step__body_inner .step__body_inner_middle {
    display: -webkit-box;
    display: flex
}

.step__body_inner.step__body_inner--align-top {
    -webkit-box-align: start;
    align-items: flex-start
}

.step__body_inner.step__body_inner--vertical {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    flex-direction: row;
    -webkit-box-align: center;
    align-items: center;
    -webkit-box-flex: 1;
    flex: 1
}

.step__body_inner.step__body_inner--vertical .step__body_inner_left {
    -webkit-box-flex: 0;
    flex: 0;
    margin-right: 2rem
}

.step__body_inner.step__body_inner--vertical .step__body_inner_right {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    -webkit-box-flex: 1;
    flex: 1;
    -webkit-box-pack: start;
    justify-content: flex-start;
    max-width: none
}

@media (max-width:1599px) {
    .step__body_inner.step__body_inner--vertical .step__body_inner_left {
        max-width: none;
        margin: 0
    }

    .step__body_inner.step__body_inner--vertical .step__body_inner_right .step__body_inner_middle {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        flex-direction: column;
        margin-bottom: 2rem
    }
}

@media (max-width:1023px) {
    .step__body_inner .h-group {
        display: -webkit-box;
        display: flex;
        -webkit-box-align: center;
        align-items: center;
        margin: 2rem 0
    }

    .step__body_inner .h-group .h-group__logo {
        z-index: 5
    }

    .step__body_inner .step__body_inner_left, .step__body_inner .step__body_inner_right {
        max-width: none;
        margin: 0 0 1rem
    }

    .step__body_inner.step__body_inner--vertical {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        flex-direction: column;
        -webkit-box-align: start;
        align-items: flex-start
    }
}

@media (max-width:767px) {
    .step__body_inner .h-group .h-group__logo {
        width: 4rem
    }
}

.step__body_inner_lower img, .step__body_inner_upper img {
    margin: 0
}

.step__body_inner_middle {
    -webkit-box-align: center;
    align-items: center
}

.step__body_inner_middle .h-group {
    -webkit-box-flex: 0;
    flex: 0;
    width: 16rem;
    margin: 0
}

.step__body_inner_middle .story__images {
    -webkit-box-flex: 1;
    flex: 1;
    max-width: 26rem
}

.step__body_inner_middle .story__images img {
    margin: 0
}

.step__body_inner_middle .step__body_inner_middle_content {
    -webkit-box-flex: 1;
    flex: 1;
    padding: 2rem 3rem
}

@media (max-width:1599px) {
    .step__body_inner_middle {
        -webkit-box-align: start;
        align-items: flex-start
    }

    .step__body_inner_middle .story__images {
        max-width: none;
        margin-top: 2rem
    }

    .step__body_inner_middle .story__images>img {
        width: auto;
        margin-bottom: 1rem
    }

    .step__body_inner_middle .step__body_inner_middle_content {
        width: auto;
        padding: 0
    }
}

.step__body_theme--dark .h-group .h-main span, .step__body_theme--dark h3, .step__body_theme--dark p, .step__body_theme--light .h-group .h-main span {
    color: #000
}

.step__body_theme--light h3, .step__body_theme--light p {
    color: #fff
}

.step__background, .step__background>img {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%
}

.step__background>img {
    -o-object-fit: contain;
    object-fit: contain;
    -o-object-position: right center;
    object-position: right center
}

.step__background .svg-patterns {
    position: absolute
}

.step__background__image-row__wrap {
    position: absolute;
    top: 0;
    left: -30%;
    right: 0;
    bottom: 0;
    width: 130%;
    height: 100%
}

.step__background__image-row__wrap .svg-patterns {
    position: absolute
}

@media (max-width:1023px) {
    .step__background__image-row__wrap {
        position: relative;
        width: 120%;
        left: -10%;
        right: -10%
    }
}

.step__background__image-row {
    display: -webkit-box;
    display: flex;
    flex-wrap: wrap;
    align-content: center;
    padding-right: 2rem;
    height: 100%;
    width: 100%;
    position: relative;
    z-index: 4
}

.step__background__image-row .step__background__image-row__image {
    width: 25%;
    padding: 1rem
}

.step__background__image-row .step__background__image-row__image:nth-child(2)>img, .step__background__image-row .step__background__image-row__image:nth-child(4)>img, .step__background__image-row .step__background__image-row__image:nth-child(5)>img, .step__background__image-row .step__background__image-row__image:nth-child(7)>img {
    -webkit-transform: scale(.9);
    transform: scale(.9)
}

@media (max-width:1023px) {
    .step__background__image-row {
        padding-right: 0
    }

    .step__background__image-row .step__background__image-row__image {
        width: 50%;
        padding: .5rem
    }

    .step__background__image-row .step__background__image-row__image:nth-child(7) {
        display: none
    }

    .step__background__image-row .step__background__image-row__image:last-of-type {
        -webkit-box-flex: 1;
        flex: 1;
        padding: 2rem 4rem
    }
}

.step--bg-black {
    background-color: #000
}

.step--bg-black .step__background>img {
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
    -o-object-position: right center;
    object-position: right center
}

@media (max-width:1279px) {
    .step--bg-black .step__background {
        height: 50%;
        top: 50%
    }

    .step--bg-black .step__background>img {
        position: relative;
        margin: 0 0 0 auto
    }
}

@media (max-width:1023px) {
    .step--bg-black .step__background {
        position: relative
    }
}

.step--bg-image .step__background {
    height: 60rem
}

.step--bg-image .step__background>img {
    -o-object-fit: cover;
    object-fit: cover
}

@media (max-width:1279px) {
    .step--bg-image .step__background {
        height: 40rem
    }
}

@media (max-width:1023px) {
    .step--bg-image .step__background {
        height: 100%
    }
}

.step--bg-image--left-half .step__background>img {
    -o-object-fit: contain;
    object-fit: contain;
    -o-object-position: left center;
    object-position: left center
}

@media (max-width:1023px) {
    .step--bg-image--left-half .step__background>img {
        -o-object-position: top center;
        object-position: top center
    }
}

.step--bg-image--right-reduced .step__background .svg-patterns {
    width: 100%;
    height: 100%
}

.step--bg-image--right-reduced .step__background .svg-patterns .svg-pattern--future-readiness-1 {
    position: absolute;
    right: 5%;
    top: 5%
}

.step--bg-image--right-reduced .step__background .svg-patterns .svg-pattern--future-readiness-2 {
    position: absolute;
    left: 24%;
    top: 8%
}

.step--bg-image--right-reduced .step__background .svg-patterns .svg-pattern--future-readiness-3 {
    position: absolute;
    left: 40%;
    top: 80%
}

.step--bg-image--right-reduced .step__background>img {
    width: 45%;
    height: auto;
    left: unset;
    right: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

@media (max-width:1279px) {
    .step--bg-image--right-reduced .step__background {
        top: unset;
        bottom: 0;
        height: 100%
    }
}

@media (max-width:1023px) {
    .step--bg-image--right-reduced .step__background .svg-patterns .svg-pattern--future-readiness-1 {
        position: absolute;
        right: unset;
        left: 55%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
        top: -20%
    }

    .step--bg-image--right-reduced .step__background .svg-patterns .svg-pattern--future-readiness-2, .step--bg-image--right-reduced .step__background .svg-patterns .svg-pattern--future-readiness-3 {
        display: none
    }

    .step--bg-image--right-reduced .step__background>img {
        position: relative;
        -webkit-transform: none;
        transform: none;
        width: 100%;
        margin: 5rem 0 0
    }
}

.step--bg-image-grid {
    background-color: #f2f2f2
}

.step--bg-image-grid .svg-patterns {
    width: 100%;
    height: 100%;
    overflow: hidden
}

.step--bg-image-grid .svg-patterns .svg-pattern--mental-wellbeing-1 {
    position: absolute;
    left: 20%;
    bottom: -5%
}

.step--bg-image-grid .svg-patterns .svg-pattern--mental-wellbeing-2 {
    position: absolute;
    left: 50%;
    top: 12%
}

.step--bg-image-grid .svg-patterns .svg-pattern--one {
    position: absolute;
    right: 0;
    top: 30%
}

@media (max-width:1023px) {
    .step--bg-image-grid .step__content {
        -webkit-box-align: start;
        align-items: flex-start;
        position: absolute;
        top: 0;
        left: 0;
        z-index: 5;
        width: 100%
    }

    .step--bg-image-grid .svg-patterns .svg-pattern--mental-wellbeing-1, .step--bg-image-grid .svg-patterns .svg-pattern--mental-wellbeing-2, .step--bg-image-grid .svg-patterns .svg-pattern--one {
        display: none
    }
}

.story__counter-one {
    height: auto;
    width: 100%;
    margin-left: 3rem
}

.story__counter-dots {
    margin-right: auto;
    display: -webkit-box;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    padding: 1rem;
    border-right: 2px solid
}

.story__counter-dot {
    display: block;
    width: .75rem;
    height: .75rem;
    border: 2px solid #fff;
    margin-bottom: 1rem
}

.story__counter-dot:last-child {
    margin-bottom: 0
}

.story__counter-dot.story__counter-dot--active {
    background-color: #6dd24c;
    border-color: #6dd24c !important
}

.step__decoration {
    position: absolute;
    top: -20%;
    left: -2%;
    width: 50%;
    z-index: 1
}

.step__decoration>svg {
    width: 100%
}

@media (max-width:1023px) {
    .step__decoration {
        display: none
    }
}

.recruitment-contact {
    position: relative
}

.recruitment-contact .inner {
    position: relative;
    display: -webkit-box;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column
}

@media (max-width:1023px) {
    .recruitment-contact .inner {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        flex-direction: column
    }
}

.recruitment-contact .h-group {
    text-align: center
}

@media (min-width:1024px) {
    .recruitment-contact .h-group {
        position: absolute;
        top: 0;
        left: 50%;
        -webkit-transform: translate(-50%, -2rem);
        transform: translate(-50%, -2rem);
        z-index: 2;
        width: 50rem;
        max-width: 100%
    }
}

@media (max-width:1023px) {
    .recruitment-contact .icon-block {
        -webkit-box-pack: center;
        justify-content: center
    }
}

.key-dates {
    position: relative
}

.key-dates .h-group {
    text-align: center;
    position: absolute;
    top: 6rem;
    left: 50%;
    -webkit-transform: translate(-50%, -2rem);
    transform: translate(-50%, -2rem);
    z-index: 2;
    width: 50rem;
    max-width: 100%
}

@media (max-width:1023px) {
    .key-dates .h-group {
        top: 4rem
    }
}

@media (max-width:767px) {
    .key-dates .h-group {
        position: relative;
        top: unset;
        -webkit-transform: none;
        transform: none;
        left: unset;
        margin-bottom: 1rem
    }
}

.timeline {
    padding: 0;
    overflow: hidden;
    position: relative;
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0);
    height: 100%
}

.timeline .timeline__inner {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    align-items: center
}

.timeline .timeline__inner:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .5)), to(transparent));
    background: linear-gradient(90deg, rgba(0, 0, 0, .5), transparent);
    z-index: 2
}

.timeline .timeline__wrap {
    display: -webkit-box;
    display: flex;
    -webkit-box-align: start;
    align-items: flex-start;
    position: relative;
    z-index: 2;
    height: 40rem;
    overflow: hidden;
    margin: 8rem auto 2.5rem;
    padding: 0 2.5rem;
    max-width: 100rem
}

@media (max-width:1023px) {
    .timeline .timeline__wrap {
        margin: 6rem 1.5rem 1.5rem
    }
}

@media (max-width:767px) {
    .timeline .timeline__wrap {
        margin: 1rem;
        padding: 0;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        flex-direction: column;
        height: auto
    }

    .timeline .timeline__wrap .timeline__inner {
        position: relative
    }
}

.timeline__background {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    padding: 0;
    margin: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center
}

.timeline__pane {
    display: none
}

.timeline__pane.timeline__pane--active {
    display: block
}

.timeline__nav-wrap {
    overflow: hidden;
    height: auto;
    padding: 0 2.5rem 0 1.5rem;
    width: 40%;
    margin-right: auto
}

@media (max-width:1279px) {
    .timeline__nav-wrap {
        width: 50%
    }
}

@media (max-width:1023px) {
    .timeline__nav-wrap {
        width: 60%
    }
}

@media (max-width:767px) {
    .timeline__nav-wrap {
        width: 100%;
        margin-bottom: 1.5rem;
        height: 24rem
    }
}

.timeline__nav {
    -webkit-transition: -webkit-transform .3s ease-in-out;
    transition: -webkit-transform .3s ease-in-out;
    transition: transform .3s ease-in-out;
    transition: transform .3s ease-in-out, -webkit-transform .3s ease-in-out
}

.timeline__pane-group {
    border-left: 3px solid #fff;
    height: 40rem;
    display: -webkit-box;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    -webkit-box-pack: center;
    justify-content: center
}

.timeline__pane-group ul li {
    list-style-type: none;
    padding-left: 0;
    margin-left: 0
}

.timeline__pane-group ul li:before {
    display: none
}

@media (max-width:767px) {
    .timeline__pane-group {
        height: 24rem
    }
}

.timeline__head {
    -webkit-transform: translateX(-1.355rem);
    transform: translateX(-1.355rem)
}

.timeline__head .timeline__head__date {
    background-color: transparent;
    display: -webkit-inline-box;
    display: inline-flex;
    -webkit-box-align: center;
    align-items: center;
    padding: .5rem .75rem;
    cursor: pointer
}

.timeline__head .timeline__head__date .timeline__head__marker {
    display: block;
    width: 1.1rem;
    height: 1.1rem;
    border-radius: 1.1rem;
    background-color: var(--primary);
    margin-right: 1.5rem
}

.timeline__head .timeline__head__date span {
    color: #fff
}

.timeline__head .timeline__head__date.timeline__head__date--active {
    background-color: var(--primary)
}

.timeline__head .timeline__head__date.timeline__head__date--active span {
    color: var(--secondary)
}

.timeline__head .timeline__head__date.timeline__head__date--active .timeline__head__marker {
    background-color: var(--secondary);
    width: 1.25rem;
    height: 1.25rem;
    border-radius: 1.25rem
}

.timeline__head .timeline__head__title {
    font-size: calc(2rem*var(--scale, 1));
    margin-left: 2.75rem;
    padding-left: .75rem;
    overflow: hidden;
    -webkit-transition: height .3s ease-in-out;
    transition: height .3s ease-in-out
}

.timeline__head .timeline__head__title p {
    margin-bottom: .25rem;
    line-height: 3.2rem
}

.timeline__head .timeline__head__title p>span {
    background: #fff;
    padding: 0 .75rem 0 0;
    border-left: .625rem solid #fff;
    -webkit-box-decoration-break: clone;
    -moz-box-decoration-break: clone;
    box-decoration-break: clone
}

@media (max-width:767px) {
    .timeline__head .timeline__head__title {
        font-size: calc(1.5rem*var(--scale, 1))
    }
}

.timeline__controls {
    position: absolute;
    top: 0;
    left: 6rem;
    bottom: 0;
    height: 100%
}

.timeline__controls .timeline__control {
    position: absolute;
    left: 0;
    border: 2px solid #fff;
    width: 2.75rem;
    height: 2.75rem;
    cursor: pointer
}

.timeline__controls .timeline__control .icon {
    width: 1.25rem;
    height: 1.25rem;
    fill: #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    pointer-events: none
}

.timeline__controls .timeline__control--top {
    top: 0
}

.timeline__controls .timeline__control--top .icon {
    -webkit-transform: translate(-50%, -50%) rotate(-90deg);
    transform: translate(-50%, -50%) rotate(-90deg)
}

.timeline__controls .timeline__control--bottom {
    bottom: 0
}

.timeline__controls .timeline__control--bottom .icon {
    -webkit-transform: translate(-50%, -50%) rotate(90deg);
    transform: translate(-50%, -50%) rotate(90deg)
}

@media (max-width:767px) {
    .timeline__controls {
        height: 24rem;
        left: 3.6rem
    }
}

.timeline__card {
    background-color: #fff;
    max-width: 24rem;
    padding: 1.5rem
}

.timeline__card:before {
    content: "";
    display: block;
    width: 100%;
    border-top: 3px solid var(--primary);
    margin-bottom: 1rem
}

.page--black:before {
    content: "";
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    height: 5.375rem;
    background: #000
}

@media (min-width:1024px) {
    .page--black:before {
        position: absolute;
        z-index: -1;
        height: 7rem
    }
}

.page--black .header {
    color: #fff
}

@media (max-width:1023px) {
    .page--black .page-frame {
        border-color: #fff
    }

    .page--black .header {
        background: #000
    }
}

.page--grey:before {
    content: "";
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    height: 5.375rem;
    background: #e5e5e5
}

@media (min-width:1024px) {
    .page--grey:before {
        position: absolute;
        z-index: -1;
        height: 7rem
    }
}

.page--grey .header {
    color: #000
}

@media (max-width:1023px) {
    .page--grey .page-frame {
        border-color: #fff
    }

    .page--grey .header {
        background: #e5e5e5
    }
}

.page--light-grey:before {
    content: "";
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    height: 5.375rem;
    background: #f2f2f2
}

@media (min-width:1024px) {
    .page--light-grey:before {
        position: absolute;
        z-index: -1;
        height: 7rem
    }
}

.page--light-grey .header {
    color: #000
}

@media (max-width:1023px) {
    .page--light-grey .page-frame {
        border-color: #fff
    }

    .page--light-grey .header {
        background: #f2f2f2
    }
}

.page-course .tab {
    padding: 3.75rem 0;
    border: .25rem solid;
    border-width: .25rem 0
}

.align-left {
    text-align: left
}

.align-centre {
    text-align: center
}

.align-right {
    text-align: right
}

.align-top {
    vertical-align: top
}

.align-middle {
    vertical-align: middle
}

.align-bottom {
    vertical-align: bottom
}

@media (min-width:1024px) {
    .align-left--desktop {
        text-align: left
    }

    .align-centre--desktop {
        text-align: center
    }

    .align-right--desktop {
        text-align: right
    }
}

@media (max-width:639px) {
    .align-left--mobile {
        text-align: left
    }

    .align-centre--mobile {
        text-align: center
    }

    .align-right--mobile {
        text-align: right
    }
}

[class*=border--] {
    border: .125rem solid;
    border-color: var(--primary, currentColor)
}

.border--top {
    padding-top: .625rem;
    border-width: .125rem 0 0
}

.border--right {
    padding-right: .625rem;
    border-width: 0 .125rem 0 0
}

.border--bottom {
    padding-bottom: .625rem;
    border-width: 0 0 .125rem
}

.border--left {
    padding-left: .625rem;
    border-width: 0 0 0 .125rem
}

.text--primary {
    color: var(--primary)
}

.text--secondary {
    color: var(--secondary)
}

.man {
    margin: 0 !important
}

.mas {
    margin: 1.25rem !important
}

.mam {
    margin: 2.5rem !important
}

.mal {
    margin: 3.75rem !important
}

.mtn {
    margin-top: 0 !important
}

.mts {
    margin-top: 1.25rem !important
}

.mtm {
    margin-top: 2.5rem !important
}

.mtl {
    margin-top: 3.75rem !important
}

.mrn {
    margin-right: 0 !important
}

.mrs {
    margin-right: 1.25rem !important
}

.mrm {
    margin-right: 2.5rem !important
}

.mrl {
    margin-right: 3.75rem !important
}

.mbn {
    margin-bottom: 0 !important
}

.mbs {
    margin-bottom: 1.25rem !important
}

.mbm {
    margin-bottom: 2.5rem !important
}

.mbl {
    margin-bottom: 3.75rem !important
}

.mln {
    margin-left: 0 !important
}

.mls {
    margin-left: 1.25rem !important
}

.mlm {
    margin-left: 2.5rem !important
}

.mll {
    margin-left: 3.75rem !important
}

.mhn {
    margin-right: 0 !important;
    margin-left: 0 !important
}

.mhs {
    margin-right: 1.25rem !important;
    margin-left: 1.25rem !important
}

.mhm {
    margin-right: 2.5rem !important;
    margin-left: 2.5rem !important
}

.mhl {
    margin-right: 3.75rem !important;
    margin-left: 3.75rem !important
}

.mvn {
    margin-top: 0 !important;
    margin-bottom: 0 !important
}

.mvs {
    margin-top: 1.25rem !important;
    margin-bottom: 1.25rem !important
}

.mvm {
    margin-top: 2.5rem !important;
    margin-bottom: 2.5rem !important
}

.mvl {
    margin-top: 3.75rem !important;
    margin-bottom: 3.75rem !important
}

.pan {
    padding: 0 !important
}

.pas {
    padding: 1.25rem !important
}

.pam {
    padding: 2.5rem !important
}

.pal {
    padding: 3.75rem !important
}

.ptn {
    padding-top: 0 !important
}

.pts {
    padding-top: 1.25rem !important
}

.ptm {
    padding-top: 2.5rem !important
}

.ptl {
    padding-top: 3.75rem !important
}

.prn {
    padding-right: 0 !important
}

.prs {
    padding-right: 1.25rem !important
}

.prm {
    padding-right: 2.5rem !important
}

.prl {
    padding-right: 3.75rem !important
}

.pbn {
    padding-bottom: 0 !important
}

.pbs {
    padding-bottom: 1.25rem !important
}

.pbm {
    padding-bottom: 2.5rem !important
}

.pbl {
    padding-bottom: 3.75rem !important
}

.pln {
    padding-left: 0 !important
}

.pls {
    padding-left: 1.25rem !important
}

.plm {
    padding-left: 2.5rem !important
}

.pll {
    padding-left: 3.75rem !important
}

.phn {
    padding-right: 0 !important;
    padding-left: 0 !important
}

.phs {
    padding-right: 1.25rem !important;
    padding-left: 1.25rem !important
}

.phm {
    padding-right: 2.5rem !important;
    padding-left: 2.5rem !important
}

.phl {
    padding-right: 3.75rem !important;
    padding-left: 3.75rem !important
}

.pvn {
    padding-top: 0 !important;
    padding-bottom: 0 !important
}

.pvs {
    padding-top: 1.25rem !important;
    padding-bottom: 1.25rem !important
}

.pvm {
    padding-top: 2.5rem !important;
    padding-bottom: 2.5rem !important
}

.pvl {
    padding-top: 3.75rem !important;
    padding-bottom: 3.75rem !important
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0
}

.svg-patterns:first-child+.row {
    margin-top: 0
}

.svg-pattern {
    display: inline-block;
    overflow: hidden;
    border-radius: 50%
}

.svg-pattern * {
    fill: var(--primary);
    -webkit-transform-origin: center center;
    transform-origin: center center
}

.svg-pattern--lg {
    width: 90vw;
    height: 90vw;
    max-width: 30rem;
    max-height: 30rem
}

@media (min-width:1024px) {
    .svg-pattern--lg {
        width: 30vw;
        height: 30vw
    }
}

.svg-pattern--md, .svg-pattern--sm {
    z-index: 5
}

.svg-pattern--md {
    width: 25vw;
    height: 25vw;
    max-width: 12.5rem;
    max-height: 12.5rem
}

@media (min-width:1024px) {
    .svg-pattern--md {
        width: 12.5vw;
        height: 12.5vw
    }
}

.svg-pattern--sm {
    width: 7.5vw;
    height: 7.5vw;
    max-width: 3.75rem;
    max-height: 3.75rem
}

@media (min-width:1024px) {
    .svg-pattern--sm {
        width: 3.75vw;
        height: 3.75vw
    }
}

.svg-pattern--creativity-1 {
    --base: 2%
}

.svg-pattern--creativity-1.svg-pattern--md g, .svg-pattern--creativity-1.svg-pattern--sm g {
    -webkit-animation: creativity1 1s ease-in-out infinite alternate;
    animation: creativity1 1s ease-in-out infinite alternate;
    -webkit-animation-delay: calc(0.1s*var(--i));
    animation-delay: calc(0.1s*var(--i))
}

.svg-pattern--creativity-1.svg-pattern--md {
    --base: 0.5%
}

.svg-pattern--creativity-1.svg-pattern--lg {
    --base: 5%
}

.svg-pattern--creativity-1.svg-pattern--lg g {
    -webkit-animation: creativity1-vanish 4s ease-in-out infinite alternate;
    animation: creativity1-vanish 4s ease-in-out infinite alternate
}

.svg-pattern--creativity-1.svg-pattern--lg g.solid {
    -webkit-animation-delay: .1s;
    animation-delay: .1s
}

@-webkit-keyframes creativity1 {
    0% {
        -webkit-transform: translate(0) scale(1);
        transform: translate(0) scale(1)
    }

    to {
        -webkit-transform: translate(calc(var(--base)*var(--x)), calc(var(--base)*var(--y))) scale(.75);
        transform: translate(calc(var(--base)*var(--x)), calc(var(--base)*var(--y))) scale(.75)
    }
}

@keyframes creativity1 {
    0% {
        -webkit-transform: translate(0) scale(1);
        transform: translate(0) scale(1)
    }

    to {
        -webkit-transform: translate(calc(var(--base)*var(--x)), calc(var(--base)*var(--y))) scale(.75);
        transform: translate(calc(var(--base)*var(--x)), calc(var(--base)*var(--y))) scale(.75)
    }
}

@-webkit-keyframes creativity1-vanish {
    0% {
        -webkit-transform: translate(calc(var(--base)*var(--x)), calc(var(--base)*var(--y))) scale(0);
        transform: translate(calc(var(--base)*var(--x)), calc(var(--base)*var(--y))) scale(0)
    }

    10% {
        -webkit-transform: translate(calc(var(--base)*var(--x)), calc(var(--base)*var(--y))) scale(0);
        transform: translate(calc(var(--base)*var(--x)), calc(var(--base)*var(--y))) scale(0)
    }

    30% {
        -webkit-transform: translate(0) scale(1);
        transform: translate(0) scale(1)
    }

    to {
        -webkit-transform: translate(0) scale(1);
        transform: translate(0) scale(1)
    }
}

@keyframes creativity1-vanish {
    0% {
        -webkit-transform: translate(calc(var(--base)*var(--x)), calc(var(--base)*var(--y))) scale(0);
        transform: translate(calc(var(--base)*var(--x)), calc(var(--base)*var(--y))) scale(0)
    }

    10% {
        -webkit-transform: translate(calc(var(--base)*var(--x)), calc(var(--base)*var(--y))) scale(0);
        transform: translate(calc(var(--base)*var(--x)), calc(var(--base)*var(--y))) scale(0)
    }

    30% {
        -webkit-transform: translate(0) scale(1);
        transform: translate(0) scale(1)
    }

    to {
        -webkit-transform: translate(0) scale(1);
        transform: translate(0) scale(1)
    }
}

.svg-pattern--future-readiness-1 path {
    transform-box: fill-box
}

.svg-pattern--future-readiness-1.svg-pattern--md path, .svg-pattern--future-readiness-1.svg-pattern--sm path {
    -webkit-animation: futureReadiness1 1s ease-in-out infinite alternate;
    animation: futureReadiness1 1s ease-in-out infinite alternate
}

.svg-pattern--future-readiness-1.svg-pattern--md path:nth-child(odd), .svg-pattern--future-readiness-1.svg-pattern--sm path:nth-child(odd) {
    -webkit-animation-delay: .5s;
    animation-delay: .5s
}

.svg-pattern--future-readiness-1.svg-pattern--lg path {
    -webkit-animation: futureReadiness1-vanish 4s ease-in-out infinite alternate;
    animation: futureReadiness1-vanish 4s ease-in-out infinite alternate
}

@-webkit-keyframes futureReadiness1 {
    0% {
        -webkit-transform: scale(.75);
        transform: scale(.75)
    }

    to {
        -webkit-transform: scale(1.5);
        transform: scale(1.5)
    }
}

@keyframes futureReadiness1 {
    0% {
        -webkit-transform: scale(.75);
        transform: scale(.75)
    }

    to {
        -webkit-transform: scale(1.5);
        transform: scale(1.5)
    }
}

@-webkit-keyframes futureReadiness1-vanish {
    0% {
        -webkit-transform: scale(0);
        transform: scale(0)
    }

    10% {
        -webkit-transform: scale(0);
        transform: scale(0)
    }

    30% {
        -webkit-transform: scale(1.25);
        transform: scale(1.25)
    }

    to {
        -webkit-transform: scale(1);
        transform: scale(1)
    }
}

@keyframes futureReadiness1-vanish {
    0% {
        -webkit-transform: scale(0);
        transform: scale(0)
    }

    10% {
        -webkit-transform: scale(0);
        transform: scale(0)
    }

    30% {
        -webkit-transform: scale(1.25);
        transform: scale(1.25)
    }

    to {
        -webkit-transform: scale(1);
        transform: scale(1)
    }
}

.svg-pattern--future-readiness-2 circle {
    transform-box: fill-box
}

.svg-pattern--future-readiness-2.svg-pattern--md circle, .svg-pattern--future-readiness-2.svg-pattern--sm circle {
    -webkit-animation: futureReadiness2 1s ease-in-out infinite alternate;
    animation: futureReadiness2 1s ease-in-out infinite alternate
}

.svg-pattern--future-readiness-2.svg-pattern--md circle:nth-child(3n-1), .svg-pattern--future-readiness-2.svg-pattern--sm circle:nth-child(3n-1) {
    -webkit-animation-delay: .5s;
    animation-delay: .5s
}

.svg-pattern--future-readiness-2.svg-pattern--lg circle {
    -webkit-animation: futureReadiness2-vanish 4s ease-in-out infinite alternate;
    animation: futureReadiness2-vanish 4s ease-in-out infinite alternate
}

@-webkit-keyframes futureReadiness2 {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1)
    }

    to {
        -webkit-transform: scale(1.5);
        transform: scale(1.5)
    }
}

@keyframes futureReadiness2 {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1)
    }

    to {
        -webkit-transform: scale(1.5);
        transform: scale(1.5)
    }
}

@-webkit-keyframes futureReadiness2-vanish {
    0% {
        -webkit-transform: scale(0);
        transform: scale(0)
    }

    10% {
        -webkit-transform: scale(0);
        transform: scale(0)
    }

    30% {
        -webkit-transform: scale(1.5);
        transform: scale(1.5)
    }

    to {
        -webkit-transform: scale(1);
        transform: scale(1)
    }
}

@keyframes futureReadiness2-vanish {
    0% {
        -webkit-transform: scale(0);
        transform: scale(0)
    }

    10% {
        -webkit-transform: scale(0);
        transform: scale(0)
    }

    30% {
        -webkit-transform: scale(1.5);
        transform: scale(1.5)
    }

    to {
        -webkit-transform: scale(1);
        transform: scale(1)
    }
}

.svg-pattern--future-readiness-3 svg {
    -webkit-transform: rotate(20deg);
    transform: rotate(20deg)
}

.svg-pattern--future-readiness-3 rect {
    transform-box: fill-box
}

.svg-pattern--future-readiness-3.svg-pattern--md rect, .svg-pattern--future-readiness-3.svg-pattern--sm rect {
    -webkit-animation: futureReadiness3 1s ease-in-out infinite alternate;
    animation: futureReadiness3 1s ease-in-out infinite alternate
}

.svg-pattern--future-readiness-3.svg-pattern--md rect:first-child, .svg-pattern--future-readiness-3.svg-pattern--md rect:last-child, .svg-pattern--future-readiness-3.svg-pattern--sm rect:first-child, .svg-pattern--future-readiness-3.svg-pattern--sm rect:last-child {
    -webkit-animation-delay: .5s;
    animation-delay: .5s
}

.svg-pattern--future-readiness-3.svg-pattern--lg rect {
    -webkit-animation: futureReadiness3-vanish 4s ease-in-out infinite alternate;
    animation: futureReadiness3-vanish 4s ease-in-out infinite alternate
}

@-webkit-keyframes futureReadiness3 {
    0% {
        -webkit-transform: scaleX(.75);
        transform: scaleX(.75)
    }

    to {
        -webkit-transform: scaleX(2);
        transform: scaleX(2)
    }
}

@keyframes futureReadiness3 {
    0% {
        -webkit-transform: scaleX(.75);
        transform: scaleX(.75)
    }

    to {
        -webkit-transform: scaleX(2);
        transform: scaleX(2)
    }
}

@-webkit-keyframes futureReadiness3-vanish {
    0% {
        -webkit-transform: scaleX(0);
        transform: scaleX(0)
    }

    10% {
        -webkit-transform: scaleX(0);
        transform: scaleX(0)
    }

    30% {
        -webkit-transform: scaleX(150%);
        transform: scaleX(150%)
    }

    to {
        -webkit-transform: scaleX(100%);
        transform: scaleX(100%)
    }
}

@keyframes futureReadiness3-vanish {
    0% {
        -webkit-transform: scaleX(0);
        transform: scaleX(0)
    }

    10% {
        -webkit-transform: scaleX(0);
        transform: scaleX(0)
    }

    30% {
        -webkit-transform: scaleX(150%);
        transform: scaleX(150%)
    }

    to {
        -webkit-transform: scaleX(100%);
        transform: scaleX(100%)
    }
}

.svg-pattern--mental-wellbeing-1 polygon {
    transform-box: fill-box;
    -webkit-transform-origin: center center;
    transform-origin: center center
}

.svg-pattern--mental-wellbeing-1.svg-pattern--md polygon:nth-child(4n), .svg-pattern--mental-wellbeing-1.svg-pattern--sm polygon:nth-child(4n) {
    display: none
}

.svg-pattern--mental-wellbeing-1.svg-pattern--md polygon:nth-child(2n), .svg-pattern--mental-wellbeing-1.svg-pattern--sm polygon:nth-child(2n) {
    -webkit-animation: mentalWellbeing1 1s ease-in-out infinite alternate;
    animation: mentalWellbeing1 1s ease-in-out infinite alternate;
    -webkit-animation-delay: calc(-0.0222s*var(--i));
    animation-delay: calc(-0.0222s*var(--i))
}

.svg-pattern--mental-wellbeing-1.svg-pattern--lg polygon {
    -webkit-animation: mentalWellbeing1-vanish 4s ease-in-out infinite alternate;
    animation: mentalWellbeing1-vanish 4s ease-in-out infinite alternate
}

@-webkit-keyframes mentalWellbeing1 {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes mentalWellbeing1 {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@-webkit-keyframes mentalWellbeing1-vanish {
    0% {
        -webkit-transform: scale(0);
        transform: scale(0)
    }

    10% {
        -webkit-transform: scale(0);
        transform: scale(0)
    }

    30% {
        -webkit-transform: scale(1);
        transform: scale(1)
    }

    to {
        -webkit-transform: scale(.75);
        transform: scale(.75)
    }
}

@keyframes mentalWellbeing1-vanish {
    0% {
        -webkit-transform: scale(0);
        transform: scale(0)
    }

    10% {
        -webkit-transform: scale(0);
        transform: scale(0)
    }

    30% {
        -webkit-transform: scale(1);
        transform: scale(1)
    }

    to {
        -webkit-transform: scale(.75);
        transform: scale(.75)
    }
}

.svg-pattern--mental-wellbeing-2 svg {
    -webkit-transform: rotate(30deg);
    transform: rotate(30deg)
}

.svg-pattern--mental-wellbeing-2 g:nth-child(2n) {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg)
}

.svg-pattern--mental-wellbeing-2.svg-pattern--md rect, .svg-pattern--mental-wellbeing-2.svg-pattern--sm rect {
    -webkit-animation: mentalWellbeing2 2s ease-in-out infinite alternate;
    animation: mentalWellbeing2 2s ease-in-out infinite alternate
}

.svg-pattern--mental-wellbeing-2.svg-pattern--md g:nth-child(6n) rect, .svg-pattern--mental-wellbeing-2.svg-pattern--md g:nth-child(6n-3) rect, .svg-pattern--mental-wellbeing-2.svg-pattern--sm g:nth-child(6n) rect, .svg-pattern--mental-wellbeing-2.svg-pattern--sm g:nth-child(6n-3) rect {
    -webkit-animation-delay: .5s;
    animation-delay: .5s
}

.svg-pattern--mental-wellbeing-2.svg-pattern--lg rect {
    -webkit-animation: mentalWellbeing2-vanish 4s ease-in-out infinite alternate;
    animation: mentalWellbeing2-vanish 4s ease-in-out infinite alternate
}

@-webkit-keyframes mentalWellbeing2 {
    0% {
        -webkit-transform: translateX(80%);
        transform: translateX(80%)
    }

    to {
        -webkit-transform: translateX(-80%);
        transform: translateX(-80%)
    }
}

@keyframes mentalWellbeing2 {
    0% {
        -webkit-transform: translateX(80%);
        transform: translateX(80%)
    }

    to {
        -webkit-transform: translateX(-80%);
        transform: translateX(-80%)
    }
}

@-webkit-keyframes mentalWellbeing2-vanish {
    0% {
        -webkit-transform: translateX(100%);
        transform: translateX(100%)
    }

    10% {
        -webkit-transform: translateX(100%);
        transform: translateX(100%)
    }

    30% {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }

    to {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
}

@keyframes mentalWellbeing2-vanish {
    0% {
        -webkit-transform: translateX(100%);
        transform: translateX(100%)
    }

    10% {
        -webkit-transform: translateX(100%);
        transform: translateX(100%)
    }

    30% {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }

    to {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
}

.svg-pattern--social-justice-1 line {
    fill: none;
    stroke: #000;
    stroke: var(--primary, #000);
    stroke-linecap: square;
    stroke-miterlimit: 10;
    stroke-dasharray: 100
}

.svg-pattern--social-justice-1 .lines--thin line {
    stroke-width: 3.6612
}

.svg-pattern--social-justice-1 .lines--thick line {
    stroke-width: 7.322
}

.svg-pattern--social-justice-1.svg-pattern--md line, .svg-pattern--social-justice-1.svg-pattern--sm line {
    -webkit-animation: socialJustice1 4s ease infinite;
    animation: socialJustice1 4s ease infinite;
    -webkit-animation-delay: calc(-0.066s*var(--i));
    animation-delay: calc(-0.066s*var(--i))
}

.svg-pattern--social-justice-1.svg-pattern--md .lines--thick line, .svg-pattern--social-justice-1.svg-pattern--sm .lines--thick line {
    -webkit-animation-name: socialJustice1b;
    animation-name: socialJustice1b
}

.svg-pattern--social-justice-1.svg-pattern--md .circle--right line, .svg-pattern--social-justice-1.svg-pattern--sm .circle--right line {
    -webkit-animation-delay: calc(-2s - 0.066s*var(--i));
    animation-delay: calc(-2s - 0.066s*var(--i))
}

.svg-pattern--social-justice-1.svg-pattern--lg line {
    -webkit-animation: socialJustice1-vanish 4s ease-out infinite alternate;
    animation: socialJustice1-vanish 4s ease-out infinite alternate
}

.svg-pattern--social-justice-1.svg-pattern--lg .circle--left .lines--thin line, .svg-pattern--social-justice-1.svg-pattern--lg .circle--right .lines--thick line {
    -webkit-animation-name: socialJustice1b-vanish;
    animation-name: socialJustice1b-vanish
}

@-webkit-keyframes socialJustice1 {
    0% {
        stroke-dashoffset: 100
    }

    to {
        stroke-dashoffset: 0
    }
}

@keyframes socialJustice1 {
    0% {
        stroke-dashoffset: 100
    }

    to {
        stroke-dashoffset: 0
    }
}

@-webkit-keyframes socialJustice1b {
    0% {
        stroke-dashoffset: 0
    }

    to {
        stroke-dashoffset: -100
    }
}

@keyframes socialJustice1b {
    0% {
        stroke-dashoffset: 0
    }

    to {
        stroke-dashoffset: -100
    }
}

@-webkit-keyframes socialJustice1-vanish {
    0% {
        stroke-dashoffset: 100
    }

    15% {
        stroke-dashoffset: 100
    }

    to {
        stroke-dashoffset: -50
    }
}

@keyframes socialJustice1-vanish {
    0% {
        stroke-dashoffset: 100
    }

    15% {
        stroke-dashoffset: 100
    }

    to {
        stroke-dashoffset: -50
    }
}

@-webkit-keyframes socialJustice1b-vanish {
    0% {
        stroke-dashoffset: -100
    }

    15% {
        stroke-dashoffset: -100
    }

    to {
        stroke-dashoffset: 50
    }
}

@keyframes socialJustice1b-vanish {
    0% {
        stroke-dashoffset: -100
    }

    15% {
        stroke-dashoffset: -100
    }

    to {
        stroke-dashoffset: 50
    }
}

[class*=svg-pattern--technology] {
    border-radius: 0
}

[class*=svg-pattern--technology] .draw * {
    fill: none;
    stroke: #000;
    stroke: var(--primary, #000);
    stroke-miterlimit: 10
}

.svg-pattern--technology-1 {
    -webkit-transform: scale(1.3125);
    transform: scale(1.3125)
}

.svg-pattern--technology-1 .draw * {
    stroke-dasharray: 650
}

.svg-pattern--technology-1.svg-pattern--md .key .draw *, .svg-pattern--technology-1.svg-pattern--sm .key .draw * {
    stroke-dashoffset: 650;
    -webkit-animation: technology1 3s ease-in-out infinite;
    animation: technology1 3s ease-in-out infinite
}

.svg-pattern--technology-1.svg-pattern--md .key .draw:nth-child(3n) *, .svg-pattern--technology-1.svg-pattern--sm .key .draw:nth-child(3n) * {
    -webkit-animation-delay: 2s;
    animation-delay: 2s
}

.svg-pattern--technology-1.svg-pattern--md .key .draw:nth-child(3n-2) *, .svg-pattern--technology-1.svg-pattern--sm .key .draw:nth-child(3n-2) * {
    -webkit-animation-delay: 1s;
    animation-delay: 1s
}

.svg-pattern--technology-1.svg-pattern--lg .draw * {
    stroke-dashoffset: 650;
    -webkit-animation: technology1-vanish 8s ease-in-out infinite;
    animation: technology1-vanish 8s ease-in-out infinite
}

.svg-pattern--technology-1.svg-pattern--lg .key .draw * {
    -webkit-animation-name: technology1b-vanish;
    animation-name: technology1b-vanish
}

@-webkit-keyframes technology1 {
    0% {
        stroke-dashoffset: 650
    }

    50% {
        stroke-dashoffset: 0
    }

    to {
        stroke-dashoffset: -650
    }
}

@keyframes technology1 {
    0% {
        stroke-dashoffset: 650
    }

    50% {
        stroke-dashoffset: 0
    }

    to {
        stroke-dashoffset: -650
    }
}

@-webkit-keyframes technology1-vanish {
    0% {
        stroke-dashoffset: 650
    }

    5% {
        stroke-dashoffset: 650
    }

    15% {
        stroke-dashoffset: 0
    }

    50% {
        stroke-dashoffset: 0
    }

    85% {
        stroke-dashoffset: 0
    }

    95% {
        stroke-dashoffset: -650
    }

    to {
        stroke-dashoffset: -650
    }
}

@keyframes technology1-vanish {
    0% {
        stroke-dashoffset: 650
    }

    5% {
        stroke-dashoffset: 650
    }

    15% {
        stroke-dashoffset: 0
    }

    50% {
        stroke-dashoffset: 0
    }

    85% {
        stroke-dashoffset: 0
    }

    95% {
        stroke-dashoffset: -650
    }

    to {
        stroke-dashoffset: -650
    }
}

@-webkit-keyframes technology1b-vanish {
    0% {
        stroke-dashoffset: 650
    }

    10% {
        stroke-dashoffset: 650
    }

    25% {
        stroke-dashoffset: 0
    }

    50% {
        stroke-dashoffset: 0
    }

    75% {
        stroke-dashoffset: 0
    }

    90% {
        stroke-dashoffset: -650
    }

    to {
        stroke-dashoffset: -650
    }
}

@keyframes technology1b-vanish {
    0% {
        stroke-dashoffset: 650
    }

    10% {
        stroke-dashoffset: 650
    }

    25% {
        stroke-dashoffset: 0
    }

    50% {
        stroke-dashoffset: 0
    }

    75% {
        stroke-dashoffset: 0
    }

    90% {
        stroke-dashoffset: -650
    }

    to {
        stroke-dashoffset: -650
    }
}

.svg-pattern--technology-2 {
    height: auto
}

.svg-pattern--technology-2.svg-pattern--md .draw path, .svg-pattern--technology-2.svg-pattern--sm .draw path {
    stroke-dasharray: 250;
    stroke-dashoffset: 150;
    -webkit-animation: technology2 2s linear infinite;
    animation: technology2 2s linear infinite
}

.svg-pattern--technology-2.svg-pattern--md .draw line, .svg-pattern--technology-2.svg-pattern--sm .draw line {
    stroke-dasharray: 250;
    stroke-dashoffset: 242;
    -webkit-animation: technology2b 2s linear infinite;
    animation: technology2b 2s linear infinite
}

.svg-pattern--technology-2.svg-pattern--lg .draw * {
    stroke-dasharray: 500;
    stroke-dashoffset: 500;
    -webkit-animation: technology2-vanish 8s linear infinite;
    animation: technology2-vanish 8s linear infinite
}

.svg-pattern--technology-2.svg-pattern--lg .draw line {
    -webkit-animation-delay: .295s;
    animation-delay: .295s
}

@-webkit-keyframes technology2 {
    0% {
        stroke-dashoffset: 150
    }

    to {
        stroke-dashoffset: -350
    }
}

@keyframes technology2 {
    0% {
        stroke-dashoffset: 150
    }

    to {
        stroke-dashoffset: -350
    }
}

@-webkit-keyframes technology2b {
    0% {
        stroke-dashoffset: 242
    }

    to {
        stroke-dashoffset: -258
    }
}

@keyframes technology2b {
    0% {
        stroke-dashoffset: 242
    }

    to {
        stroke-dashoffset: -258
    }
}

@-webkit-keyframes technology2-vanish {
    0% {
        stroke-dashoffset: 500
    }

    5% {
        stroke-dashoffset: 500
    }

    25% {
        stroke-dashoffset: 0
    }

    50% {
        stroke-dashoffset: 0
    }

    75% {
        stroke-dashoffset: 0
    }

    95% {
        stroke-dashoffset: -500
    }

    to {
        stroke-dashoffset: -500
    }
}

@keyframes technology2-vanish {
    0% {
        stroke-dashoffset: 500
    }

    5% {
        stroke-dashoffset: 500
    }

    25% {
        stroke-dashoffset: 0
    }

    50% {
        stroke-dashoffset: 0
    }

    75% {
        stroke-dashoffset: 0
    }

    95% {
        stroke-dashoffset: -500
    }

    to {
        stroke-dashoffset: -500
    }
}

.svg-pattern--technology-3 .draw * {
    stroke-dasharray: 180;
    stroke-dashoffset: 180
}

.svg-pattern--technology-3.svg-pattern--md .draw *, .svg-pattern--technology-3.svg-pattern--sm .draw * {
    -webkit-animation: technology3 2s cubic-bezier(.5, -1, .5, 2) infinite;
    animation: technology3 2s cubic-bezier(.5, -1, .5, 2) infinite
}

.svg-pattern--technology-3.svg-pattern--lg .draw * {
    -webkit-animation: technology3-vanish 8s ease-in-out infinite;
    animation: technology3-vanish 8s ease-in-out infinite
}

@-webkit-keyframes technology3 {
    0% {
        stroke-dashoffset: 180;
        stroke-dasharray: 180
    }

    to {
        stroke-dashoffset: -180;
        stroke-dasharray: 180
    }
}

@keyframes technology3 {
    0% {
        stroke-dashoffset: 180;
        stroke-dasharray: 180
    }

    to {
        stroke-dashoffset: -180;
        stroke-dasharray: 180
    }
}

@-webkit-keyframes technology3-vanish {
    0% {
        stroke-dashoffset: 180
    }

    5% {
        stroke-dashoffset: 180
    }

    15% {
        stroke-dashoffset: 0
    }

    50% {
        stroke-dashoffset: 0
    }

    85% {
        stroke-dashoffset: 0
    }

    95% {
        stroke-dashoffset: -180
    }

    to {
        stroke-dashoffset: -180
    }
}

@keyframes technology3-vanish {
    0% {
        stroke-dashoffset: 180
    }

    5% {
        stroke-dashoffset: 180
    }

    15% {
        stroke-dashoffset: 0
    }

    50% {
        stroke-dashoffset: 0
    }

    85% {
        stroke-dashoffset: 0
    }

    95% {
        stroke-dashoffset: -180
    }

    to {
        stroke-dashoffset: -180
    }
}
      
      .plyr {
    -moz-osx-font-smoothing: auto;
    -webkit-font-smoothing: subpixel-antialiased;
    direction: ltr;
    font-family: Avenir, Avenir Next, Helvetica Neue, Segoe UI, Helvetica, Arial, sans-serif;
    font-variant-numeric: tabular-nums;
    font-weight: 500;
    line-height: 1.7;
    max-width: 100%;
    min-width: 200px;
    position: relative;
    text-shadow: none;
    -webkit-transition: box-shadow .3s ease;
    transition: box-shadow .3s ease
}

.plyr audio, .plyr video {
    border-radius: inherit;
    height: auto;
    vertical-align: middle;
    width: 100%
}

.plyr button {
    font: inherit;
    line-height: inherit;
    width: auto
}

.plyr:focus {
    outline: 0
}

.plyr--full-ui {
    box-sizing: border-box
}

.plyr--full-ui *, .plyr--full-ui :after, .plyr--full-ui :before {
    box-sizing: inherit
}

.plyr--full-ui a, .plyr--full-ui button, .plyr--full-ui input, .plyr--full-ui label {
    touch-action: manipulation
}

.plyr__badge {
    background: #4f5b5f;
    border-radius: 2px;
    color: #fff;
    font-size: 9px;
    line-height: 1;
    padding: 3px 4px
}

.plyr--full-ui ::-webkit-media-text-track-container {
    display: none
}

.plyr__captions {
    -webkit-animation: plyr-fade-in .3s ease;
    animation: plyr-fade-in .3s ease;
    bottom: 0;
    color: #fff;
    display: none;
    font-size: 14px;
    left: 0;
    padding: 10px;
    position: absolute;
    text-align: center;
    -webkit-transition: -webkit-transform .4s ease-in-out;
    transition: -webkit-transform .4s ease-in-out;
    transition: transform .4s ease-in-out;
    transition: transform .4s ease-in-out, -webkit-transform .4s ease-in-out;
    width: 100%
}

.plyr__captions .plyr__caption {
    background: rgba(0, 0, 0, .8);
    border-radius: 2px;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
    line-height: 185%;
    padding: .2em .5em;
    white-space: pre-wrap
}

.plyr__captions .plyr__caption div {
    display: inline
}

.plyr__captions span:empty {
    display: none
}

@media (min-width:480px) {
    .plyr__captions {
        font-size: 16px;
        padding: 20px
    }
}

@media (min-width:768px) {
    .plyr__captions {
        font-size: 18px
    }
}

.plyr--captions-active .plyr__captions {
    display: block
}

.plyr:not(.plyr--hide-controls) .plyr__controls:not(:empty)~.plyr__captions {
    -webkit-transform: translateY(-40px);
    transform: translateY(-40px)
}

.plyr__control {
    background: 0 0;
    border: 0;
    border-radius: 3px;
    color: inherit;
    cursor: pointer;
    flex-shrink: 0;
    overflow: visible;
    padding: 7px;
    position: relative;
    -webkit-transition: all .3s ease;
    transition: all .3s ease
}

.plyr__control svg {
    display: block;
    fill: currentColor;
    height: 18px;
    pointer-events: none;
    width: 18px
}

.plyr__control:focus {
    outline: 0
}

.plyr__control.plyr__tab-focus {
    box-shadow: 0 0 0 5px rgba(26, 175, 255, .5);
    outline: 0
}

a.plyr__control {
    text-decoration: none
}

.plyr__control.plyr__control--pressed .icon--not-pressed, .plyr__control.plyr__control--pressed .label--not-pressed, .plyr__control:not(.plyr__control--pressed) .icon--pressed, .plyr__control:not(.plyr__control--pressed) .label--pressed, a.plyr__control:after, a.plyr__control:before {
    display: none
}

.plyr--audio .plyr__control.plyr__tab-focus, .plyr--audio .plyr__control:hover, .plyr--audio .plyr__control[aria-expanded=true] {
    background: #1aafff;
    color: #fff
}

.plyr--video .plyr__control svg {
    -webkit-filter: drop-shadow(0 1px 1px rgba(0, 0, 0, .15));
    filter: drop-shadow(0 1px 1px rgba(0, 0, 0, .15))
}

.plyr--video .plyr__control.plyr__tab-focus, .plyr--video .plyr__control:hover, .plyr--video .plyr__control[aria-expanded=true] {
    background: #1aafff;
    color: #fff
}

.plyr__control--overlaid {
    background: rgba(26, 175, 255, .8);
    border: 0;
    border-radius: 100%;
    box-shadow: 0 1px 1px rgba(0, 0, 0, .15);
    color: #fff;
    display: none;
    left: 50%;
    padding: 15px;
    position: absolute;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: 2
}

.plyr__control--overlaid svg {
    left: 2px;
    position: relative
}

.plyr__control--overlaid:focus, .plyr__control--overlaid:hover {
    background: #1aafff
}

.plyr--playing .plyr__control--overlaid {
    opacity: 0;
    visibility: hidden
}

.plyr--full-ui.plyr--video .plyr__control--overlaid {
    display: block
}

.plyr--full-ui ::-webkit-media-controls {
    display: none
}

.plyr__controls {
    -webkit-box-align: center;
    align-items: center;
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: end;
    justify-content: flex-end;
    text-align: center
}

.plyr__controls .plyr__menu, .plyr__controls .plyr__progress, .plyr__controls .plyr__time, .plyr__controls .plyr__volume, .plyr__controls>.plyr__control {
    margin-left: 5px
}

.plyr__controls .plyr__menu+.plyr__control, .plyr__controls .plyr__progress+.plyr__control, .plyr__controls>.plyr__control+.plyr__control, .plyr__controls>.plyr__control+.plyr__menu {
    margin-left: 2px
}

.plyr__controls>.plyr__control:first-child, .plyr__controls>.plyr__control:first-child+[data-plyr=pause] {
    margin-left: 0;
    margin-right: auto
}

.plyr__controls:empty {
    display: none
}

@media (min-width:480px) {
    .plyr__controls .plyr__menu, .plyr__controls .plyr__progress, .plyr__controls .plyr__time, .plyr__controls .plyr__volume, .plyr__controls>.plyr__control {
        margin-left: 10px
    }
}

.plyr--audio .plyr__controls {
    background: #fff;
    border-radius: inherit;
    color: #4f5b5f;
    padding: 10px
}

.plyr--video .plyr__controls {
    background: -webkit-gradient(linear, left top, left bottom, from(transparent), to(rgba(0, 0, 0, .7)));
    background: linear-gradient(transparent, rgba(0, 0, 0, .7));
    border-bottom-left-radius: inherit;
    border-bottom-right-radius: inherit;
    bottom: 0;
    color: #fff;
    left: 0;
    padding: 20px 5px 5px;
    position: absolute;
    right: 0;
    -webkit-transition: opacity .4s ease-in-out, -webkit-transform .4s ease-in-out;
    transition: opacity .4s ease-in-out, -webkit-transform .4s ease-in-out;
    transition: opacity .4s ease-in-out, transform .4s ease-in-out;
    transition: opacity .4s ease-in-out, transform .4s ease-in-out, -webkit-transform .4s ease-in-out;
    z-index: 3
}

@media (min-width:480px) {
    .plyr--video .plyr__controls {
        padding: 35px 10px 10px
    }
}

.plyr--video.plyr--hide-controls .plyr__controls {
    opacity: 0;
    pointer-events: none;
    -webkit-transform: translateY(100%);
    transform: translateY(100%)
}

.plyr [data-plyr=airplay], .plyr [data-plyr=captions], .plyr [data-plyr=fullscreen], .plyr [data-plyr=pip] {
    display: none
}

.plyr--airplay-supported [data-plyr=airplay], .plyr--captions-enabled [data-plyr=captions], .plyr--fullscreen-enabled [data-plyr=fullscreen], .plyr--pip-supported [data-plyr=pip] {
    display: inline-block
}

.plyr__video-embed {
    height: 0;
    padding-bottom: 56.25%;
    position: relative
}

.plyr__video-embed iframe {
    border: 0;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    width: 100%
}

.plyr--full-ui .plyr__video-embed>.plyr__video-embed__container {
    padding-bottom: 240%;
    position: relative;
    -webkit-transform: translateY(-38.28125%);
    transform: translateY(-38.28125%)
}

.plyr__menu {
    display: -webkit-box;
    display: flex;
    position: relative
}

.plyr__menu .plyr__control svg {
    -webkit-transition: -webkit-transform .3s ease;
    transition: -webkit-transform .3s ease;
    transition: transform .3s ease;
    transition: transform .3s ease, -webkit-transform .3s ease
}

.plyr__menu .plyr__control[aria-expanded=true] svg {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg)
}

.plyr__menu .plyr__control[aria-expanded=true] .plyr__tooltip {
    display: none
}

.plyr__menu__container {
    -webkit-animation: plyr-popup .2s ease;
    animation: plyr-popup .2s ease;
    background: hsla(0, 0%, 100%, .9);
    border-radius: 4px;
    bottom: 100%;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .15);
    color: #4f5b5f;
    font-size: 16px;
    margin-bottom: 10px;
    position: absolute;
    right: -3px;
    text-align: left;
    white-space: nowrap;
    z-index: 3
}

.plyr__menu__container>div {
    overflow: hidden;
    -webkit-transition: height .35s cubic-bezier(.4, 0, .2, 1), width .35s cubic-bezier(.4, 0, .2, 1);
    transition: height .35s cubic-bezier(.4, 0, .2, 1), width .35s cubic-bezier(.4, 0, .2, 1)
}

.plyr__menu__container:after {
    border: 4px solid transparent;
    border-top-color: hsla(0, 0%, 100%, .9);
    content: "";
    height: 0;
    position: absolute;
    right: 15px;
    top: 100%;
    width: 0
}

.plyr__menu__container [role=menu] {
    padding: 7px
}

.plyr__menu__container [role=menuitem], .plyr__menu__container [role=menuitemradio] {
    margin-top: 2px
}

.plyr__menu__container [role=menuitem]:first-child, .plyr__menu__container [role=menuitemradio]:first-child {
    margin-top: 0
}

.plyr__menu__container .plyr__control {
    -webkit-box-align: center;
    align-items: center;
    color: #4f5b5f;
    display: -webkit-box;
    display: flex;
    font-size: 14px;
    padding: 4px 11px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    width: 100%
}

.plyr__menu__container .plyr__control>span {
    -webkit-box-align: inherit;
    align-items: inherit;
    display: -webkit-box;
    display: flex;
    width: 100%
}

.plyr__menu__container .plyr__control:after {
    border: 4px solid transparent;
    content: "";
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

.plyr__menu__container .plyr__control--forward {
    padding-right: 28px
}

.plyr__menu__container .plyr__control--forward:after {
    border-left-color: rgba(79, 91, 95, .8);
    right: 5px
}

.plyr__menu__container .plyr__control--forward.plyr__tab-focus:after, .plyr__menu__container .plyr__control--forward:hover:after {
    border-left-color: currentColor
}

.plyr__menu__container .plyr__control--back {
    font-weight: 500;
    margin: 7px 7px 3px;
    padding-left: 28px;
    position: relative;
    width: calc(100% - 14px)
}

.plyr__menu__container .plyr__control--back:after {
    border-right-color: rgba(79, 91, 95, .8);
    left: 7px
}

.plyr__menu__container .plyr__control--back:before {
    background: #b7c5cd;
    box-shadow: 0 1px 0 #fff;
    content: "";
    height: 1px;
    left: 0;
    margin-top: 4px;
    overflow: hidden;
    position: absolute;
    right: 0;
    top: 100%
}

.plyr__menu__container .plyr__control--back.plyr__tab-focus:after, .plyr__menu__container .plyr__control--back:hover:after {
    border-right-color: currentColor
}

.plyr__menu__container .plyr__control[role=menuitemradio] {
    padding-left: 7px
}

.plyr__menu__container .plyr__control[role=menuitemradio]:after, .plyr__menu__container .plyr__control[role=menuitemradio]:before {
    border-radius: 100%
}

.plyr__menu__container .plyr__control[role=menuitemradio]:before {
    background: rgba(0, 0, 0, .1);
    content: "";
    display: block;
    flex-shrink: 0;
    height: 16px;
    margin-right: 10px;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    width: 16px
}

.plyr__menu__container .plyr__control[role=menuitemradio]:after {
    background: #fff;
    border: 0;
    height: 6px;
    left: 12px;
    opacity: 0;
    top: 50%;
    -webkit-transform: translateY(-50%) scale(0);
    transform: translateY(-50%) scale(0);
    -webkit-transition: opacity .3s ease, -webkit-transform .3s ease;
    transition: opacity .3s ease, -webkit-transform .3s ease;
    transition: transform .3s ease, opacity .3s ease;
    transition: transform .3s ease, opacity .3s ease, -webkit-transform .3s ease;
    width: 6px
}

.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]:before {
    background: #1aafff
}

.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]:after {
    opacity: 1;
    -webkit-transform: translateY(-50%) scale(1);
    transform: translateY(-50%) scale(1)
}

.plyr__menu__container .plyr__control[role=menuitemradio].plyr__tab-focus:before, .plyr__menu__container .plyr__control[role=menuitemradio]:hover:before {
    background: rgba(0, 0, 0, .1)
}

.plyr__menu__container .plyr__menu__value {
    -webkit-box-align: center;
    align-items: center;
    display: -webkit-box;
    display: flex;
    margin-left: auto;
    margin-right: -5px;
    overflow: hidden;
    padding-left: 25px;
    pointer-events: none
}

.plyr--full-ui input[type=range] {
    -webkit-appearance: none;
    background: 0 0;
    border: 0;
    border-radius: 26px;
    color: #1aafff;
    display: block;
    height: 19px;
    margin: 0;
    padding: 0;
    -webkit-transition: box-shadow .3s ease;
    transition: box-shadow .3s ease;
    width: 100%
}

.plyr--full-ui input[type=range]::-webkit-slider-runnable-track {
    background: 0 0;
    border: 0;
    border-radius: 2.5px;
    height: 5px;
    -webkit-transition: box-shadow .3s ease;
    transition: box-shadow .3s ease;
    -webkit-user-select: none;
    user-select: none;
    background-image: -webkit-gradient(linear, left top, right top, from(currentColor), to(transparent));
    background-image: linear-gradient(90deg, currentColor var(--value, 0), transparent var(--value, 0))
}

.plyr--full-ui input[type=range]::-webkit-slider-thumb {
    background: #fff;
    border: 0;
    border-radius: 100%;
    box-shadow: 0 1px 1px rgba(0, 0, 0, .15), 0 0 0 1px rgba(47, 52, 61, .2);
    height: 13px;
    position: relative;
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
    width: 13px;
    -webkit-appearance: none;
    margin-top: -4px
}

.plyr--full-ui input[type=range]::-moz-range-track {
    background: 0 0;
    border: 0;
    border-radius: 2.5px;
    height: 5px;
    -webkit-transition: box-shadow .3s ease;
    transition: box-shadow .3s ease;
    -moz-user-select: none;
    user-select: none
}

.plyr--full-ui input[type=range]::-moz-range-thumb {
    background: #fff;
    border: 0;
    border-radius: 100%;
    box-shadow: 0 1px 1px rgba(0, 0, 0, .15), 0 0 0 1px rgba(47, 52, 61, .2);
    height: 13px;
    position: relative;
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
    width: 13px
}

.plyr--full-ui input[type=range]::-moz-range-progress {
    background: currentColor;
    border-radius: 2.5px;
    height: 5px
}

.plyr--full-ui input[type=range]::-ms-track {
    color: transparent
}

.plyr--full-ui input[type=range]::-ms-fill-upper, .plyr--full-ui input[type=range]::-ms-track {
    background: 0 0;
    border: 0;
    border-radius: 2.5px;
    height: 5px;
    -webkit-transition: box-shadow .3s ease;
    transition: box-shadow .3s ease;
    -ms-user-select: none;
    user-select: none
}

.plyr--full-ui input[type=range]::-ms-fill-lower {
    background: 0 0;
    border: 0;
    border-radius: 2.5px;
    height: 5px;
    -webkit-transition: box-shadow .3s ease;
    transition: box-shadow .3s ease;
    -ms-user-select: none;
    user-select: none;
    background: currentColor
}

.plyr--full-ui input[type=range]::-ms-thumb {
    background: #fff;
    border: 0;
    border-radius: 100%;
    box-shadow: 0 1px 1px rgba(0, 0, 0, .15), 0 0 0 1px rgba(47, 52, 61, .2);
    height: 13px;
    position: relative;
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
    width: 13px;
    margin-top: 0
}

.plyr--full-ui input[type=range]::-ms-tooltip {
    display: none
}

.plyr--full-ui input[type=range]:focus {
    outline: 0
}

.plyr--full-ui input[type=range]::-moz-focus-outer {
    border: 0
}

.plyr--full-ui input[type=range].plyr__tab-focus::-webkit-slider-runnable-track {
    box-shadow: 0 0 0 5px rgba(26, 175, 255, .5);
    outline: 0
}

.plyr--full-ui input[type=range].plyr__tab-focus::-moz-range-track {
    box-shadow: 0 0 0 5px rgba(26, 175, 255, .5);
    outline: 0
}

.plyr--full-ui input[type=range].plyr__tab-focus::-ms-track {
    box-shadow: 0 0 0 5px rgba(26, 175, 255, .5);
    outline: 0
}

.plyr--full-ui.plyr--video input[type=range]::-webkit-slider-runnable-track {
    background-color: hsla(0, 0%, 100%, .25)
}

.plyr--full-ui.plyr--video input[type=range]::-moz-range-track {
    background-color: hsla(0, 0%, 100%, .25)
}

.plyr--full-ui.plyr--video input[type=range]::-ms-track {
    background-color: hsla(0, 0%, 100%, .25)
}

.plyr--full-ui.plyr--video input[type=range]:active::-webkit-slider-thumb {
    box-shadow: 0 1px 1px rgba(0, 0, 0, .15), 0 0 0 1px rgba(47, 52, 61, .2), 0 0 0 3px hsla(0, 0%, 100%, .5)
}

.plyr--full-ui.plyr--video input[type=range]:active::-moz-range-thumb {
    box-shadow: 0 1px 1px rgba(0, 0, 0, .15), 0 0 0 1px rgba(47, 52, 61, .2), 0 0 0 3px hsla(0, 0%, 100%, .5)
}

.plyr--full-ui.plyr--video input[type=range]:active::-ms-thumb {
    box-shadow: 0 1px 1px rgba(0, 0, 0, .15), 0 0 0 1px rgba(47, 52, 61, .2), 0 0 0 3px hsla(0, 0%, 100%, .5)
}

.plyr--full-ui.plyr--audio input[type=range]::-webkit-slider-runnable-track {
    background-color: rgba(183, 197, 205, .66)
}

.plyr--full-ui.plyr--audio input[type=range]::-moz-range-track {
    background-color: rgba(183, 197, 205, .66)
}

.plyr--full-ui.plyr--audio input[type=range]::-ms-track {
    background-color: rgba(183, 197, 205, .66)
}

.plyr--full-ui.plyr--audio input[type=range]:active::-webkit-slider-thumb {
    box-shadow: 0 1px 1px rgba(0, 0, 0, .15), 0 0 0 1px rgba(47, 52, 61, .2), 0 0 0 3px rgba(0, 0, 0, .1)
}

.plyr--full-ui.plyr--audio input[type=range]:active::-moz-range-thumb {
    box-shadow: 0 1px 1px rgba(0, 0, 0, .15), 0 0 0 1px rgba(47, 52, 61, .2), 0 0 0 3px rgba(0, 0, 0, .1)
}

.plyr--full-ui.plyr--audio input[type=range]:active::-ms-thumb {
    box-shadow: 0 1px 1px rgba(0, 0, 0, .15), 0 0 0 1px rgba(47, 52, 61, .2), 0 0 0 3px rgba(0, 0, 0, .1)
}

.plyr__poster {
    background-color: #000;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: contain;
    height: 100%;
    left: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    -webkit-transition: opacity .2s ease;
    transition: opacity .2s ease;
    width: 100%;
    z-index: 1
}

.plyr--stopped.plyr__poster-enabled .plyr__poster {
    opacity: 1
}

.plyr__time {
    font-size: 14px
}

.plyr__time+.plyr__time:before {
    content: "\2044";
    margin-right: 10px
}

@media (max-width:767px) {
    .plyr__time+.plyr__time {
        display: none
    }
}

.plyr--video .plyr__time {
    text-shadow: 0 1px 1px rgba(0, 0, 0, .15)
}

.plyr__tooltip {
    background: hsla(0, 0%, 100%, .9);
    border-radius: 3px;
    bottom: 100%;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .15);
    color: #4f5b5f;
    font-size: 14px;
    font-weight: 500;
    left: 50%;
    line-height: 1.3;
    margin-bottom: 10px;
    opacity: 0;
    padding: 5px 7.5px;
    pointer-events: none;
    position: absolute;
    -webkit-transform: translate(-50%, 10px) scale(.8);
    transform: translate(-50%, 10px) scale(.8);
    -webkit-transform-origin: 50% 100%;
    transform-origin: 50% 100%;
    -webkit-transition: opacity .2s ease .1s, -webkit-transform .2s ease .1s;
    transition: opacity .2s ease .1s, -webkit-transform .2s ease .1s;
    transition: transform .2s ease .1s, opacity .2s ease .1s;
    transition: transform .2s ease .1s, opacity .2s ease .1s, -webkit-transform .2s ease .1s;
    white-space: nowrap;
    z-index: 2
}

.plyr__tooltip:before {
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 4px solid hsla(0, 0%, 100%, .9);
    bottom: -4px;
    content: "";
    height: 0;
    left: 50%;
    position: absolute;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 0;
    z-index: 2
}

.plyr .plyr__control.plyr__tab-focus .plyr__tooltip, .plyr .plyr__control:hover .plyr__tooltip, .plyr__tooltip--visible {
    opacity: 1;
    -webkit-transform: translate(-50%) scale(1);
    transform: translate(-50%) scale(1)
}

.plyr .plyr__control:hover .plyr__tooltip {
    z-index: 3
}

.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip, .plyr__controls>.plyr__control:first-child .plyr__tooltip {
    left: 0;
    -webkit-transform: translateY(10px) scale(.8);
    transform: translateY(10px) scale(.8);
    -webkit-transform-origin: 0 100%;
    transform-origin: 0 100%
}

.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip:before, .plyr__controls>.plyr__control:first-child .plyr__tooltip:before {
    left: 16px
}

.plyr__controls>.plyr__control:last-child .plyr__tooltip {
    left: auto;
    right: 0;
    -webkit-transform: translateY(10px) scale(.8);
    transform: translateY(10px) scale(.8);
    -webkit-transform-origin: 100% 100%;
    transform-origin: 100% 100%
}

.plyr__controls>.plyr__control:last-child .plyr__tooltip:before {
    left: auto;
    right: 16px;
    -webkit-transform: translateX(50%);
    transform: translateX(50%)
}

.plyr__controls>.plyr__control:first-child+.plyr__control.plyr__tab-focus .plyr__tooltip, .plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip--visible, .plyr__controls>.plyr__control:first-child+.plyr__control:hover .plyr__tooltip, .plyr__controls>.plyr__control:first-child.plyr__tab-focus .plyr__tooltip, .plyr__controls>.plyr__control:first-child .plyr__tooltip--visible, .plyr__controls>.plyr__control:first-child:hover .plyr__tooltip, .plyr__controls>.plyr__control:last-child.plyr__tab-focus .plyr__tooltip, .plyr__controls>.plyr__control:last-child .plyr__tooltip--visible, .plyr__controls>.plyr__control:last-child:hover .plyr__tooltip {
    -webkit-transform: translate(0) scale(1);
    transform: translate(0) scale(1)
}

.plyr--video {
    background: #000;
    overflow: hidden
}

.plyr--video.plyr--menu-open {
    overflow: visible
}

.plyr__video-wrapper {
    background: #000;
    border-radius: inherit;
    overflow: hidden;
    position: relative;
    z-index: 0
}

.plyr__progress {
    -webkit-box-flex: 1;
    flex: 1;
    left: 6.png5px;
    margin-right: 13px;
    position: relative
}

.plyr__progress__buffer, .plyr__progress input[type=range] {
    margin-left: -6.png5px;
    margin-right: -6.png5px;
    width: calc(100% + 13px)
}

.plyr__progress input[type=range] {
    position: relative;
    z-index: 2
}

.plyr__progress .plyr__tooltip {
    font-size: 14px;
    left: 0
}

.plyr__progress__buffer {
    -webkit-appearance: none;
    background: 0 0;
    border: 0;
    border-radius: 100px;
    height: 5px;
    left: 0;
    margin-top: -2.5px;
    padding: 0;
    position: absolute;
    top: 50%
}

.plyr__progress__buffer::-webkit-progress-bar {
    background: 0 0
}

.plyr__progress__buffer::-webkit-progress-value {
    background: currentColor;
    border-radius: 100px;
    min-width: 5px;
    -webkit-transition: width .2s ease;
    transition: width .2s ease
}

.plyr__progress__buffer::-moz-progress-bar {
    background: currentColor;
    border-radius: 100px;
    min-width: 5px;
    -webkit-transition: width .2s ease;
    transition: width .2s ease
}

.plyr__progress__buffer::-ms-fill {
    border-radius: 100px;
    -webkit-transition: width .2s ease;
    transition: width .2s ease
}

.plyr--video .plyr__progress__buffer {
    box-shadow: 0 1px 1px rgba(0, 0, 0, .15);
    color: hsla(0, 0%, 100%, .25)
}

.plyr--audio .plyr__progress__buffer {
    color: rgba(183, 197, 205, .66)
}

.plyr--loading .plyr__progress__buffer {
    -webkit-animation: plyr-progress 1s linear infinite;
    animation: plyr-progress 1s linear infinite;
    background-image: linear-gradient(-45deg, rgba(47, 52, 61, .6) 25%, transparent 0, transparent 50%, rgba(47, 52, 61, .6) 0, rgba(47, 52, 61, .6) 75%, transparent 0, transparent);
    background-repeat: repeat-x;
    background-size: 25px 25px;
    color: transparent
}

.plyr--video.plyr--loading .plyr__progress__buffer {
    background-color: hsla(0, 0%, 100%, .25)
}

.plyr--audio.plyr--loading .plyr__progress__buffer {
    background-color: rgba(183, 197, 205, .66)
}

.plyr__volume {
    -webkit-box-align: center;
    align-items: center;
    display: -webkit-box;
    display: flex;
    -webkit-box-flex: 1;
    flex: 1;
    position: relative
}

.plyr__volume input[type=range] {
    margin-left: 5px;
    position: relative;
    z-index: 2
}

@media (min-width:480px) {
    .plyr__volume {
        max-width: 90px
    }
}

@media (min-width:768px) {
    .plyr__volume {
        max-width: 110px
    }
}

.plyr--is-ios.plyr--vimeo [data-plyr=mute], .plyr--is-ios .plyr__volume {
    display: none !important
}

.plyr:fullscreen {
    background: #000;
    border-radius: 0 !important;
    height: 100%;
    margin: 0;
    width: 100%
}

.plyr:fullscreen video {
    height: 100%
}

.plyr:fullscreen .plyr__video-wrapper {
    height: 100%;
    width: 100%
}

.plyr:fullscreen.plyr--vimeo .plyr__video-wrapper {
    height: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

.plyr:fullscreen .plyr__control .icon--exit-fullscreen {
    display: block
}

.plyr:fullscreen .plyr__control .icon--exit-fullscreen+svg {
    display: none
}

.plyr:fullscreen.plyr--hide-controls {
    cursor: none
}

@media (min-width:1024px) {
    .plyr:-webkit-full-screen .plyr__captions {
        font-size: 21px
    }

    .plyr:-ms-fullscreen .plyr__captions {
        font-size: 21px
    }

    .plyr:-moz-full-screen .plyr__captions {
        font-size: 21px
    }

    .plyr:fullscreen .plyr__captions {
        font-size: 21px
    }
}

.plyr:-webkit-full-screen {
    background: #000;
    border-radius: 0 !important;
    height: 100%;
    margin: 0;
    width: 100%
}

.plyr:-webkit-full-screen video {
    height: 100%
}

.plyr:-webkit-full-screen .plyr__video-wrapper {
    height: 100%;
    width: 100%
}

.plyr:-webkit-full-screen.plyr--vimeo .plyr__video-wrapper {
    height: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

.plyr:-webkit-full-screen .plyr__control .icon--exit-fullscreen {
    display: block
}

.plyr:-webkit-full-screen .plyr__control .icon--exit-fullscreen+svg {
    display: none
}

.plyr:-webkit-full-screen.plyr--hide-controls {
    cursor: none
}

@media (min-width:1024px) {
    .plyr:-webkit-full-screen .plyr__captions {
        font-size: 21px
    }
}

.plyr:-moz-full-screen {
    background: #000;
    border-radius: 0 !important;
    height: 100%;
    margin: 0;
    width: 100%
}

.plyr:-moz-full-screen video {
    height: 100%
}

.plyr:-moz-full-screen .plyr__video-wrapper {
    height: 100%;
    width: 100%
}

.plyr:-moz-full-screen.plyr--vimeo .plyr__video-wrapper {
    height: 0;
    top: 50%;
    transform: translateY(-50%)
}

.plyr:-moz-full-screen .plyr__control .icon--exit-fullscreen {
    display: block
}

.plyr:-moz-full-screen .plyr__control .icon--exit-fullscreen+svg {
    display: none
}

.plyr:-moz-full-screen.plyr--hide-controls {
    cursor: none
}

@media (min-width:1024px) {
    .plyr:-moz-full-screen .plyr__captions {
        font-size: 21px
    }
}

.plyr:-ms-fullscreen {
    background: #000;
    border-radius: 0 !important;
    height: 100%;
    margin: 0;
    width: 100%
}

.plyr:-ms-fullscreen video {
    height: 100%
}

.plyr:-ms-fullscreen .plyr__video-wrapper {
    height: 100%;
    width: 100%
}

.plyr:-ms-fullscreen.plyr--vimeo .plyr__video-wrapper {
    height: 0;
    top: 50%;
    transform: translateY(-50%)
}

.plyr:-ms-fullscreen .plyr__control .icon--exit-fullscreen {
    display: block
}

.plyr:-ms-fullscreen .plyr__control .icon--exit-fullscreen+svg {
    display: none
}

.plyr:-ms-fullscreen.plyr--hide-controls {
    cursor: none
}

@media (min-width:1024px) {
    .plyr:-ms-fullscreen .plyr__captions {
        font-size: 21px
    }
}

.plyr--fullscreen-fallback {
    background: #000;
    border-radius: 0 !important;
    height: 100%;
    margin: 0;
    width: 100%;
    bottom: 0;
    left: 0;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 10000000
}

.plyr--fullscreen-fallback video {
    height: 100%
}

.plyr--fullscreen-fallback .plyr__video-wrapper {
    height: 100%;
    width: 100%
}

.plyr--fullscreen-fallback.plyr--vimeo .plyr__video-wrapper {
    height: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

.plyr--fullscreen-fallback .plyr__control .icon--exit-fullscreen {
    display: block
}

.plyr--fullscreen-fallback .plyr__control .icon--exit-fullscreen+svg {
    display: none
}

.plyr--fullscreen-fallback.plyr--hide-controls {
    cursor: none
}

@media (min-width:1024px) {
    .plyr--fullscreen-fallback .plyr__captions {
        font-size: 21px
    }
}

.plyr__ads {
    border-radius: inherit;
    bottom: 0;
    cursor: pointer;
    left: 0;
    overflow: hidden;
    position: absolute;
    right: 0;
    top: 0;
    z-index: -1
}

.plyr__ads>div, .plyr__ads>div iframe {
    height: 100%;
    position: absolute;
    width: 100%
}

.plyr__ads:after {
    background: rgba(47, 52, 61, .8);
    border-radius: 2px;
    bottom: 10px;
    color: #fff;
    content: attr(data-badge-text);
    font-size: 11px;
    padding: 2px 6px;
    pointer-events: none;
    position: absolute;
    right: 10px;
    z-index: 3
}

.plyr__ads:after:empty {
    display: none
}

.plyr__cues {
    background: currentColor;
    display: block;
    height: 5px;
    left: 0;
    margin: -2.5px 0 0;
    opacity: .8;
    position: absolute;
    top: 50%;
    width: 3px;
    z-index: 3
}

.plyr__preview-thumb {
    background-color: hsla(0, 0%, 100%, .9);
    border-radius: 3px;
    bottom: 100%;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .15);
    margin-bottom: 10px;
    opacity: 0;
    padding: 3px;
    pointer-events: none;
    position: absolute;
    -webkit-transform: translateY(10px) scale(.8);
    transform: translateY(10px) scale(.8);
    -webkit-transform-origin: 50% 100%;
    transform-origin: 50% 100%;
    -webkit-transition: opacity .2s ease .1s, -webkit-transform .2s ease .1s;
    transition: opacity .2s ease .1s, -webkit-transform .2s ease .1s;
    transition: transform .2s ease .1s, opacity .2s ease .1s;
    transition: transform .2s ease .1s, opacity .2s ease .1s, -webkit-transform .2s ease .1s;
    z-index: 2
}

.plyr__preview-thumb--is-shown {
    opacity: 1;
    -webkit-transform: translate(0) scale(1);
    transform: translate(0) scale(1)
}

.plyr__preview-thumb:before {
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 4px solid hsla(0, 0%, 100%, .9);
    bottom: -4px;
    content: "";
    height: 0;
    left: 50%;
    position: absolute;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 0;
    z-index: 2
}

.plyr__preview-thumb__image-container {
    background: #b7c5cd;
    border-radius: 2px;
    overflow: hidden;
    position: relative;
    z-index: 0
}

.plyr__preview-thumb__image-container img {
    height: 100%;
    left: 0;
    max-height: none;
    max-width: none;
    position: absolute;
    top: 0;
    width: 100%
}

.plyr__preview-thumb__time-container {
    bottom: 6px;
    left: 0;
    position: absolute;
    right: 0;
    white-space: nowrap;
    z-index: 3
}

.plyr__preview-thumb__time-container span {
    background-color: rgba(0, 0, 0, .55);
    border-radius: 2px;
    color: #fff;
    font-size: 14px;
    padding: 3px 6px
}

.plyr__preview-scrubbing {
    bottom: 0;
    -webkit-filter: blur(1px);
    filter: blur(1px);
    height: 100%;
    left: 0;
    margin: auto;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    right: 0;
    top: 0;
    -webkit-transition: opacity .3s ease;
    transition: opacity .3s ease;
    width: 100%;
    z-index: 1
}

.plyr__preview-scrubbing--is-shown {
    opacity: 1
}

.plyr__preview-scrubbing img {
    height: 100%;
    left: 0;
    max-height: none;
    max-width: none;
    -o-object-fit: contain;
    object-fit: contain;
    position: absolute;
    top: 0;
    width: 100%
}

.plyr--no-transition {
    -webkit-transition: none !important;
    transition: none !important
}

.plyr__sr-only {
    clip: rect(1px, 1px, 1px, 1px);
    overflow: hidden;
    border: 0 !important;
    height: 1px !important;
    padding: 0 !important;
    position: absolute !important;
    width: 1px !important
}

.plyr [hidden] {
    display: none !important
}

.plyr {
    margin-bottom: 2.5rem
}

.top-decoration {
    border-top: 3px solid var(--primary);
    padding-top: 1rem
}

.key-dates .h-group .h-alt, .recruitment-contact .h-group .h-alt {
    margin-bottom: 0
}

.primary--the-one-orange {
    --primary: #ee7203;
    --secondary: #000;
}


.standard-content--figure + :is(h1, h2, h3, h4) {
    margin-top: 0;
}
      
      .standard-content--image-heading {
        margin-top: 0;
      }
      
      .hero.hero--var1 .cta_buttons {
      	display: inline-flex;
        gap: 1rem;
        justify-content:center;
      
      }

      @media screen and (min-width: 1024px) {
        .hero.hero--var1 .cta_buttons {

          justify-content:left;

        }
      }













