/* BASE */

[data-lastpass-icon-root] {
    display: none;
}

*, ::before, ::after {
    box-sizing: border-box;
}
:root {
    --body-font: "Lato", san-serif;
    --bg-color: #18485A;
    --bg-overcoat-color: #a9d0d9;
    --bg-pale-color: #e1eff2;
    --cta-color: #1987A8;
    --cta-comp-color: #A83A19;
    --negative: #E1423A;
    --orange-bg: #FBBC8E;
    --orange-border: #FD743E;
    --positive: #51bd51;
    --purple-border: #f1cced;
    --purple-bg: #ffebfd;
    --yellow-border: #dbd16e;
    --yellow-mid: #e3dd9a;
    --yellow-bg: #f9f6d8;
    --green-border: #9adb6e;
    --green-bg: #e2eadc;
}

label {
    display: inline-block;
}
input, select, textarea, button {
    outline: none;
}
input, select {
    border: 1px solid var(--cta-color);
    background: #fff;
    line-height: 2em;
    height: 2em;
    padding: 0 0.5em;
    width: 100%;
}
textarea {
    border: 1px solid var(--cta-color);
    background: #fff;
    line-height: 1.1em;
    padding: 0.25em 0.5em;
    width: 100%;
}
[type="checkbox"], [type="radio"] {
    height: 1em;
    width: 1em;
    line-height: 1em;
    padding: 0;
}
input[disabled], select[disabled], textarea[disabled] {
    color: inherit;
    background: #dedede;
}
[type="checkbox"][disabled], [type="radio"][disabled] {
    background: #000;
    color: #000;
    opacity: 1;
}
.select-highlight {
    background: var(--cta-color);
    color: #fff
}
img {
    vertical-align: top;
}
a {
    color: var(--cta-color);
}
.button {
    height: 2em;
    line-height: 1em;
    padding: 0 0.5em 0.15em;
    margin: 0;
    border: 1px solid var(--cta-color);
    background: var(--cta-color);
    color: #fff;
    cursor: pointer;
}
.button.negative {
    background: var(--negative);
    border-color: var(--negative);
}
.button[disabled] {
    background: #ccc;
    color: #888;
    border-color: #aaa;
}

/* STRUCTURE */

#struct-ctn {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}
#struct-masthead, #struct-footer {
    flex-grow: 0;
    flex-shrink: 0;
}

#struct-sidebar-content-flex-wrap {
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    flex-grow: 1;
    min-height: calc(100vh - 14em);
    padding: 3em 0 5em;
}
#struct-sidebar {
    width: 20em;
    padding: 0 0.5em 0 1em;
    margin-right: 2em;
    border-right: 1px solid #ccc;
    flex-grow: 0;
    position: relative;
    max-width: 33%;
}
#sidebar {
    margin: 0;
    padding: 0;
}
#sidebar > ul {
    margin: 1em 0 0;
    padding: 0 0 0 1em;
    list-style: disc;
}
.sidebar-expando-wrap {
    margin-top: 1em;
}
.sidebar-expando-block-title-wrap {
    display: flex;
    justify-content: space-between;
    cursor: pointer;
    line-height: 1.4em;
    align-items: center;
    border-bottom: 2px dashed #dadada;
}
.sidebar-expando-block-title-wrap:hover, .sidebar-expando-block-title-wrap.active {
    border-bottom: 2px solid #000;
}
.sidebar-expando-block-ico {
    color: var(--cta-color);
    opacity: 0.5;
}
.sidebar-expando-block-title-wrap:hover .sidebar-expando-block-ico, .sidebar-expando-block-title-wrap.active .sidebar-expando-block-ico {
    opacity: 1;
}
.sidebar-expando {
    display: none;
}
.sidebar-expando > ul {
    margin: 0.5em 0 0;
    padding: 0 0 0 1em;
    list-style: disc;
}
#sidebar li {
    margin: 0 0 0.25em;
}

#struct-content {
    width: calc(100% - 22em);
    flex-grow: 1;
}
#struct-content-inner {
    max-width: 90em;
}

#toast-container {
    position: fixed;
    top: 45%;
    right: calc(50% - 10em);
    width: 20em;
    z-index: 99;
}
.toast {
    padding: 20px;
    background-color: var(--positive);
    color: #fff;
    border-radius: 5px;
    opacity: 0;
    transition: opacity 0.3s, transform 0.3s;
    transform: translateY(100%);
    margin-bottom: 10px;
}
.toast.negative {
    background-color: var(--negative);
    color: #fff;
}

/* GLOBAL */

body {
    font-family: var(--body-font);
}
#struct-page-title {
    margin: 0 0 1rem;
    font-size: 1.5em;
    font-weight: bold;
}

/* MASTHEAD */

#struct-masthead {
    min-height: 5em;
    background: var(--bg-color);
    color: #fff;
    padding: 1em 1em 0;
}
#struct-masthead.sans-support-link {
    padding: 1em;
}
#struct-masthead-inner {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    margin: 0;
    column-gap: 1em;
    row-gap: 3px;
}
#struct-masthead-inner > * {
    margin: 0;
}
#brand-masthead-oide {
    display: block;
    height: 5em;
}
#brand-masthead-oide a {
    display: block;
    height: 5em;
}
#brand-masthead-oide img {
    height: 100%;
}
#brand-masthead-jct {
    display: block;
    line-height: 5rem;
    font-weight: bold;
    font-size: 1.5em;
    padding-top: 0.4em;
}

.flex-spacer-horizontal {
    flex-grow: 1;
}

#nav-global {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    flex-wrap: wrap;
    column-gap: 0.5em;
    row-gap: 3px;
}
#nav-global > li {
    margin: 0;
}
#nav-global a {
    color: #fff;
    font-weight: bold;
    text-decoration: none;
    font-size: 1.1em;
    display: block;
    background: rgba(52, 105, 125, 0.5);
    padding: 0.5em;
}
#nav-global-locale {
    cursor: pointer;
}

#struct-masthead-support {
    margin: 0 -1em;
    padding: 0.5em 1em;
    background: var(--cta-color);
    color: #fff;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: flex-start;
    column-gap: 1em;
}
#masthead-support-menu {
    display: flex;
    column-gap: 1em;
    flex-wrap: wrap;
    row-gap: 2px;
}
#masthead-support-menu a {
    color: #fff;
}

#logged-in-as-banner {
    margin: 0 -1em -1em;
    padding: 1em;
    background: var(--bg-overcoat-color);
    color: #000;
}
#logged-in-as-banner-flex-wrap {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin: 0 0 -1em -1em;
    justify-content: space-between;
}
#logged-in-as-banner-flex-wrap > * {
    margin: 0 0 1em 1em;
}
#logged-in-as-banner label {
    display: block;
    margin: 0 0 0.25em;
}
#logged-in-as-banner .label-text {
    display: block;
}

/* FOOTER */

#struct-footer {
    min-height: 10em;
    background: var(--bg-color);
    padding: 1em;
    color: #fff;
}

#brand-footer-oide {
    display: block;
    height: 5em;
    width: 100%;
}
#brand-footer-oide img {
    height: 100%;
}
#footer-gdpr-notice, #footer-cookies-notice, #footer-dbz-link {
    color: var(--bg-overcoat-color);
    margin: 0 0 1em;
    font-size: 0.9em;
    text-align: justify;
}
#footer-dbz-link a {
    color: inherit;
    text-decoration: none;
    font-weight: bold;
}

@media (min-width: 600px) {

    #brand-footer-oide {
        height: 10em;
    }
    #brand-footer-oide img {
        height: auto;
        width: 100%;
        max-width: 35em;
    }
}

/* POPUP UI */

.ui-widget-overlay {
    background: rgb(24, 72, 90, 0.25);
}

.ui-dialog {
    background: #fff;
    border: 1px solid var(--bg-overcoat-color);
    padding: 0;
    box-shadow: 4px 8px 9px #000;
}
.ui-dialog-titlebar {
    background: var(--bg-overcoat-color);
    text-align: center;
    color: var(--bg-color);
    font-weight: bold;
}
.ui-dialog .ui-dialog-title {
    width: 100%;
}
.popup-content {
    min-height: 4em;
    text-align: center;
}
.popup-content > :last-child {
    margin-bottom: 0;
}

.ui-dialog .ui-dialog-buttonpane {
    padding: 0;
}
.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
    float: none;
    display: flex;
    margin: 0 0 -0.5em -0.5em;
    justify-content: center;
    flex-wrap: wrap;
    align-items: flex-end;
    padding: 0 0.5em 0.5em 0.5em;
}
.ui-dialog .ui-dialog-buttonpane button {
    margin: 0 0 0.5em 0.5em;
    background: var(--bg-color);
    border: 1px solid var(--bg-color);
    color: #fff;
}
.ui-dialog .ui-dialog-buttonpane button.negative {
    background: var(--negative);
    border-color: var(--negative);
}