:root,
.color-background-1 {
    --color-foreground: var(--color-base-text);
    --color-background: var(--color-base-background-1);
    --gradient-background: var(--gradient-base-background-1)
}

:root,
.color-background-1 {
    --color-link: var(--color-base-outline-button-labels);
    --alpha-link: .85
}

:root,
.color-background-1 {
    --color-button: var(--color-base-accent-1);
    --color-button-text: var(--color-base-solid-button-labels);
    --alpha-button-background: 1;
    --alpha-button-border: 1
}

:root,
.color-background-1 {
    --color-badge-background: var(--color-background);
    --color-badge-border: var(--color-foreground);
    --alpha-badge-border: .1
}

:root,
.color-background-1,
.color-background-2 {
    --color-card-hover: var(--color-base-text)
}

:root,
.color-icon-text {
    --color-icon: rgb(var(--color-base-text))
}

.page-width {
    max-width: var(--page-width);
    margin: 0 auto;
    padding: 0 1.5rem
}

.page-width-desktop {
    padding: 0;
    margin: 0 auto
}

@media screen and (min-width: 750px) {
    .page-width {
        padding: 0 5rem
    }

    .page-width--narrow {
        padding: 0 9rem
    }

    .page-width-desktop {
        padding: 0
    }

    .page-width-tablet {
        padding: 0 5rem
    }
}

@media screen and (min-width: 990px) {
    .page-width--narrow {
        max-width: 72.6rem;
        padding: 0
    }

    .page-width-desktop {
        max-width: var(--page-width);
        padding: 0 5rem
    }
}

.isolate {
    position: relative;
    z-index: 0
}

.section+.section {
    margin-top: var(--spacing-sections-mobile)
}

@media screen and (min-width: 750px) {
    .section+.section {
        margin-top: var(--spacing-sections-desktop)
    }
}

.element-margin-top {
    margin-top: 5rem
}

@media screen and (min-width: 750px) {
    .element-margin {
        margin-top: calc(5rem + var(--page-width-margin))
    }
}

body,
.color-background-1,
.color-inverse,
.color-accent-1 {
    color: rgba(var(--color-foreground), .75);
    background-color: rgb(var(--color-background))
}

.grid-auto-flow {
    display: grid;
    grid-auto-flow: column
}

.rte-width {
    max-width: 82rem;
    margin: 0 auto 2rem
}

.list-unstyled {
    margin: 0;
    padding: 0;
    list-style: none
}

.visually-hidden {
    position: absolute !important;
    overflow: hidden;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    clip: rect(0 0 0 0);
    word-wrap: normal !important
}

.visually-hidden--inline {
    margin: 0;
    height: 1em
}

.overflow-hidden {
    overflow: hidden
}

.skip-to-content-link:focus {
    z-index: 9999;
    position: inherit;
    overflow: auto;
    width: auto;
    height: auto;
    clip: auto
}

.full-width-link {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2
}

::selection {
    background-color: rgba(var(--color-foreground), .2)
}

h1,
h2,
h3,
h4,
h5,
.h0,
.h1,
.h2,
.h3,
.h4,
.h5 {
    font-family: var(--font-heading-family);
    font-style: var(--font-heading-style);
    font-weight: var(--font-heading-weight);
    letter-spacing: calc(var(--font-heading-scale) * .06rem);
    color: rgb(var(--color-foreground));
    line-height: calc(1 + .3/max(1, var(--font-heading-scale)));
    word-break: break-word
}

.h0 {
    font-size: calc(var(--font-heading-scale) * 4rem)
}

@media only screen and (min-width: 750px) {
    .h0 {
        font-size: calc(var(--font-heading-scale) * 5.2rem)
    }
}

h1,
.h1 {
    font-size: calc(var(--font-heading-scale) * 3rem)
}

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

    h1,
    .h1 {
        font-size: calc(var(--font-heading-scale) * 4rem)
    }
}

h2,
.h2 {
    font-size: calc(var(--font-heading-scale) * 2rem)
}

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

    h2,
    .h2 {
        font-size: calc(var(--font-heading-scale) * 2.4rem)
    }
}

h3,
.h3 {
    font-size: calc(var(--font-heading-scale) * 1.7rem)
}

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

    h3,
    .h3 {
        font-size: calc(var(--font-heading-scale) * 1.8rem)
    }
}

h4,
.h4 {
    font-family: var(--font-heading-family);
    font-style: var(--font-heading-style);
    font-size: calc(var(--font-heading-scale) * 1.5rem)
}

h5,
.h5 {
    font-size: calc(var(--font-heading-scale) * 1.2rem)
}

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

    h5,
    .h5 {
        font-size: calc(var(--font-heading-scale) * 1.3rem)
    }
}

h6,
.h6 {
    color: rgba(var(--color-foreground), .75);
    margin-block-start: 1.67em;
    margin-block-end: 1.67em
}

blockquote {
    font-style: italic;
    color: rgba(var(--color-foreground), .75);
    border-left: .2rem solid rgba(var(--color-foreground), .2);
    padding-left: 1rem
}

@media screen and (min-width: 750px) {
    blockquote {
        padding-left: 1.5rem
    }
}

@media screen and (min-width: 750px) {
    .caption {
        font-size: 1.2rem
    }

    @media screen and (max-width: 749px) {
        .small-hide {
            display: none !important
        }
    }
    
    @media screen and (min-width: 750px) and (max-width: 989px) {
        .medium-hide {
            display: none !important
        }
    }
    
    @media screen and (min-width: 990px) {
        .large-up-hide {
            display: none !important
        }
    }}
a:empty,
ul:empty,
dl:empty,
div:empty,
section:empty,
article:empty,
p:empty,
h1:empty,
h2:empty,
h3:empty,
h4:empty,
h5:empty,
h6:empty {
    display: none
}

:root {
    --duration-short: .1s;
    --duration-default: .2s;
    --duration-long: .5s
}

@media screen and (min-width: 750px) {
    .title-wrapper--self-padded-mobile {
        padding-left: 0;
        padding-right: 0
    }
}

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

    .title,
    .title-wrapper-with-link {
        margin: 5rem 0 3rem
    }

    .title--primary {
        margin: 2rem 0
    }

    .title-wrapper-with-link {
        align-items: center
    }

    .title-wrapper-with-link .title {
        margin-bottom: 0
    }

    .title-wrapper--self-padded-tablet-down {
        padding-left: 0;
        padding-right: 0
    }
}

@media screen and (min-width: 750px) {
    .grid {
        column-gap: var(--grid-desktop-horizontal-spacing);
        row-gap: var(--grid-desktop-vertical-spacing)
    }
}

.media {
    display: block;
    background-color: rgba(var(--color-foreground), .1);
    position: relative;
    overflow: hidden
}

.media--transparent {
    background-color: transparent
}

.media>*:not(.zoom):not(.deferred-media__poster-button),
.media model-viewer {
    display: block;
    max-width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%
}

.media>img {
    object-fit: cover;
    object-position: center center;
    transition: opacity .4s cubic-bezier(.25, .46, .45, .94)
}

.media--square {
    padding-bottom: 100%
}

.media--portrait {
    padding-bottom: 125%
}

.media--landscape {
    padding-bottom: 66.6%
}

.media--cropped {
    padding-bottom: 56%
}

.media--16-9 {
    padding-bottom: 56.25%
}

.media--circle {
    padding-bottom: 100%;
    border-radius: 50%
}

.media.media--hover-effect>img+img {
    opacity: 0
}

@media screen and (min-width: 990px) {
    .media--cropped {
        padding-bottom: 63%
    }
}

deferred-media {
    display: block
}.gradient {
    background: rgb(var(--color-background));
    background: var(--gradient-background);
    background-attachment: fixed
}