﻿/* This file is for side-bar based layouts, inclusive of the side-bar CSS itself */

.workspace {
    display: flex;
    flex-direction: column;
    height: 100vh;
}

    .workspace .header-workspace {
    }

    .workspace .body-workspace {
        flex: 1 1 0%;
        overflow: auto;
    }

    .workspace .wrapper {
        height: unset; /* .wrapper in a .workspace will auto adjust height based on the workspace flexbox */
    }

.wrapper {
    display: flex;
    align-items: stretch;
    height: 100vh; /* Overridden if in a .workspace */
}


.no-map-image {
    width: 16px;
    height: 22px;
}


.wrapper .side-bar,
.wrapper .main {
    overflow: auto;
}

/** Header **/
header {
    padding: 0.75rem 1rem 0.75rem 1.5rem;
    box-shadow: 1px 1px 5px -0.5px #aaa;
    background-color: #f9f9f9;
    z-index: 1000;
    position: relative;
}

    header h1 {
        font-size: 2rem;
        margin: 0;
        display: inline-block;
        margin-right: 1rem;
        position: relative;
        top: 0.4rem;
    }

        header h1 small {
            font-size: 1.4rem;
            font-style: italic;
            color: #777;
        }

.theme-dark header {
    color: #eee;
    background-color: #3B3B3B;
    box-shadow: 1px 1px 5px -0.5px #000;
}

    .theme-dark header h1 small {
        color: #aaa;
    }

/** Main area **/

.main {
    flex: 1 1 0;
    padding: 2rem;
}

    .main .loading {
        position: sticky;
        top: -2rem;
        left: 0;
        height: 100vh;
        width: 100%;
        z-index: 99999;
        background: #fff;
        font-size: 2.4rem;
        text-align: center;
    }

        .main .loading .alert {
            position: absolute;
            display: inline;
            top: calc(50% - 33px);
            left: calc(50% - 100px);
        }

        .main .loading i {
            margin-right: 1rem;
        }

/** Side bar area **/

.side-bar {
    background-color: #fff;
    border-right: 1px solid #ddd;
    flex: 0 1 auto;
    width: 33%;
    max-width: 440px;
    display: flex;
    flex-direction: column;
}

    .side-bar.sm {
        max-width: 340px;
        min-width: unset;
    }

    .side-bar.left {
        box-shadow: 1px 3px 5px -0.5px #aaa;
        z-index: 999;
    }

    .side-bar.right {
        box-shadow: 1px 5px 5px 1.5px #aaa;
        z-index: 999;
    }

    .side-bar.pane-collapsed {
        width: auto;
    }

    /* Actions */
    .side-bar.actions {
    }

        .side-bar.actions .panel .panel-heading {
            display: flex;
            align-items: center;
            justify-content: space-between;
            user-select: none;
            cursor: pointer;
        }

            .side-bar.actions .panel .panel-heading > span {
                width: 100%;
            }

            .side-bar.actions .panel .panel-heading > .panel-icon {
                margin-left: 10px;
            }

        .side-bar.actions .panel .panel-body {
            padding: 0.5rem 0 0.5rem 0;
        }

            .side-bar.actions .panel .panel-body > div,
            .side-bar.actions .panel .panel-body > a {
                display: flex;
                align-items: center;
                gap: .75rem;
                text-align: left;
                padding: 0.5rem 1.5rem;
                white-space: nowrap;
            }

            .side-bar.actions .panel .panel-body > li,
            .side-bar.actions .panel .panel-body > a {
                cursor: pointer;
            }

                .side-bar.actions .panel .panel-body > a:hover {
                    text-decoration: none;
                }

                .side-bar.actions .panel .panel-body > a .material-symbols-outlined {
                    font-size: 2rem;
                }

/* SSO Link Actions */
.theme-dark .side-bar.actions .panel.panel-sso-links .sso-link-container .sso-link {
    border-color: #000;
}

.side-bar.actions .panel.panel-sso-links {
}

    .side-bar.actions .panel.panel-sso-links .panel-body {
        transition: filter 250ms ease;
        contain: content;
    }

    .side-bar.actions .panel.panel-sso-links .sso-link-container {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        justify-content: space-evenly;
        width: 100%;
        padding: 0 .5rem;
        gap: .5rem;
        transition: all 250ms ease;
    }

        .side-bar.actions .panel.panel-sso-links .sso-link-container .sso-link {
            display: flex;
            border: 1px solid #ccc;
            border-radius: 3px;
            padding: 5px;
            justify-content: center;
            cursor: pointer;
        }

            .side-bar.actions .panel.panel-sso-links .sso-link-container .sso-link > img {
                height: 30px;
                width: auto;
                max-width: 100%;
                border-radius: inherit;
            }

    .side-bar.actions .panel.panel-sso-links .no-sso-link {
        display: block;
        padding-left: 15px;
        padding-right: 15px;
        color: #6c757d;
    }

    .side-bar.actions .panel.panel-sso-links.disabled {
        display: none;
    }

    .side-bar.actions .panel.panel-sso-links.invalid-state .panel-body {
        filter: grayscale(100%);
        cursor: wait;
    }

    .side-bar.actions .panel.panel-sso-links.invalid-state .sso-link-container .sso-link {
        cursor: wait;
    }

/* CSS for Find/Zoom actions */
.theme-dark .side-bar.actions .find-popup,
.theme-dark .side-bar.actions .zoom-popup {
    background-color: #333337;
    border-color: #222;
}

    .theme-dark .side-bar.actions .zoom-popup .zoom-group,
    .theme-dark .side-bar.actions .zoom-popup .zoom-group a {
        color: #85cde7;
    }

        .theme-dark .side-bar.actions .zoom-popup .zoom-group > a:hover {
            background-color: #2d2d30;
        }

.side-bar.actions .find-popup,
.side-bar.actions .zoom-popup {
    display: none;
    padding: 5px !important; /* !important needed to fix alignment from more specific .side-bar CSS */
    margin-bottom: 1rem;
    z-index: 9999;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 4px;
    /* 
    If needed, the CSS below will make it so these 'popup's will stick to the top of the actions pane
    position: sticky;
    top: 0;
    box-shadow: 0 0 15rem 5rem rgba(0, 0, 0, 0.75);
    */
}

    .side-bar.actions .find-popup.active,
    .side-bar.actions .zoom-popup.active {
        display: block;
    }

    .side-bar.actions .find-popup .find-group-button-container {
        position: absolute;
        top: 0;
        right: 20px;
    }

    .side-bar.actions .zoom-popup .zoom-group {
        display: flex;
        align-items: center;
        justify-content: space-evenly;
        user-select: none;
    }

        .side-bar.actions .zoom-popup .zoom-group > a {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            padding: 2px;
            border-radius: 4px;
            cursor: pointer;
            text-decoration: none;
        }

            .side-bar.actions .zoom-popup .zoom-group > a:hover {
                text-decoration: none;
                background-color: #f5f5f5;
            }

            .side-bar.actions .zoom-popup .zoom-group > a:focus {
                text-decoration: none;
                outline: none;
            }

            .side-bar.actions .zoom-popup .zoom-group > a.disabled {
                filter: grayscale(100%);
                cursor: not-allowed;
            }

            .side-bar.actions .zoom-popup .zoom-group > a span.material-symbols-outlined {
                margin: 0; /* Margin is set globally in RAD, but is not needed for these nav icons */
            }

        .side-bar.actions .zoom-popup .zoom-group > span {
            user-select: none;
            cursor: auto;
        }

/* END: Actions */

/* Cards */

.side-bar.listings {
    display: flex;
    flex-direction: column;
}

    .side-bar.listings.pane-collapsed {
        width: 250px;
    }

    .side-bar.listings.pane-expanded {
        width: 428px;
        min-width: unset;
    }

    .side-bar.listings .side-bar-body {
        display: flex;
        flex-direction: column;
        padding: 0;
    }

    .side-bar.listings .cards {
        display: flex;
        flex-direction: column;
        flex: 1 1 auto;
        overflow-y: auto;
    }

        .side-bar.listings .cards .list-group-listings {
            margin: 0;
            flex: 1 1 auto;
            overflow-y: auto;
            padding-left: .5rem;
            padding-right: .5rem;
        }

            .side-bar.listings .cards .list-group-listings.scrolling {
                will-change: scroll-position;
            }

            .side-bar.listings .cards .list-group-listings:not(:last-child) {
                flex: 0 0 auto;
            }

    .side-bar.listings .hidden-prospect-cart-indicator {
        display: none;
        margin: 0;
    }

    /* Unchecked listing cards in 'Show Checked Only' mode*/
    .side-bar.listings.show-checked-only .card:not(.checked) {
        display: none !important;
    }

    /*Listing card groups in 'Show Checked Only' mode with no nested checked listings*/
    .side-bar.listings.show-checked-only .card-group-wrapper-div.panel-body.hide {
        display: none;
    }

.side-bar.pane-collapsed .selector-trigger span {
    display: none;
}

.side-bar.right.sm.actions.pane-expanded {
    width: 100%;
}

.side-bar-modal .panel,
.side-bar .panel {
    margin-bottom: 1rem;
}

.side-bar-modal .panel-heading,
.side-bar .panel-heading {
    background-color: #337ab7;
    color: #eee;
    border-color: #2e6da4;
    font-size: 1.6rem;
    padding: 0.5rem 1rem;
}

    .side-bar-modal .panel-heading,
    .side-bar .panel-heading.panel-heading-listing-links {
        background-color: #eee;
        color: #333;
    }

.side-bar-modal .panel-selector .panel-body,
.side-bar .panel-selector .panel-body {
    margin: 0;
    padding: 0;
}

    .side-bar-modal .panel-selector .panel-body ul,
    .side-bar .panel-selector .panel-body ul {
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .side-bar-modal .panel-selector .panel-body li,
    .side-bar .panel-selector .panel-body li {
        margin: 0;
        padding: 0;
        border-bottom: 1px solid #ddd;
    }

        .side-bar-modal .panel-selector .panel-body li:last-of-type,
        .side-bar .panel-selector .panel-body li:last-of-type {
            border-bottom: 0;
        }

        .side-bar-modal .panel-selector .panel-body li a,
        .side-bar-modal .panel-selector .panel-body li .filter-item,
        .side-bar .panel-selector .panel-body li a,
        .side-bar .panel-selector .panel-body li .filter-item {
            display: block;
            padding: 0.5rem 2rem;
        }

            .side-bar-modal .panel-selector .panel-body li a.active,
            .side-bar .panel-selector .panel-body li a.active {
                background-color: #d9edf7;
            }

        .side-bar-modal .panel-selector .panel-body li.active,
        .side-bar .panel-selector .panel-body li.active {
            background-color: #d9edf7;
        }

        .side-bar-modal .panel-selector .panel-body li a:hover,
        .side-bar .panel-selector .panel-body li a:hover {
            text-decoration: none;
            background-color: #bcdff1;
        }

        .side-bar-modal .panel-selector .panel-body li:hover,
        .side-bar .panel-selector .panel-body li:hover {
            text-decoration: none;
            background-color: #bcdff1;
        }

        .side-bar-modal .panel-selector .panel-body li a:first-of-type,
        .side-bar-modal .panel-selector .panel-body li .filter-item:first-of-type,
        .side-bar .panel-selector .panel-body li a:first-of-type,
        .side-bar .panel-selector .panel-body li .filter-item:first-of-type {
            padding-top: 1rem;
        }

        .side-bar-modal .panel-selector .panel-body li a:last-of-type,
        .side-bar-modal .panel-selector .panel-body li .filter-item:last-of-type,
        .side-bar .panel-selector .panel-body li a:last-of-type,
        .side-bar .panel-selector .panel-body li .filter-item:last-of-type {
            padding-bottom: 1rem;
            border-bottom: 0;
        }

        .side-bar-modal .panel-selector .panel-body li .filter-item .filter-name,
        .side-bar .panel-selector .panel-body li .filter-item .filter-name {
            width: calc(100% - 70px);
            max-width: 228px;
            display: inline-block;
            font-weight: normal;
        }

        .side-bar-modal .panel-selector .panel-body li .filter-item .switch,
        .side-bar .panel-selector .panel-body li .filter-item .switch {
            position: relative;
            top: -0.4rem;
        }

.side-bar-modal .input-group-btn i,
.side-bar .input-group-btn i {
    margin-right: 0;
}

.side-bar .panel-body .form-inline > * {
    margin-right: 8px;
}

.side-bar .panel-body .form-group:last-of-type {
    margin-bottom: 0;
}

.side-bar-header {
    align-items: center;
    padding: 1rem;
    background-color: #efefef;
}

    .side-bar-header h3 {
        margin: 0;
        display: inline-block;
        max-width: 200px;
        font-size: 1.8rem;
        vertical-align: middle;
        padding-right: 5px
    }

    .side-bar-header a.btn:not(.collapsed) {
        display: inline-block;
    }

    .side-bar-header a.btn.collapsed {
        display: block;
        margin-top: 0.5rem;
    }

    .side-bar-header span + i.fa-chevron-left {
        margin: 0 0.4rem 0 0;
    }

    .side-bar-header span + i.fa-chevron-right {
        margin: 0 0 0 0.4rem;
    }

    .side-bar-header .form-group:last-of-type {
        margin-bottom: 0;
    }

    .side-bar-header.fixed,
    .side-bar-footer.fixed {
        font-size: 1.6rem;
        position: sticky;
        top: 0;
        z-index: 100;
        border-bottom: 1px solid #ddd;
        background-color: #f5f5f5;
        padding: 0;
    }

.side-bar-footer.fixed {
    bottom: 0;
}

.side-bar-header .header-title {
    font-size: 1.8rem;
    padding: 1rem 1.4rem;
}

.side-bar-header .filter {
    border-top: 1px solid #ddd;
    padding: 1rem;
}

.side-bar-footer .buttons {
    border-top: 1px solid #ddd;
    text-align: center;
    padding: 1rem;
}

.side-bar-body {
    flex: 1 1 0%;
    overflow: auto;
    padding: 1rem;
    overflow: auto;
    border-top: 1px solid #ddd;
}

.side-bar-modal .panel-body .checkbox-label,
.side-bar .panel-body .checkbox-label {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: bottom;
    padding-left: 24px;
}

.side-bar-modal .side-bar-body .items .panel-body > div > a,
.side-bar .side-bar-body .items .panel-body > div > a {
    padding: 0.5rem;
}

.side-bar .side-bar-body hr {
    margin: 1rem 0;
}

.side-bar .side-bar-body > .collapsed > div a.focused,
.side-bar .side-bar-body > .collapsed-multi-select > div.focused {
    background-color: #d9edf7;
}

.side-bar .side-bar-body > .collapsed .moduleElement ~ .moduleElement,
.side-bar .side-bar-body > .collapsed-multi-select .moduleElement ~ .moduleElement {
    margin-top: 1rem;
}

.side-bar .side-bar-body > .collapsed-multi-select .moduleElement .btn {
    color: #337ab7;
}

.side-bar .side-bar-body > .collapsed-multi-select .moduleElement[detail-index] .btn {
    /* Collapsed Module Header Buttons */
    color: #fff;
    background-color: #337ab7;
    border-color: #ddd;
}

.side-bar .side-bar-body > .collapsed-multi-select .moduleElement hr {
    border-top-color: #337ab7 !important;
}

.theme-dark .side-bar {
    background-color: #3B3B3B;
    color: #eeeeee;
    border: 0;
}

    .theme-dark .side-bar .panel {
        background-color: #111;
        border-color: #000;
    }

    .theme-dark .side-bar .panel-heading {
        color: #eee;
        font-size: 1.6rem;
        background-color: #2d2d30;
        border-color: #222;
    }

    .theme-dark .side-bar .panel-body {
        background-color: #333337;
        border-color: #222;
    }

.theme-dark .modal-body {
    background-color: #333337;
    border-color: #222;
    color: white;
}

.theme-dark .side-bar .panel-body a {
    color: #85cde7;
}

.theme-dark .side-bar .panel-body .checkbox-label {
    color: #85cde7;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: bottom;
    padding-left: 24px;
}

.theme-dark .panel {
    background-color: #333337;
    color: #eee;
    border-color: #222;
}

.theme-dark .side-bar.left {
    box-shadow: 1px 3px 5px -0.5px #000;
}

.theme-dark .side-bar.right {
    box-shadow: 1px 5px 5px 1.5px #000;
}

.theme-dark .side-bar a.btn-default {
    color: #eee;
    background: #222 !important;
    border-color: #000 !important;
}

    .theme-dark .side-bar a.btn-default.btn-icon.alert.alert-danger {
        color: #a94442 !important;
        background-color: #f2dede !important;
        border-color: #ebccd1 !important;
    }

.theme-dark .side-bar .side-bar-header {
    background-color: #3B3B3B;
}

.theme-dark .side-bar .side-bar-body {
    background-color: #111;
    border-top-color: #000;
}

.theme-dark .list-group-item.list-group-item-package-item {
    background-color: #333337;
    border-color: #222;
}

.theme-dark .side-bar .side-bar-footer-fixed {
    border-top-color: #000;
}

.theme-dark header .name a {
    color: #eee !important;
}

header .name a {
    color: black !important;
}

.theme-dark a.btn-default, .theme-dark a.btn-default:active, .theme-dark a.btn-default:visited, .theme-dark a.btn-default:focus, .theme-dark a.btn-default:link, .theme-dark select, .theme-dark input[type=text] {
    color: #eee;
    background-color: #222 !important;
    border-color: #000 !important;
}

.theme-dark a.btn-link, .theme-dark a.btn-link:active, .theme-dark a.btn-link:visited, .theme-dark a.btn-link:focus, .theme-dark a.btn-link:link {
    color: #85cde7;
}

.theme-dark .side-bar .side-bar-body .panel-body a.focused {
    background-color: #5bc0de;
    color: white;
}

.theme-dark .side-bar .side-bar-body > .collapsed > div a.focused {
    background-color: #5bc0de !important;
}

body.theme-dark .fa,
body.theme-dark .fas {
    color: #eee !important;
}

/** Badges **/
.side-bar .badge {
    background-color: #c9302c;
}

@media only screen and (max-width: 1300px) {
    .side-bar.right .panel-heading {
        font-size: 1.4rem;
    }

    .side-bar.right .panel-body {
        font-size: 1.2rem;
    }

        .side-bar.right .panel-body span {
            font-size: 1.2rem !important;
        }
}


div .listings-pane-sort {
    float: left;
    padding-top: 7px;
    z-index: 0;
}

.error {
    color: black !important;
    background-color: yellow !important;
}

.theme-dark .error {
    color: black !important;
    background-color: yellow !important;
}

.theme-dark hr {
    border-color: #222;
}


/** Side bar area modal **/

.side-bar-modal {
    background-color: #efefef;
    border-right: 1px solid #ddd;
    padding: 1rem 1rem 0 1rem;
    flex: initial;
    width: 33%;
    max-width: 440px;
    overflow: auto;
}

    .side-bar-modal.sm {
        max-width: 300px;
        min-width: unset;
    }

    .side-bar-modal.left {
        float: left;
        z-index: 999;
    }

    .side-bar-modal.right {
        float: right;
        box-shadow: 1px 5px 5px 1.5px #aaa;
        z-index: 999;
    }

    .side-bar-modal .side-bar-body {
        padding: 0 0rem 1rem 0rem;
        overflow: auto;
        margin: 0 -1rem;
        background: #fff;
        border-top: 1px solid #ddd;
    }

.unapproved {
    background-color: #ffffe0;
}

.list-group-package-items {
    margin: 0;
}

    .list-group-package-items .list-group-item-package-item {
        padding: 1rem;
    }

.side-bar-selection {
    display: flex;
    align-items: center;
    gap: 5px;
    min-height: 50px;
    padding: 10px;
    background-color: #efefef;
}

.theme-dark .side-bar-selection {
    background-color: #3b3b3b;
}

.side-bar-selection-count {
    padding: 5px;
    padding-right: 15px;
    text-align: right;
    background-color: #efefef;
}

.theme-dark .side-bar-selection-count {
    background-color: #3b3b3b;
}

.side-bar.actions .panel .panel-body > a {
    transition: color 250ms ease-in-out;
}

    .side-bar.actions .panel .panel-body > a.disabled {
        color: #6c757d;
        cursor: not-allowed;
        pointer-events: none; /* Block the user from clicking the disabled link (will validate server side) */
    }

    .side-bar.actions .panel .panel-body > a.loading {
        color: #6c757d;
        cursor: wait;
    }

    .side-bar.actions .panel .panel-body > a.disabled.unset-pointer-events {
        pointer-events: unset; /* Allow the user to interact with the disabled link unless globally disabled (will validate client and server side) */
    }

.actions-pane-view-manage-options .fa, .fas {
    font-weight: 100;
    color: rgb(51, 122, 183);
}

.actions-pane-view-manage-options i {
    font-family: Helvetica,Arial,sans-serif;
    color: rgb(51, 122, 183);
    text-decoration: none;
    font-weight: normal;
    margin-left: 5px;
}

.side-bar.left .side-bar-header .listings-pane-section-selector {
    display: inline-flex;
    align-items: center;
    gap: 1rem;
}

    .side-bar.left .side-bar-header .listings-pane-section-selector .listings-pane-section-selector-anchor {
        border-radius: 4px 0 0 4px;
        display: inline-flex;
        align-items: center;
        pointer-events: none;
    }

    .side-bar.left .side-bar-header .listings-pane-section-selector .listings-pane-section-selector-toggle-button {
        border-radius: 0 4px 4px 0;
        display: inline-flex;
        align-items: center;
        padding: 1px;
    }

.side-bar.left .card-group-wrapper-div.panel-body {
    padding: 0;
    cursor: pointer;
    background-color: transparent;
}

    .side-bar.left .card-group-wrapper-div.panel-body .card-group-wrapper-description {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin: .5rem;
        margin-left: 0;
        padding: 0.5rem;
        padding-right: 15px;
        background-color: #337ab7;
        color: white;
        font-size: 1.6rem;
        border-radius: 0 10px 10px 0;
        position: sticky;
        top: .5rem;
        z-index: 20;
        user-select: none;
    }


.side-bar.left .side-bar-body.state-collapsed .cards.cards-collapsed .card-group-wrapper-div.panel-body .card-group-wrapper-description {
    font-size: 1.4rem;
}

.side-bar.left .listings-pane-section-selector-dropdown {
    top: 14rem;
}

.side-bar.left.pane-expanded .listings-pane-section-selector-dropdown {
    left: 8rem;
}

.side-bar.left.pane-collapsed .listings-pane-section-selector-dropdown {
    left: 1rem;
}

.side-bar.left.listings.pane-collapsed .side-bar-header {
    display: flex;
    justify-content: space-around;
}

.theme-dark .side-bar.left .card-group-wrapper-div.panel-body .card-group-wrapper-description {
    background-color: #2d2d30;
}
