body.anonymous {
    width: 100vw;
    height: 100dvh;
    display: flex;
    flex-direction: column;
}

    body.anonymous ets-environment-alert {
        flex-shrink: 0;
    }

    body.anonymous header {
        background-color: var(--common-frame-background);
        border-bottom: solid 2px var(--common-frame-border);
    }

        body.anonymous header a {
            display: grid;
            place-items: center;
            justify-content: start;
            height: 50px;
        }

            body.anonymous header a img {
                margin-left: 5px;
                height: 40px;
            }

    body.anonymous main {
        color: var(--common-color);
        background-color: var(--common-background);
        height: 100%;
        overflow-y: auto;
    }
body {
    margin: 0px;
    font-family: var(--common-text-font);
}

button {
    font-family: var(--common-text-font);
}

*,
*:before,
*:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

ets-toaster-notification-wrapper {
    position: fixed;
    right: 30px;
    bottom: 30px;
    z-index: 9999;
    width: 400px;
}

ets-toaster-notification {
    display: block;
    position: relative;
    padding: 0.75rem 1.25rem;
    margin-bottom: 1rem;
    border: 1px solid transparent;
    border-radius: 0.25rem;   
    padding-right: 4rem;
    box-shadow: 0px 0px 5px 0 var(--darken-70);
}

.fade {
    opacity: 0;
    transition: opacity 0.15s linear;
}

.show {
    opacity: 1;
}

ets-toaster-notification.dismissible .close {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    padding: 0.75rem 1.25rem;
    color: inherit;
    cursor: pointer;   
    background-color: transparent;
    border: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    float: right;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1;
    text-shadow: 0 1px 0 #fff;
    opacity: .5;
    text-transform: none;
    margin: 0;
    font-family: inherit;   
}

ets-toaster-notification.dismissible {
    padding-right: 4rem;
}

ets-toaster-notification h4 {
    font-size: 1.4rem;
    margin-bottom: 0.5rem;
    font-weight: 500;
    line-height: 1.2;
    margin-top: 0;
}

ets-toaster-notification.success {
    color: #155724;
    background-color: #d4edda;
    border-color: #c3e6cb;
}

ets-toaster-notification.error {
    color: #721c24;
    background-color: #f8d7da;
    border-color: #f5c6cb;
}

ets-toaster-notification.warning {
    color: #856404;
    background-color: #fff3cd;
    border-color: #ffeeba;
}

ets-toaster-notification.info {
    color: #0c5460;
    background-color: #d1ecf1;
    border-color: #bee5eb;
}

.ets-common-validation-error-list {
    color: red;
    font-weight: bold;
    margin: 5px;
    padding: unset;
    border: solid 1px black;
    border-radius: 5px;
    background-color: white;
    box-shadow: 5px 5px 5px var(--darken-30);
}
    .ets-common-validation-error-list li {
        display: block;
        padding: 5px;
        border-top: solid 1px black;
    }
    .ets-common-validation-error-list li:first-of-type {
        border-top: none;
    }

dialog.ets-loading[open] {
    display: grid;
    place-items: center;
    background-color: unset;
    border: unset;
    overflow: hidden;
}
    dialog.ets-loading::backdrop {
        backdrop-filter: blur(var(--common-modal-background-blur));
        background-color: var(--common-modal-background);
    }

dialog.ets-loading i.material-icons {
    font-size: 15em;
    animation-duration: 1s;
    animation-iteration-count: infinite;
    animation-name: spin;
    animation-timing-function: ease-in-out;
    color: var(--common-loading-color);
}

@keyframes spin {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}
body > ets-common > ets-content .node-tree {
    width: 100%;
    color: var(--common-frame-color);
    background-color: var(--common-frame-background);
}

body > ets-common > ets-content .node-tree ul {
    margin: unset;
    padding: unset;
}

body > ets-common > ets-content .node-tree li {
    margin: unset;
    padding: unset;
    list-style-type: none;
}

body > ets-common > ets-content .node-tree ets-glyph i.fas {
    font-size: 1.5rem;
}

body > ets-common > ets-content .node-tree ets-label {
    display: block;
    justify-self: start;
    align-self: center;
    padding-left: 10px;
    padding-right: 5px;
}

body > ets-common > ets-content .node-tree li.section > ets-label {
    display: grid;
    align-items: center;
    min-height: 35px;
    width: 100%;
    color: var(--common-frame-section-color);
    background-color: var(--common-frame-section-background);
    font-family: var(--common-header-font);
    font-size: 1.25rem;
}

body > ets-common > ets-content .node-tree li.group > button {
    width: 100%;
    color: var(--common-frame-color);
    background: unset;
    padding: unset;
    border: unset;
    font-size: unset;
    cursor: pointer;
}
    body > ets-common > ets-content .node-tree li.group > button[aria-expanded="true"] {
        color: var(--common-frame-hover-color);
        background-color: var(--common-frame-hover-background);
        border-bottom: solid 2px var(--common-frame-border);
    }
    body > ets-common > ets-content .node-tree li.group:hover > button,
    body > ets-common > ets-content .node-tree li.group:focus > button {
        color: var(--common-frame-hover-color);
        background-color: var(--common-frame-hover-background);
    }
    body > ets-common > ets-content .node-tree li.group > button > ets-description {
        display: grid;
        grid-template-columns: 50px 1fr 35px;
        place-items: center;
        height: 40px;
    }
    body > ets-common > ets-content .node-tree li.group > button[aria-expanded="true"] ets-expand i:first-child {
        display: none;
    }
    body > ets-common > ets-content .node-tree li.group > button[aria-expanded="false"] ets-expand i:last-child {
        display: none;
    }
    body > ets-common > ets-content .node-tree li.group > button[aria-expanded="false"] + ul {
        display: none;
    }

body > ets-common > ets-content .node-tree li.group > ul {
    color: var(--common-frame-hover-color);
    background-color: var(--common-frame-group-background);
    border-bottom: solid 2px var(--common-frame-border);
}

@media screen and (min-width: 500px) {
    body > ets-common > ets-content .node-tree {
        width: 250px;
    }
}
dialog.ets-modal[open] {
    display: flex;
    flex-direction: column;
    max-width: 85vw;
    max-height: 85dvh;
    padding: unset;
    border: unset;
    overflow: unset;
    color: var(--common-color);
    background-color: unset;
}
    dialog.ets-modal.moved {
        position: fixed;
        margin: unset;
    }
    dialog.ets-modal::backdrop {
        backdrop-filter: blur(var(--common-modal-background-blur));
        background-color: var(--common-modal-background);
    }

ets-modal-header {
    display: grid;
    grid-template-columns: auto 50px 1fr auto;
    align-items: stretch;
    font-size: 2rem;
    cursor: move;
}

ets-modal-header .modal-title {
    display: grid;
    align-items: center;
    color: var(--common-modal-frame-color);
    background-color: var(--common-modal-frame-background);
    padding: 10px 15px;
    border-top-left-radius: 20px;
    font-family: var(--common-header-font);
}

ets-modal-header .modal-header-decoration {
    fill: var(--common-modal-frame-background);
}

ets-modal-header .modal-header-controls {
    display: flex;
    justify-self: end;
    width: min-content;
    margin-left: 40px;
    padding: 5px 10px;
    padding-bottom: unset;
    background-color: var(--common-modal-frame-background);
    border-radius: 5px 5px 0px 0px;
    box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.3);
}

ets-modal-header .modal-header-controls button {
    display: grid;
    place-items: center;
    color: var(--common-modal-frame-color);
    background-color: unset;
    border: unset;
    padding: unset;
    cursor: pointer;
}
    ets-modal-header .modal-header-controls button:hover {
        color: var(--common-modal-frame-background);
        background-color: var(--common-modal-frame-color);
    }
    ets-modal-header .modal-header-controls button:not(:first-of-type) {
        margin-left: 15px;
    }
    ets-modal-header .modal-header-controls .material-icons {
        font-size: 40px;
    }

ets-modal-body {
    background-color: var(--common-background);
    padding: 10px;
    border: solid 3px var(--common-modal-frame-background);
    box-shadow: 5px 5px 5px var(--darken-30);
    resize: both;
    overflow: auto;
}

ets-modal-actions {
    align-self: end;
    display: grid;
    grid-auto-flow: column;
    grid-gap: 5px;
    background-color: var(--common-background);
    margin-top: -3px;
    padding: 5px;
    border: solid 3px var(--common-modal-frame-background);
    border-top: none;
    border-radius: 0px 0px 5px 5px;
    box-shadow: 5px 5px 5px var(--darken-30);
}

ets-modal-actions button {
    margin: 0px 5px;
    padding: 5px 10px;
    color: var(--common-color);
    font-size: 1.2rem;
    background: unset;
    border: solid 3px var(--common-modal-button-color);
    border-radius: 5px;
    cursor: pointer;
}
    ets-modal-actions button:hover {
        border-color: var(--common-modal-frame-background);
    }

@media screen and (max-width: 900px) {
    ets-modal-header {
        font-size: 1.3rem;
    }

    ets-modal-actions {
        grid-gap: unset;
    }
        ets-modal-actions button {
            padding: 5px;
            font-size: 0.8rem;
        }
}

@media screen and (max-width: 500px) {
    dialog.ets-modal[open] {
        max-width: 95vw;
        max-height: 95dvh;
    }

    ets-modal-header button.center-button {
        display: none;
    }
    ets-modal-header .modal-header-controls button:not(:first-of-type) {
        margin-left: unset;
    }
}
ets-environment-alert {
    grid-column: 1 / -1;
    grid-row: 1 / 2;
    display: grid;
    grid-template-columns: auto 1fr auto;
    width: 100%;
    height: 50px;
    line-height: 1;
    color: var(--common-environment-color);
    box-shadow: 0px 4px 4px var(--darken-60);
    z-index: 2;
}
    ets-environment-alert .ets-environment-alert__alert {
        display: flex;
        align-items: center;
        font-family: var(--common-header-font);
    }
    ets-environment-alert .ets-environment-alert__alert i {
        margin: 0px 15px;
        font-size: 2.6em;
    }
    ets-environment-alert .ets-environment-alert__alert span {
        margin-right: 5px;
        font-size: 2.4em;
        text-decoration: underline;
    }
    ets-environment-alert a.redirect {
        color: var(--common-environment-color);
    }
        ets-environment-alert a.redirect:hover {
            color: var(--common-environment-color);
        }

ets-environment-alert .ets-environment-alert__description {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 1fr;
    place-items: center;
}

ets-environment-alert .ets-environment-alert__environment {
    display: grid;
    place-items: center;
    margin: 0px 15px;
    font-family: var(--common-header-font);
    font-weight: bold;
}
    ets-environment-alert .ets-environment-alert__environment span:first-of-type {
        font-size: 1.5em;
    }
    ets-environment-alert .ets-environment-alert__environment span:last-of-type {
        font-size: .8em;
    }

@media screen and (max-width: 700px) {
    ets-environment-alert .ets-environment-alert__extra {
        display: none;
    }
}
/* Button Object */

.ets-button {
    color: var(--common-input-button-color);
    background-color: var(--common-input-button-background);
    background-image: linear-gradient(transparent 70%, var(--darken-30));
    border-color: var(--common-input-border);
    border-style: solid;
    border-width: 1px;
    border-radius: 3px;
    box-sizing: border-box;
    cursor: pointer;
    font-family: var(--common-header-font);
    font-size: 1.2em;
    padding-bottom: 5px;
    padding-left: 15px;
    padding-right: 15px;
    padding-top: 5px;
    margin: 2px;
    text-align: center;
    transition-delay: 0s;
    transition-duration: 0.15s;
    transition-property: background-color, border, box-shadow;
    transition-timing-function: ease-out;
}
    .ets-button:not(:disabled):focus {
        box-shadow: inset 0px 0px 3px 1.5px var(--common-input-focus-glow);
    }
    .ets-button:not(:disabled):active {
        background-image: linear-gradient(var(--darken-30), transparent 30%);
        padding-left: 16px;
        padding-right: 14px;
    }
    .ets-button:not(:disabled):hover {
        box-shadow: 0px 0px 2px 2px var(--common-input-focus-glow);
    }
    .ets-button:disabled {
        border: unset;
        background-image: unset;
        background-color: var(--common-input-disabled-background);
        color: var(--common-input-disabled-color);
        cursor: default;
    }

.ets-button--disabled {
    background-color: var(--common-input-disabled-background);
    background-image: unset;
    border: unset;
    box-sizing: border-box;
    color: var(--common-input-disabled-color);
    cursor: default;
    font-family: var(--common-header-font);
    font-size: 1.2em;
    padding-bottom: 5px;
    padding-left: 15px;
    padding-right: 15px;
    padding-top: 5px;
    margin: 2px;
    text-align: center;
    transition-delay: 0s;
    transition-duration: 0.15s;
    transition-property: background-color, border, box-shadow;
    transition-timing-function: ease-out;
}

.ets-button__color-red {
    background-color: hsl(0, 80%, 70%);
}
/* 
    Input Object 
    Label should be to the left of the input

            ----------
    label  |input     |
            ----------

    If horizontal space does not allow then label should be above input

    label
     ----------
    |input     |
     ----------


*/

/* 
    Title: 
    Summary: 
    Purpose: 
    Usage: used on the container for an input label pair 
    Relies On: 

    an input element should always be accompanied by a label element and the two should be wrapped in a tag
    This class adds the styling to the container wrapping the input label pair

    Example:
        <ets-row class="ets-input">
            <label for="labelId">Label Text</label>
            <input id="labelId" type="text" value="" />
        </ets-row>
*/

.ets-input__label {
    cursor: auto;
    min-width: 5em;
    overflow-wrap: break-word;
    padding-bottom: 2px;
    padding-left: 2px;
    padding-right: 10px;
    padding-top: 2px;
    text-align: right;
    word-wrap: break-word;
    word-break: break-word;
}

.ets-input__required {
    color: var(--common-input-required);
    font-size: .9em;
}

.ets-input__label--checkbox {
    flex-grow: 0;
    flex-shrink: 0;
    margin-right: 2px;
    margin-left: 2px;
    min-width: 5em;
    overflow-wrap: break-word;
    padding: 2px;
    text-align: left;
    word-wrap: break-word;
    word-break: break-word;
}

.ets-cursor-pointer {
    cursor: pointer;
}
.ets-cursor-auto{ 
    cursor: auto;
}

/* for inputs that have lines of text*/
/*input[type="text"], input[type="date"], input[type="number"], textarea, option, select*/
.ets-input__input {
    background-clip: padding-box;
    background-color: transparent;
    border-color: var(--common-input-border);
    border-radius: .25em;
    border-style: solid;
    border-width: 1px;
    box-sizing: content-box;
    color: var(--common-input-color);
    flex-grow: 1;
    flex-shrink: 0;
    font-family: inherit;
    font-size: 1em;
    line-height: 1.5;
    margin: 2px;
    min-width: 10em;
    padding-bottom: .375em;
    padding-left: .75em;
    padding-right: .75em;
    padding-top: .375em;
    transition-delay: 0s;
    transition-duration: 0.15s;
    transition-property: background-color, border, box-shadow;
    transition-timing-function: ease-out;
}

    .ets-input__input:focus {
        background-color: var(--common-input-focus-background);
        box-shadow: 0px 0px 2px 2px var(--common-input-focus-glow);
    }

    .ets-input__input[disabled] {
        opacity: 1;
        color: var(--common-input-disabled-color);
        background-color: var(--common-input-disabled-background);
        border-color: transparent;
    }

    .ets-input__input[readonly] {
        color: var(--common-input-readonly-color);
        border: none;
        background-color: transparent;
    }

    .ets-input__input[readonly]:focus {
        color: var(--common-input-readonly-color);
        border: none;
        background-color: transparent;
    }

    select.ets-input__input + .select2-container .select2-selection--multiple .select2-selection__rendered {
        display: flex;
        flex-wrap: wrap;
        gap: 0.5em;
    }
    select.ets-input__input + .select2-container .select2-selection--multiple {
        background-color: transparent;
        border-color: var(--common-input-border);
        padding: .375em;
    }
        select.ets-input__input:disabled + .select2-container .select2-selection--multiple {
            color: var(--common-input-disabled-color);
            background-color: var(--common-input-disabled-background);
            border-color: transparent;
        }
    select.ets-input__input + .select2-container .select2-selection--multiple .select2-selection__choice {
        color: var(--common-input-color);
        background-color: transparent;
        margin: unset;
        padding: 0.15em 0.6em;
        font-size: 1.2em;
    }
        select.ets-input__input + .select2-container .select2-selection--multiple .select2-selection__choice__remove {
            color: var(--common-input-color);
        }
        select.ets-input__input:disabled + .select2-container .select2-selection--multiple .select2-selection__choice {
            padding-left: 10px;
            padding-right: 10px;
            margin-left: 2px;
            margin-right: 2px;
            color: var(--common-input-disabled-color);
            background-color: unset;
            border-color: var(--common-input-border);
            border-width: 1px;
            border-style: solid;
            border-radius: 4px;
        }

    select.ets-input__input + .select2-container .select2-selection--single {
        display: grid;
        grid-template-columns: 1fr auto;
        height: auto;
        background-color: transparent;
        border-color: var(--common-input-border);
        padding: .375em;
    }
        select.ets-input__input:disabled + .select2-container .select2-selection--single {
            color: var(--common-input-disabled-color);
            background-color: var(--common-input-disabled-background);
            border-color: transparent;
        }
    select.ets-input__input + .select2-container .select2-selection--single .select2-selection__rendered {
        align-self: center;
        color: var(--common-input-color);
        padding-right: unset;
        line-height: unset;
    }
        select.ets-input__input:disabled + .select2-container .select2-selection--single .select2-selection__rendered {
            color: var(--common-input-disabled-color);
        }
    select.ets-input__input + .select2-container .select2-selection--single .select2-selection__arrow {
        display: grid;
        place-items: center;
        position: unset;
    }
    select.ets-input__input + .select2-container .select2-selection--single .select2-selection__arrow b {
        position: unset;
        margin: unset;
    }

.ets-input__input--info-text {
    font-family: inherit;
    font-size: 1em;
    line-height: 1.5;
    padding-bottom: .375em;
    padding-left: .75em;
    padding-right: .75em;
    padding-top: .375em;
    overflow-wrap: break-word;
    word-wrap: break-word;
}

/**
 * used with input[type="checkbox"], input[type="radio"]
 * width and height set to 1rem to scale with default text size.
 */
.ets-input__input--checkbox {
    flex-grow: 0;
    cursor: pointer;
    width: 1em;  
    height: 1em;
}

    .ets-input__input--checkbox:focus {
        background-color: var(--common-input-focus-background);
        box-shadow: 0px 0px 2px 2px var(--common-input-focus-glow);
    }

ets-column:has(> input.ets-input__input--checkbox[type="checkbox"]),
ets-column:has(> input.ets-input__input--checkbox[type="radio"]) {
    position: relative;
}
ets-row:has(> input.ets-input__input--checkbox[type="checkbox"]),
ets-row:has(> input.ets-input__input--checkbox[type="radio"]) {
    position: relative;
    gap: .5em;
}

input.ets-input__input--checkbox {
    appearance: none;
    width: 1.5em;
    height: 1.5em;
    margin: unset;
}
    input.ets-input__input--checkbox[type="checkbox"]::before,
    input.ets-input__input--checkbox[type="radio"]::before {
        content: '';
        display: block;
        width: 1.5em;
        height: 1.5em;
        border: solid 1px var(--common-input-border);
        border-radius: .25em;
    }
        input.ets-input__input--checkbox[type="radio"]::before {
            border-radius: 50%;
        }
        input.ets-input__input--checkbox[type="checkbox"]:disabled::before,
        input.ets-input__input--checkbox[type="radio"]:disabled::before {
            background-color: var(--common-input-disabled-background);
            border-color: transparent;
        }
    input.ets-input__input--checkbox[type="checkbox"]::after,
    input.ets-input__input--checkbox[type="radio"]::after {
        display: none;
    }
    input.ets-input__input--checkbox[type="checkbox"]:checked::after {
        content: '\2714';
        display: block;
        position: absolute;
        color: var(--common-input-color);
        font-size: 2.5em;
        top: -0.6em;
    }
        input.ets-input__input--checkbox[type="checkbox"]:checked:disabled::after {
            color: var(--common-input-disabled-color);
        }
    input.ets-input__input--checkbox[type="radio"]:checked::after {
        content: '';
        display: block;
        width: .6em;
        height: .6em;
        position: absolute;
        top: .5em;
        margin: .45em;
        background-color: var(--common-input-color);
        border-radius: 50%;
    }
        input.ets-input__input--checkbox[type="radio"]:checked:disabled::after {
            background-color: var(--common-input-disabled-color);
        }

ets-row > input.ets-input__input--checkbox[type="checkbox"]:checked::after {
    top: -0.4em;
}



.ets-input__input--dropdown-option {
    background-clip: padding-box;
    background-color: transparent;
    border-color: var(--common-input-border);
    border-radius: .25em;
    border-style: solid;
    border-width: 1px;
    box-sizing: content-box;
    color: var(--common-input-color);
    flex-grow: 1;
    flex-shrink: 0;
    font-family: inherit;
    font-size: 1em;
    line-height: 1.5;
    margin: 2px;
    min-width: 10em;
    padding-bottom: .375em;
    padding-left: .75em;
    padding-right: .75em;
    padding-top: .375em;
}

.ets-input__input--readonly {
    background-clip: padding-box;
    background-color: var(--common-input-disabled-background);
    border-color: transparent;
    border-radius: .25em;
    border-style: solid;
    border-width: 1px;
    box-sizing: content-box;
    color: var(--common-input-readonly-color);
    flex-grow: 1;
    flex-shrink: 0;
    font-family: inherit;
    font-size: 1em;
    line-height: 1.5;
    margin: 2px;
    min-height: 1.5em;
    min-width: 10em;
    overflow-wrap: break-word;
    padding-bottom: .375em;
    padding-left: .75em;
    padding-right: .75em;
    padding-top: .375em;
    word-wrap: break-word;
}

.ets-input__input--multiselect-option--readonly {
    font-size: 1.2em;
    padding-left: 10px;
    padding-right: 10px;
    margin-left: 2px;
    margin-right: 2px;
    color: var(--common-input-disabled-color);
    background-color: unset;
    border-color: var(--common-input-border);
    border-width: 1px;
    border-style: solid;
    border-radius: 4px;
}

.ets-input__description {
    font-size: .9rem;
}

.ets-input__fieldset-invisible {
    border: none;
}

.ets-input__legend-invisible {
    visibility: hidden;
    height: 0px;
    width: 0px;
}
/*
    This file mostly contains custom html elements that define the structure of the page

    === ets-row ===

    ets-row should be used when elements should be placed horizontally
    element  element  element

    === ets-column ===

    ets-column should be used when elements should be placed vertically
    element
    element
    element

    IMPORTANT
    Always alternate between ets-row and ets-column.
        Nesting the same element inside itself will result in unintended behavior especially on internet explorer.

    <ets-column>
        <ets-row>
            <ets-column>
                content goes here
            </ets-column>
        </ets-row>
        <ets-row>
            content goes here
        </ets-row>
    </ets-column>
    <ets-column>
        content goes here
    </ets-column>

    When nesting non flex elements among ets-row and ets-column:
        It is best to place the element inside of an ets-column then place an ets-row inside of the element.
        Make sure that the non flex element is the only element at its level, it should not have any siblings.
    
    <ets-column>
        <form>
            <ets-row>
                content goes here
            </ets-row>
        </form>
    </ets-column>

    === style groupings ===

    color
    -color
    -background-color
    -background-image
    border
    -border-*
    spacing
    -padding
    -don't use margin. 
    -exception can use margin with box-shadow since box-shadow lives in the margin space so it needs the margin to define some space for it.
    font
    -font-style
    -font-weight
    -font-size
    -font-family
    animation

*/




/*
    =======================
    === Grid Formatting ===
    =======================
*/

/*
    A flexbox based grid system.
    Always alternate between ets-row and ets-column
    Placing rows in rows or columns in columns will cause elements to not behave properly especially on internet explorer.
    Some examples I've run into include children overflowing their parents, elements being rendered on top of each other,
        elements being rendered with zero width.

    For best results place non flex row between a column and a row
    Make sure the non flex element is the only one at that level, it has no siblings
    This gives you the functionality of the element for landmarks or aria without affecting the layout
    example:
    <ets-column>
        <form>
            <ets-row>
                content
            </ets-row>
        </form>
    </ets-column>
*/

/*Child elements will be placed horizontally*/
ets-row {
    background-color: transparent;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}

    ets-row > ets-row {
        background-color: transparent;
        display: flex;
        flex-direction: row;
        flex-grow: 1;
        flex-shrink: 1;
        flex-basis: 0;
    }

/*
    Child elements will be placed vertically.
    A column that will expand to fill available horizontal space.
    ets-columns placed in an ets-row will take up equal horizontal space and fill the width of the parent.
    If the column can't fit on the screen then the parent ets-row will cause it to wrap below.
*/
ets-column {
    background-color: transparent;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: 0;
}

    ets-column > ets-column {
        background-color: transparent;
        display: flex;
        flex-direction: column;
        flex-grow: 1;
        flex-shrink: 1;
        flex-basis: 0;
    }

/*used only to target Internet Exploer 10+*/
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
    /*Internet explorer needs a width specified to allow flex elements to wrap*/
    ets-column,
    ets-column > ets-column {
        min-width: 14em;
        flex-basis: auto;
    }
}




/*Expands element to fill available space*/
.ets-fit-container {
    flex-grow: 1;
}
/*Shrinks element to fit its contents*/
.ets-fit-content {
    flex-grow: 0;
    flex-basis: auto;
}

/*Allows contents to wrap to a new line when they exceed available space.*/
.ets-flex-wrap {
    flex-wrap: wrap;
}
/*Prevents contents from wrapping to a new line.*/
.ets-flex-nowrap {
    flex-wrap: nowrap;
}
/*
    Positions contents at the start of the element along its main axis. 
    For ets-row contents are positioned on the horizontal left.
    For ets-column contents are positioned on the vertical top.
*/
.ets-justify-start {
    justify-content: start;
}
/*
    Positions contents at the center of the element along its main axis. 
    For ets-row contents are positioned on the horizontal center.
    For ets-column contents are positioned on the vertical center.
*/
.ets-justify-center {
    justify-content: center;
}
/*
    Positions contents at the end of the element along its main axis. 
    For ets-row contents are positioned on the horizontal right.
    For ets-column contents are positioned on the vertical bottom.
*/
.ets-justify-end {
    justify-content: end;
}

/*
    Positions contents at the start of the element along its cross axis. 
    For ets-row contents are positioned on the vertical top.
    For ets-column contents are positioned on the horizontal left.
*/
.ets-align-start {
    align-items: start;
}
/*
    Positions contents at the center of the element along its cross axis. 
    For ets-row contents are positioned on the vertical center.
    For ets-column contents are positioned on the horizontal center.
*/
.ets-align-center {
    align-items: center;
}
/*
    Positions contents at the end of the element along its cross axis. 
    For ets-row contents are positioned on the vertical bottom.
    For ets-column contents are positioned on the horizontal right.
*/
.ets-align-end {
    align-items: end;
}


/* flex grid width system */
.ets-width-0 {
    flex-basis: 0px;
    flex-grow: 0;
    flex-shrink: 0;
}

.ets-width-1 {
    flex: 1;
}

.ets-width-2 {
    flex: 2;
}

.ets-width-3 {
    flex: 3;
}

.ets-width-4 {
    flex: 4;
}

.ets-width-5 {
    flex: 5;
}

.ets-width-6 {
    flex: 6;
}

.ets-width-7 {
    flex: 7;
}

.ets-width-8 {
    flex: 8;
}

.ets-width-9 {
    flex: 9;
}

.ets-width-10 {
    flex: 10;
}

.ets-width-11 {
    flex: 11;
}

.ets-width-12 {
    flex: 12;
}

.ets-width-13 {
    flex: 13;
}

.ets-width-14 {
    flex: 14;
}

.ets-width-15 {
    flex: 15;
}

.ets-width-16 {
    flex: 16;
}

.ets-width-17 {
    flex: 17;
}

.ets-width-18 {
    flex: 18;
}

.ets-width-19 {
    flex: 19;
}

.ets-width-20 {
    flex: 20;
}

.ets-width-1-1,
.ets-width-2-2,
.ets-width-3-3,
.ets-width-4-4,
.ets-width-5-5,
.ets-width-6-6,
.ets-width-7-7,
.ets-width-8-8,
.ets-width-9-9,
.ets-width-10-10,
.ets-width-11-11,
.ets-width-12-12
{
    flex: 0 0 auto;
    width: 100%;
}

.ets-width-1-2,
.ets-width-2-4,
.ets-width-3-6,
.ets-width-4-8,
.ets-width-5-10,
.ets-width-6-12
{
    flex: 0 0 auto;
    width: 50%;
}
.ets-width-1-3,
.ets-width-2-6,
.ets-width-3-9,
.ets-width-4-12
{
    flex: 0 0 auto;
    width: 33.33333%;
}
.ets-width-2-3,
.ets-width-4-6,
.ets-width-6-9,
.ets-width-8-12
{
    flex: 0 0 auto;
    width: 66.66667%;
}
.ets-width-1-4,
.ets-width-2-8,
.ets-width-3-12
{
    flex: 0 0 auto;
    width: 25%;
}
.ets-width-3-4,
.ets-width-6-8,
.ets-width-9-12
{
    flex: 0 0 auto;
    width: 75%;
}
.ets-width-1-5,
.ets-width-2-10
{
    flex: 0 0 auto;
    width: 20%;
}
.ets-width-2-5,
.ets-width-4-10
{
    flex: 0 0 auto;
    width: 40%;
}
.ets-width-3-5,
.ets-width-6-10
{
    flex: 0 0 auto;
    width: 60%;
}
.ets-width-4-5,
.ets-width-8-10
{
    flex: 0 0 auto;
    width: 80%;
}
.ets-width-1-6,
.ets-width-2-12
{
    flex: 0 0 auto;
    width: 16.66667%;
}
.ets-width-5-6 {
    flex: 0 0 auto;
    width: 83.33333%;
}
.ets-width-1-7 {
    flex: 0 0 auto;
    width: 14.28571%;
}
.ets-width-2-7 {
    flex: 0 0 auto;
    width: 28.57143%;
}
.ets-width-3-7 {
    flex: 0 0 auto;
    width: 42.85714%;
}
.ets-width-4-7 {
    flex: 0 0 auto;
    width: 57.14286%;
}
.ets-width-5-7 {
    flex: 0 0 auto;
    width: 71.42857%;
}
.ets-width-6-7 {
    flex: 0 0 auto;
    width: 85.71429%;
}
.ets-width-1-8 {
    flex: 0 0 auto;
    width: 12.5%;
}
.ets-width-3-8 {
    flex: 0 0 auto;
    width: 37.5%;
}
.ets-width-5-8 {
    flex: 0 0 auto;
    width: 62.5%;
}
.ets-width-7-8 {
    flex: 0 0 auto;
    width: 87.5%;
}
.ets-width-1-9 {
    flex: 0 0 auto;
    width: 11.11111%;
}
.ets-width-2-9 {
    flex: 0 0 auto;
    width: 22.22222%;
}
.ets-width-4-9 {
    flex: 0 0 auto;
    width: 44.44444%;
}
.ets-width-5-9 {
    flex: 0 0 auto;
    width: 55.55556%;
}
.ets-width-7-9 {
    flex: 0 0 auto;
    width: 77.77778%;
}
.ets-width-8-9 {
    flex: 0 0 auto;
    width: 88.88889%;
}
.ets-width-1-10 {
    flex: 0 0 auto;
    width: 10%;
}
.ets-width-3-10 {
    flex: 0 0 auto;
    width: 30%;
}
.ets-width-7-10 {
    flex: 0 0 auto;
    width: 70%;
}
.ets-width-9-10 {
    flex: 0 0 auto;
    width: 90%;
}
.ets-width-1-11 {
    flex: 0 0 auto;
    width: 9.090909%;
}
.ets-width-2-11 {
    flex: 0 0 auto;
    width: 18.18182%;
}
.ets-width-3-11 {
    flex: 0 0 auto;
    width: 27.27273%;
}
.ets-width-4-11 {
    flex: 0 0 auto;
    width: 36.36364%;
}
.ets-width-5-11 {
    flex: 0 0 auto;
    width: 45.45455%;
}
.ets-width-6-11 {
    flex: 0 0 auto;
    width: 54.54545%;
}
.ets-width-7-11 {
    flex: 0 0 auto;
    width: 63.63636%;
}
.ets-width-8-11 {
    flex: 0 0 auto;
    width: 72.72727%;
}
.ets-width-9-11 {
    flex: 0 0 auto;
    width: 81.81818%;
}
.ets-width-10-11 {
    flex: 0 0 auto;
    width: 90.90909%;
}
.ets-width-1-12 {
    flex: 0 0 auto;
    width: 8.333333%;
}
.ets-width-5-12 {
    flex: 0 0 auto;
    width: 41.66667%;
}
.ets-width-7-12 {
    flex: 0 0 auto;
    width: 58.33333%;
}
.ets-width-11-12 {
    flex: 0 0 auto;
    width: 91.66667%;
}

/*
    =======================
    === Utility Classes ===
    =======================
*/


.ets-hidden {
    display: none;
}

.ets-invisible {
    visibility: hidden;
}

.ets-unset {
    all: unset;
    background-color: transparent;
    border: none;
    border-width: 0px;
    font-size: inherit;
    padding: 0px;
    margin: 0px;
}

/*Allows a scrollbar to appear if the contents overflow the container.*/
.ets-overflow-auto {
    overflow: auto;
}

.ets-overflow-hidden {
    overflow: hidden;
}

.ets-wrap-text {
    word-break: break-word;
}



/*
    spacing
*/

.ets-padding-0 {
    padding: 0px;
}

.ets-padding-top-0 {
    padding-top: 0px;
}

.ets-padding-right-0 {
    padding-right: 0px;
}

.ets-padding-bottom-0 {
    padding-bottom: 0px;
}

.ets-padding-left-0 {
    padding-left: 0px;
}

.ets-padding-1 {
    padding: 1px;
}

.ets-padding-top-1 {
    padding-top: 1px;
}

.ets-padding-right-1 {
    padding-right: 1px;
}

.ets-padding-bottom-1 {
    padding-bottom: 1px;
}

.ets-padding-left-1 {
    padding-left: 1px;
}

.ets-padding-2 {
    padding: 2px;
}

.ets-padding-top-2 {
    padding-top: 2px;
}

.ets-padding-right-2 {
    padding-right: 2px;
}

.ets-padding-bottom-2 {
    padding-bottom: 2px;
}

.ets-padding-left-2 {
    padding-left: 2px;
}

.ets-padding-3 {
    padding: 3px;
}

.ets-padding-top-3 {
    padding-top: 3px;
}

.ets-padding-right-3 {
    padding-right: 3px;
}

.ets-padding-bottom-3 {
    padding-bottom: 3px;
}

.ets-padding-left-3 {
    padding-left: 3px;
}

.ets-padding-4 {
    padding: 4px;
}

.ets-padding-top-4 {
    padding-top: 4px;
}

.ets-padding-right-4 {
    padding-right: 4px;
}

.ets-padding-bottom-4 {
    padding-bottom: 4px;
}

.ets-padding-left-4 {
    padding-left: 4px;
}

.ets-padding-5 {
    padding: 5px;
}

.ets-padding-top-5 {
    padding-top: 5px;
}

.ets-padding-right-5 {
    padding-right: 5px;
}

.ets-padding-bottom-5 {
    padding-bottom: 5px;
}

.ets-padding-left-5 {
    padding-left: 5px;
}

.ets-padding-6 {
    padding: 6px;
}

.ets-padding-top-6 {
    padding-top: 6px;
}

.ets-padding-right-6 {
    padding-right: 6px;
}

.ets-padding-bottom-6 {
    padding-bottom: 6px;
}

.ets-padding-left-6 {
    padding-left: 6px;
}

.ets-padding-7 {
    padding: 7px;
}

.ets-padding-top-7 {
    padding-top: 7px;
}

.ets-padding-right-7 {
    padding-right: 7px;
}

.ets-padding-bottom-7 {
    padding-bottom: 7px;
}

.ets-padding-left-7 {
    padding-left: 7px;
}

.ets-padding-8 {
    padding: 8px;
}

.ets-padding-top-8 {
    padding-top: 8px;
}

.ets-padding-right-8 {
    padding-right: 8px;
}

.ets-padding-bottom-8 {
    padding-bottom: 8px;
}

.ets-padding-left-8 {
    padding-left: 8px;
}

.ets-padding-9 {
    padding: 9px;
}

.ets-padding-top-9 {
    padding-top: 9px;
}

.ets-padding-right-9 {
    padding-right: 9px;
}

.ets-padding-bottom-9 {
    padding-bottom: 9px;
}

.ets-padding-left-9 {
    padding-left: 9px;
}

.ets-padding-10 {
    padding: 10px;
}

.ets-padding-top-10 {
    padding-top: 10px;
}

.ets-padding-right-10 {
    padding-right: 10px;
}

.ets-padding-bottom-10 {
    padding-bottom: 10px;
}

.ets-padding-left-10 {
    padding-left: 10px;
}

.ets-padding-11 {
    padding: 11px;
}

.ets-padding-top-11 {
    padding-top: 11px;
}

.ets-padding-right-11 {
    padding-right: 11px;
}

.ets-padding-bottom-11 {
    padding-bottom: 11px;
}

.ets-padding-left-11 {
    padding-left: 11px;
}

.ets-padding-12 {
    padding: 12px;
}

.ets-padding-top-12 {
    padding-top: 12px;
}

.ets-padding-right-12 {
    padding-right: 12px;
}

.ets-padding-bottom-12 {
    padding-bottom: 12px;
}

.ets-padding-left-12 {
    padding-left: 12px;
}

.ets-padding-13 {
    padding: 13px;
}

.ets-padding-top-13 {
    padding-top: 13px;
}

.ets-padding-right-13 {
    padding-right: 13px;
}

.ets-padding-bottom-13 {
    padding-bottom: 13px;
}

.ets-padding-left-13 {
    padding-left: 13px;
}

.ets-padding-14 {
    padding: 14px;
}

.ets-padding-top-14 {
    padding-top: 14px;
}

.ets-padding-right-14 {
    padding-right: 14px;
}

.ets-padding-bottom-14 {
    padding-bottom: 14px;
}

.ets-padding-left-14 {
    padding-left: 14px;
}

.ets-padding-15 {
    padding: 15px;
}

.ets-padding-top-15 {
    padding-top: 15px;
}

.ets-padding-right-15 {
    padding-right: 15px;
}

.ets-padding-bottom-15 {
    padding-bottom: 15px;
}

.ets-padding-left-15 {
    padding-left: 15px;
}

.ets-padding-16 {
    padding: 16px;
}

.ets-padding-top-16 {
    padding-top: 16px;
}

.ets-padding-right-16 {
    padding-right: 16px;
}

.ets-padding-bottom-16 {
    padding-bottom: 16px;
}

.ets-padding-left-16 {
    padding-left: 16px;
}

.ets-padding-17 {
    padding: 17px;
}

.ets-padding-top-17 {
    padding-top: 17px;
}

.ets-padding-right-17 {
    padding-right: 17px;
}

.ets-padding-bottom-17 {
    padding-bottom: 17px;
}

.ets-padding-left-17 {
    padding-left: 17px;
}

.ets-padding-18 {
    padding: 18px;
}

.ets-padding-top-18 {
    padding-top: 18px;
}

.ets-padding-right-18 {
    padding-right: 18px;
}

.ets-padding-bottom-18 {
    padding-bottom: 18px;
}

.ets-padding-left-18 {
    padding-left: 18px;
}

.ets-padding-19 {
    padding: 19px;
}

.ets-padding-top-19 {
    padding-top: 19px;
}

.ets-padding-right-19 {
    padding-right: 19px;
}

.ets-padding-bottom-19 {
    padding-bottom: 19px;
}

.ets-padding-left-19 {
    padding-left: 19px;
}

.ets-padding-20 {
    padding: 20px;
}

.ets-padding-top-20 {
    padding-top: 20px;
}

.ets-padding-right-20 {
    padding-right: 20px;
}

.ets-padding-bottom-20 {
    padding-bottom: 20px;
}

.ets-padding-left-20 {
    padding-left: 20px;
}
#common-footer ul {
    display: flex;
    align-items: center;
    margin: unset;
    padding: unset;
}

#common-footer li {
    list-style-type: none;
}

#common-footer ul.application {
    align-items: stretch;
    height: 100%;
}
    #common-footer ul.application li.category {
        position: relative;
    }
        #common-footer ul.application li.category div.notification-count {
            display: grid;
            place-items: center;
            width: 30px;
            height: 30px;
            background-color: var(--common-footer-notification-background);
            border-radius: 50%;
            border: solid 3px var(--common-footer-color);
            box-shadow: var(--darken-30) 2px 2px 2px;
            position: absolute;
            right: -5px;
            bottom: 20px;
        }

#common-footer ul.enterprise {
    grid-column: -1;
    gap: 5px;
    padding-right: 10px;
}
    #common-footer ul.enterprise span.minimal {
        display: none;
    }

#common-footer ul.enterprise li {
    display: flex;
    align-items: center;
    gap: 5px;
}

    #common-footer ul.enterprise li a {
        color: var(--common-footer-color);
    }

#common-footer button.category {
    display: flex;
    align-items: center;
    gap: 5px;
    height: 100%;
    padding: 0px 10px;
    font-weight: bold;
    font-size: 1.2em;
    color: var(--common-footer-color);
    background-color: unset;
    border: unset;
    border-right: solid 2px var(--common-footer-color);
    cursor: pointer;
}
    #common-footer button.category:hover,
    #common-footer button.category:focus,
    #common-footer button.category[aria-expanded="true"] {
        color: var(--common-footer-hover-color);
        background-color: var(--common-footer-hover-background);
    }

body ets-common ets-content > ul.notifications {
    position: absolute;
    display: flex;
    flex-direction: column;
    bottom: 40px;
    width: 100vw;
    max-height: 50dvh;
    overflow-y: auto;
    margin: unset;
    padding: unset;
    color: var(--common-footer-hover-color);
    background-color: var(--common-footer-hover-background);
    box-shadow: rgba(0, 0, 0, 0.6) 0px -4px 5px;
    z-index: 3;
}
    body ets-common ets-content > ul.notifications[aria-expanded="false"] {
        display: none;
    }

body ets-common ets-content > ul.notifications li.none {
    font-size: 1.2em;
    margin-block: .5em;
    padding-inline: 10px;
}

body ets-common ets-content > ul.notifications li.item {
    display: grid;
    align-items: center;
    grid-template-columns: 1fr 50px;
    gap: 10px;
    min-height: 50px;
}
    body ets-common ets-content > ul.notifications li.item > a.simple {
        display: flex;
        height: 100%;
        align-items: center;
        padding-inline: 10px;
        color: var(--common-footer-hover-color);
        font-size: 1.3em;
        font-weight: 500;
    }
        body ets-common ets-content > ul.notifications li.item > a.simple:hover,
        body ets-common ets-content > ul.notifications li.item > a.simple:focus {
            background-color: var(--common-footer-item-background);
        }
    body ets-common ets-content > ul.notifications li.item > button.remove {
        display: grid;
        place-items: center;
        width: 40px;
        height: 40px;
        color: var(--common-footer-hover-color);
        background-color: var(--common-footer-hover-background);
        border: solid var(--common-footer-hover-color);
        border-radius: 50%;
        cursor: pointer;
    }
        body ets-common ets-content > ul.notifications li.item > button.remove:hover {
            color: var(--common-footer-color);
            background-color: var(--common-footer-background);
            border-color: var(--common-footer-color);
        }
        

@media (max-width: 900px) {
    #common-footer ul.enterprise span.maximal {
        display: none;
    }

    #common-footer ul.enterprise span.minimal {
        display: flex;
        align-items: center;
    }

    #common-footer button.category span {
        display: none;
    }
}

@media print {
    #common-footer {
        display: none;
    }
}
#common-nav {
    z-index: 3;
}
    #common-nav[aria-expanded="false"] {
        display: none;
    }
    #common-nav[aria-expanded="true"] {
        overflow: hidden;
    }

#common-nav[aria-expanded="true"] ul.container {
    height: 100%;
    overflow-y: auto;
    overflow-x: hidden;
}

#common-nav li.group {
    position: relative;
}

#common-nav li.leaf a {
    display: block;
    color: var(--common-frame-color);
    text-decoration: unset;
}
    #common-nav li.leaf a:hover,
    #common-nav li.leaf a:focus {
        color: var(--common-frame-hover-color);
        background-color: var(--common-frame-hover-background);
    }

#common-nav li.leaf > a > ets-description {
    display: grid;
    grid-template-columns: 50px 1fr;
    place-items: center;
    height: 40px;
}

#common-nav ul.group-nodes > li.leaf > a > ets-description {
    grid-template-columns: 1fr;
    color: var(--common-frame-group-color);
}
    #common-nav ul.group-nodes > li.leaf > a:hover > ets-description,
    #common-nav ul.group-nodes > li.leaf > a:focus > ets-description {
        color: var(--common-frame-hover-color);
    }

@media screen and (min-width: 900px) {
    #common-nav[aria-expanded="false"] {
        display: unset;
        width: auto;
    }

    #common-nav[aria-expanded="false"] li.section {
        border-bottom: solid 2px var(--common-frame-border);
    }

    #common-nav[aria-expanded="false"] li.group > button[aria-expanded="true"] {
        border-bottom: unset;
    }

    #common-nav[aria-expanded="false"] li.section > ets-label,
    #common-nav[aria-expanded="false"] li.group > button ets-label,
    #common-nav[aria-expanded="false"] li.group > button ets-expand,
    #common-nav[aria-expanded="false"] li.leaf ets-label {
        display: none;
    }

    #common-nav[aria-expanded="false"] li.group > button ets-description,
    #common-nav[aria-expanded="false"] li.leaf > ets-description {
        grid-template-columns: 50px;
    }

    #common-nav[aria-expanded="false"] li.group:hover > button ets-label,
    #common-nav[aria-expanded="false"] li.group:focus > button ets-label,
    #common-nav[aria-expanded="false"] li.group > button[aria-expanded="true"] ets-label {
        font-weight: bold;
    }
    #common-nav[aria-expanded="false"] li.leaf > a:hover ets-label,
    #common-nav[aria-expanded="false"] li.leaf > a:focus ets-label,
    #common-nav[aria-expanded="false"] li.group:hover > button ets-label,
    #common-nav[aria-expanded="false"] li.group:focus > button ets-label,
    #common-nav[aria-expanded="false"] li.group > button[aria-expanded="true"] ets-label {
        display: grid;
        align-items: center;
        justify-items: start;
        position: absolute;
        left: 50px;
        width: 220px;
        height: 40px;
        background-color: var(--common-frame-hover-background);
        border-radius: 0px 5px 5px 0px;
    }
        #common-nav[aria-expanded="false"] li.group:hover > button ets-label,
        #common-nav[aria-expanded="false"] li.group:focus > button ets-label,
        #common-nav[aria-expanded="false"] li.group > button[aria-expanded="true"] ets-label {
            border-bottom-right-radius: 0px;
        }
        #common-nav[aria-expanded="false"] li.group:hover li.leaf > a ets-label,
        #common-nav[aria-expanded="false"] li.group:focus li.leaf > a ets-label,
        #common-nav[aria-expanded="false"] li.group > button[aria-expanded="true"] + ul.group-nodes li.leaf > a ets-label {
            display: grid;
        }
        #common-nav[aria-expanded="false"] li.group:hover li.leaf > a:hover ets-label,
        #common-nav[aria-expanded="false"] li.group:hover li.leaf > a:focus ets-label,
        #common-nav[aria-expanded="false"] li.group:focus li.leaf > a:hover ets-label,
        #common-nav[aria-expanded="false"] li.group:focus li.leaf > a:focus ets-label,
        #common-nav[aria-expanded="false"] li.group > button[aria-expanded="true"] + ul.group-nodes li.leaf > a:hover ets-label,
        #common-nav[aria-expanded="false"] li.group > button[aria-expanded="true"] + ul.group-nodes li.leaf > a:focus ets-label {
            align-items: center;
            left: 0px;
        }

    #common-nav[aria-expanded="false"] li.group:hover > ul.group-nodes,
    #common-nav[aria-expanded="false"] li.group:focus > ul.group-nodes,
    #common-nav[aria-expanded="false"] li.group > button[aria-expanded="true"] + ul.group-nodes {
        display: block;
        position: absolute;
        left: 50px;
        top: 40px;
        width: 220px;
        overflow-y: auto;
        overflow-x: hidden;
    }
}

@media print {
    #common-nav {
        display: none;
    }
}
.select2-container {
  box-sizing: border-box;
  display: inline-block;
  margin: 0;
  position: relative;
  vertical-align: middle; }
  .select2-container .select2-selection--single {
    box-sizing: border-box;
    cursor: pointer;
    display: block;
    height: 28px;
    user-select: none;
    -webkit-user-select: none; }
    .select2-container .select2-selection--single .select2-selection__rendered {
      display: block;
      padding-left: 8px;
      padding-right: 20px;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap; }
    .select2-container .select2-selection--single .select2-selection__clear {
      position: relative; }
  .select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered {
    padding-right: 8px;
    padding-left: 20px; }
  .select2-container .select2-selection--multiple {
    box-sizing: border-box;
    cursor: pointer;
    display: block;
    min-height: 32px;
    user-select: none;
    -webkit-user-select: none; }
    .select2-container .select2-selection--multiple .select2-selection__rendered {
      display: inline-block;
      overflow: hidden;
      padding-left: 8px;
      text-overflow: ellipsis;
      white-space: nowrap; }
  .select2-container .select2-search--inline {
    float: left; }
    .select2-container .select2-search--inline .select2-search__field {
      box-sizing: border-box;
      border: none;
      font-size: 100%;
      margin-top: 5px;
      padding: 0; }
      .select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button {
        -webkit-appearance: none; }

.select2-dropdown {
  background-color: white;
  border: 1px solid #aaa;
  border-radius: 4px;
  box-sizing: border-box;
  display: block;
  position: absolute;
  left: -100000px;
  width: 100%;
  z-index: 1051; }

.select2-results {
  display: block; }

.select2-results__options {
  list-style: none;
  margin: 0;
  padding: 0; }

.select2-results__option {
  padding: 6px;
  user-select: none;
  -webkit-user-select: none; }
  .select2-results__option[aria-selected] {
    cursor: pointer; }

.select2-container--open .select2-dropdown {
  left: 0; }

.select2-container--open .select2-dropdown--above {
  border-bottom: none;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0; }

.select2-container--open .select2-dropdown--below {
  border-top: none;
  border-top-left-radius: 0;
  border-top-right-radius: 0; }

.select2-search--dropdown {
  display: block;
  padding: 4px; }
  .select2-search--dropdown .select2-search__field {
    padding: 4px;
    width: 100%;
    box-sizing: border-box; }
    .select2-search--dropdown .select2-search__field::-webkit-search-cancel-button {
      -webkit-appearance: none; }
  .select2-search--dropdown.select2-search--hide {
    display: none; }

.select2-close-mask {
  border: 0;
  margin: 0;
  padding: 0;
  display: block;
  position: fixed;
  left: 0;
  top: 0;
  min-height: 100%;
  min-width: 100%;
  height: auto;
  width: auto;
  opacity: 0;
  z-index: 99;
  background-color: #fff;
  filter: alpha(opacity=0); }

.select2-hidden-accessible {
  border: 0 !important;
  clip: rect(0 0 0 0) !important;
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  width: 1px !important; }

.select2-container--default .select2-selection--single {
  background-color: #fff;
  border: 1px solid #aaa;
  border-radius: 4px; }
  .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #444;
    line-height: 28px; }
  .select2-container--default .select2-selection--single .select2-selection__clear {
    cursor: pointer;
    float: right;
    font-weight: bold; }
  .select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: #999; }
  .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 26px;
    position: absolute;
    top: 1px;
    right: 1px;
    width: 20px; }
    .select2-container--default .select2-selection--single .select2-selection__arrow b {
      border-color: #888 transparent transparent transparent;
      border-style: solid;
      border-width: 5px 4px 0 4px;
      height: 0;
      left: 50%;
      margin-left: -4px;
      margin-top: -2px;
      position: absolute;
      top: 50%;
      width: 0; }

.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear {
  float: left; }

.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow {
  left: 1px;
  right: auto; }

.select2-container--default.select2-container--disabled .select2-selection--single {
  background-color: #eee;
  cursor: default; }
  .select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear {
    display: none; }

.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
  border-color: transparent transparent #888 transparent;
  border-width: 0 4px 5px 4px; }

.select2-container--default .select2-selection--multiple {
  background-color: white;
  border: 1px solid #aaa;
  border-radius: 4px;
  cursor: text; }
  .select2-container--default .select2-selection--multiple .select2-selection__rendered {
    box-sizing: border-box;
    list-style: none;
    margin: 0;
    padding: 0 5px;
    width: 100%; }
    .select2-container--default .select2-selection--multiple .select2-selection__rendered li {
      list-style: none; }
  .select2-container--default .select2-selection--multiple .select2-selection__placeholder {
    color: #999;
    margin-top: 5px;
    float: left; }
  .select2-container--default .select2-selection--multiple .select2-selection__clear {
    cursor: pointer;
    float: right;
    font-weight: bold;
    margin-top: 5px;
    margin-right: 10px; }
  .select2-container--default .select2-selection--multiple .select2-selection__choice {
    background-color: #e4e4e4;
    border: 1px solid #aaa;
    border-radius: 4px;
    cursor: default;
    float: left;
    margin-right: 5px;
    margin-top: 5px;
    padding: 0 5px; }
  .select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
    color: #999;
    cursor: pointer;
    display: inline-block;
    font-weight: bold;
    margin-right: 2px; }
    .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
      color: #333; }

.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__placeholder, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline {
  float: right; }

.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
  margin-left: 5px;
  margin-right: auto; }

.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove {
  margin-left: 2px;
  margin-right: auto; }

.select2-container--default.select2-container--focus .select2-selection--multiple {
  border: solid black 1px;
  outline: 0; }

.select2-container--default.select2-container--disabled .select2-selection--multiple {
  background-color: #eee;
  cursor: default; }

.select2-container--default.select2-container--disabled .select2-selection__choice__remove {
  display: none; }

.select2-container--default.select2-container--open.select2-container--above .select2-selection--single, .select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple {
  border-top-left-radius: 0;
  border-top-right-radius: 0; }

.select2-container--default.select2-container--open.select2-container--below .select2-selection--single, .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0; }

.select2-container--default .select2-search--dropdown .select2-search__field {
  border: 1px solid #aaa; }

.select2-container--default .select2-search--inline .select2-search__field {
  background: transparent;
  border: none;
  outline: 0;
  box-shadow: none;
  -webkit-appearance: textfield; }

.select2-container--default .select2-results > .select2-results__options {
  max-height: 200px;
  overflow-y: auto; }

.select2-container--default .select2-results__option[role=group] {
  padding: 0; }

.select2-container--default .select2-results__option[aria-disabled=true] {
  color: #999; }

.select2-container--default .select2-results__option[aria-selected=true] {
  background-color: #ddd; }

.select2-container--default .select2-results__option .select2-results__option {
  padding-left: 1em; }
  .select2-container--default .select2-results__option .select2-results__option .select2-results__group {
    padding-left: 0; }
  .select2-container--default .select2-results__option .select2-results__option .select2-results__option {
    margin-left: -1em;
    padding-left: 2em; }
    .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
      margin-left: -2em;
      padding-left: 3em; }
      .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
        margin-left: -3em;
        padding-left: 4em; }
        .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
          margin-left: -4em;
          padding-left: 5em; }
          .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
            margin-left: -5em;
            padding-left: 6em; }

.select2-container--default .select2-results__option--highlighted[aria-selected] {
  background-color: #5897fb;
  color: white; }

.select2-container--default .select2-results__group {
  cursor: default;
  display: block;
  padding: 6px; }

.select2-container--classic .select2-selection--single {
  background-color: #f7f7f7;
  border: 1px solid #aaa;
  border-radius: 4px;
  outline: 0;
  background-image: -webkit-linear-gradient(top, white 50%, #eeeeee 100%);
  background-image: -o-linear-gradient(top, white 50%, #eeeeee 100%);
  background-image: linear-gradient(to bottom, white 50%, #eeeeee 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); }
  .select2-container--classic .select2-selection--single:focus {
    border: 1px solid #5897fb; }
  .select2-container--classic .select2-selection--single .select2-selection__rendered {
    color: #444;
    line-height: 28px; }
  .select2-container--classic .select2-selection--single .select2-selection__clear {
    cursor: pointer;
    float: right;
    font-weight: bold;
    margin-right: 10px; }
  .select2-container--classic .select2-selection--single .select2-selection__placeholder {
    color: #999; }
  .select2-container--classic .select2-selection--single .select2-selection__arrow {
    background-color: #ddd;
    border: none;
    border-left: 1px solid #aaa;
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
    height: 26px;
    position: absolute;
    top: 1px;
    right: 1px;
    width: 20px;
    background-image: -webkit-linear-gradient(top, #eeeeee 50%, #cccccc 100%);
    background-image: -o-linear-gradient(top, #eeeeee 50%, #cccccc 100%);
    background-image: linear-gradient(to bottom, #eeeeee 50%, #cccccc 100%);
    background-repeat: repeat-x;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0); }
    .select2-container--classic .select2-selection--single .select2-selection__arrow b {
      border-color: #888 transparent transparent transparent;
      border-style: solid;
      border-width: 5px 4px 0 4px;
      height: 0;
      left: 50%;
      margin-left: -4px;
      margin-top: -2px;
      position: absolute;
      top: 50%;
      width: 0; }

.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear {
  float: left; }

.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow {
  border: none;
  border-right: 1px solid #aaa;
  border-radius: 0;
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
  left: 1px;
  right: auto; }

.select2-container--classic.select2-container--open .select2-selection--single {
  border: 1px solid #5897fb; }
  .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow {
    background: transparent;
    border: none; }
    .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b {
      border-color: transparent transparent #888 transparent;
      border-width: 0 4px 5px 4px; }

.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single {
  border-top: none;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  background-image: -webkit-linear-gradient(top, white 0%, #eeeeee 50%);
  background-image: -o-linear-gradient(top, white 0%, #eeeeee 50%);
  background-image: linear-gradient(to bottom, white 0%, #eeeeee 50%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); }

.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single {
  border-bottom: none;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  background-image: -webkit-linear-gradient(top, #eeeeee 50%, white 100%);
  background-image: -o-linear-gradient(top, #eeeeee 50%, white 100%);
  background-image: linear-gradient(to bottom, #eeeeee 50%, white 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0); }

.select2-container--classic .select2-selection--multiple {
  background-color: white;
  border: 1px solid #aaa;
  border-radius: 4px;
  cursor: text;
  outline: 0; }
  .select2-container--classic .select2-selection--multiple:focus {
    border: 1px solid #5897fb; }
  .select2-container--classic .select2-selection--multiple .select2-selection__rendered {
    list-style: none;
    margin: 0;
    padding: 0 5px; }
  .select2-container--classic .select2-selection--multiple .select2-selection__clear {
    display: none; }
  .select2-container--classic .select2-selection--multiple .select2-selection__choice {
    background-color: #e4e4e4;
    border: 1px solid #aaa;
    border-radius: 4px;
    cursor: default;
    float: left;
    margin-right: 5px;
    margin-top: 5px;
    padding: 0 5px; }
  .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove {
    color: #888;
    cursor: pointer;
    display: inline-block;
    font-weight: bold;
    margin-right: 2px; }
    .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover {
      color: #555; }

.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
  float: right; }

.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
  margin-left: 5px;
  margin-right: auto; }

.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove {
  margin-left: 2px;
  margin-right: auto; }

.select2-container--classic.select2-container--open .select2-selection--multiple {
  border: 1px solid #5897fb; }

.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple {
  border-top: none;
  border-top-left-radius: 0;
  border-top-right-radius: 0; }

.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple {
  border-bottom: none;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0; }

.select2-container--classic .select2-search--dropdown .select2-search__field {
  border: 1px solid #aaa;
  outline: 0; }

.select2-container--classic .select2-search--inline .select2-search__field {
  outline: 0;
  box-shadow: none; }

.select2-container--classic .select2-dropdown {
  background-color: white;
  border: 1px solid transparent; }

.select2-container--classic .select2-dropdown--above {
  border-bottom: none; }

.select2-container--classic .select2-dropdown--below {
  border-top: none; }

.select2-container--classic .select2-results > .select2-results__options {
  max-height: 200px;
  overflow-y: auto; }

.select2-container--classic .select2-results__option[role=group] {
  padding: 0; }

.select2-container--classic .select2-results__option[aria-disabled=true] {
  color: grey; }

.select2-container--classic .select2-results__option--highlighted[aria-selected] {
  background-color: #3875d7;
  color: white; }

.select2-container--classic .select2-results__group {
  cursor: default;
  display: block;
  padding: 6px; }

.select2-container--classic.select2-container--open .select2-dropdown {
  border-color: #5897fb; }

ets-common {
    display: grid;
    grid-template-rows: auto 1fr;
    width: 100vw;
    height: 100dvh;
    background-color: var(--common-background);
    color: var(--common-color);
}

ets-common * {
    outline-color: var(--common-focus-glow);
}

ets-common h1, 
ets-common h2, 
ets-common h3, 
ets-common h4 {
    font-family: var(--common-header-font);
}

ets-common a {
    color: var(--common-link);
}
    ets-common a:hover, 
    ets-common a:focus {
        color: var(--common-link-hover);
        text-decoration-style: dashed;
    }

ets-common > header {
    display: grid;
    grid-template-columns: auto auto 1fr auto 50px;
    grid-auto-rows: 50px;
    align-items: center;
    background-color: var(--common-frame-background);
    border-bottom: 2px solid var(--common-frame-border);
    z-index: 1;
}
    ets-common > header button,
    ets-common > header div.header-profile.public {
        align-self: stretch;
        display: grid;
        place-items: center;
        color: var(--common-frame-color);
        background-color: unset;
        border-inline: solid 2px var(--common-frame-border);
        border-bottom: unset;
        cursor: pointer;
    }
        ets-common > header button:hover, 
        ets-common > header button:focus {
            color: var(--common-frame-hover-color);
            background-color: var(--common-frame-hover-background) !important;
        }
        ets-common > header button#nav-expand,
        ets-common > header button#options-expand {
            width: 50px;
            font-size: 2.3em;
        }
        ets-common > header button#options-expand {
            border-left: unset;
        }
        ets-common > header div.header-profile.public {
            cursor: unset !important;
        }

body > ets-common > header > a {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0px 5px 0px 5px;
}
    body > ets-common > header > a > img {
        height: 40px;
    }

@media (max-width: 500px) {
    body > ets-common > header > a {
        grid-column: span 2;
    }
}

body > ets-common > header .header-profile {
    grid-column: 4;
    display: flex;
    height: 100%;
    position: relative;
    z-index: 1;
}
    body > ets-common > header .header-profile:last-child {
        grid-column-end: -1;
    }

body > ets-common > header #ets-profile {
    display: grid;
    grid-template-columns: 45px 1fr;
    place-items: center;
    overflow: hidden;
    padding: unset;
    background-color: var(--common-frame-background);
    border-left: 2px solid var(--common-frame-border);
    cursor: pointer;
}

    body > ets-common > header #ets-profile > img {
        height: 35px;
        border-radius: 50%;
    }

    body > ets-common > header #ets-profile > ets-label {
        max-width: 50vw;
        font-size: 1rem;
        text-align: start;
        padding-right: 5px;
    }
        body > ets-common > header div.header-profile.public > ets-label {
            font-size: 1rem;
            padding-inline: 5px;
        }

body > ets-common > header ets-profile-link {
    position: absolute;
    top: 50px;
    right: 0px;
    display: grid;
    grid-auto-rows: 50px;
    min-width: 100%;
    transition: transform .3s;
    z-index: -1;
    background-color: var(--common-frame-background);
    color: white;
    border: 2px solid var(--common-frame-border);
}
    body > ets-common > header ets-profile-link[aria-expanded="false"] {
        transform: translateY(-52px);
        visibility: hidden;
    }
    body > ets-common > header ets-profile-link a {
        display: grid;
        min-width: 100px;
        height: 100%;
        align-items: center;
        justify-items: end;
        padding: 0px 10px;
        color: var(--common-frame-color);
        text-decoration: unset !important;
    }
        body > ets-common > header ets-profile-link a:hover, 
        body > ets-common > header ets-profile-link a:focus {
            color: var(--common-frame-hover-color);
            background-color: var(--common-frame-hover-background);
        }

body > ets-common > ets-content {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-rows: 1fr 40px;
    grid-template-areas:
        'nav content'
        'footer footer';
    width: 100%;
    height: 100%;
    overflow: hidden;
    position: relative;
    z-index: 0;
}

    body > ets-common > ets-content > main {
        grid-area: content;
        width: 100%;
        height: 100%;
        overflow: auto;
        position: relative;
        z-index: 1;
    }

body > ets-common #common-nav {
    grid-area: nav;
}

body > ets-common #common-options {
    grid-area: content;
    justify-self: end;
    height: 100%;
    transition: transform .3s;
    z-index: 1;
}
    body > ets-common #common-options[aria-expanded="false"] {
        transform: translateX(100%);
        visibility: hidden;
    }

ets-common > ets-content > footer {
    grid-area: footer;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    color: var(--common-footer-color);
    background-color: var(--common-footer-background);
    font-weight: bold;
    z-index: 4;
}

@media (max-width: 500px) {
    body > ets-common > header ets-label {
        display: none;
    }

    body > ets-common > header ets-profile-link[aria-expanded="false"] {
        display: none;
    }

    ets-common > header div.header-profile.public {
        border-left: unset;
    }
}

@media (max-width: 900px) {
    body > ets-common > ets-content {
        grid-template-columns: auto;
        grid-template-areas:
            'content'
            'footer';
    }
        body > ets-common > ets-content > main,
        body > ets-common #common-options,
        body > ets-common #common-nav {
            grid-area: content;
        }

    body > ets-common #common-nav {
        z-index: 2;
    }
}

@media print {
    ets-common {
        grid-template-rows: 1fr;
        width: initial;
        height: initial;
    }

    ets-common > header {
        display: none;
    }

    body > ets-common > ets-content {
        grid-template-areas:
            'content content'
            'content content' !important;
        width: initial;
        height: initial;
        overflow: initial;
    }

    body > ets-common > ets-content > main {
        width: initial;
        height: initial;
        overflow: initial;
    }

    #common-options {
        display: none;
    }
}