/* CSS Variables */
:root {
    --brand-primary-color: #01A982;
    --brand-primary-color_dark: #01906f;
    --brand-primary-color_light: #12fec7;
    --container__background: #01074b;
    --container__section_color: #ffffff;
    --container__section-highlight_color: var(--brand-primary-color);
    --container__section-secondary_color: #dddddd;
    --container__delayed-content-loader__background: #010970;
}

/* Base Styles */
*, *:before, *:after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-family: var(--font-family, arial, helvetica, sans-serif);
    margin: 0;
    padding: 0;
    vertical-align: top
}

html {
    background: #ffffff;
    font-size: 62.5%;
    text-align: left;
    -webkit-text-size-adjust: none
}

body {
    font-size: 1.5rem;
    -webkit-font-smoothing: antialiased;
    font-weight: 400;
    line-height: 1.5rem;
    min-width: 32rem
}

html, body {
    height: 100%;
    width: 100%
}

img {
    border: 0;
    display: block;
    font-size: 0.1rem;
    overflow: hidden
}

input, button {
    -webkit-appearance: none;
    background-image: none;
    border-radius: 0
}

button {
    -webkit-appearance: none;
    border: 0;
    border-collapse: separate;
    cursor: pointer;
    outline: 0
}

ul {
    list-style: none
}

div {
    display: block
}

a {
    text-decoration: none
}

/* Component Base */
.component {
    padding-left: 1.5rem;
    padding-right: 1.5rem
}

.component--no-default-space {
    padding-left: 0;
    padding-right: 0
}

.component--top {
    margin-top: 1rem
}

.component--top-l {
    margin-top: 2rem
}

.component--top-xl {
    margin-top: 3rem
}

.component--bottom {
    margin-bottom: 1rem
}

.component--bottom-l {
    margin-bottom: 2rem
}

.component--bottom-xl {
    margin-bottom: 3rem
}

.component--hidden {
    display: none !important
}

/* Container */
.container--dsr {
    --container__column-one_width: 66rem;
    --container__columns_grid-template-areas: ". one .";
    --container__columns_grid-template-columns: auto minmax(10rem, var(--container__column-one_width)) auto;
    background: var(--container__background, none);
    border-top: var(--container__border-top, 0.3rem solid var(--brand-primary-color));
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    min-height: 100vh
}

.html--dsr.html--mode-dark {
    --container__background: #01074b;
    --container__section_color: #ffffff;
    --container__section-highlight_color: var(--brand-primary-color);
    --container__section-secondary_color: #dddddd;
    --container__delayed-content-loader__background: #010970;
}

/* Brand Logo */
.brand-logo--default {
    position: absolute;
    right: 1.5rem;
    top: 1.5rem
}

@media (max-width: 991px) {
    .brand-logo--default {
        display: none
    }
}

/* Columns */
.columns--default {
    background: var(--container__section_background, none);
    border-top: var(--container__section_border-top, 0);
    -webkit-box-shadow: var(--container__section_box-shadow, none);
    box-shadow: var(--container__section_box-shadow, none);
    display: grid;
    grid-template-areas:var(--container__columns_grid-template-areas);
    grid-template-columns:var(--container__columns_grid-template-columns)
}

.columns--default .columns__column--one {
    grid-column: one
}

/* Image */
.image--default .image__image {
    height: 10rem;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%
}

/* Content Page Header */
.content-page-header--default .content-page-header__container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 1.2rem;
    line-height: 1.6rem
}

.content-page-header--default .content-page-header__left {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    overflow: hidden;
    text-overflow: ellipsis
}

.content-page-header--default .content-page-header__home-link {
    position: relative
}

.content-page-header--default .content-page-header__home-link:before {
    color: var(--container__section-highlight_color, var(--home-link-before_color, #1d2849));
    content: "";
    left: 0;
    line-height: 1.6rem;
    position: absolute;
    top: 0
}

.content-page-header--default .content-page-header__link {
    color: var(--container__section_color, var(--link_color, #505058));
    display: block;
    overflow: hidden;
    /*padding-left:1.6rem;*/
    text-overflow: ellipsis;
    white-space: nowrap
}

.content-page-header--default .content-page-header__page {
    color: var(--container__section_color, var(--page_color, #505058));
    -webkit-box-flex: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    text-align: end
}

/* Content Page Title */
.content-page-title--small {
    margin: 1rem 0
}

.content-page-title--small .content-page-title__text {
    color: var(--container__section_color, #1d2849);
    font-size: 1.6rem;
    line-height: 2.4rem
}

/* Content Page Excerpt */
.content-page-excerpt--default .content-page-excerpt__description {
    color: var(--container__section_color, var(--description_color, #1d2849));
    font-size: 1.6rem;
    line-height: 2.2rem
}

@media (min-width: 768px) {
    .content-page-excerpt--default .content-page-excerpt__description {
        padding-top: 1.5rem
    }
}

/* Content Page Paragraph */
.content-page-paragraph--default .text-list:not(ol) {
    list-style: disc
}

.content-page-paragraph--default .text-list__item {
    display: list-item;
    margin-left: 2rem
}

.content-page-paragraph--default .text-list__item::marker {
    color: var(--brand-primary-color)
}

.content-page-paragraph--default .text-list + .text-paragraph {
    margin-top: 2.4rem
}

.content-page-paragraph--default .text-heading {
    margin: 2rem 0 1rem 0
}

.content-page-paragraph--default .text-paragraph + .text-list {
    margin-top: 2.4rem
}

@media (min-width: 768px) {
    .content-page-paragraph--default .content-page-paragraph__description,
    .content-page-paragraph--default .content-page-paragraph__title {
        padding-top: 1.5rem
    }
}

.content-page-paragraph--default .content-page-paragraph__description {
    color: var(--container__section_color, var(--description_color, #1d2849));
    font-size: 1.6rem;
    line-height: 2.2rem
}

.content-page-paragraph--default .content-page-paragraph__title {
    color: var(--container__section_color, #1d2849);
    font-size: 2rem;
    font-weight: 700;
    line-height: 2.7rem;
    scroll-margin-top: 8rem
}

/* Display Banner */
.display-banner--default .display-banner {
    margin-bottom: 3rem;
    padding-left: 1.3rem
}

/* Related Terms */
.related-terms--fallback-dark .related-terms__title {
    color: var(--container__section_color);
    font-size: var(--title_font-size, 1.4rem);
    font-weight: 400;
    line-height: var(--title_line-height, 1.5rem);
    margin-bottom: var(--title_margin-bottom, 1rem)
}

@media (max-width: 991px) {
    .related-terms--fallback-dark .related-terms__title {
        --title_font-size: 1.3rem;
        --title_line-height: 1.8rem;
        --title_margin-bottom: 0.5rem
    }
}

.related-terms--fallback-dark .related-terms__column {
    display: block
}

.related-terms--fallback-dark .related-terms__columns--2 .related-terms__column {
    display: inline-block;
    padding-left: 1rem;
    vertical-align: top;
    width: 50%
}

.related-terms--fallback-dark .related-terms__columns--2 .related-terms__column:first-child {
    padding-left: 0;
    padding-right: 1rem
}

.related-terms--fallback-dark .related-terms__link {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background: #e7eefe;
    border: 0.5rem solid #3df5f3;
    border-radius: 1rem;
    color: #212121;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 2.2rem;
    margin-bottom: 2rem;
    max-width: 100%;
    overflow: hidden;
    padding: 2rem 0;
    position: relative;
    text-align: left;
    text-decoration: none
}

.related-terms--fallback-dark .related-terms__link:hover .related-terms__label {
    text-decoration: underline
}

.related-terms--fallback-dark .related-terms__link:before {
    color: #000000;
    content: "";
    display: inline-block;
    font-size: 2rem;
    height: 3rem;
    line-height: 3rem;
    margin: 0.5rem 0;
    position: relative;
    text-decoration: none
}

.related-terms--fallback-dark .related-terms__label {
    display: block;
    padding: 0 0 0 1.5rem
}

@media (min-width: 768px) {
    .related-terms--fallback-dark .related-terms__item {
        margin: 0 0 1.2rem 0
    }

    .related-terms--fallback-dark .related-terms__link:before {
        left: 0.5rem
    }
}

@media (max-width: 767px) {
    .related-terms--fallback-dark .related-terms__columns--2 .related-terms__column {
        display: block;
        padding: 0;
        width: auto
    }

    .related-terms--fallback-dark .related-terms__columns--2 .related-terms__column:first-child {
        padding: 0
    }

    .related-terms--fallback-dark .related-terms__item {
        border-bottom: 0;
        margin: 0 0 1.2rem 0
    }

    .related-terms--fallback-dark .related-terms__link {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        line-height: 2.6rem
    }

    .related-terms--fallback-dark .related-terms__link:before {
        content: "";
        left: 0.5rem
    }
}

/* Continue Reading */
.content-page-continue-reading--default .content-page-continue-reading__link {
    border-bottom: 0.1rem solid #eceff1;
    border-top: 0.1rem solid #eceff1;
    display: inline-block;
    margin-top: 1.6rem;
    padding: 1rem 0;
    position: relative;
    width: 100%
}

.content-page-continue-reading--default .content-page-continue-reading__link:before {
    background-color: var(--container__section-highlight_color, #eceff1);
    border-radius: 0.4rem;
    bottom: 1rem;
    content: "";
    position: absolute;
    right: 0;
    top: 1rem;
    width: 4rem
}

.content-page-continue-reading--default .content-page-continue-reading__link:after {
    color: var(--container__section_color, var(--brand-primary-color));
    content: "";
    font-size: 2rem;
    position: absolute;
    right: 0;
    text-align: center;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 4rem
}

.content-page-continue-reading--default .content-page-continue-reading__text,
.content-page-continue-reading--default .content-page-continue-reading__title {
    display: block;
    line-height: 2.4rem;
    max-width: calc(100% - 4rem);
    padding-right: 1rem
}

.content-page-continue-reading--default .content-page-continue-reading__text {
    color: var(--container__section_color, #1d2849);
    font-size: 1.6rem
}

.content-page-continue-reading--default .content-page-continue-reading__title {
    color: var(--container__section_color, #1d2849);
    font-size: 2rem
}

/* Content Page Footer */
.content-page-footer--default {
    color: var(--container__section_color, #505058);
    margin-bottom: 2.6rem;
    margin-top: 2.6rem;
    text-align: center
}

.content-page-footer--default .content-page-footer__publisher-image {
    border-radius: 0.4rem;
    display: inline;
    margin-bottom: 1.6rem;
    width: 10rem
}

.content-page-footer--default .content-page-footer__info-container {
    font-size: 1.4rem
}

/* Share Page */
.share-page--default {
    font-size: 1.6rem;
    margin-bottom: 2rem;
    margin-top: 2rem;
    text-align: center
}

.share-page--default .share-page__title {
    color: var(--container__section_color, #505058)
}

.share-page--default .share-page__list {
    padding-top: 1.2rem
}

.share-page--default .share-page__item {
    display: inline-block
}

.share-page--default .share-page__item:not(:first-child) {
    margin-left: 1rem
}

.share-page--default .share-page__button {
    background-color: #f1f3f4;
    border-radius: 0.4rem;
    display: inline-block;
    height: 3.2rem;
    line-height: 3.2rem;
    padding: 0.8rem;
    position: relative;
    width: 3.2rem
}

.share-page--default .share-page__image {
    display: inline;
    left: 50%;
    position: absolute;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%)
}

/* Scroll to Top */
.scroll-to-top--default {
    background-color: var(--container__section-highlight_color, #f1f3f4);
    border-radius: 0.4rem 0 0 0.4rem;
    bottom: 10rem;
    -webkit-box-shadow: 0 0.2rem 0.4rem rgba(29, 40, 73, 0.18);
    box-shadow: 0 0.2rem 0.4rem rgba(29, 40, 73, 0.18);
    cursor: pointer;
    height: 4rem;
    position: fixed;
    right: 0;
    width: 4rem;
    z-index: 1
}

.scroll-to-top--default:before {
    color: var(--container__section_color, #1d2849);
    content: "";
    font-size: 2.4rem;
    left: 0.9rem;
    position: absolute;
    top: 1.3rem
}

@media (min-width: 768px) {
    .scroll-to-top--default {
        display: none
    }
}

/* Footer */
.footer--default {
    margin-top: auto
}

.footer-logo--default {
    margin-bottom: 2rem;
    margin-top: 2rem;
    text-align: center
}

.footer-logo--default .footer-logo__brand-link {
    display: inline-block
}

@media (min-width: 768px) {
    .footer-logo--default.footer-logo--hide-on-desktop {
        display: none
    }
}

/* Disclaimer */
.disclaimer--default {
    color: var(--container__section_color, #505058);
    font-size: 1.4rem;
    line-height: 2rem;
    margin-bottom: 2rem;
    margin-top: 2rem;
    text-align: center
}

.disclaimer--default .disclaimer__link {
    color: var(--container__section_color, #505058)
}

/* Footer Navigation */
.footer-navigation--dsr {
    border-top: 0.3rem solid var(--brand-primary-color);
    padding-bottom: 1rem;
    padding-top: 1rem;
    position: relative;
    text-align: center;
    width: 100%
}

.footer-navigation--dsr .footer-navigation__container {
    display: block;
    line-height: 2.6rem;
    padding: 0 1.5rem
}

.footer-navigation--dsr .footer-navigation__list {
    font-size: 0
}

.footer-navigation--dsr .footer-navigation__item {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    font-size: 1.3rem
}

.footer-navigation--dsr .footer-navigation__item:before {
    color: var(--container__section_color, #666);
    content: "-";
    display: inline-block;
    padding: 0 0.8rem
}

.footer-navigation--dsr .footer-navigation__item--copyright {
    display: block;
    margin-top: 1rem
}

.footer-navigation--dsr .footer-navigation__item:first-child:before,
.footer-navigation--dsr .footer-navigation__item--copyright:before {
    display: none
}

.footer-navigation--dsr .footer-navigation__link {
    color: var(--container__section_color, #666);
    cursor: pointer;
    white-space: nowrap
}

.footer-navigation--dsr .footer-navigation__link:hover {
    text-decoration: underline
}

/* Posts List */
.posts-list--default {
    margin-top: 2rem;
    margin-bottom: 2rem;
}

.posts-list__item {
    margin-bottom: 4rem;
    padding-bottom: 2rem;
    position: relative;
}

.posts-list__item:last-child {
    margin-bottom: 0;
}

.posts-list__item:last-child .posts-list__separator {
    display: none;
}

.posts-list__title-link {
    color: var(--container__section_color, #1d2849);
    text-decoration: none;
}

.posts-list__title-link:hover {
    color: var(--container__section-highlight_color, var(--brand-primary-color));
    text-decoration: underline;
}

.posts-list__separator {
    border-top: 0.1rem solid var(--container__section-secondary_color, #dddddd);
    margin-top: 3rem;
    opacity: 0.3;
    width: 100%;
}


/* References and Further Reading lists */
.content-page-references__list {
    list-style: decimal;
    margin-left: 1.6rem;
}

.content-page-references__item {
    padding: 0.4rem 0;
}

.content-page-references__item a {
    color: #ffffff;
    text-decoration: none;
}

.content-page-references__item a:hover,
.content-page-references__item a:focus {
    color: var(--brand-primary-color_light);
    text-decoration: underline;
}


/* References/Further Reading: white list numbers and external link emoji */
.content-page-references__item::marker {
    color: #ffffff;
}

.content-page-references__item a::after {
    content: " ↗";
}

.custom_os_results {
    display: flex;
    flex-direction: column;
    margin: 0 1.6rem;
}

.os_result_container {
    cursor: pointer;
}

.os_result_title {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.6rem;
    padding: 15px 0 0 0;
    margin: 0;
    color: #666666;
}

.os_result_domain {
    color: #FFFFFF;
    font-size: 1.3rem;
    font-weight: 400;
    line-height: 1.3rem;
    padding: 4px 0;
}

.os_result_description {
    font-size: 1.3rem;
    font-weight: 400;
    line-height: 1.3rem;
    margin: 0;
    color: #9E9E9E;
}

.results_note {
    color: #999999;
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.5rem;
    margin: 0 1.6rem;
}
/* Google results widget */
.content-link-widget {
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 0.8rem;
    padding: 1.2rem;
}

.content-link-widget--default {
    /* no background so it blends into page */
}

.content-link-widget--default .content-link-widget__title {
    color: var(--container__section_color, #ffffff);
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 2.2rem;
    margin: 0 0 0.6rem 0;
}

.content-link-widget--default .content-link-widget__list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.content-link-widget--default .content-link-widget__item {
    padding: 0.4rem 0;
}

.content-link-widget--default .content-link-widget__link {
    color: var(--brand-primary-color_light, #12fec7);
    font-size: 1.6rem;
    line-height: 2.1rem;
}

.content-link-widget--default .content-link-widget__link:hover,
.content-link-widget--default .content-link-widget__link:focus {
    text-decoration: underline;
}

.content-link-widget--default .content-link-widget__link::after {
    content: " ↗";
}

.content-link-widget--default .content-link-widget__snippet {
    color: var(--container__section-secondary_color, #dddddd);
    font-size: 1.4rem;
    line-height: 2rem;
    margin-top: 0.1rem;
    opacity: 0.9;
}


/* Lists inside article paragraph content */
.content-page-paragraph--default .content-page-paragraph__description ul {
    list-style: disc;
    padding-left: 2rem;
    margin: 1rem 0 1.5rem;
}

.content-page-paragraph--default .content-page-paragraph__description li {
    margin: 0.5rem 0;
}

.content-page-paragraph--default .content-page-paragraph__description ul ul {
    list-style: circle;
    margin-top: 0.5rem;
}

.content-page-paragraph--default .content-page-paragraph__description li::marker {
    color: var(--brand-primary-color);
}
