@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,400;0,700;1,400;1,700&display=swap');

html, * {
    box-sizing: border-box;
}
html, body {
    height: 100%;
    font-family: "Open Sans", sans-serif;
}

.ds-hidden {
    display: none !important;
}

:root {

    /*COLORS*/
    --floral-white: #FFFBEF;
    --antique-white: #FDEDDE;
    --melon: #FAB1A2;
    --coral: #F58D68;
    --flame: #EF5B2D;
    --celestial-blue: #419EDC;
    --yinmn-blue: #194E8A;
    --prussian-blue: #15283C;
    --outer-space: #474747;
    --midnight-green: #0c545a;


    /*SIZES*/


    /*TYPOGRAPHY*/

}


.positive {
    background: var(--midnight-green);
    color: #fff;
}
.regular {
    background: var(--yinmn-blue);
    color: #fff;
}
.negative {
    background: var(--flame);
    color: #fff;
}
.action {
    background: var(--coral);
    border-color: var(--coral);
    color: #fff;
}
.export {
    background: var(--celestial-blue);
    border-color: var(--celestial-blue);
    color: #fff;
}
.cta {
    color: var(--coral);
    cursor: pointer;
}
button:disabled {
    background: #eee !important;
    border-color: #eee !important;
    color: #aaa !important;
}

/* ELEMENTS */

body {
    background: var(--floral-white);
    font-family: 'Poppins', sans-serif;
    font-size: 100%;
}
label {
    display: block;
}
input, select {
    background: #fff;
    border: 1px solid #000;
    border-radius: 3px;
    line-height: 2em;
    height: 2em;
    padding: 0 0.5em;
}
button, .ui-button {
    border: 1px solid transparent;
    border-radius: 3px;
    height: 2em;
    display: flex;
    align-items: center;
    padding: 0 0.5em;
    cursor: pointer;
    justify-content: center;
}
.highlighted-select {
    background: var(--midnight-green);
    border-color: var(--midnight-green);
    color: #fff;
}
h1, h2, h3, h4, h5, h6 {
    margin: 0 0 1em;
    font-family: 'Poppins', sans-serif;
    font-weight: normal;
}
input:focus, select:focus {
    border: 1px solid var(--celestial-blue);
}
.highlighted-select:focus {
    border-color: var(--midnight-green);
}

/* CUSTOM CHECKBOXES / RADIOS */

.custom-checkmark {
    display: inline-flex;
    position: relative;
    cursor: pointer;
    align-items: center;
}
.custom-checkmark input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}
.custom-checkmark-mark {
    position: relative;
    height: 1em;
    width: 1em;
    background-color: #333;
    border-radius: 3px;
}
.custom-checkmark-left .custom-checkmark-mark {
    margin-right: 0.5em;
}
.custom-checkmark-right .custom-checkmark-mark {
    margin-left: 0.5em;
}
.custom-radio {
    border-radius: 50%;
}
.custom-checkmark:hover input ~ .custom-checkmark-mark {
    opacity: 0.7;
}
.custom-checkmark input:focus ~ .custom-checkmark-mark {
    opacity: 0.7;
}
.custom-checkmark input:disabled ~ .custom-checkmark-mark {
    opacity: 0.5;
}
.custom-checkmark input:checked:disabled ~ .custom-checkmark-mark {
    opacity: 0.5;
}
.custom-checkmark input:checked ~ .custom-checkmark-mark {
    background-color: #BE57F3;
}
.custom-checkmark-mark:after {
    content: "";
    position: absolute;
    display: none;
}
.custom-checkmark input:checked ~ .custom-checkmark-mark:after {
    display: block;
}
.custom-checkmark .custom-checkbox::after {
    top: 0.05em;
    left: 0.25em;
    width: 5px;
    height: 10px;
    border: solid white;
    border-width: 0 3px 3px 0;
    transform: rotate(45deg);
}
.custom-checkmark .custom-radio::after {
    top: 0.25em;
    left: 0.25em;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: white;
}
.custom-checkmark-center {
    justify-content: center;
}


/* STRUCTURE */

#body-ctn-flex-wrap {
    display: flex;
    min-height: 101vh;
    flex-direction: column;
}
#body-top-ctn {
    flex: 1;
}
#body-footer-ctn {
    background: var(--prussian-blue);
    height: 15em;
    padding: 2.5em 6vw;
}

#body-top-flex-wrap {
    display: flex;
    min-height: calc(100vh - 19em);
    flex-direction: row;
}
#body-content-ctn {
    flex: 1;
}
#body-content-inner {
    max-width: 100em;
    margin: 0 auto;
    padding: 0.5em 1em 2em;
}
@media (min-width: 800px)
{
    #body-content-inner {
        padding: 1em 5em 5em;
    }
}


#global-masthead {
    background: url('images/asfalt-dark.png') center center var(--prussian-blue);
    color: #fff;
    border-bottom: 0.5em solid var(--yinmn-blue);
}
#site-body #logo-ctn {
    display: none;
}
#screen-title {
    margin: 0;
    font-size: 1.5em;
    color: var(--yinmn-blue);
}

.buttonset {
    display: flex;
    margin: 0 0 0 -0.5em;
    flex-wrap: wrap;
    align-items: flex-end;
}
.buttonset-right {
    justify-content: flex-end;
}
.buttonset > * {
    margin: 0 0 2px 0.5em;
}


/* TOAST */

#toast-container {
    position: fixed;
    top: 5%;
    right: 1em;
    width: 20em;
    z-index: 99;
}
.toast {
    padding: 20px;
    background-color: var(--midnight-green);
    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(--flame);
    color: #fff;
}


/* GLOBAL NAV */

#global-navigation-horizontal {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
}
.global-nav-trigger {
    display: block;
}
.global-nav-trigger a {
    cursor: pointer;
    padding: 0.25em 0.5em;
    display: block;
    text-decoration: none;
    color: inherit;
}
#site-body .global-nav-trigger a {
    padding: 1em;
}
.global-nav-trigger a:hover {
}
#global-navigation-horizontal-spacer {
    flex-grow: 1;
}
#global-nav-account {
    background: var(--flame);
}


/* NAVIGATION RIBBON */

.nav-ribbon-ctn {
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    width: 100%;
}
.nav-ribbon-column {
    flex-direction: column;
}

#navigation-ribbon-ctn {
    background: var(--antique-white);
    border-bottom: 2px solid var(--coral);
}
#navigation-ribbon {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch;
}
#navigation-ribbon li {
    border-right: 2px solid var(--coral);
    display: flex;
    align-items: stretch;
    flex-grow: 1;
}
#navigation-ribbon li:last-child {
    border-right: 0;
}
#navigation-ribbon a {
    text-decoration: none;
    color: var(--flame);
    text-align: center;
}
#navigation-ribbon a.nav-ribbon-primary-link {
    padding: 0.15em 0.5em;
    display: block;
    font-size: 0.8em;
    text-align: left;
}
.nav-ribbon-footer-links {
    display: flex;
    justify-content: flex-start;
    border-top: 1px dashed var(--coral);
}
.nav-ribbon-sidebar-links {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    border-left: 1px dashed var(--coral);
}
#navigation-ribbon .nav-ribbon-footer-links a {
    padding: 0.25em 0.5em;
    color: var(--yinmn-blue);
    width: 2em;
}
#navigation-ribbon .nav-ribbon-sidebar-links a {
    padding: 0.5em;
    color: var(--yinmn-blue);
}


.ofg-stack {
    position: relative;
    display: inline-block;
    width: 1em;
    height: 1em;
    line-height: 1em;
    vertical-align: middle;
}
.ofg-stack-1 {
    position: absolute;
    left: 0;
    bottom: 0;
    font-size: 1em;
    transform: scale(1);
}
.ofg-stack-2 {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%) scale(0.65);
}
.ofg-outline-stack {
    width: 1em;
    height: 1em;
    font-size: 1.3em;
}
.ofg-outline-stack.ofg-corner-icon {
    left: 100%;
    top: 62%;
}
.ofg-outline {
    position: absolute;
    left: 34%;
    top: 54%;
    transform: translate(-50%, -50%) scale(1.15);
    color: var(--antique-white);
    width: 1em;
    height: 1em;
}
.ofg-outline-ico {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 1em;
    height: 1em;
}
.ofg-outline svg,
.ofg-outline-ico svg {
    width: 100%;
    height: 100%;
}

.ofg-person-list-stack .ofg-outline-stack.ofg-corner-icon {
    left: 80%;
    transform: translate(-36%, -47%) scale(0.5);
}

.ofg-property-edit-stack .ofg-outline-stack.ofg-corner-icon {
    top: 80%;
}
.ofg-property-edit-stack .ofg-outline {
    left: 45%;
}

.ofg-application-list-stack .ofg-outline-stack.ofg-corner-icon {
    top: 80%;
}
.ofg-application-list-stack .ofg-outline {
    left: 45%;
}



/* PANELS */

.light-panel {
    padding: 1rem;
    border-radius: 0.5rem;
    background: #fff;
    border: 1px solid #ddd;
}
.panel-title {
    margin: -1rem -1rem 1rem -1rem;
    padding: 0.25em 0.5em;
}
.light-panel-title {
    background: var(--yinmn-blue) url('/media/global_assets/image/pattern_h.png');
    background-size: cover;
    color: #fff;
}


/* CTAS */


/* LIST PAGINATOR & SETTINGS */

#pagination-ctn {
    background: var(--yinmn-blue) url('/media/global_assets/image/pattern_h.png');
    background-size: cover;
    padding: 0.25em 0.5em;
    color: #fff;
}
#pagination-ctn-flex-wrap {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0 0 0 -1em;
    align-items: center;
}
#pagination-ctn-flex-wrap > * {
    margin: 0 0 2px 1em;
}
#pagination-ctn-spacer {
    flex-grow: 1;
}
#num-records-ctn {
}
#pagination-limit {
    width: 5em;
    color: #000;
}
#pagination-nav {
    list-style: none;
    padding: 0;
    height: 2em;
    display: flex;
    align-items: center;
    margin: 0 0 0 0.5em;
}
.pagination-page {
    margin: 0 0 0 0.5em;
    cursor: pointer;
}
.pagination-page.current {
    color: #ccc;
    cursor: default;
}

#pagination-ctn-flex-wrap #toggle-all {
    font-size: 0.8em;
    background: var(--celestial-blue);
}

#list-preferences-ctn {
    margin-left: 1em;
    position: relative;
}
#list-preferences-toggle {
    font-size: 1.5em;
    cursor: pointer;
    color: var(--coral);
}
#list-preferences-expando {
    background: #fff;
    border: 1px solid var(--prussian-blue);
    border-radius: 3px;
    padding: 1em;
    position: absolute;
    top: 110%;
    right: 0;
    z-index: 2;
    box-shadow: 4px 4px 8px #000;
    text-align: right;
    display: none;
    color: #000;
}
#list-preferences-expando label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 2px 0 0;
}
#list-preferences-expando .label-text {
    line-height: 1.1em;
    width: 5.5em;
    text-align: left;
}
#list-preferences-expando select {
    width: 12em;
}
#list-preferences-buttonset {
    padding-top: 0.5em;
    margin-top: 0.5em;
    border-top: 2px dashed var(--coral);
}


/* FOOTER */

#footer-flex-wrap {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    margin: 0 0 -0.5em -0.5em;
}
.footer-ctn {
    flex-grow: 1;
    margin: 0 0 0.5em 0.5em;
    color: #fff;
    flex-basis: calc(33% - 0.5em);
}
.footer-list {
    margin: 0;
    padding: 0 0 0 1.5em;
}
.footer-ctn a {
    color: inherit;
    text-decoration: none;
}
.company-info h4 {
    margin: 0;
    font-size: 1.5em;
}
.company-info p {
    margin: 0;
    font-size: 0.8em;
}
.company-info p#product-of {
    font-size: 0.7em;
}
#product-of span {
    font-weight: bold;
}
#footer-contact-links {
    margin: 0;
    padding: 0;
    list-style: none;
}
#footer-contact-links span {
    display: inline-block;
    margin-right: 1em;
    font-weight: bold;
}


/* TEMP */

#body-footer-ctn > a {
    color: transparent;
}