/* Site-Wide CSS and Defaults*/

.clear {
    clear: both;
}

body {
    margin: 0;
    padding: 0;
    font-family: 'Roboto Condensed', Arial, Helvetica, sans-serif;
    text-transform: uppercase;
    font-size: 13px;
    color: #4d4f53;
    background-color: #eaeef0;
    height: 100%;
}

.anchor {
    display: block;
    position: relative;
    top: -100px;
    visibility: hidden;
}

.inline {
    display: inline;
}

.upButton {
    transform: rotate(270deg);
    height: 15px;
    width: 15px;
    filter: invert(84%) sepia(17%) saturate(513%) hue-rotate(42deg) brightness(91%) contrast(88%);
    cursor: pointer;
}
.downButton {
    transform: rotate(90deg);
    height: 15px;
    width: 15px;
    filter: invert(53%) sepia(75%) saturate(310%) hue-rotate(314deg) brightness(83%) contrast(88%);
    cursor: pointer;
}

ul.nodots {
    list-style-type: none;
}

#wrapper {
    min-height: 100%;
}

    #main_container {
        height: 85%;
        width: 80%;
        left: 300px;
        position:relative;
        top:0;
        padding-top: 100px;
        text-transform: none;
        transition: all 0.5s ease;
    }

    #footer {
    height: 2%;
    display: none;
}

#header {
    background-color: #ffffff;
    height: 90px;
    width: 100%;
    box-shadow: 0 2px 5px -2px #818181;
    -moz-box-shadow: 0 2px 5px -2px #818181;
    -webkit-box-shadow: 0 2px 5px -2px #818181;
    z-index: 1000; /* Set high to overlap sidebar */
    position: fixed;
    top:0;
    left: 0;
    transition: all 0.5s ease;
}

#main_logo_container {
    float: left;
    top: 20px;
    left: 20px;
    position: relative;
}

/* header logo */
#mthlogo {
    height: 60px;
}

#main_header_text {
    float:left;
    margin-left: 25px;
    height: 80px;
    margin-top: 5px;
}

#main_header_text a:hover {
    text-decoration: none !important;
}

#main_header_text_heading {
    font-size: 50px;
    height: 55px;
    margin-top:5px;
    letter-spacing:4px;
}
#main_header_text_sub {
    font-size: 10px;

}

#main_header_searchcontainer {
    width: 15%;
    max-width: 600px;
    min-width: 100px;
    float: left;
    top: 30px;
    position: relative;
    margin-left: 2%;
    transition: width 0.3s ease;
}

#search_icon_mobile {
    display: none;
    cursor: pointer;
}

#search_icon_mobile img {
    height: 25px;
    width: 25px;
}

.search {
border-radius: 5px;
background-image: url("/images/icons/magnifying-glass-trans.png");
background-position: calc(100% - 10px) 6px;
background-repeat: no-repeat;
background-size: 20px;
background-color: rgba(255, 255, 255, 0.9);
height: 35px;
width: 100%;
}

.mobile_theme_toggle_container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 5px 0;
}

.switch.theme-toggle input:checked + .slider:before {
    content: '🌙';
    background-color: rgba(33,42,51,.8);
    transform: translateX(24px);
}

#theme_toggle_container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 0;
    margin-top: 35px;
    margin-right: 20px;
    position: relative;
}

.switch.theme-toggle {
    width: 44px;
    height: 22px;
}
.switch.theme-toggle .slider {
    background-color: #ccc;
}
.switch.theme-toggle input:checked + .slider {
    background-color: #265892;
}
.switch.theme-toggle .slider:before {
    content: '☀';
    font-size: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #000;
    height: 22px;
    width: 22px;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto 0;
    border-radius: 50%;
}
.switch.theme-toggle input:checked + .slider:before {
    content: '🌙';
    background-color: rgba(33,42,51,.8);
    transform: translateX(32px);
}

/* Disable theme toggle animation during initialization */
.header_theme_toggle.preinit .slider,
.header_theme_toggle.preinit .slider:before {
    -webkit-transition: none !important;
    transition: none !important;
}

.error_log {
    min-height: 50px;
    overflow: auto;
    color: red;
}

#main_header_right_section {
    float: right;
    display: flex;
    flex-direction: row-reverse;
    align-items: flex-start;
}



/* Toggle Switch Styling */
.switch {
    position: relative;
    display: inline-block;
    width: 35px;
    height: 22px;
}

.switch input {
    opacity: 0;
    width: 0;
    height: 0;
}


.slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #ccc;
    transition: .4s;
    border-radius: 34px;
}

.slider:before {
    content: '☀';
    font-size: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #ffffff;
    color: #000;
    height: 22px;
    width: 22px;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto 0;
    border-radius: 50%;

}

input:checked + .slider {
    background-color: #265892;
}

input:checked + .slider:before {
    transform: translateX(24px);
}

#hamburger_menu_container {
    display: none;
}

/* used by generate_form javascript function */
.validationError {
    display: none;
    color: red;
    font-weight: bold;
    padding-bottom: 10px;
}

/* used for general purpose form validation */
input.validationFailed {
    background-color: lightcoral;
    color: white;
}
select.validationFailed {
    background-color: lightcoral;
    color: white;
}
textarea.validationFailed {
    background-color: lightcoral;
    color: white;
}

.mthnote {
    width: 500px;
    min-height: 150px;
    margin: 10px 5px 10px 5px;
    padding: 5px;
    display:none;
}
.mthnote textarea {
    width: 400px;
    height: 100px;
}

.mthnote_last {
    font-size: 9px;
    padding-left: 15px;
}

#pwdialog {
    text-transform: none;
}

.ui-tooltip {
    white-space: pre-line;
    text-transform: none;
}

.ui-dialog, .ui-dialog-content {
    text-transform: none;
}

.form_row {
    display: flex;
    align-items: center;
}

.clicktoview {
    color: #5daee1;
    text-transform:uppercase;
}
.clicktoview:hover {
    text-decoration: underline;
    text-decoration-color: #5daee1;
}

#main_header_quicklinks {
    float: right;
    position: relative;
    top: 35px;
    margin-right: 35px;
    text-align: center;
}

#main_header_quicklinks strong {
    display: block;
}

#main_header_quicklinks a {
    padding-right: 5px;
}

#main_header_rightinfo {
    float: right;
    text-align: right;
    position: relative;
    top: 30px;

}


#main_header_rightinfo_profilepic {
    float: right;
    margin: 25px;
}
#main_header_rightinfo_profilepic img {
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
    height: 50px;
    width: 50px;
}

#main_header_rightinfo_name {
    font-size: 16px;
}

/* Left Column (Nav) */
#nav {
    width: 280px;
    background-color: #d5dcdf;
    height: 100%;
    left: 0;
    position: fixed;
    top: 0;
    padding-left: 5px;
    padding-top: 150px;
    padding-bottom: 20px;
    z-index: 500; /* Lower than header */
    transition: width 0.3s ease;
    overflow-x: hidden;
    box-sizing: border-box;
}

#nav.nav-expanded {
    width: 280px !important;
    overflow-x: visible;
}

#nav.nav-expanded .module_parent_text,
#nav.nav-expanded .module_sub,
#nav.nav-expanded .module_parent_expand {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateX(0) !important;
}

#nav.nav-expanded .module_parent_text {
    width: 190px !important;
}

#nav.nav-expanded .module_sub {
    width: 233px !important;
    margin-right: 95px !important;
}

#nav.nav-expanded .module_parent_expand {
    width: 25px !important;
    padding-left: 15px !important;
}

#nav.nav-expanded .module_parent_textcontainer {
    width: 280px !important;
}

#nav.nav-expanded .module_parent_logocontainer {
    float: right !important;
    margin-right: 10px !important;
    width: auto !important;
}

#nav.nav-expanded .module_parent_subs.module_active {
    display: block !important;
}

#mobile_nav_container .mobile_module_subs {
    display: none;
}

#mobile_nav_container .module_parent_text a {
    cursor: pointer;
}


.module_parent {
    font-size: 28px;
    font-weight: bold;
    margin-bottom: 20px;
}

.module_parent_subs {
    display: none;
}

.module_active {
    display: block;
}

.module_nosubs {
    padding-left: 45px;
}

#main_left_nav {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.module_sink {
    margin-top: auto;
}

.module_parent_expand {
    padding-left: 15px;
    width: 25px;
}

.module_logo {
    height: 25px;
    width: 25px;
    max-height: 25px;
    max-width: 25px;
    filter: invert(37%) sepia(9%) saturate(6389%) hue-rotate(179deg) brightness(97%) contrast(86%);
}

.module_expand {
    height: 18px;
    width: 18px;
    max-height: 18px;
    max-width: 18px;
    filter: invert(37%) sepia(9%) saturate(6389%) hue-rotate(179deg) brightness(97%) contrast(86%);
}

.module_parent_logocontainer {
    float: right;
    margin-right: 10px;
    position:relative;
    top: 3px;
}

.module_parent_textcontainer {
    width: 280px;
}

.module_active .module_parent_text a  {
    text-decoration: underline;
}

.module_parent_expand, .module_parent_text {
    float: left;
    padding-right: 5px;
    position:relative;
    top: 5px;
}

    .module_parent_text {
        top: 0;
        width: 190px;
        text-align: right;
        overflow: hidden;
        white-space: nowrap;
    }

    .module_sub {
    font-size: 14px;
    margin-right: 95px;
    font-weight: initial;
    text-align: right;
    width: 233px;
}

.module_sub a {
    color: #286fb7;

}

.module_active .module_expand {
    transform: rotate(90deg);
}

.sub_active {
    font-weight: bold;
}

.page_heading_container {
    margin-bottom: 15px;
}


.page_heading_container img {
    height: 65px;
    float: left;
    margin-top: 15px;
}

.page_heading_container h1 {
    float: left;
    font-size: 48px;
    text-transform: uppercase;
    font-weight: normal;
    margin: 0 10px;
}

h1.page_heading_nonav {
    margin-top: 15px;
}

.page_heading_container div {
    float: left;
}

.page_heading_nav_container {
    margin-left: 12px;
    text-transform: uppercase;
    font-size: 16px;
    color: #4d4f53;
    font-weight: lighter;
    position: relative;
}
.page_heading_nav_container .first {
    float: left;
}
.page_heading_nav_container .second {
    float: left;
    margin-left: 30px;
}

.page_heading_nav_container a span.activeModule {
    color: #286fb7;
}

.second::before {
    content:" ";
    margin:0 -15px;
    position: absolute;
    top: 4px;
    bottom: 0;
    width: 1px;
    background: #666;
    height: 70%;
}


.page_heading_subnav_container {
    margin-left: 75px;
    margin-top: 10px;
    text-transform: uppercase;
    font-size: 12px;
    color: #4d4f53;
    font-weight: lighter;
    position: relative;
}
.page_heading_subnav_container .first_sub {
    float: left;
}
.page_heading_subnav_container .second_sub {
    float: left;
    margin-left: 30px;
}
.active_module_sub_nav_item {
    font-weight: bold;
}
.second_sub::before {
    content:" ";
    margin: -20px -11px 10px -11px;
    position: absolute;
    top: 22px;
    bottom: 4px;
    width: 1px;
    background: #666;
}


/* Middle Column */
#column_middle {
    width: 990px;
    left: 180px;
    background-color: #eaeef0;
    padding: 10px;
    min-height: 95%;
}

    #column_middle.full_width {
        width: 100%;
    }

    #progressBarFill {
        width: 0%;
        height: 100%;
        background-color: #46a;
        border-radius: 15px;
        transition: width 0.5s;
    }

    #expand {
        filter: invert(37%) sepia(9%) saturate(6389%) hue-rotate(179deg) brightness(97%) contrast(86%);
        position: fixed;
        right: 92px;
        width: 20px;
        height: 20px;
        margin-right:-3%;
        cursor: pointer;
        transform: rotate(-90deg);
        z-index: 1100; /* Ensure it stays above everything, including header */
    }
    .no-transition {
        transition: none !important;
    }

    @media screen and (max-width: 1400px) {
        #expand {
            z-index: 1100;
        }

        #header {
            height: 90px;
            left: 0;
            width: 100%;
        }

        #main_header_searchcontainer {
            min-width: 50px;
            margin-left: 1%;
            top: 25px;
            clear: none;
        }

        .search {
            width: 100%;
            background-position: calc(100% - 10px) 6px;
        }

        #main_header_rightinfo, #main_header_quicklinks, #theme_toggle_container {
            display: none; /* Hide non-essential header items on small screens, will handle hamburger later */
        }

        #hamburger_menu_container {
            display: block;
            float: right;
            margin-right: 0;
            margin-top: 40px;
            position: relative;
        }

        #hamburger_icon {
            width: 30px;
            height: 25px;
            position: relative;
            cursor: pointer;
        }

        #hamburger_icon span {
            display: block;
            position: absolute;
            height: 4px;
            width: 100%;
            background: #4d4f53;
            border-radius: 9px;
            opacity: 1;
            left: 0;
            transform: rotate(0deg);
            transition: .25s ease-in-out;
        }

        #hamburger_icon span:nth-child(1) { top: 0; }
        #hamburger_icon span:nth-child(2) { top: 10px; }
        #hamburger_icon span:nth-child(3) { top: 20px; }

        #hamburger_icon.open span:nth-child(1) { top: 10px; transform: rotate(135deg); }
        #hamburger_icon.open span:nth-child(2) { opacity: 0; left: -60px; }
        #hamburger_icon.open span:nth-child(3) { top: 10px; transform: rotate(-135deg); }

        #mobile_menu {
            display: none;
            position: absolute;
            top: 40px;
            right: 0;
            background: white;
            box-shadow: 0 2px 10px rgba(0,0,0,0.2);
            padding: 15px;
            z-index: 2000;
            min-width: 250px;
            max-height: 80vh;
            overflow-y: auto;
        }

        .mobile_menu_section {
            margin-bottom: 10px;
        }

        .mobile_menu_section strong {
            display: block;
            margin-bottom: 5px;
            border-bottom: 1px solid #eee;
        }

        .mobile_menu_section a {
            display: block;
            padding: 5px 0;
            color: #4d4f53;
            text-decoration: none;
        }

        .mobile_module_subs {
            display: none;
            padding-left: 20px;
            background-color: #f9f9f9;
        }

        .mobile_module_subs a {
            font-size: 14px;
            font-weight: normal;
        }

        #mobile_nav_container .module_parent {
            font-size: 18px;
            margin-bottom: 5px;
        }

        #mobile_nav_container .module_parent_logocontainer {
            display: inline-block;
            width: 30px;
            vertical-align: middle;
        }

        #mobile_nav_container .module_parent_textcontainer {
            display: inline-block;
            width: auto;
            vertical-align: middle;
        }

        /* Sidebar Collapse to Icons */
        #nav {
            width: 60px;
            padding-top: 100px;
            cursor: pointer;
            -webkit-tap-highlight-color: transparent;
        }

        #nav ::selection {
            background: transparent;
        }

        #nav.nav-expanded {
            cursor: default;
        }

        #nav .module_parent {
            margin-bottom: 10px;
        }

        #nav .module_parent_subs.module_active {
            display: none !important;
        }

        #nav.nav-expanded .module_parent_subs.module_active {
            display: block !important;
        }

        .module_parent_text, .module_sub, .module_parent_expand {
            opacity: 0;
            visibility: hidden;
            transform: translateX(-100%);
            width: 0 !important;
            padding: 0 !important;
            margin: 0 !important;
            overflow: hidden;
            user-select: none;
            -webkit-user-select: none;
            -moz-user-select: none;
            -ms-user-select: none;
            -webkit-tap-highlight-color: transparent;
            top: 3px;
            transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease, width 0.3s ease, padding 0.3s ease, margin 0.3s ease;
        }

        .module_parent_text a, .module_sub a {
            outline: none;
            -webkit-tap-highlight-color: transparent;
        }

        .module_parent_textcontainer {
            width: 50px;
            display: flex;
            align-items: center;
            -webkit-tap-highlight-color: transparent;
        }

        .module_parent_logocontainer {
            flex-shrink: 0;
            order: -1;
            margin: 0 10px;
        }

        .module_parent_expand {
            order: 2;
        }

        #nav.nav-expanded .module_parent_logocontainer {
            float: none !important;
            margin-right: 10px !important;
        }

        #nav.nav-expanded .module_parent_textcontainer {
            width: 280px !important;
            display: flex;
        }

        #main_container {
            left: 65px;
            width: calc(100% - 60px);
            padding-top: 100px;
        }

        #column_middle {
            width: 100%;
            left: 0;
        }

        .pod_container {
            grid-template-columns: 1fr; /* Stack pods vertically */
        }
    }

    @media screen and (max-width: 1400px), screen and (min-width: 0px) {
        .force_hamburger #expand {
            z-index: 1100;
        }

        .force_hamburger #header {
            height: 90px;
            left: 0;
            width: 100%;
        }

        .force_hamburger #main_header_searchcontainer {
            min-width: 50px;
            margin-left: 1%;
            top: 25px;
            clear: none;
        }

        .force_hamburger .search {
            width: 100%;
            background-position: calc(100% - 10px) 6px;
        }

        .force_hamburger #main_header_rightinfo, .force_hamburger #main_header_quicklinks, .force_hamburger #theme_toggle_container {
            display: none; /* Hide non-essential header items on small screens, will handle hamburger later */
        }

        .force_hamburger #hamburger_menu_container {
            display: block;
            float: right;
            margin-right: 0;
            margin-top: 40px;
            position: relative;
        }

        .force_hamburger #hamburger_icon {
            width: 30px;
            height: 25px;
            position: relative;
            cursor: pointer;
        }

        .force_hamburger #hamburger_icon span {
            display: block;
            position: absolute;
            height: 4px;
            width: 100%;
            background: #4d4f53;
            border-radius: 9px;
            opacity: 1;
            left: 0;
            transform: rotate(0deg);
            transition: .25s ease-in-out;
        }

        .force_hamburger #hamburger_icon span:nth-child(1) { top: 0; }
        .force_hamburger #hamburger_icon span:nth-child(2) { top: 10px; }
        .force_hamburger #hamburger_icon span:nth-child(3) { top: 20px; }

        .force_hamburger #hamburger_icon.open span:nth-child(1) { top: 10px; transform: rotate(135deg); }
        .force_hamburger #hamburger_icon.open span:nth-child(2) { opacity: 0; left: -60px; }
        .force_hamburger #hamburger_icon.open span:nth-child(3) { top: 10px; transform: rotate(-135deg); }

        .force_hamburger #mobile_menu {
            display: none;
            position: absolute;
            top: 40px;
            right: 0;
            background: white;
            box-shadow: 0 2px 10px rgba(0,0,0,0.2);
            padding: 15px;
            z-index: 2000;
            min-width: 250px;
            max-height: 80vh;
            overflow-y: auto;
        }

        .force_hamburger .mobile_menu_section {
            margin-bottom: 10px;
        }

        .force_hamburger .mobile_menu_section strong {
            display: block;
            margin-bottom: 5px;
            border-bottom: 1px solid #eee;
        }

        .force_hamburger .mobile_menu_section a {
            display: block;
            padding: 5px 0;
            color: #4d4f53;
            text-decoration: none;
        }

        .force_hamburger .mobile_module_subs {
            display: none;
            padding-left: 20px;
            background-color: #f9f9f9;
        }

        .force_hamburger .mobile_module_subs a {
            font-size: 14px;
            font-weight: normal;
        }

        .force_hamburger #mobile_nav_container .module_parent {
            font-size: 18px;
            margin-bottom: 5px;
        }

        .force_hamburger #mobile_nav_container .module_parent_logocontainer {
            display: inline-block;
            width: 30px;
            vertical-align: middle;
        }

        .force_hamburger #mobile_nav_container .module_parent_textcontainer {
            display: inline-block;
            width: auto;
            vertical-align: middle;
        }

        /* Sidebar Collapse to Icons - EXCLUDED for force_hamburger per request */

        .force_hamburger .pod_container {
            grid-template-columns: 1fr; /* Stack pods vertically */
        }
    }
.clientCard {
    width: 95%;
}

.clientCard_connections_container {
    width: 100%;
    grid-template-columns: 1fr;
}

    /* Extra small screens (Phones) */
    @media screen and (max-width: 800px) {
        #main_header_searchcontainer {
            width: 10%;
            min-width: 50px;
            top: 25px;
            margin-left: 10px;
        }
    }
    @media screen and (max-width: 600px) {
        #header {
            height: 90px;
        }

        #main_logo_container {
            left: 10px;
        }

        #main_header_text {
            display: none; /* Only show logo on very small screens */
        }

        #main_header_searchcontainer {
            width: 10%;
            min-width: 50px;
            top: 25px;
            margin-left: 20px;
        }

        #nav {
            display: none; /* Hide standard fixed nav */
        }

        #mobile_nav_container {
            display: block;
        }

        #main_container {
            left: 0;
            width: 100%;
            padding-top: 100px;
        }

        .page_heading_container h1 {
            font-size: 24px;
        }

        .page_heading_nav_container, .page_heading_subnav_container {
            font-size: 12px;
            margin-left: 10px;
        }

        .grid1 {
            grid-template-columns: 1fr;
        }

        .grid1 label {
            text-align: left;
        }
    }

    @media screen and (max-width: 400px) {
        #main_header_searchcontainer {
            width: auto;
            min-width: 0;
            margin-left: 5px;
            display: flex;
            align-items: center;
        }

        #topsearch {
            display: none;
            width: 50px !important;
            min-width: 50px !important;
            margin-left: 5px;
        }

        #search_icon_mobile {
            display: block;
        }

        #main_header_searchcontainer.search-revealed #topsearch {
            display: block;
            background-image: none;
            padding-left: 5px;
            padding-right: 5px;
        }
    }

    /* Right Column */

@media screen and (min-width: 1900px){
    #column_right_new {
        width: 650px;
        position: fixed;
        right: 0;
        padding: 5px;
        display: none;
        top: 100px;
        background-color: #eaeef0;
        overflow:scroll;
        height: 90%;
    }
}
@media screen and (max-width: 1900px){
    .modal_new {
        display: none; /* Hidden by default */
        position: fixed; /* Stay in place */
        z-index: 1; /* Sit on top */
        left: 0;
        top: 0;
        width: 100%; /* Full width */
        height: 100%; /* Full height */
        overflow: auto; /* Enable scroll if needed */
        background-color: rgb(0,0,0); /* Fallback color */
        background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
    }

    /* Modal Content/Box */
    .modal-content_new {
        background-color: #fefefe;
        margin: 15% auto; /* 15% from the top and centered */
        padding: 20px;
        border: 1px solid #888;
        width: 80%; /* Could be more or less, depending on screen size */
    }

}
#column_right {
    width: 650px;
    position: fixed;
    right: 0;
    padding: 5px;
    margin-top: 20px;
    display: none;
    top: 100px;
    background-color: #eaeef0;
    overflow:scroll;
    height: 90.5%;
}





.right_exit {
    right: 0;
    position: absolute;
    padding-right: 15px;
    font-size: 20px;
}



hr {
    color: #d5d6d6;
    margin: 0;
    opacity:0.5;
}

#header a, #nav a, .page_heading_nav_container a, .page_heading_subnav_container a, .clientCard_connection_name {
    color: #4d4e53;
}

a {
    /*color: #4d4e53;*/
    color: #286fb7;
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

.uppercase {
    text-transform: uppercase;
}


/* hover highlighting of rows */
.itemRow:hover, .itemRow2:hover {
    background-color: #e1e1e1 !important;
}

/* Input fields */
input[type=text], input[type=password], input[type=date] {
    /*width: 80%;*/
    padding: 6px 10px;
    margin: 8px 0;
    display: inline-block;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-sizing: border-box;
    color: #4d4e53;
}

/* Select fields */
select {
    /*width: 80%;*/
    padding: 6px 10px;
    margin: 8px 0;
    display: inline-block;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-sizing: border-box;
    color: #4d4e53;
}

/* Textarea */
textarea {
    width: 80%;
    padding: 6px 10px;
    margin: 8px 15px;
    display: inline-block;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-sizing: border-box;
    color: #4d4e53;
}

.textarea_medium {
    height: 250px;
}

/* Submit type buttons */
input[type=submit], input[type=button], button {
    background-color: #2f6eb7;
    color: white;
    padding: 6px 10px;
    margin: 8px 8px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    min-width: 100px;
}

input[type=button].deleteButton, input[type=submit].deleteButton, button.deleteButton {
    background-color: #bd0000;
}

input[type=button].greenButton, input[type=submit].greenButton, button.greenButton {
    background-color: #00aa00;
}

.greyedOut {
    background-color: #777777 !important;
}

label {
    width: 150px;
    /*clear: left;*/
    text-align: left;
    padding-right: 10px;
    /*float: left;*/
}


table {
    font-size: 13px;
    color: #4d4f53;
    border-collapse: collapse;
}

table.bordered, table.bordered th, table.bordered td {
    border: 1px solid #c7c9cf;
}

tr:hover {
    background-color: #e1e1e1;
}

table.nohover tr:hover, .nohover:hover {
    background-color: initial;
}

td {
    /*padding: 0;*/
    margin: 0;
}

th {
    text-align: left;
}

.thcenter th {
    text-align: center;
}

h3 {
    text-transform: uppercase;
    color: #286fb7;
    font-size: 24px;
}

/*Tables for service.tpl*/
.serviceTable {
    width: fit-content;
    border-collapse: collapse;
    border: 1px solid #000000;
}

.serviceTable th, .serviceTable td {
    width: fit-content;
    border-collapse: collapse;
    border: 1px solid #000000;
    padding-left: 5px;
    padding-right: 5px;
}



.successMessage {
    color: green;
    font-weight: bold;
}
.warningMessage {
    color: darkorange;
    font-weight: bold;
}
.errorMessage {
    color: red;
    font-weight: bold;
}

.errorField {
    background-color: lightcoral;
}

/* loading animation */
.ajaxloader {
    display:    none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
    background: rgba(255, 255, 255, .8) no-repeat 50% 50%;
}

body.loading .ajaxloader {
    overflow: hidden;
}

body.loading .ajaxloader {
    display: block;
}
/* end loading animation */

/* tooltips */

.tooltip {
    position: relative;
    display: inline-block;
    text-decoration: underline dotted;
}

.tooltip .tooltiptext {
    visibility: hidden;
    min-width: 200px;
    background-color: black;
    color: #fff;
    text-align: center;
    padding: 5px 0;
    border-radius: 6px;

    position: absolute;
    z-index: 1;
}

.tooltip .tooltiptextwide {
    visibility: hidden;
    width: 400px;
    background-color: black;
    color: #fff;
    text-align: center;
    padding: 5px 0;
    border-radius: 6px;

    position: absolute;
    z-index: 1;
}
.tooltip:hover .tooltiptext, .tooltip:hover .tooltiptextwide {
    visibility: visible;
}
/* end tooltips */


/* class applied to the element of whichever module is currently active */
.activemodule {
    font-weight: bold;
}


/* icon shading */
img.iconshade_red {
    filter: invert(53%) sepia(75%) saturate(310%) hue-rotate(314deg) brightness(83%) contrast(88%);
}

img.iconshade_yellow {
    filter: invert(80%) sepia(87%) saturate(1371%) hue-rotate(311deg) brightness(101%) contrast(96%);
}

img.iconshade_green {
    filter: invert(84%) sepia(17%) saturate(513%) hue-rotate(42deg) brightness(91%) contrast(88%);
}

img.iconshade_blue {
    filter: invert(62%) sepia(94%) saturate(875%) hue-rotate(174deg) brightness(98%) contrast(80%);
}

img.iconshade_darkblue {
    filter: invert(9%) sepia(61%) saturate(6526%) hue-rotate(236deg) brightness(88%) contrast(101%);
}

img.iconshade_darkgreen {
    filter: invert(41%) sepia(29%) saturate(351%) hue-rotate(51deg) brightness(95%) contrast(87%);
}

img.iconshade_brightgreen {
    filter: invert(67%) sepia(76%) saturate(932%) hue-rotate(65deg) brightness(89%) contrast(88%);
}

img.iconshade_purple {
    filter: invert(77%) sepia(11%) saturate(1943%) hue-rotate(223deg) brightness(88%) contrast(100%);
}

img.iconshade_grey {
    filter: invert(75%) sepia(2%) saturate(0%) hue-rotate(157deg) brightness(85%) contrast(87%);
}

img.iconshade_sharepoint {
    filter: invert(26%) sepia(19%) saturate(4144%) hue-rotate(148deg) brightness(106%) contrast(98%);
}

.iconshade_red {
    color: #c46c6c !important;
}

.iconshade_yellow {
    color: #fab665 !important;
}

.iconshade_green {
    color: #b3c894 !important;
}

.iconshade_brightgreen {
    color:#33cc33 !important;
}

.iconshade_darkgreen {
    color: #617354 !important;
}

.iconshade_blue {
    color: #5daee1 !important;
}

.iconshade_darkblue {
    color: #0f228c !important;
}


.iconshade_purple {
    color: #d49ae1 !important;
}

.iconshade_grey {
    color: #9e9e9e !important;
}

.iconshade_sharepoint {
    color: #036c70 !important;
}

span.iconshade_softcoral {
    color: #FF6F61 !important;
}

img.iconshade_softcoral {
    filter: brightness(0) saturate(100%) invert(55%) sepia(91%) saturate(1522%) hue-rotate(321deg) brightness(101%) contrast(101%);
}

/* pods */
/*
.mod_clients_main_connections div {
    display: grid;
    grid-template-columns: auto 1fr;
}

.mod_clients_main_connections label {
    overflow: auto;
}

span.mod_clients_main_connections_label {
    text-transform: uppercase;
    font-weight: lighter;
    text-align:right;
    padding-right: 10px;
}

a.mod_clients_connections_handlerlink {
    color: #96aaba;
    text-transform: uppercase;
    font-size: 15px;
    margin-left: 15px;
}
*/

span.mod_clients_serviceprofile_notes {
    font-size: 12px !important;
    padding-left: 10px;
}

.pod_container {
    /*display: grid;
    grid-template-columns: auto 1fr;*/
    padding: 5px;
    display: grid;
    grid-template-columns: auto auto;
    justify-items: start;
    align-items: start;
    justify-content: start;
}

.pod {
    padding: 10px;
    margin: 10px;
    border: 1px dotted lightgrey;
}

.pod h2 {
    color: #2f6eb7;
    font-size: 24px;
    font-weight: normal;
    text-transform: uppercase;
    margin-bottom: 0;
    margin-top: 0;
}

.grid1 {
    display: grid;
    grid-template-columns: auto 1fr;
}

.grid1 label {
    width: auto;
    overflow: auto;
    text-align: right;
    text-transform: uppercase;
    font-size: 18px;
    font-weight: lighter;
}

.grid1 span {
    font-size: 18px;
}

.grid1 a {
    color: #5daee1;
}

.grid1 select, .grid1 input, .grid1 textarea {
    margin: 2px 0;
    padding: 2px 5px;
}

.grid1 textarea {
    height: 150px;
    width: 300px;
}

/* end pods */



/* End Site-Wide CSS */



/* Module: clients */

#clientSearch {
    width: 80%;
}

.handler_body {
    text-transform: none;
    font-family: 'Roboto Condensed', Arial, Helvetica, sans-serif;
    font-size: 13px;
    color: #4d4f53;
}

.handler_body a {
    color: #2f6eb7;
    text-decoration:underline;
}

#mod_client_search {
    width: 810px;
    background-position: 780px 6px;
}

.mod_clients_main_infocontainer {
    width: 1200px;
}

.mod_clients_main_infocontainer div {
    margin-right: 50px;
}

.mod_clients_main_infocontainer h2 {
    color: #2f6eb7;
    font-size: 24px;
    font-weight: normal;
    text-transform: uppercase;
    margin-bottom: 0;
    margin-left: 30px;
    margin-top: 0;
}

.mod_clients_main_infocontainer label {
    text-align: right;
    text-transform: uppercase;
    font-size: 18px;
    font-weight: lighter;
    float:left;
}


.mod_clients_main_infocontainer hr {
    width: 450px;
}

.mod_clients_main_infocontainer span {
    font-size: 18px;
}

.mod_clients_main_infocontainer a {
    color: #5daee1;
}

.mod_clients_main_info {
    width: 600px;
}

.mod_clients_main_info label {
    width: 175px;
}

.mod_clients_main_onsitealerts_list {
    padding-left: 25px;
}

.mod_clients_main_onsitealerts_table {
    width: 400px;
}
.mod_clients_main_wiki {
    margin-top: 25px;
}

.mod_clients_main_wikidata {
    margin-top: 50px;
}

.mod_clients_main_connections div {
    display: grid;
    grid-template-columns: auto 1fr;
}

.mod_clients_main_connections label {
    /*width: 350px;*/
    overflow: auto;
}

span.mod_clients_main_connections_label {
    text-transform: uppercase;
    font-weight: lighter;
    text-align:right;
    padding-right: 10px;
    /*float: left;*/
}

a.mod_clients_connections_handlerlink {
    color: #96aaba;
    text-transform: uppercase;
    font-size: 15px;
    margin-left: 15px;
}

.mod_clients_main_domainrow {
    width: 15px;
    margin-left: 10px;
}

img.mod_clients_main_domainrow {
    width: 12px;
    color: #cbbf00;
    filter: invert(62%) sepia(94%) saturate(875%) hue-rotate(174deg) brightness(98%) contrast(80%);
    padding-top: 2px;
}

#mod_clients_ar_container table {
    min-width: 400px;
}

#mod_clients_ar_container table tr td,#mod_clients_ar_container table tr th {
    padding-left: 5px;
}


.clientCard {
    background: #ffffff;
    border-radius: 10px;
    width: 90%;
    padding: 10px;
    margin-bottom: 30px;
    border: 1px solid #dee6ee;
}

.clientCard h2 {
    float: left;
    font-weight: lighter;
    font-size: 30px;
    margin: 0;
    text-transform: uppercase;
}

.clientCard h2 a:focus {
    border: 1px solid #2aa3ff;
}

.clientCard h3 {
    text-transform: uppercase;
    color: #2f6eb7;
    font-size: 18px;
    font-weight: normal;
    margin-bottom: 0;
    margin-top: 15px;
}

.clientCard_flag {
    font-weight: bold;
    font-size: 14px;
}

.clientCard_flag_red {
    color: red;
}
.clientCard_flag_gray {
    color: gray;
}
.clientCard_flag_yellow {
    color: orangered;
}
.clientCard_flag_blue {
    color: blue;
}
.clientCard_flag_orange {
    color: orange;
}

.clientCard_shortcuts {
    position: relative;
    display: flex;
    flex-direction: row;
    flex-flow: row;
    justify-content: flex-end;
}

.clientCard_shortcutcontainer {
    float: right;
    font-size: 9px;
    text-align: center;
    width: 50px;
    text-transform: uppercase;
}

.clientCard_shortcutcontainer a img {
    height: 30px;
    width: 30px;
}

.clientCard_logins_header {
    color: #96aaba;
    font-size: 13px;
}

.clientCard_logins_name {
    width: 35%;
    float: left;
}

.clientCard_logins_row .clientCard_logins_name {
    text-transform: uppercase;
}
.clientCard_logins_icon {
    float: left;
    width: 5%;
    text-align: center;
}

.clientCard_logins_icon img {
    /*width: 25px;*/
    height: 20px;
}

.clientCard_logins_username {
    width: 30%;
    float: left;
}

.clientCard_logins_username div {
    display: inline;
}

.clientCard_logins_password div {
    display: inline;
}

.clientCard_logins_password {
    width: 20%;
    float: left;
}
.clientCard_logins_totp {
    width: 5%;
    float: left;
}

.clientCard_logins_totpicon {
    height: 20px;
}

.clientCard_logins_notes {
    width: 10%;
    float: left;
}
.clientCard_logins_edit {
    width: 5%;
    float: left;
}

.clientCard_connections {
    margin-top: 15px;
}

.clientCard_connections h3 {
    display:inline;
}

.clientCard_connections_handlers {
    margin-left: 15px;
    display: inline;
}
.clientCard_connections_handlers a {
    color: #96aaba;
    text-transform: uppercase;
    font-size: 15px;
}

.clientCard_connections_container {
    width: 775px;
    margin-top: 10px;
    display: grid;
    grid-template-columns: auto auto auto;
}

.clientCard_connection {
    float: left;
    margin-left: 20px;
}

.clientCard_connection img {
    height: 30px;
    width: 30px;
    float: left;
}

.clientCard_connection a {
    color: #4d4e53;
}

.clientCard_connection div {
    float: left;
    text-align: left;
    margin-left: 5px;
    margin-bottom: 10px;
}

.clientCard_connection_name {
    font-size: 11pt;
}

.clientCard_connection_url {
    font-size: 7pt;
    color: #286fb7;
}

/* Module: logins */
.mod_logins_header {
    width: 100%;
    height: 15px;

}

#password_list {
    width: 890px;
}
.mod_logins_loginrow {
     width: 100%;
     height: 18px;
}

.mod_logins_loginrow_bad {
     /*color: red;*/
     background-color: rgba(255, 0, 0, 0.10);
 }

.mod_logins_loginrow_highsec {
    /*color: red;*/
    background-color: rgba(0, 0, 255, 0.10);
}

.mod_logins_loginrow_protected {
    background-color: rgba(0,150,0,.10);
}

.mod_logins_loginrow_bad.mod_logins_loginrow_protected {
    background-color: rgba(170, 100, 19, 0.54);
}

.mod_logins_header div:first-child {
    width: 240px;
}

.mod_logins_header div {
    width: 200px;
    height: 15px;
    float: left;
    color: #96aaba;
    font-size: 16px;
}

.mod_logins_loginrow div {
    /*width: 200px;*/
    /*float: left;*/
}

div.mod_logins_loginrow_checkbox {
    float: left;
    width: 25px;
}


.mod_logins_loginrow_username {
    width: 200px;
    float: left;
}
.mod_logins_loginrow_username div {
    width: 175px;
    float: left;
}
.mod_logins_loginrow_username img {
    width: 12px;
    float: left;
    top: 4px;
    position:relative;
}

.mod_logins_loginrow_password {
    width: 200px;
    float: left;
}

.visiblepassword {
    font-family: Courier, "Roboto Condensed", sans-serif;
}

.mod_logins_passwordbox {
    font-family: Courier, "Roboto Condensed", sans-serif;
}

.mod_logins_loginrow_password div {
    width: 175px;
    float: left;
}
.mod_logins_loginrow_password img {
    width: 12px;
    float: left;
    top: 4px;
    position:relative;
}
.mod_logins_loginrow_notes {
    width: 180px;
    float: left;
}
.mod_logins_loginrow_title {
    width: 240px;
    float: left;
    text-transform: uppercase;
}

.mod_logins_loginrow_totp {
    width: 15px;
    float: left;
}

.mod_logins_loginrow_edit {
    width: 15px;
    float: left;
    margin-left: 10px;
}

img.mod_logins_loginrow_edit {
    width: 12px;
    color: #cbbf00;
    filter: invert(67%) sepia(86%) saturate(1165%) hue-rotate(14deg) brightness(97%) contrast(101%);
    padding-top: 2px;
}

.image_container {
    position: relative;
}

.input_dialog {
    position: absolute;
    bottom: 0;
    right: 0;
    padding: 10px;
    background-color: white;
    border: solid 1px #ccc;
    box-shadow: 0px 4px 6px rgba(0,0,0,0.1);
}

.enable_notes {
    text-wrap: nowrap;
}

.mod_logins_loginrow_delete {
    width: 15px;
    float: left;
    margin-left: 10px;
}

img.mod_logins_loginrow_delete {
    width: 12px;
    color: #bd0000;
    filter: invert(11%) sepia(72%) saturate(6441%) hue-rotate(358deg) brightness(87%) contrast(114%);
    padding-top: 2px;
}


.mod_logins_searchmatch {
    background-color: yellow;
}

#mod_logins_search {
    width: 890px;
    background-position: 858px 6px;
}


.mod_logins_copy, .mod_pstool_copy {
    border: none;
    height: 12px;
    margin-right: 5px;
}

#mod_logins_form input[type=text] {
    width: 200px;
}

.mod_logins_highlightedRow {
    background-color: #c9fcab;
}

.mod_logins_extra {
    width: 100%;
}

.mod_logins_siteboxes {
    float: left;
    width: 200px;
}

.mod_logins_tags {
    width: 300px;
    float: left;
}

.mod_logins_decom {
    color: red;
    margin-left: 25px;
}

.tag {
    display: inline-block;
    margin: 5px 0 5px 15px;
    vertical-align: top;
    position: relative;
    z-index: 1;
    cursor: default;
    -webkit-transition: .13s ease-out;
    -o-transition: .13s ease-out;
    transition: .13s ease-out;
    -webkit-animation: .3s tags--bump 1 ease-out;
    animation: .3s tags--bump 1 ease-out;
    background: lightgrey;
}

.tag>div {
    vertical-align: top;
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    max-width: 100%;
    padding: .3em .5em;
    color: #000;
    -webkit-transition: .13s ease-out;
    -o-transition: .13s ease-out;
    transition: .13s ease-out;
    padding-right: 1.5em;
}

.tag x {
    font: 14px/14px Serif;
    width: 14px;
    height: 14px;
    text-align: center;
    border-radius: 50px;
    position: absolute;
    z-index: 1;
    /*right: calc(.5em - 2px);*/
    right: 0;
    top: 50%;
    cursor: pointer;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    -webkit-transition: .2s ease-out;
    -o-transition: .2s ease-out;
    transition: .2s ease-out;
}

.tag x::after {
    content: "\00D7";
}

div.mod_logins_history > div:first-child {
    font-weight: bold;
}

.mod_logins_historyrow {
    width: 100%;
}
.mod_logins_historyrow div {
    width: 125px;
    float: left;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    position: relative;
}
.mod_logins_historyrow div:hover {
    overflow: visible;
    background: inherit;
    z-index: 1;
    white-space: normal;
    word-wrap: break-word;
}
/* end module: logins */

/* start module: pstool */

.mod_pstool_entries {
    width: 95%;
}

.mod_pstool_entryrow_run {
    width: 15px;
}

img.mod_pstool_entryrow_run {
    width: 12px;
    margin-right: 10px;
    padding-top: 2px;
    cursor: pointer;
}

.mod_pstool_entryrow_edit {
    width: 15px;
}

img.mod_pstool_entryrow_edit {
    width: 12px;
    color: #cbbf00;
    filter: invert(67%) sepia(86%) saturate(1165%) hue-rotate(14deg) brightness(97%) contrast(101%);
    padding-top: 2px;
    cursor: pointer;
}

.mod_pstool_entryrow_delete {
    width: 15px;
    margin-left: 10px;
}

img.mod_pstool_entryrow_delete {
    width: 12px;
    color: #bd0000;
    filter: invert(11%) sepia(72%) saturate(6441%) hue-rotate(358deg) brightness(87%) contrast(114%);
    padding-top: 2px;
    cursor: pointer;
}


div.mod_pstool_history > div:first-child {
    font-weight: bold;
}

.mod_pstool_historyrow {
    width: 100%;
}
.mod_pstool_historyrow div {
    width: 125px;
    float: left;
}

.mod_pstool_readonly {
    background-color: #ffffaa;
}

/* end module: pstool */


/* start module: saasaudit */

.mod_saasaudits_generictable {
    width: 100% !important;
}

.mod_saasaudits_exclusion_column {
    display: none;
}

/* end module: saasaudit */

/* start module: creports */


.creports_yellow {
    background-color: #ffffaa !important;
}
.creports_orange {
    background-color: darkorange !important;
}
.creports_red {
    background-color: #F08080 !important;
}

/* end module: creports */

/* start module: massticket */

.mod_massticket_contentrow {
    /*width: 700px;
    height: 150px;*/
}

.mod_massticket_contentrow div {
    /*float: left;*/
}

.mod_massticket_contentrow input {
    width: 600px;
}
.mod_massticket_contentrow textarea {
    margin: 0;
    width: 600px;
    height: 150px;
}
/* end module: massticket */


/* start module: ndparse */
.mod_ndparse_table_wide {
    width: 1100px;
}

/* end module: nsparse */


/* start module: msbuilder */
#msbuilder_container h3 {
    display: inline;
}

#msbuilder_container h4 {
    display: inline;
    text-transform: uppercase;
    color: #286fb7;
    font-size: 18px;
    text-align:right;
    padding-top:20px;
}

#msbuilder_container label {
    text-align: right;
    margin: 5px 0 0 0;
    padding: 5px 5px 0 0;
    width: 95%;
}

#msbuilder_container input {
    width: 50px;
    margin: 5px 0 0 0;
    padding: 5px 10px 5px 5px;
}

#msbuilder_container input.wide {
    width: 100%;
    margin: 5px 0 0 0;
    padding: 5px 10px 5px 5px;
    text-align: right;
}

#msbuilder_container select {
    margin: 5px 0 0 0;
    padding: 5px 0 5px 0;
}

#msbuilder_container input[type=checkbox] {
    margin: 10px 0 5px 0;
    padding: 5px 0 5px 0;
    width:15px;
    height:15px;
}

#msbuilder_plancomparison {
    position: fixed;
    right: 0;
    width: 650px;
    padding: 5px;
    top: 100px;
    height: 90%;
    overflow:scroll;

}

#msbuilder_inputs,#msbuilder_subscriptions {
    display:grid;
    grid-template-columns: auto auto;
    width: 650px;
}

#msb_planTable {
    font-size: 16px;
}


/* end module: msbuilder */

/* start module: teamschedule */

.mod_teamschedule_display {
    text-align: center;
    /*margin-top: 15px;*/
    padding: 5px 0;
}
.mod_teamschedule_display_doctors {
    background-color: lightcoral;
}
.mod_teamschedule_display_projects {
    background-color: #66d0ef;
}
.mod_teamschedule_display_service {
    background-color: palegreen;
}
.mod_teamschedule_display_SOC,.mod_teamschedule_display_NOC {
    background-color: orange;
}
.mod_teamschedule_display_training {
    background-color: #b9aad9;
}
.mod_teamschedule_display_other {
    background-color: #e0f90c;
}

.mod_teamschedule_display_out {
    background-color: lightgray;
}

.grid_row_hover:hover > div {
    background-color: lightgrey;
}

/* end module: teamschedule */

/* start module: sop */

textarea.mod_sop_description {
    width: 500px;
    height: 100px;
    margin: 0;
}

/* end module: sop */

/* legacy code - should be converted to module code at some point */

.profit_green {
    background-color: #CAFEB8;
}
.profit_yellow {
    background-color: #ffffaa;
}
.profit_orange {
    background-color: #F49F38AA;
}
.profit_red {
    background-color: #Ffa0a0;
}
.profit_blue {
    background-color: #8fc4ff;
}
.profit_purple {
    background-color: #cAc8FE;
}
.profit_na {
    background-color: #ffffff;
}
.profit_costheader {
    background-color: #9d9fae;
}
.profit_revenueheader {
    background-color: #85afc7;
}
.profit_profitabilityheader {
    background-color: #85ddc7;
}
.profit_laborheader {
    background-color: #dddddd;
}
.profit_productheader {
    background-color: #aaaaaa;
}

.service_priority_green {
    background-color: #CAFEB8;
}
.service_priority_blue {
    background-color: #8ba1e3;
}
.service_priority_yellow {
    background-color: #ffffaa;
}
.service_priority_orange {
    background-color: #faa35d;
}
.service_priority_red {
    background-color: #F08080;
}


.service_productivity_green {
    background-color: #CAFEB8;
}
.service_productivity_yellow {
    background-color: #ffffaa;
}
.service_productivity_red {
    background-color: #F08080;
}

.comm_green {
    background-color: #CAFEB8;
}
.comm_yellow {
    background-color: #ffffaa;
}
.comm_red {
    background-color: #F08080;
}
.comm_blue {
    background-color: #8ad3f0;
}
.comm_orange {
    background-color: #ffb927;
}

.comm_upfront {
    background-color: green;
}


.nd_ok {
    color: green;
    font-weight: bold;
    font-size: 14px;
}
.nd_bad {
    color: red;
    font-weight: bold;
    font-size: 14px;
}

.ndSubContainer {
    padding-left: 25px;
    padding-bottom: 10px;
}

.reportZeroResults {
    display: none;
}
.reportNoCheckNeeded {
    display: none;
}

.mod_reports_red {
    background-color: rgba(255, 0, 0, 0.10);
}
.mod_reports_green {
    background-color: rgba(53, 210, 6, 0.1);
}

.mod_reports_exclusioncol {
    display: none;
}

input.mod_reports_delete {
    background-color: #bd0000;
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;

}

input.disabled {
    background-color: #aaa;
}
select.disabled {
    background-color: #aaa;
    opacity: 1.0;
}

.laborsection {
    display: none;
}
.coveredsection {
    display: none;
}

.mshourly {
    background-color: #def;
}

.msessentials {
    background-color: #cde;
}

.msproactive {
    background-color: #bcd;
}

.mscomplete {
    background-color: #abe;
}

.cscovered,.cstotal {
    background-color: #ddd;
}

.csnotcovered {
    background-color: #eee;
}

.laborit,.laborvcio,.laborother {
    background-color: #cdc;
}

.labortelecom,.labormaint {
    background-color: #cec;
}

.burdenit,.burdenvcio,.burdenother {
    background-color: #edc;
}

.burdentelecom,.burdenmaint {
    background-color: #eec;
}

.agrbottomline_actual {
    background-color: #bcd;
}
.agrbottomline_burden {
    background-color: #cde;
}
.agrbottomline_invoiced {
    background-color: #def;
}

.burdencalc {
    width: 50px;
}

.burdenrow input {
    width: 75px;
}

#burden_cost {
    background-color: #aaa;
}

.burdenrow {
    display: none;
}

/* calendar garbage */
/* The main calendar widget.  DIV containing a table. */

div.calendar { position: relative; }

.calendar, .calendar table {
    border: 1px solid #556;
    font-size: 11px;
    color: #000;
    cursor: default;
    background: #eef;
    font-family: tahoma,verdana,sans-serif;
}

/* Header part -- contains navigation buttons and day names. */

.calendar .button { /* "<<", "<", ">", ">>" buttons have this class */
    text-align: center;    /* They are the navigation buttons */
    padding: 2px;          /* Make the buttons seem like they're pressing */
}

.calendar .nav {
    background: #778 url(/menuarrow.gif) no-repeat 100% 100%;
}

.calendar thead .title { /* This holds the current "month, year" */
    font-weight: bold;      /* Pressing it will take you to the current date */
    text-align: center;
    background: #fff;
    color: #000;
    padding: 2px;
}

.calendar thead .headrow { /* Row <TR> containing navigation buttons */
    background: #778;
    color: #fff;
}

.calendar thead .daynames { /* Row <TR> containing the day names */
    background: #bdf;
}

.calendar thead .name { /* Cells <TD> containing the day names */
    border-bottom: 1px solid #556;
    padding: 2px;
    text-align: center;
    color: #000;
}

.calendar thead .weekend { /* How a weekend day name shows in header */
    color: #a66;
}

.calendar thead .hilite { /* How do the buttons in header appear when hover */
    background-color: #aaf;
    color: #000;
    border: 1px solid #04f;
    padding: 1px;
}

.calendar thead .active { /* Active (pressed) buttons in header */
    background-color: #77c;
    padding: 2px 0px 0px 2px;
}

/* The body part -- contains all the days in month. */

.calendar tbody .day { /* Cells <TD> containing month days dates */
    width: 2em;
    color: #456;
    text-align: right;
    padding: 2px 4px 2px 2px;
}
.calendar tbody .day.othermonth {
    font-size: 80%;
    color: #bbb;
}
.calendar tbody .day.othermonth.oweekend {
    color: #fbb;
}

.calendar table .wn {
    padding: 2px 3px 2px 2px;
    border-right: 1px solid #000;
    background: #bdf;
}

.calendar tbody .rowhilite td {
    background: #def;
}

.calendar tbody .rowhilite td.wn {
    background: #eef;
}

.calendar tbody td.hilite { /* Hovered cells <TD> */
    background: #def;
    padding: 1px 3px 1px 1px;
    border: 1px solid #bbb;
}

.calendar tbody td.active { /* Active (pressed) cells <TD> */
    background: #cde;
    padding: 2px 2px 0px 2px;
}

.calendar tbody td.selected { /* Cell showing today date */
    font-weight: bold;
    border: 1px solid #000;
    padding: 1px 3px 1px 1px;
    background: #fff;
    color: #000;
}

.calendar tbody td.weekend { /* Cells showing weekend days */
    color: #a66;
}

.calendar tbody td.today { /* Cell showing selected date */
    font-weight: bold;
    color: #00f;
}

.calendar tbody .disabled { color: #999; }

.calendar tbody .emptycell { /* Empty cells (the best is to hide them) */
    visibility: hidden;
}

.calendar tbody .emptyrow { /* Empty row (some months need less than 6 rows) */
    display: none;
}

/* The footer part -- status bar and "Close" button */

.calendar tfoot .footrow { /* The <TR> in footer (only one right now) */
    text-align: center;
    background: #556;
    color: #fff;
}

.calendar tfoot .ttip { /* Tooltip (status bar) cell <TD> */
    background: #fff;
    color: #445;
    border-top: 1px solid #556;
    padding: 1px;
}

.calendar tfoot .hilite { /* Hover style for buttons in footer */
    background: #aaf;
    border: 1px solid #04f;
    color: #000;
    padding: 1px;
}

.calendar tfoot .active { /* Active (pressed) style for buttons in footer */
    background: #77c;
    padding: 2px 0px 0px 2px;
}

/* Combo boxes (menus that display months/years for direct selection) */

.calendar .combo {
    position: absolute;
    display: none;
    top: 0px;
    left: 0px;
    width: 4em;
    cursor: default;
    border: 1px solid #655;
    background: #def;
    color: #000;
    font-size: 90%;
    z-index: 100;
}

.calendar .combo .label,
.calendar .combo .label-IEfix {
    text-align: center;
    padding: 1px;
}

.calendar .combo .label-IEfix {
    width: 4em;
}

.calendar .combo .hilite {
    background: #acf;
}

.calendar .combo .active {
    border-top: 1px solid #46a;
    border-bottom: 1px solid #46a;
    background: #eef;
    font-weight: bold;
}

.calendar td.time {
    border-top: 1px solid #000;
    padding: 1px 0px;
    text-align: center;
    background-color: #f4f0e8;
}

.calendar td.time .hour,
.calendar td.time .minute,
.calendar td.time .ampm {
    padding: 0px 3px 0px 4px;
    border: 1px solid #889;
    font-weight: bold;
    background-color: #fff;
}

.calendar td.time .ampm {
    text-align: center;
}

.calendar td.time .colon {
    padding: 0px 2px 0px 3px;
    font-weight: bold;
}

.calendar td.time span.hilite {
    border-color: #000;
    background-color: #667;
    color: #fff;
}

.calendar td.time span.active {
    border-color: #f00;
    background-color: #000;
    color: #0f0;
}


/* end legacy code */

.ui-widget {
    font-family: revert !important;
}
.select2-container--default .select2-results__option[aria-disabled=true] {
    display: none;
}

.form_field_changed {
    background-color: #ffd;
}

.mod_payroll_batch_old {
    display: none;
}

#loadingDialog {
    display: none;
    position: fixed;
    z-index: 1000;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: rgba(255, 255, 255, 0.8);
}

#loadingContent {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
}

#progressBar {
    width: 300px;
    height: 30px;
    background-color: #f0f0f0;
    border-radius: 15px;
    margin-top: 20px;
}

#progressBarFill {
    width: 0%;
    height: 100%;
    background-color: #46a;
    border-radius: 15px;
    transition: width 0.5s;
}

#expand {
    filter: invert(37%) sepia(9%) saturate(6389%) hue-rotate(179deg) brightness(97%) contrast(86%);
    position: fixed;
    right: 92px;
    width: 20px;
    height: 20px;
    margin-right:-3%;
    cursor: pointer;
    transform: rotate(-90deg);
}
.no-transition {
    transition: none !important;
}
#nav, #main_container, #header, #expand {
    transition: all 0.5s ease;
}

.strikethrough-red {
    text-decoration: line-through;
    text-decoration-color: red;
}

/* note coloring */
.airnote_present {
    filter: brightness(0) saturate(100%) invert(34%) sepia(88%) saturate(2892%) hue-rotate(103deg) brightness(104%) contrast(102%) !important;
    opacity: 1 !important;
}

.modal1 {
    display: none;
    position: absolute; /* Position relative to the image */
    background-color: #fff;
    padding: 20px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    z-index: 1000;
}

/* The switch - the box around the slider */
.switch {
    position: relative;
    display: inline-block;
    width: 27px;
    height: 17px;
}

.switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #ccc;
    -webkit-transition: .4s;
    transition: .4s;
    border-radius: 34px;
}

.slider:before {
    position: absolute;
    content: "";
    height: 14px;
    width: 14px;
    left: 3px;
    bottom: 1.5px;
    background-color: white;
    -webkit-transition: .4s;
    transition: .4s;
    border-radius: 50%;
}

input:checked + .slider {
    background-color: #265892;
}

input:focus + .slider {
    box-shadow: 0 0 1px #265892;
}

input:checked + .slider:before {
    -webkit-transform: translateX(19px);
    -ms-transform: translateX(19px);
    transform: translateX(19px);
}

.two_columns {
    display: flex;
}

.two_columns > * {
    width: 50%;
    padding: 1rem; /* optional, for spacing */
}

/* note coloring */
.airnote_present {
    filter: brightness(0) saturate(100%) invert(34%) sepia(88%) saturate(2892%) hue-rotate(103deg) brightness(104%) contrast(102%) !important;
    opacity: 1 !important;
}

img.airnote {
    width: 12px;
    color: #286fb7;
    filter: brightness(0) saturate(100%) invert(41%) sepia(66%) saturate(553%) hue-rotate(179deg) brightness(86%) contrast(76%);
    /*padding-top: 8px;*/
    padding-left: 5px;
    opacity: 0.5;
}

.modal1 {
    display: none;
    position: absolute; /* Position relative to the image */
    background-color: #fff;
    padding: 20px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    z-index: 1000;
}

.method_standards_rows:nth-child(even) {
    background-color: #f2f2f2 !important;
}

.method_standards_rows:nth-child(odd) {
    background-color: transparent !important;
}

.cj_row_dev {
    background-color: rgba(168,81,243,0.41);
}
.cj_row_disabled {
    background-color: lightpink;
}
.mod_pstool_o365pass_container {
    background-color: #e0e0e0;
}

.payroll_legend {
    height: 8px;
    min-width: 25px;
    display: inline;
}

.payroll_legend_pto {
    background-color: #edc;
}

.payroll_legend_pto_overallocation {
    background-color: #f66;
}

.payroll_legend_payroll_adjustment {
    background-color: #fcc;
}

.payroll_legend_7th_day {
    background-color: #f93;
}

.payroll_legend_holiday {
    background-color: #cdc;
}

.payroll_legend_weekend {
    background-color: #ddf;
}

/* Issues table (SaaS Audit) */
.issues-toprow th { text-align: center; }
.issues-mac-header { background-color: #def; text-align: center; }
.issues-pc-header { background-color: #cde; text-align: center; }
.issues-addon-header { background-color: #ccc; text-align: center; }
.issues-subheader { background-color: #ddd; }

/* Draggable floating panel (Password Generator) */
.pw-modal {
    position: fixed;
    z-index: 500;
    width: 380px;
    border-radius: 4px;
    border: 1px solid #c8cfd6;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.18);
    background: #ffffff;
    color: #4d4f53;
}
.pw-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 7px 10px;
    background: #e4eaef;
    border-bottom: 1px solid #c8cfd6;
    border-radius: 4px 4px 0 0;
    cursor: grab;
    user-select: none;
    font-weight: bold;
}
.pw-modal-header:active { cursor: grabbing; }
.pw-modal-close {
    font-size: 1.3em;
    line-height: 1;
    text-decoration: none;
    color: inherit;
    opacity: 0.6;
}
.pw-modal-close:hover { opacity: 1; }
.pw-modal-body {
    padding: 12px 14px;
    max-height: 70vh;
    overflow-y: auto;
}

