/* Mastercorp v3 - consolidated. Only font family declared here. */
* {
    /* === Default Colors === */

    --primaryColor: #005fa2;
    --secondaryColor: #999EA1;
    --infoColor: #008bc9;
    --successColor: #71bf44;
    --warningColor: #feca0a;
    --errorColor: #e95424;
    --light: #f7f7f9;
    --dark: #4b4c4d;
    --infoColorLightAlpha: #008bc910;
}

:root {
    /* === Default font(s) === */
    --default-font: 'Montserrat', sans-serif;

    /* === NavigationBar === */
    --drawer-offset: 0px;
    --navbar-height: 56px;

    /* === Overrides for Radzen Controls === */
    --rz-dropdown-item-selected-background-color: #cceaff !important;
    --rz-dropdown-item-selected-color: black !important;
    --rz-dropdown-item-selected-hover-background-color: #005fa2 !important;
    --rz-dropdown-item-selected-hover-color: white !important;
    --rz-grid-cell-focus-background-color: #cceaff;
    --rz-grid-cell-focus-color: black !important;
    --rz-grid-selected-background-color: #cceaff;
    --rz-grid-selected-color: black !important;
    --rz-pager-numeric-button-selected-background-color: #cceaff;
    --rz-primary: #005fa2;
}

body {
    font-family: var(--default-font);
    background-color: #EAEAEC;
    display: flex;
    flex-direction: column;
    height: 100%;
    position: relative;
}

.mcorp-font {
    font-family: var(--default-font);
}

.mc-main {
    margin-bottom: 30px !important;
    margin-left: 1rem;
    margin-right: 1rem;
    margin-top: 25px !important;
    padding-bottom: 1rem;
    padding-left: 0px;
    padding-right: 0px;
    padding-top: 1rem;
}

.content,
.mc-content {
    margin-left: 1rem;
    margin-right: 1rem;
    padding: 1rem 0 1rem 0;
}

.mc-align-text-right {
  text-align: right;
}

.mc-bg-light-gray {
    background-color: #e8e8e8;
}

.mc-border-radius-none {
    border-radius: 0;
}

.mc-border-radius-small {
    border-radius: 0.125rem; /*2px*/
}

.mc-border-width-fixed {
    border-width: 1px !important;
    width: 3.75rem; /*60px*/
}

.mc-blazor-error-boundary {
  background: url(data:image/svg+xml);
  color: white;
  padding: 1rem 1rem 1rem 3.7rem;
}

.mc-blazored-toast-container {
  margin-top: 15px;
}

.mc-border-bottom-radius {
  border-radius: 0 0 8px 8px !important;
}

.mc-border-top-radius {
  border-radius: 8px 8px 0 0 !important;
}

.mc-charcoal-bg {
  background-color: #414241;
}

.mc-clear-both-spacer {
    clear: both;
    height: 9.375rem; /*150px*/
    width: 100%;
}

.mc-clickable {
  align-content: center;
  cursor: pointer;
}

.mc-clickable-rows tbody tr {
  cursor: pointer;
}

.mc-clickable-rows tbody tr:hover {
  background-color: #cceaff;
}

.mc-control-drop-down {
  border-radius: 6px;
  width: 100%;
}

.mc-cursor-pointer {
  cursor: pointer;
}

.mc-danger-font {
  color: #CC0000;
}

.mc-dark-charcoal-btn {
  font-size: 0.64rem;
  padding: 10px 33px;
}

.mc-dark-charcoal-btn:hover {
  background-color: #005DA9;
}

.mc-dark-grey-btn {
  background-color: #888888;
  border: none;
  border-radius: 3px;
  color: #ffffff;
  display: inline-block;
  font-size: 1.25rem;
  font-weight: 600;
  letter-spacing: 1px;
  padding: 10px 44px;
  text-align: center;
  text-decoration: none;
}

.mc-dark-grey-btn:hover {
  background-color: #414241;
}

.mc-dark-grey-chateau-btn {
  background-color: #999EA1;
  border: none;
  border-radius: 3px;
  color: #2E2E2E;
  display: inline-block;
  font-size: 1.25rem;
  font-weight: 600;
  letter-spacing: 1px;
  padding: 10px 44px;
  text-align: center;
  text-decoration: none;
}

.mc-dark-grey-chateau-btn:hover {
  background-color: #414241;
  color: #ffffff;
}

.mc-date-input-small {
  width: 150px;
}

.mc-day-header {
  border: none !important;
  vertical-align: bottom !important;
}

.mc-dialog-btn-padding {
  font-size: 0.8rem;
}

.mc-dismiss {
  cursor: pointer;
  position: absolute;
  right: 0.75rem;
  top: 0.5rem;
}

.mc-drawer-menu {
  z-index: 2500;
}

.mc-faa-burst.mc-animated, .mc-faa-burst.mc-animated-hover:hover, .mc-faa-parent.mc-animated-hover:hover > .mc-faa-burst {
  -webkit-animation: burst 2s 1 linear;
  animation: burst 2s 1 linear;
  animation-fill-mode: forwards;
}

.mc-font-medium {
  font-weight: 500;
}

.mc-font-regular {
  font-weight: 400;
}

.mc-footer-totals {
  font-weight: bold;
}

.mc-full-height {
  min-height: 100vh;
}

.mc-gainsboro-grey-bg {
  background-color: #DBDBDB;
}

.mc-green-bg {
  background-color: #2D8700;
}

.mc-grey-bg {
  background-color: #EAEAEC;
}

.mc-grey-border {
  border-color: #DBDBDC !important;
}

.mc-grey-soft {
  background-color: #E7E7EA;
}

.mc-grid {
  overflow-y: auto;
}

.mc-grid table {
    min-width: 100%;
}

.mc-grid-fixed-height tbody tr td {
    height: 2.4rem !important;
    vertical-align: middle !important;
}

.mc-height-scroll-medium {
    max-height: 12.5rem; /*200px*/
    overflow-y: auto;
}

.mc-invalid {
  outline: 1px solid var(--errorColor);
}

.mc-jumbotron {
  margin-left: 1rem;
  margin-right: 1rem;
  margin-top: 1rem;
  padding: 2rem 2rem !important;
}

.mc-k-dropdown-wrap {
  background-color: yellow !important;
}

.mc-k-menu.mc-k-menu-horizontal:not(.mc-k-context-menu) {
  padding: 0rem 1rem !important;
}

.mc-line-height-ellipsis {
    line-height: 90%;
    overflow: hidden;
    text-overflow: ellipsis;
}

.mc-line-height-full-ellipsis {
    line-height: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
}

.mc-list-style-none {
    list-style-type: none;
}

.mc-loading-spinner-container {
  align-items: center;
  background-color: rgba(255, 255, 255, 0.7);
  display: flex;
  height: 100%;
  justify-content: center;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 1000;
}

.mc-navbar .dropdown-submenu {
  position: relative;
}

.mc-navbar .dropdown-submenu > .dropdown-menu {
  left: 100%;
  margin-top: -1px;
  top: 0;
}

.mc-navbar .dropdown-submenu.dropstart > .dropdown-menu {
  left: auto;
  right: 100%;
}

.mc-navbar .nav-link {
  color: #fff !important;
}

.mc-popup-drop-down {
    max-height: 31.25rem !important;
    overflow-y: auto;
    width: 28.12rem !important;
}

.mc-red-bg {
  background-color: #CC0000;
}

.mc-royal-blue-bg {
  background-color: #00569F;
}

.mc-royal-blue-border {
  border-color: #1583D8 !important;
}

.mc-royal-blue-btn {
  background-color: #005DA9;
  border: none;
  border-radius: 3px;
  color: #ffffff;
  display: inline-block;
  font-size: 1.25rem;
  font-weight: 600;
  letter-spacing: 1px;
  padding: 10px 44px;
  text-align: center;
  text-decoration: none;
}

.mc-royal-blue-btn, .mc-dark-grey-btn, .mc-dark-grey-chateau-btn {
  font-size: 0.64rem;
  padding: 15px 34px;
}

.mc-royal-blue-btn:hover {
  background-color: #414241;
  color: #ffffff;
}

.mc-royal-blue-font {
  color: #00569F;
}

.mc-royal-blue-gradient {
  background-image: linear-gradient(to bottom right, #005FA2, #005CA1, #00569F);
  background-position: 0px 0px;
  background-repeat: no-repeat;
}

.mc-select {
  border-radius: 4px;
  cursor: pointer;
  display: flex;
  line-height: 3;
  overflow: hidden;
  position: relative;
}

.mc-select::after {
  background: #5C676E;
  color: #fff;
  content: '\25BC';
  cursor: pointer;
  padding: 0 1em;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 0;
  transition: .25s all ease;
}

.mc-success-font {
  color: #2D8700;
}

.mc-table-layout-auto-nowrap {
    table-layout: auto;
    white-space: nowrap;
    width: 100%;
}

.mc-table-layout-nowrap {
    table-layout: fixed;
    white-space: nowrap;
    width: 100%;
}

.mc-teams-drop-down {
  width: 100% !important;
}

.mc-valid.mc-modified:not([type=checkbox]) {
  outline: 1px solid #26b050;
}

.mc-warning-font {
  color: #FFB521;
}

.mc-worker-name {
  width: 30%;
}

.mc-workers-drop-down {
  width: 100% !important;
}

.mcorp-font-primary {
  color: var(--primaryColor);
  font-weight: 500;
}

.mc-floating-update-button {
    -ms-transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    left: 50%;
    position: fixed;
    top: 40%;
    transform: translate(-50%, -50%);
}

/* Navigation bar & spinner */

.drawer {
    background: white;
    color: black;
    display: flex;
    flex-direction: column;
    height: calc(100% - var(--navbar-height) - var(--drawer-offset, 0px));
    padding: 1rem;
    position: fixed;
    right: 0;
    top: calc(var(--navbar-height) + var(--drawer-offset, 0px));
    transform: translateX(100%);
    transition: transform 0.6s ease-in-out;
    width: 350px;
    z-index: 1050;
}

.drawer-body {
    flex-grow: 1;
}

    .drawer-body a {
        color: black !important;
        display: block;
        margin-bottom: 0.5rem;
        text-decoration: none;
    }

.drawer-content {
    flex-grow: 1;
    max-height: 100%;
    overflow-y: auto;
}

.drawer-footer {
    font-weight: bold;
    margin-top: auto;
}

.drawer-header {
    margin-bottom: 1rem;
}

.drawer-overlay {
    background: rgba(0,0,0,0.5);
    height: 100%;
    left: 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 1040;
}

.drawer.open {
    transform: translateX(0);
}

.loading-spinner-container {
    align-items: center;
    background-color: rgba(255, 255, 255, 0.7);
    display: flex;
    height: 100%;
    justify-content: center;
    left: 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 1000;
}

.validation-message {
  color: var(--errorColor);
}


/* ---- Keeping from previous Mastercorp_v1/v2 (may need update) ---- */

#blazor-error-ui {
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }

/* Note: Drop downs should use .mc-popup-drop-down moving forward */
#popup-site-drop-down,
#popup-location-drop-down,
#popup-job-drop-down,
#popup-workers-drop-down,
#popup-workorder-drop-down {
    max-height: 31.25rem !important;
    overflow-y: auto;
    width: 28.12rem !important;
}

a {
  color: #00569F;
}

a, .btn-link {
  color: var(--primaryColor);
}

.app {
  display: flex;
  flex-direction: column;
  position: relative;
}

.btn-secondary:not(:disabled):not(.disabled).active {
    background-color: #005fa2;
    background-color: var(--primaryColor);
    color: var(--white);
}

hr {
  border: 0;
  border-top: 3px solid #DBDBDC;
  display: block;
  height: 1px;
  margin: 0.5em 0;
  padding: 0;
}

.mastercorpselector {
    border-radius: 6px;
    width: 100%;
}

p.blazored-toast-heading {
  font-weight: bold;
}

select {
  background-color: #fff;
  color: #767676;
  padding-bottom: 17px;
  padding-top: 17px;
}

.spinner-container {
    left: 50%;
    opacity: 0.6;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 2000;
}

.jumbotron > p > a {
    font-size: small;
}

.quickgrid.table .col-title {
    padding: 0rem 0rem 0rem 0rem !important;
}

/* Hides rows with empty cells */
.quickgrid:not(.quickgrid-fixed) tr:has(td:empty) {
    display: none;
}

/* Restores rows with at least one non-empty cell */
.quickgrid:not(.quickgrid-fixed) tr:has(> td:not(:empty)) {
    display: table-row;
}

/* Setings a minimum height for fixed grids */
.quickgrid.quickgrid-fixed {
    height: 1.5rem;
}

.navbar .mc-k-link.mc-k-menu-link {
    color: white;
}

@-webkit-keyframes burst {
    0% {
        opacity: 0;
    }

    50% {
        opacity: 0.5;
    }

    100% {
        -webkit-transform: scale(1.8);
        opacity: 1.0;
        transform: scale(1.8);
    }
}

@keyframes burst {
    0% {
        opacity: 0;
    }

    50% {
        opacity: 0.5;
    }

    100% {
        -ms-transform: scale(1.8);
        -webkit-transform: scale(1.8);
        opacity: 1.0;
        transform: scale(1.8);
    }
}

/* ////////////////// QuickGrid control ////////////// */

.grid {
    overflow-y: auto;
}

.clickable {
    cursor: pointer;
    align-content: center;
}

/* Use for QuickGrid row clicks */
.clickable-rows tbody tr {
    cursor: pointer;
}

    .clickable-rows tbody tr:hover {
        background-color: #cceaff;
    }

.clickable-rows > tbody > tr > td {
    padding-left: 2px !important;
    padding-right: 2px !important;
}

    .clickable-rows > tbody > tr > td > div:first-child {
        padding-left: 0px;
        padding-left: 0;
        padding-right: 0;
    }
