:root {
    font-size: 18px;

    --my_turquoise: #009CA6;
    --my_black: #0B0D28;
    --my_black_40: rgba(11,13,40,.4);
    --my_black_50: rgba(11,13,40,.5);
    --my_grey: #A4B7C5;
    --my_light_grey: #ECEEF8;
    --my_white_cool: #F2F6FC;

    --cf7_danger: #dc3232;
    --cf7_danger_10: #fbeaea;
    
    --cf7_warning: #ffb900;
    --cf7_warning_10: #fff8e5;

    --cf7_success: #46b450;
    --cf7_success_10: #ecf7ed;
}

body { font-family: 'Mulish', sans-serif !important; font-optical-sizing: auto; font-weight: 300 !important; font-style: normal; color: var(--my_black) !important; }

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 { font-family: 'Encode Sans Condensed', sans-serif; font-weight: 500 !important; font-style: normal; }

a,
a::after,
button,
.my-btn::before,
.my-btn.my-btn-ghost,
.background.bg-100,
#masthead #primary-menu > .menu-item:last-child > a::before { transition: background-color .4s, color .4s, width .4s, border-color .4s, background-size .4s, text-indent .4s; }

.my-btn { background-color: var(--my_black); color: var(--my_light_grey) !important; text-decoration: none; border-radius: 3px; font-weight: 500; display: inline-flex; justify-content: center; align-items: center; padding: .5rem 2.25rem; overflow: hidden; min-width: 223.05px; max-width: calc(320px - 2 * 13.5px); }

.my-btn,
.my-btn > span { position: relative; }

.my-btn > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.my-btn:not(.my-btn-ghost)::before { content: ''; display: block; width: 0; height: 100%; position: absolute; left: 0; top: 0; background-color: var(--my_turquoise); }

.my-btn:not(.my-btn-ghost):hover::before,
.my-btn:not(.my-btn-ghost):focus::before { width: 100%; }

.my-btn.my-btn-light { background-color: var(--my_white_cool); color: var(--my_black) !important; }

.my-btn:not(.my-btn-ghost):hover,
.my-btn:not(.my-btn-ghost):focus { /* background-color: var(--my_turquoise); */ color: var(--my_light_grey) !important; }

.my-btn.my-btn-ghost { background-color: transparent; color: var(--my_turquoise) !important; border-radius: 0; padding: 0; min-width: 0; max-width: none; }

.my-btn.my-btn-ghost:hover,
.my-btn.my-btn-ghost:focus { text-indent: 13.5px; }

.my-btn.my-btn-ghost::after { content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='19' height='14' viewBox='0 0 19 14' fill='none'%3E%3Cpath d='M18.1836 6.65332L11.5312 13.3057L10.792 12.5664L16.04 7.31836L0 7.31836L0 6.27246L16.3242 6.27246L10.792 0.739258L11.5312 0L18.1836 6.65332Z' fill='%23009CA6'/%3E%3C/svg%3E"); display: inline-block; width: 19px; height: 14px; display: flex; margin-left: .5rem; margin-top: 3px; }

.description > :last-child { margin-bottom: 0 !important; }

.background { background-position: center; background-repeat: no-repeat; background-size: cover; }

.background.bg-100 { background-size: 100%; }

.background.bg-100:hover,
.background.bg-100:focus { background-size: calc(100% * 1.10); }

#masthead { background-color: var(--my_black_50); -webkit-backdrop-filter: blur(15px); backdrop-filter: blur(15px); position: fixed; width: 100%; z-index: 2; }

#masthead #site-navigation { display: flex; justify-content: flex-end; }

#masthead .site-branding img { width: 113px; height: auto; }

#masthead #top-menu { display: flex; flex-wrap: wrap; justify-content: center; font-size: 16px; font-weight: 400; margin: 0; padding: 0; }

#masthead #primary-menu { font-weight: 500; }

#masthead #top-menu > .menu-item,
#masthead #primary-menu > .menu-item { display: flex; align-items: center; }

#masthead #top-menu > .menu-item { margin-left: 1.625rem; margin-right: 0; }

#masthead #top-menu > .menu-item:first-child { margin-left: 0; }

#masthead #primary-menu > .menu-item { margin-left: calc(1.625rem / 2); margin-right: calc(1.625rem / 2); }

#masthead #top-menu > .menu-item > a,
#masthead #primary-menu > .menu-item > a { color: var(--my_light_grey); text-decoration: none; position: relative; }

#masthead #top-menu > .menu-item:not(:last-child) > a::after,
#masthead #primary-menu > .menu-item:not(:last-child) > a::after { content: ''; position: absolute; left: 0; bottom: -2px; display: block; width: 0; height: 2px; background-color: var(--my_light_grey); }

#masthead #top-menu > .menu-item.current_page_item > a::after,
#masthead #primary-menu > .menu-item.current_page_item > a::after,
#masthead #top-menu > .menu-item:not(:last-child) > a:hover::after,
#masthead #top-menu > .menu-item:not(:last-child) > a:focus::after,
#masthead #primary-menu > .menu-item:not(:last-child) > a:hover::after,
#masthead #primary-menu > .menu-item:not(:last-child) > a:focus::after { width: calc(100% + 13.5px); }

#masthead #primary-menu > .menu-item:last-child > a { background-color: var(--my_white_cool); color: var(--my_black); border-radius: 3px; padding: .25rem 1rem; overflow: hidden; }

#masthead #primary-menu > .menu-item:last-child > a,
#masthead #primary-menu > .menu-item:last-child > a > span { position: relative; }

#masthead #primary-menu > .menu-item:last-child > a > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

#masthead #primary-menu > .menu-item:last-child > a::before { content: ''; display: block; width: 0; height: 100%; position: absolute; left: 0; top: 0; background-color: var(--my_turquoise); }

#masthead #primary-menu > .menu-item:last-child > a:hover::before,
#masthead #primary-menu > .menu-item:last-child > a:focus::before { width: 100%; }

#masthead #primary-menu > .menu-item.current_page_item:last-child > a,
#masthead #primary-menu > .menu-item:last-child > a:hover,
#masthead #primary-menu > .menu-item:last-child > a:focus { /* background-color: var(--my_turquoise); */ color: var(--my_light_grey); }

#hero { width: 100%; aspect-ratio: 1920 / 906; margin: 0 auto; text-align: center; overflow: hidden; position: relative; }

#hero::after { content: ''; display: block; width: 100%; height: 100%; position: absolute; left: 0; top: 0; background-color: var(--my_black); mix-blend-mode: screen; pointer-events: none; }

#hero .flashcard-wrapper { position: absolute; left: 0; bottom: 0; z-index: 1; width: 100%; }

#hero .flashcard-wrapper .flashcard { width: 698px; background-color: var(--my_light_grey); border-radius: 10px 10px 0 0; }

body.home #primary .flashcard-wrapper { position: relative; }

body.home #primary .flashcard-wrapper,
body.home #primary > article > section:nth-of-type(odd) { background-color: var(--my_light_grey); }

body.home #primary > article > section:nth-of-type(even) { background-color: var(--my_white_cool); }

body.home #primary > article > section .background.rounded-circle { width: 125px; height: 125px; }

#go-top {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 999;

    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translate3d(0, 12px, 0);

    transition:
        opacity .2s ease,
        transform .2s ease,
        visibility 0s linear .2s;
}

#go-top.active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translate3d(0, 0, 0);

    transition:
        opacity .2s ease,
        transform .2s ease,
        visibility 0s linear 0s;
}

#go-top a {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    /* width: 52px;
    height: 52px; */
    width: 60px;
    height: 60px;
    padding: 0;
    border: 0;
    border-radius: 50%;

    background-color: var(--my_turquoise);
    color: var(--my_white_cool);
    text-decoration: none;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);

    -webkit-tap-highlight-color: transparent;
    user-select: none;

    transition:
        transform .15s ease,
        box-shadow .15s ease,
        opacity .15s ease;
}

#go-top a:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 28px rgba(0, 0, 0, .22);
}

#go-top a:active {
    transform: translateY(0);
    box-shadow: 0 6px 18px rgba(0, 0, 0, .18);
}

#go-top a:focus-visible {
    outline: 2px solid var(--my_turquoise);
    outline-offset: 3px;
}

#go-top svg {
    /* width: 22px;
    height: 22px; */
    display: block;
    fill: var(--my_white_cool);
}

@media (max-width: 767.98px) {
    #go-top {
        right: 16px;
        bottom: 16px;
    }

    #go-top a {
        width: 48px;
        height: 48px;
    }

    #go-top svg {
        width: 20px;
        height: 20px;
    }
}

@media (prefers-reduced-motion: reduce) {
    #go-top,
    #go-top.active,
    #go-top a {
        transition: none;
    }

    #go-top,
    #go-top.active,
    #go-top a:hover,
    #go-top a:active {
        transform: none;
    }
}

@media (max-width: 1399.98px) {
    #hero,
    #hero video { max-height: 787px; }
}

@media (max-width: 1199.98px) {
    #hero,
    #hero video { max-height: 675px; }
}

@media (max-width: 991.98px) {
    #hero,
    #hero video { max-height: 558px; }
}

@media (max-width: 767.98px) {
    #hero,
    #hero video { max-height: 432px; }
}

@media (max-width: 599.98px) {
    #masthead > .container { position: relative; }
    .menu-toggle { background-color: transparent; border-color: var(--my_light_grey) !important; border-radius: 3px; display: flex; justify-content: center; align-items: center; padding: .25rem .5rem; position: absolute; right: 13.5px; top: .5rem; /* bottom: .5rem; */ }
    .menu-toggle[aria-expanded = "false"] { top: calc(50% - 35px / 2); }
    .menu-toggle svg { width: 24px; height: auto; }
    .menu-toggle svg rect { fill: var(--my_light_grey); }
}

@media (min-width: 576px) and (max-width: 599.98px) {
    #masthead #site-navigation { justify-content: center; }
}

@media (max-width: 575.98px) {
    #hero,
    #hero video { max-height: 324px; }
}

@media (min-width: 600px) {
    #masthead .top-navigation-wrapper { justify-content: center; }
    #masthead .site-branding { text-align: center; }
    #masthead .site-branding,
    #masthead #primary-menu > .menu-item { margin-top: .25rem; margin-bottom: .25rem; }
}

@media (min-width: 992px) {
    #masthead #primary-menu > .menu-item { margin-left: 1.625rem; margin-right: 0; }
    #masthead #primary-menu > .menu-item:first-child { margin-left: 0; }
    body.home #primary > article > section .wrapper { padding: 0 3rem; }
    #hero .flashcard-wrapper .flashcard,
    body.home #primary > article > section:nth-of-type(1) .wrapper { padding: 2.25rem 3rem 0; }
}

@media (min-width: 1200px) {
    h1, .h1 { font-size: 36px !important; }
    #masthead #top-menu > .menu-item { margin-left: calc(3rem / 2); margin-right: calc(3rem / 2); }
    #masthead #primary-menu > .menu-item { margin-left: 3rem; }
}

@media (min-width: 1400px) {
    #hero { max-height: 906px; }
}

@media (min-width: 1920px) {
    #hero video { position: absolute; left: 0; top: 0; width: 100%; }
}