/* Site wide CSS */

@CHARSET "UTF-8";

body {
    /*font-family: Arial, Helvetica, sans-serif !important;*/
    font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 12px !important;
    color: #6a6c6f;
    background-color: #f8f9fb;
    line-height: 1.42857143 !important;
}

hr {
    border-top: 1px solid #d3e0e9;
}

hr.dashed-line {
    border: none;
    /* Remove the default border */
    border-top: 1px dashed #949494;
    /* Add a dashed border on the top */
    height: 1px;
    /* Set the height */
    margin: 20px 20px;
    /* Optional: Adjust the space around the <hr> */
}

div.border-left {
    border-left: 1px dashed #949494;
}

div.border-right {
    border-right: 1px dashed #949494;
}

html input[disabled] {
    cursor: default;
    border: none;
    background: #fff;
}

textarea.fixed-width {
    min-width: 100%;
    max-width: 100%;
}

[ng\:cloak],
[ng-cloak],
.ng-cloak,
[v-cloak] {
    display: none !important;
}

.brand-logo {
    height: 26px;
    padding: 0;
    margin: 0;
}

.brand-logo img {
    height: 20px;
    padding-right: .5em;
}

span.brand-logo-text {
    /* height:22px;
    font-size: 22px;
    vertical-align: baseline; */
}

button.btn:focus {
    outline: none !important;
}

button.btn:focus-visible {
    outline: auto !important;
}

*/ .alert {
    margin-top: 1em;
    font-size: 14px;
    margin-bottom: 0;
    border-radius: 0;
}

.alert-primary {
    color: #004085;
    background-color: #cce5ff;
    border-color: #b8daff;
}

.alert-secondary {
    color: #383d41;
    background-color: #e2e3e5;
    border-color: #d6d8db;
}

.alert-light {
    color: #818182;
    background-color: #fefefe;
    border-color: #fdfdfe;
}

.alert-dark {
    color: #1b1e21;
    background-color: #d6d8d9;
    border-color: #c6c8ca;
}

input.validating-input {
    border: 1px #3097d1 solid !important;
}

input.validating-input-error {
    border: 1px rgb(233, 31, 31) solid !important;
}

div.auto-complete-error {
    display: block;
    margin-bottom: 1em;
    color: red;
    font-weight: ;
}

.progress-text {
    font-size: 12px;
    font-weight: bold;
    padding: 1em;
}

.visible {
    display: visible;
}

.tool {
    color: #28a5ee;
    cursor: pointer;
}

.tool:hover {
    color: rgb(2, 87, 129);
}

.tool-delete {
    color: red;
}

.tool-delete:hover {
    cursor: pointer;
    color: rgb(163, 53, 53);
}

i.space-1em {
    display: inline-block;
    width: 1em;
}

i.space-15em {
    display: inline-block;
    width: 1.5em;
}

i.space-2em {
    display: inline-block;
    width: 2em;
}

i.sort-handle {}

i.sort-handle:hover {
    cursor: grab;
    cursor: -moz-grab;
    cursor: -webkit-grab;
    color: black;
}

i.sort-handle:active {
    cursor: grabbing;
    cursor: -moz-grabbing;
    cursor: -webkit-grabbing;
    color: black;
}

/* These are for tool buttons that are based on FontAwesome icons */

i.link-tool {
    cursor: pointer;
    font-size: 1.3em;
    display: block;
    color: gray;
}

i.link-tool:hover {
    color: black;
}

/* Modify the Bootstrap Modals */
.fullWidth {
    width: 100% !important;
}

.modal-header {
    padding: 10px;
}

.modal-content {
    border-radius: 2px;
}

.bootstrap-dialog .modal-header {
    border-top-left-radius: 2px;
    border-top-right-radius: 2px;
}

.bootstrap-dialog .bootstrap-dialog-title {
    font-size: 13px;
    font-weight: bold;
}

.bootstrap-dialog .bootstrap-dialog-message {
    font-size: 12px;
}

.bootstrap-dialog-footer-buttons .btn {
    padding: 3px 6px;
    font-size: 12px;
    border-radius: 2px;
}

.bootstrap-dialog-message h3.panel-title {
    font-size: 12px;
}

.bootstrap-dialog-message .form-control {
    font-size: 12px;
}

.bootstrap-dialog-close-button .close {
    opacity: 1;
    color: #fff;
}

/* Form validation  */

.form-control.is-invalid {
    border: 1px solid red;
}

:required {
    border: 1px dotted rgb(30, 95, 235);
}

input:invalid {
    border: 1px solid red;
}

.input-error {
    display: block;
    color: red;
}

span.out-of-limit {
    font-weight: bold;
    color: red;
}

.long-text-container {
    overflow-wrap: anywhere;
    width: 100%;
    display: inline-block;
}

.mb10 {
    margin-bottom: 10px !important;
}

.mb20 {
    margin-bottom: 20px !important;
}

.mb40 {
    margin-bottom: 40px !important;
}

.mt10 {
    margin-top: 10px;
}

.mt20 {
    margin-top: 20px;
}

.mt40 {
    margin-top: 40px;
}

.mr5 {
    margin-right: 5px;
}

.mr10 {
    margin-right: 10px;
}

.mr20 {
    margin-right: 20px;
}

.mr40 {
    margin-right: 40px;
}

.mr60 {
    margin-right: 60px;
}

.ml5 {
    margin-left: 5px;
}

.ml10 {
    margin-left: 10px;
}

.ml20 {
    margin-left: 20px;
}

.ml40 {
    margin-left: 40px;
}

.ml60 {
    margin-left: 60px;
}

.width1em {
    width: 1em;
}

.width2em {
    width: 2em;
}

.width3em {
    width: 3em;
}

.width4em {
    width: 4em;
}

.width5em {
    width: 5em;
}


.width50 {
    width: 50px;
}

.width100 {
    width: 100px;
}

.width150 {
    width: 150px;
}

.width200 {
    width: 200px;
}

.width300 {
    width: 300px;
}

.width400 {
    width: 400px;
}

.width100PCT {
    width: 100%;
}

.md-card {
    display: inline-block;
    position: relative;
    width: 100%;
    margin: 25px 0;
    overflow: unset;
    -webkit-box-shadow: 0 1px 4px 0 rgba(0, 0, 0, .14);
    box-shadow: 0 1px 4px 0 rgba(0, 0, 0, .14);
    border-radius: 3px;
    color: rgba(0, 0, 0, .87);
    background: #fff;
}

.md-card .md-card-header {
    margin: -20px 15px 0;
    border-radius: 2px;
    padding: 15px;
    float: left;
    text-align: center;
    height: 90px;
    width: 90px;
}

/* brand-logo-block brand-logo-analysis */

.brand-logo-block {
    color: white;
    padding: 2px 6px;
    border-radius: 4px;
}

.app-background-analysis,
.brand-logo-analysis {
    background-color: #de2269;
}

.app-background-bridge,
.brand-logo-bridge {
    background-color: #00A8C8;
}

.app-background-gap,
.brand-logo-gap {
    background-color: #3D9970;
}

.app-background-library,
.brand-logo-library {
    background-color: rgb(226, 115, 41);
}

.app-background-notification,
.brand-logo-notification {
    background-color: rgb(235, 29, 74);
}

.app-background-optimization,
.brand-logo-optimization {
    background-color: #FF851B;
}

.app-background-utilization,
.brand-logo-utilization {
    background-color: rgb(45, 207, 140);
}

.app-background-mach,
.brand-logo-mach {
    background-color: #018CD0;
}

.app-background-programs,
.brand-logo-programs {
    background-color: #ce2c12;
}

.app-background-evo,
.brand-logo-evo {
    background-color: #11ad50;
}

img.img-filter-invert {
    filter: invert(100%)
}

.md-card-header img {
    display: block;
    margin-left: auto;
    margin-right: auto;
    width: 90%;
}

.md-card-header:hover {
    border: 1px solid black;
    box-shadow: 3px 3px 9px 2px #0000006b;
}

/* Colors for labels, badges and such */

.bg-aqua {
    background-color: #7FDBFF !important;
}

.bg-black {
    background-color: #111 !important;
}

.bg-blue {
    background-color: #0074D9 !important;
}

.bg-fuchsia {
    background-color: #F012BE !important;
}

.bg-gray {
    background-color: #aaa !important;
}

.bg-light-gray {
    background-color: #ededed !important;
}

.bg-green {
    background-color: #2ECC40 !important;
}

.bg-lime {
    background-color: #01FF70 !important;
}

.bg-maroon {
    background-color: #85144B !important;
}

.bg-navy {
    background-color: #001F3F !important;
}

.bg-olive {
    background-color: #3D9970 !important;
}

.bg-orange {
    background-color: #FF851B !important;
}

.bg-purple {
    background-color: #B10DC9 !important;
}

.bg-red {
    background-color: #FF4136 !important;
}

.bg-silver {
    background-color: #ddd !important;
}

.bg-teal {
    background-color: #39CCCC !important;
}

.bg-white {
    background-color: #fff !important;
}

.bg-yellow {
    background-color: #FFDC00 !important;
}

.color-aqua {
    color: #7FDBFF !important;
}

.color-black {
    color: #111 !important;
}

.color-blue {
    color: #0074D9 !important;
}

.color-fuchsia {
    color: #F012BE !important;
}

.color-gray {
    color: #aaa !important;
}

.color-green {
    color: #2ECC40 !important;
}

.color-lime {
    color: #01FF70 !important;
}

.color-maroon {
    color: #85144B !important;
}

.color-navy {
    color: #001F3F !important;
}

.color-olive {
    color: #3D9970 !important;
}

.color-orange {
    color: #FF851B !important;
}

.color-purple {
    color: #B10DC9 !important;
}

.color-red {
    color: #FF4136 !important;
}

.color-silver {
    color: #ddd !important;
}

.color-teal {
    color: #39CCCC !important;
}

.color-white {
    color: #fff !important;
}

.color-yellow {
    color: #FFDC00 !important;
}

.color-link {
    color: #3097d1 !important;
}

/****** MMC Color Pallette *********/

.white {
    color: #ffffff;
}

.gray-text {
    color: #7c848A;
}

.dark-sapphire {
    color: #002C77;
}

.medium-sapphire {
    color: #006D9E;
}

.bright-sapphire {
    color: #00A8C8;
}

.light-sapphire {
    color: #A6E2EF;
}

.dark-ruby {
    color: #690031;
}

.medium-ruby {
    color: #a9194f;
}

.bright-ruby {
    color: #ed2c67;
}

.light-ruby {
    color: #f7b6bb;
}

.bg-white {
    background-color: #ffffff;
}

.bg-gray-text {
    background-color: #7c848A;
}

.bg-dark-sapphire {
    background-color: #002C77;
}

.bg-medium-sapphire {
    background-color: #006D9E;
}

.bg-bright-sapphire {
    background-color: #00A8C8;
}

.bg-light-sapphire {
    background-color: #A6E2EF;
}

.bg-dark-ruby {
    background-color: #690031;
}

.bg-medium-ruby {
    background-color: #a9194f;
}

.bg-bright-ruby {
    background-color: #ed2c67;
}

.bg-light-ruby {
    background-color: #f7b6bb;
}

/* Bootstrap overrides */

.panel-footer {
    background-color: #fff;
}

/* The sidebar menu */

.sidenav {
    height: 100%;
    /* Full-height: remove this if you want "auto" height */
    width: 160px;
    /* Set the width of the sidebar */
    position: fixed;
    /* Fixed Sidebar (stay in place on scroll) */
    z-index: 1;
    /* Stay on top */
    top: 0;
    /*Stay at the to*/
    left: 0;
    background-color: #d9edf7;
    overflow-x: hidden;
    /* Disable horizontal scroll */
    padding-top: 60px;
}

/* The navigation menu links */

.sidenav a {
    padding: 6px 8px 6px 16px;
    text-decoration: none;
    font-size: 14px;
    color: #4f5152;
    display: block;
}

/* When you mouse over the navigation links, change their color */

.sidenav a:hover {
    color: #3097d1;
}

.sidenav a.active-menu {
    color: #fff;
    background-color: #3097d1;
    border-top-right-radius: 15px;
}

/* Style page content */

.main {
    margin-left: 160px;
    /* Same as the width of the sidebar */
    padding: 0px 10px;
}

/* On smaller screens, where height is less than 450px, change the style of the sidebar (less padding and a smaller font size) */

@media screen and (max-height: 450px) {
    .sidenav {
        padding-top: 15px;
    }

    .sidenav a {
        font-size: 18px;
    }
}

/* Overrides for Handsontables */

.hot-table {
    width: 100%;
    height: 94vh;
    overflow: hidden;
    /* margin-top:10px; */
}

.handsontable th {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 10px;
}

.handsontable td {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 10px;
    line-height: 1.1em;
}

.pulsate {
    -webkit-animation: pulsate 3s ease-out;
    -webkit-animation-iteration-count: infinite;
    opacity: 0.2;
}

@-webkit-keyframes pulsate {
    0% {
        opacity: 0.2;
    }

    50% {
        opacity: 1.0;
    }

    100% {
        opacity: 0.2;
    }
}

/* Loading page overlay */

/* Absolute Center Spinner */

.loading {
    position: fixed;
    z-index: 999;
    height: 2em;
    width: 2em;
    overflow: visible;
    margin: auto;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}

/* Transparent Overlay */

.loading:before {
    content: '';
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.3);
}

/* :not(:required) hides these rules from IE9 and below */

.loading:not(:required) {
    /* hide "loading..." text */
    font: 0/0 a;
    color: transparent;
    text-shadow: none;
    background-color: transparent;
    border: 0;
}

.loading:not(:required):after {
    content: '';
    display: block;
    font-size: 10px;
    width: 1em;
    height: 1em;
    margin-top: -0.5em;
    -webkit-animation: spinner 1500ms infinite linear;
    -moz-animation: spinner 1500ms infinite linear;
    -ms-animation: spinner 1500ms infinite linear;
    -o-animation: spinner 1500ms infinite linear;
    animation: spinner 1500ms infinite linear;
    border-radius: 0.5em;
    -webkit-box-shadow: rgba(0, 0, 0, 0.75) 1.5em 0 0 0, rgba(0, 0, 0, 0.75) 1.1em 1.1em 0 0, rgba(0, 0, 0, 0.75) 0 1.5em 0 0, rgba(0, 0, 0, 0.75) -1.1em 1.1em 0 0, rgba(0, 0, 0, 0.5) -1.5em 0 0 0, rgba(0, 0, 0, 0.5) -1.1em -1.1em 0 0, rgba(0, 0, 0, 0.75) 0 -1.5em 0 0, rgba(0, 0, 0, 0.75) 1.1em -1.1em 0 0;
    box-shadow: rgba(0, 0, 0, 0.75) 1.5em 0 0 0, rgba(0, 0, 0, 0.75) 1.1em 1.1em 0 0, rgba(0, 0, 0, 0.75) 0 1.5em 0 0, rgba(0, 0, 0, 0.75) -1.1em 1.1em 0 0, rgba(0, 0, 0, 0.75) -1.5em 0 0 0, rgba(0, 0, 0, 0.75) -1.1em -1.1em 0 0, rgba(0, 0, 0, 0.75) 0 -1.5em 0 0, rgba(0, 0, 0, 0.75) 1.1em -1.1em 0 0;
}

/* Animation */

@-webkit-keyframes spinner {
    0% {
        -webkit-transform: rotate(0deg);
        -moz-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        -o-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(360deg);
        -moz-transform: rotate(360deg);
        -ms-transform: rotate(360deg);
        -o-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@-moz-keyframes spinner {
    0% {
        -webkit-transform: rotate(0deg);
        -moz-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        -o-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(360deg);
        -moz-transform: rotate(360deg);
        -ms-transform: rotate(360deg);
        -o-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@-o-keyframes spinner {
    0% {
        -webkit-transform: rotate(0deg);
        -moz-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        -o-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(360deg);
        -moz-transform: rotate(360deg);
        -ms-transform: rotate(360deg);
        -o-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@keyframes spinner {
    0% {
        -webkit-transform: rotate(0deg);
        -moz-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        -o-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(360deg);
        -moz-transform: rotate(360deg);
        -ms-transform: rotate(360deg);
        -o-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@keyframes div-spinner {
    0% {
        transform: translate3d(-50%, -50%, 0) rotate(0deg);
    }

    100% {
        transform: translate3d(-50%, -50%, 0) rotate(360deg);
    }
}

.div-spinner {
    z-index: 999;
    height: 100vh;
    opacity: .7;
    position: relative;
    transition: opacity linear 0.1s;
    background-color: rgba(0, 0, 0, 0.3);
}

.div-spinner:before {
    animation: 2s linear infinite spinner;
    border: solid 3px #eee;
    border-bottom-color: #EF6565;
    border-radius: 50%;
    content: "";
    height: 40px;
    left: 50%;
    opacity: inherit;
    position: absolute;
    top: 50%;
    transform: translate3d(-50%, -50%, 0);
    transform-origin: center;
    width: 40px;
    will-change: transform;
}

.btn-group-dropdown {
    float: left;
    width: 200px;
    height: 36px;
    padding: 6px 12px;
    font-size: 14px;
    line-height: 1.42857143;
    color: #555;
    background-color: #fff;
    background-image: none;
    border: 1px solid #ccc;
    border-left: none;
    border-right: none;
    border-radius: 0px;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
    /* -webkit-transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s; */
    -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
    -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
    /* transition: border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s; */
    /* transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s; */
    transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
}


.grid-legend {
    cursor: default;
}

.grid-legend-base {
    background-color: #eed862;
    /* was #afd3de2b; */
}

.grid-legend-comp {
    background-color: #fff;
}

.grid-legend-orphan-base,
td.grid-legend-orphan-base {
    background-color: #becbd1;
}

.grid-legend-orphan-comp,
td.grid-legend-orphan-comp {
    background-color: #dadada;
}


/* The animation code */
@keyframes activity-pulsate {
    0% {
        border-top: 2px solid rgba(14, 120, 220, 0);
    }

    25% {
        border-top: 2px solid rgba(14, 120, 220, .25);
    }

    50% {
        border-top: 2px solid rgba(14, 120, 220, .5);
    }

    75% {
        border-top: 2px solid rgba(14, 120, 220, .75);
    }

    100% {
        border-top: 2px solid rgba(14, 120, 220, 1);
    }
}

.loading-tab {
    border-top: 2px solid rgba(14, 120, 220, 1);
    animation: activity-pulsate 1s alternate infinite;
}

.not-loading-tab {
    border-top: 2px solid transparent;
}


.updated-cell {
    background-color: #e5eeff !important;
}

.updated-cell-out {
    -webkit-transition: background .5s ease-out;
    -moz-transition: background .5s ease-out;
    -o-transition: background .5s ease-out;
    transition: background .5s ease-out;
}


dialog {
    position: fixed;
    /* Position the dialog relative to the viewport */
    top: 50%;
    /* Center the dialog vertically */
    left: 50%;
    /* Center the dialog horizontally */
    transform: translate(-50%, -50%);
    /* Adjust the position to account for the size of the dialog */
    width: 600px;
    /* Set a fixed width for the dialog */
    margin: 0;
    /* Remove the default margin */
    padding: 0;
    /* Add some padding for the content */
    border: none;
    /* Remove the default border */
    background: #fff;
    /* Set a custom background color */
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
    /* Add some shadow for depth */
    font-family: Arial, sans-serif;
    /* Set a custom font family */
    color: black;
    /* Set a custom text color */
}

dialog .header {
    font-size: 13px;
    font-weight: bold;
    color: #fff;
    display: inline-block;
    background-color: #018CD0;
    width: 100%;
    padding: 1em;
    margin-bottom: 1em;
}

dialog .body {
    font-size: 12px;
    padding: 1em;
}

dialog .form-control {
    font-size: 12px;
}

dialog .footer {
    padding: 15px;
    text-align: right;
    border-top: 1px solid #e5e5e5;
}

dialog::backdrop {
    background: rgba(0, 0, 0, 0.25);
    backdrop-filter: blur(3px);
}

.n.navbar-default .navbar-nav>.open>a,
.navbar-default .navbar-nav>.open>a:focus,
.navbar-default .navbar-nav>.open>a:hover {
    background: #c7ddf9;
}

.navbar-default .navbar-nav>.open>a {
    background: #c7ddf9;
}

#progressModal {
    z-index: 99999 !important;
    position: fixed;
}