﻿/* Layout: This CSS file should be used for layout specific css changes like Header, Footer, Menus, media queries, etc. */
html, body, .form {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    min-height: 100%;
    padding-top: 1px;
    margin-top: -1px;
}

/* BEA - Removed as 1) the math is wrong resulting in a vertical scrollbar */
/*.form {
    height: calc(100vh - 3.13rem);*/ /* 3.13rem is the Header size */
/*}*/

.content-wrapper {
    position: relative;
    padding-bottom: 46px; /* Footer Height */
    /*min-height: calc(100vh - 3.13rem);*/ /* 3.13rem is the Header size */
    max-width: 1032px; /* 24 + 984 + 24 (Single Col) OR 24 + 640 + 24 + 320 +24 (Two Col)*/
    margin: 0px 24px; /* Horizontal padding for the content, also centers the content-wrapper when screen is wider than max-width */
}

html {
    height: 100%;
    display: flex;
    justify-content: center;
}

/* Content */
.content {
    width: 100%;
    box-sizing: border-box;
    min-height: 100%;
    height: 100%;
    -webkit-overflow-scrolling: touch;
}

/* Footer */
.footer-wrapper {
    height: 46px; /* Footer Height */
    position: absolute;
    bottom: 0;
    width: 100%
}

.footer {
    font-size: 10px;
    clear: both;
    margin: 0px 0px;
    width: 100%;
    text-align: right;
    bottom: 0;
    left: 0;
    background: #000000;
    color: #FFFFFF;
    position: fixed;
    z-index: 1000;
}

.footer-link {
    color: #FFFFFF;
    border-right: 1px solid #FFFFFF;
    margin-right: 7px;
    padding-right: 10px;
    white-space: nowrap;
}

    .footer-link:last-child {
        border: none;
        margin: 0;
        padding: 0;
    }

.footer-left {
    float: left;
}

.footer-right {
    float: right;
}

.footer-left,
.footer-right {
    color: #FFFFFF;
    padding: 4px 35px;
    margin-right: 30px;
}

/* Header */
.app-header {
    padding: 0 !important;
    margin: 0 !important;
    border-top: 4px solid var(--secondary-color);
    border-bottom: 3px solid #D9D9D9 !important;
}

    .app-header .dxm-contentText {
        color: #000000;
    }

    .app-header .left-block {
        float: left;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 2px;
        margin: 0 !important;
    }

    .app-header .right-block {
        float: right;
        margin: 0 !important;
    }

        .app-header .right-block > div {
            margin: 0 !important;
        }

    .app-header .left-block > div {
        margin: 0 !important;
    }

    .app-header .menu-container {
        overflow: hidden;
    }

        .app-header .menu-container > div {
            float: right;
        }

.header-logo {
    background: url('Images/logo.svg') no-repeat center;
    height: 26px;
    width: 150px;
}

.app-header .left-block .header-menu {
    flex: 0 1 auto;
}

.app-header .left-block .header-menu .image-item > .dxm-content {
    padding: 0 8px 0 8px;
}

.app-header .right-block .header-menu .image-item > .dxm-content {
    padding: 0 7px 0 7px;
    margin-bottom: 0 !important;
}

.app-header .left-block .header-menu .item.toggle-item > .dxm-content {
    padding: 0 14px 0 14px;
}

.app-header .right-block .header-menu .item.toggle-item > .dxm-content {
    padding: 0 14px 0 14px;
}

.app-header .header-menu .item.selected {
    color: inherit;
    box-sizing: border-box;
}

.app-header .header-menu .item.selected,
.app-header .header-menu .item.hovered {
    background-color: rgba(0, 0, 0, 0.05);
}

    .app-header .header-menu .item.selected .dxm-content {
        margin-bottom: -2px;
    }

    .app-header .header-menu .item.selected .dxm-content,
    .app-header .header-menu .item.hovered .dxm-content {
        color: inherit;
    }

/* Main Menu */
.header-menu {
    background-color: white !important;
    border-style: none !important;
    /*    min-height: 3.13rem;*/
    height: auto;
    margin: 0 !important;
}

.header-sub-menu .item {
    padding: 12px 7px !important;
    margin: 0 !important;
}

.header-sub-menu .dxm-spacing {
    margin: 0 !important;
}

.header-sub-menu .dxm-hovered {
    background-color: var(--card-bg) !important;
}

/* Ellipsis -> Apps Icon */
.header-menu .adaptive-image {
    background: url('Images/adaptive-menu.svg') no-repeat center;
    width: 16px;
    height: 16px;
    padding: 0 8px;
}
/* Hide item images */
.header-menu.application-menu .item .dxm-content > img {
    display: none !important;
}

/* Right area menu */
.header-menu .toggle-item .image {
    background: url('Images/double.svg') no-repeat center;
}

.header-menu .toggle-item.checked .image {
    background: url('Images/double-close.svg') no-repeat center;
}

.header-menu .image-item {
    vertical-align: middle !important;
}

.header-menu .vertically-aligned {
    font-size: 0;
}

/* Account */
.header-menu .account-background {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background-color: rgba(0, 0, 0, 0.1);
    margin-top: 8px;
}

    .header-menu .account-background div {
        border-radius: 50%;
    }

    .header-menu .account-background .empty-image {
        width: 16px;
        height: 16px;
        margin: 8px;
        display: inline-block;
        background: url('Images/user.svg');
    }

    .header-menu .account-background .account-image {
        width: 32px;
        height: 32px;
        font-size: 0.8em;
        font-weight: 600;
        line-height: 32px;
        text-align: center;
        margin: 0 auto;
        display: table;
        background-size: 100%;
    }

.user-info .avatar img {
    float: left;
    height: 16px;
    border-radius: 50%;
    margin-right: 12px;
}

.user-info .text-container {
    height: 3.13rem;
    margin-left: 60px;
}

.user-name {
    color: #444444;
    font-size: 1.14em;
    text-wrap-mode: wrap;
    overflow: hidden;
}

.user-info .text-container .email {
    display: block;
    color: #666666;
    font-size: 0.86em;
}

.myaccount-item {
    background-color: #e4e4e4;
}

/* Left Panel */
.left-panel {
    border: none;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1);
    -webkit-overflow-scrolling: touch;
}

.leftpanel-section {
    border: none !important;
    background-color: rgba(0, 0, 0, 0.1);
}

.section-caption {
    height: 2.69rem;
    line-height: 2.69rem;
    vertical-align: middle;
    margin: 0;
    border-top: solid 1px #f0f0f0;
    border-bottom: solid 1px #f0f0f0;
}

.left-panel.expand-bar,
.right-panel.expand-bar {
    border: 0;
}

a.tree-view-node {
    color: var(--body-color);
    padding-top: 7px !important;
    padding-bottom: 8px !important;
    padding-right: 8px !important;
    border: none !important;
}

    a.tree-view-node.hovered {
        text-decoration: none;
        background-color: var(--card-bg);
    }

.tree-view-elbow {
    padding-top: 3px;
}

/* Right Panel */
.right-panel {
    border-left: 1px solid #f0f0f0;
}

.settings-content {
    padding: 24px 20px;
}

    .settings-content h2 {
        color: #494949;
        font-size: 1.3em;
        font-weight: 600;
    }

    .settings-content p {
        color: #999999;
    }

/* Toolbar */
.page-toolbar-wrapper {
    position: fixed;
    background-color: white;
    left: 272px;
    right: 0;
    z-index: 1;
}

@media(max-width: 959px) {
    .page-toolbar-wrapper {
        left: 0;
    }
}

.page-toolbar {
    background-color: rgba(0, 0, 0, 0.1) !important;
    border: none !important;
    font-size: 0.93em !important;
    height: 2.69rem;
}

    .page-toolbar .item > h1,
    .section-caption {
        color: #494949;
        font-weight: 600;
        font-style: normal;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        padding-left: 24px;
    }

    .page-toolbar .item > h1 {
        font-size: 1.46em;
        margin: 0;
        padding: 0 17px;
    }

    .page-toolbar .item .dxm-disabled .dxm-image {
        opacity: 0.3;
    }

.dxflChildInFirstRowSys {
    height: 100% !important;
}

.headerImage {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    flex: 1 0 0;
    align-self: stretch;
    margin: 0 !important;
}

    .headerImage img {
        width: 100%;
        background-color: transparent !important;
    }

.formLayout, .formLayout-container {
    padding: 0 30px 0 30px;
    box-sizing: border-box;
}

.formAccountLayout .dxflGroupCell_Office365 {
    padding: 0 !important;
}

.loginForm .login-field {
    width: 50%;
}

.home-msg {
    width: 100%;
    padding-left: 24px;
    box-sizing: border-box;
}

/* Flex Column Layout */
.flex-column-container {
    display: flex;
    gap: 24px;
}

/* Use for single column pages */
.flex-column {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 24px;
    min-width: 320px;
    /*padding-left: 24px; keeping it for now*/ /* keep in sync with flex-column-left below */
}

.scroll-content {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    width: 100%;
}

/* Use -left/-right for two column pages */
.flex-column-left {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 24px;
    min-width: 320px;
    max-width: 640px;
    padding-left: 24px; /* keep in sync with flex-column above */
}

.flex-column-right {
    width: 320px;
    display: flex;
    flex-direction: column;
    gap: 24px;
    margin-left: auto;
}

.flex-empty-column {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
}

@media (max-width: 425px) {
    .flex-column-left, .home-msg {
        padding-left: 0px;
    }
}

@media (max-width: 1024px) {
    .scroll-content {
        width: calc(100vw - 100px);
    }
}

/* Only used for 2 column layout page, ex. Home page */
.two-col-scroll-content {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    width: 100%;
}

/* Mobile View - Single Column */
@media (max-width: 767px) {
    .flex-column-container {
        display: flex;
        flex-direction: column;
    }

    .flex-column {
        min-width: 0;
        max-width: none;
    }

    .flex-column-right {
        order: 1;
        width: 100%;
    }

    .flex-column-left {
        order: 2;
        min-width: 0;
        max-width: none;
    }

    .flex-empty-column {
        order: 99; /* should always be last */
    }

    .clear-flex-gap {
        gap: 0;
    }

    /* Login page uses `display: contents` for custom ordering */
    .login-content .flex-column-right,
    .login-content .flex-column-left {
        display: contents;
    }

    .login-content .login-form {
        order: 1;
    }

    .login-content .login-welcome {
        order: 2;
    }

    .login-content .login-support {
        order: 3;
    }

    .login-content .login-announcement {
        order: 4;
    }

    .dxgvAdaptiveFooterPanel_Office365 {
        text-wrap: auto !important;
        background-color: #f4f4f4 !important;
        border: 1px solid lightgray;
        border-top: 0;
    }

        .dxgvAdaptiveFooterPanel_Office365 .dxgvADFSD, .grid-footer {
            color: var(--body-color);
            font-weight: bold !important;
        }

        .dxgvAdaptiveFooterPanel_Office365 .dxgvADFSD {
            display: block;
        }

    .scroll-content {
        overflow-x: hidden !important;
        width: 100%;
    }

    body {
        overflow-x: auto;
    }

    #documentUploadDialog,
    #messagesDialog,
    #fundDocumentsDialog,
    .popup-dialog {
        max-width: 640px !important;
        width: 90vw !important;
    }

    #divDocumentsUploadDialog,
    #divMessagesDialog,
    #divFundDocumentsDialog {
        padding: 0 12px;
    }

    #divMessagesDialog,
    #message_dialog_msg {
        padding: 6px 12px;
    }

    .alert-box {
        padding: 0.75rem 0.75rem;
        margin: .75rem 0;
    }
 }

@media (max-width: 1023px) {
    .two-col-scroll-content .dxgvControl_Office365.dx-acc-r.dxgv.dxgvALE {
        width: 100% !important;
        border: 0 !important;
    }

        .two-col-scroll-content .dxgvControl_Office365.dx-acc-r.dxgv.dxgvALE .dxAC, .dxgvControl_Office365.dx-acc-r.dxgv.dxgvALE .dxAC div {
            margin-bottom: 0;
        }

    .two-col-scroll-content .dxgvAdaptiveFooterPanel_Office365 {
        border: 1px solid lightgray;
        border-top: 0;
    }
}

.help-menu-item .help-icon {
    height: 16px;
    margin-left: 8px;
    vertical-align: middle;
}

.help-menu-item {
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
}

    .help-menu-item.dxm-selected .dxm-contentText {
        color: #000000;
    }

.awardYearLabel .dxm-content {
    padding-right: 0 !important;
    margin-left: 8px;
}

.help-menu-item .dxm-contentText {
    margin-bottom: 2px;
}

.help-menu-item.dxm-selected {
    background-color: #FFFFFF !important;
}

.panel-content {
    padding: 0 0 1rem 1rem;
}

    .panel-content .button {
        margin-left: 1rem;
    }

.dxtv-ndSel {
    background: var(--primary-color) !important;
    color: var(--title-color) !important;
}

.header-sub-menu .dxm-selected {
    background: var(--primary-color) !important;
}

    .header-sub-menu .dxm-selected .dxm-contentText {
        color: var(--title-color) !important;
    }

.header-menu .institutionName.hovered .dxm-content,
.header-menu .institutionName:hover .dxm-content,
.header-menu .awardYearLabel.hovered .dxm-content,
.header-menu .awardYearLabel:hover .dxm-content {
    color: #000000 !important;
}

/* Hide only visible text for the left-panel toggle item */
#HeaderPanel_LeftAreaMenu .toggle-item .dxm-contentText {
    display: none !important;
}

@media (max-width: 359px) {
    .header-logo {
        background: url('Images/logo-small.svg') no-repeat center;
        width: 26px;
    }
}

@media (min-width: 576px) {
    .text-content .lead {
        max-width: 80%;
        margin-bottom: 1rem;
        font-size: 1.5rem;
    }

    .text-content .title {
        color: #222;
        font-size: 2em;
        font-weight: 600;
    }

    .bordered-block {
        padding: 1.5rem;
        margin-right: 0;
        margin-left: 0;
        border-width: .2rem;
    }
}

@media (max-width: 576px) {
    .img-float-left {
        padding-right: 16px;
        padding-bottom: 16px;
    }
}

@media (max-width: 720px) /* Change Ellipsis image Apps Icon */
{
    .app-header .menu-container > div {
        width: 47px;
    }

    .header-menu .adaptive-image {
        background: url('Images/application.svg') no-repeat center;
    }

    /* Show item images */
    .header-menu.application-menu .item .dxm-content > img {
        display: inline-block;
    }
}


@media (max-width: 767px) {
    .mobile-only-msg {
        display: block;
        padding: 0 0 20px 5px;
        font-weight: bold;
        text-wrap: wrap;
        font-size: 14px;
    }

    .dxpc-contentDiv {
        max-height: 50vh !important;
    }

    .heroband-left,
    .heroband-right {
        flex: 1 1 100%;
        border-top-right-radius: 10px;
        border-bottom-right-radius: 10px;
    }

    .heroband-right {
        order: 1;
        padding: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        border: none;
        padding: 0 24px 0 24px;
    }

        .heroband-right img {
            min-height: 0;
        }

    .heroband-left {
        order: 2;
    }
}

@media (max-width: 787px) {
    .institution-svg {
        display: none;
    }
}

@media (min-width: 768px) {
    .headerImage img, .layoutgroup-zero {
        max-height: 150px;
    }
}

@media (max-width: 769px) {
    .help-menu-item .dxm-contentText {
        display: none !important;
    }
}

@media (min-width: 768px) and (max-width: 1024px) {
    #documentUploadDialog,
    #messagesDialog,
    #fundDocumentsDialog,
    .popup-dialog {
        max-width: 640px !important;
        width: 80vw !important;
    }
}

@media (min-width: 768px) and (max-width: 1279px) {
    .heroband-title {
        font-size: 32px;
        font-style: normal;
        font-weight: 300;
        line-height: 40px;
        letter-spacing: normal;
    }

    .heroband-desc {
        font-size: 24px;
        font-style: normal;
        font-weight: 300;
        line-height: 32px;
    }
}

@media (min-width: 992px) {
    .bd-content > ul, .bd-content > ol, .bd-content > p {
        max-width: 80%;
    }
}

@media (min-width: 1280px) {
    .heroband-title {
        font-size: 48px;
        font-style: normal;
        font-weight: 400;
        line-height: 52px;
        letter-spacing: -0.1px;
    }

    .heroband-desc {
        font-size: 28px;
        font-style: normal;
        font-weight: 300;
        line-height: 32px;
    }
}

@media (min-width: 816px) {
    .text-content {
        padding: 0px 48px;
    }
}

@media (min-width: 1025px) {
    #documentUploadDialog,
    #messagesDialog,
    #fundDocumentsDialog,
    .popup-dialog {
        max-width: 640px !important;
        width: 640px !important;
    }
}

@media (max-width: 1160px) {
    .app-header .left-block {
        gap: 0px;
        align-items: center;
    }

    .awardYearLabel {
        display: none !important;
    }

    /* Ensure toggle item stays centered when logo is hidden */
    .header-menu .toggle-item {
        display: flex;
        align-items: center;
        justify-content: center;
    }
}

@media (max-width: 599px) {
    .footer-left, .footer-right {
        padding: 4px 4px;
    }

    .menu-container .dxm-ltr > div:not(.header-menu),
    .header-sub-menu {
        width: 100% !important;
    }

    .page-toolbar .item > h1 {
        max-width: 150px;
    }
}