html, body {
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

h1:focus {
    outline: none;
}

a, .btn-link {
    color: #0071c1;
}

.btn-primary {
    color: #fff;
    background-color: #1b6ec2;
    border-color: #1861ac;
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

.content {
    padding-top: 1.1rem;
}

.valid.modified:not([type=checkbox]) {
    outline: 1px solid #26b050;
}

.invalid {
    outline: 1px solid red;
}

.validation-message {
    color: red;
}

#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;
}

.blazor-error-boundary {
background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
padding: 1rem 1rem 1rem 3.7rem;
color: white;
}

.blazor-error-boundary::after {
    content: "An error has occurred."
}

.loading-progress {
    position: relative;
    display: block;
    width: 8rem;
    height: 8rem;
    margin: 20vh auto 1rem auto;
}

.loading-progress circle {
fill: none;
stroke: #e0e0e0;
stroke-width: 0.6rem;
transform-origin: 50% 50%;
transform: rotate(-90deg);
}

.loading-progress circle:last-child {
    stroke: #1b6ec2;
    stroke-dasharray: calc(3.141 * var(--blazor-load-percentage, 0%) * 0.8), 500%;
    transition: stroke-dasharray 0.05s ease-in-out;
}

.loading-progress-text {
    position: absolute;
    text-align: center;
    font-weight: bold;
    inset: calc(20vh + 3.25rem) 0 auto 0.2rem;
}

.loading-progress-text:after {
    content: var(--blazor-load-percentage-text, "Loading");
}

code {
    color: #c02d76;
}

.dialog-title {
    color: var(--mud-palette-white);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    background-position-y: bottom;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' version='1.1' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:svgjs='http://svgjs.dev/svgjs' width='1440' height='560' preserveAspectRatio='none' viewBox='0 0 1440 560'%3e%3cg mask='url(%26quot%3b%23SvgjsMask1107%26quot%3b)' fill='none'%3e%3crect width='1440' height='560' x='0' y='0' fill='rgba(0%2c 167%2c 224%2c 1)'%3e%3c/rect%3e%3cpath d='M0%2c314.514C75.015%2c309.521%2c155.995%2c381.79%2c219.346%2c341.308C282.662%2c300.848%2c260.109%2c201.234%2c287.043%2c131.088C311.748%2c66.748%2c367.916%2c15.532%2c370.874%2c-53.324C374.093%2c-128.266%2c343.987%2c-199.951%2c303.989%2c-263.408C259.114%2c-334.604%2c211.642%2c-424.463%2c128.545%2c-437.785C44.461%2c-451.266%2c-23.954%2c-372.676%2c-96.182%2c-327.566C-150.145%2c-293.863%2c-197.728%2c-255.515%2c-239.765%2c-207.757C-282.115%2c-159.644%2c-319.61%2c-109.385%2c-341.314%2c-49.074C-367.089%2c22.548%2c-394.379%2c97.928%2c-376.39%2c171.891C-356.883%2c252.093%2c-316.133%2c342.563%2c-238.948%2c371.81C-160.772%2c401.433%2c-83.415%2c320.066%2c0%2c314.514' fill='%230090c1'%3e%3c/path%3e%3cpath d='M1440 1027.742C1525.93 1023.375 1583.217 941.369 1651.188 888.615 1712.73 840.85 1774.545 796.958 1819.408 733.27 1872.12 658.439 1932.828 580.715 1932.5529999999999 489.182 1932.266 393.551 1879.596 305.615 1817.903 232.54500000000002 1755.688 158.858 1678.695 81.793 1582.524 74.60700000000003 1488.396 67.57400000000001 1420.508 160.418 1333.217 196.32999999999998 1258.0149999999999 227.26799999999997 1169.28 219.5 1106.049 270.63 1036.944 326.509 966.36 403.199 967.4870000000001 492.063 968.614 580.942 1066.451 633.413 1111.6190000000001 709.967 1150.636 776.097 1159.373 857.412 1214.55 910.807 1276.643 970.895 1353.704 1032.128 1440 1027.742' fill='%2300beff'%3e%3c/path%3e%3c/g%3e%3cdefs%3e%3cmask id='SvgjsMask1107'%3e%3crect width='1440' height='560' fill='white'%3e%3c/rect%3e%3c/mask%3e%3c/defs%3e%3c/svg%3e");
}

.dialog-red-title {
    color: var(--mud-palette-white);
    background-color: var(--mud-palette-error)
}

.appbar {
    color: var(--mud-palette-white);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    background-position-y: bottom;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' version='1.1' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:svgjs='http://svgjs.dev/svgjs' width='1440' height='560' preserveAspectRatio='none' viewBox='0 0 1440 560'%3e%3cg mask='url(%26quot%3b%23SvgjsMask1107%26quot%3b)' fill='none'%3e%3crect width='1440' height='560' x='0' y='0' fill='rgba(0%2c 167%2c 224%2c 1)'%3e%3c/rect%3e%3cpath d='M0%2c314.514C75.015%2c309.521%2c155.995%2c381.79%2c219.346%2c341.308C282.662%2c300.848%2c260.109%2c201.234%2c287.043%2c131.088C311.748%2c66.748%2c367.916%2c15.532%2c370.874%2c-53.324C374.093%2c-128.266%2c343.987%2c-199.951%2c303.989%2c-263.408C259.114%2c-334.604%2c211.642%2c-424.463%2c128.545%2c-437.785C44.461%2c-451.266%2c-23.954%2c-372.676%2c-96.182%2c-327.566C-150.145%2c-293.863%2c-197.728%2c-255.515%2c-239.765%2c-207.757C-282.115%2c-159.644%2c-319.61%2c-109.385%2c-341.314%2c-49.074C-367.089%2c22.548%2c-394.379%2c97.928%2c-376.39%2c171.891C-356.883%2c252.093%2c-316.133%2c342.563%2c-238.948%2c371.81C-160.772%2c401.433%2c-83.415%2c320.066%2c0%2c314.514' fill='%230090c1'%3e%3c/path%3e%3cpath d='M1440 1027.742C1525.93 1023.375 1583.217 941.369 1651.188 888.615 1712.73 840.85 1774.545 796.958 1819.408 733.27 1872.12 658.439 1932.828 580.715 1932.5529999999999 489.182 1932.266 393.551 1879.596 305.615 1817.903 232.54500000000002 1755.688 158.858 1678.695 81.793 1582.524 74.60700000000003 1488.396 67.57400000000001 1420.508 160.418 1333.217 196.32999999999998 1258.0149999999999 227.26799999999997 1169.28 219.5 1106.049 270.63 1036.944 326.509 966.36 403.199 967.4870000000001 492.063 968.614 580.942 1066.451 633.413 1111.6190000000001 709.967 1150.636 776.097 1159.373 857.412 1214.55 910.807 1276.643 970.895 1353.704 1032.128 1440 1027.742' fill='%2300beff'%3e%3c/path%3e%3c/g%3e%3cdefs%3e%3cmask id='SvgjsMask1107'%3e%3crect width='1440' height='560' fill='white'%3e%3c/rect%3e%3c/mask%3e%3c/defs%3e%3c/svg%3e");
}

td.button-row {
    padding-left: 8px !important;
    padding-right: 8px !important;
    width: 5px !important;
}

td.button-row button {
    padding: 6px 0 !important;
    min-width: 30px !important;
}

td.button-row button span.mud-button-icon-start {
    margin: 0 !important;
}

.footer {
    display: flex;
    width: 100dvw !important;
    position: fixed;
    bottom: 0;
    justify-content: center;
    z-index: 1100;
    background-color: var(--mud-palette-dark);
    color: var(--mud-palette-dark-text);
    padding: .5em 5em !important;
    max-width: 100dvw !important;
}

.draft-cell {
    background-color: #e4efff !important;
}

.disabled-cell {
    background-color: var(--mud-palette-action-disabled-background) !important;
}

.warning-cell {
    background-color: var(--mud-palette-warning-lighten) !important;
}

.multilineToolbar .mud-toolbar {
    padding-top: 10px;
    height: fit-content;
}

.mud-table.toolbar-margin-bottom .mud-toolbar {
    margin-bottom: 3em;
}

.custom-overlay {
    background-color: white;
}

.custom-overlay .mud-overlay-content {
    display: flex;
    justify-content: center;
}

.loading-image {
    height: 25%;
    width: 25%;
    -webkit-animation: breathing 4s ease-out infinite normal;
    animation: breathing 4s ease-out infinite normal;
}

.horizontal-chart-50-50 {
    column-gap: 1em;
}

.horizontal-chart-50-50 svg.mud-chart-pie, .horizontal-chart-50-50 div.mud-chart-legend {
    flex: 1;
}

.editor-disabled {
    color: var(--mud-palette-gray-light) !important;
}

.map-icon {
    height: 34px;
    width: 34px;
    object-fit: contain;
    /* wonky placement as described in the Leaflet documentation*/
    margin-left: -17px;
    margin-top: -34px;
}

.map-popup-button {
    color: blue;
    text-decoration: underline;
    cursor: pointer;
}

.mud-table-cell .task-status {
    margin-left: auto;
}

.task-status {
    width: fit-content;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: .5em;
    padding: .5em .5em;
    border: 1px solid transparent;
    font-weight: bold;
}

.task-status.task-status-new {
    background-color: var(--mud-palette-info-lighten);
    color: white;
}

.task-status.task-status-working {
    background-color: var(--mud-palette-warning-lighten);
    color: white;
}

.task-status.task-status-submitted {
    background-color: var(--mud-palette-success-darken);
    color: white;
}

.task-status.task-status-finished {
    background-color: white;
    border-color: var(--mud-palette-success-darken);
    color: var(--mud-palette-success-darken);
}

.task-row.task-status-review {
    background-color: #c4ffbf;
    color: black !important;
    font-weight: bold;
}

.task-status.task-status-late {
    background-color: var(--mud-palette-error-darken) !important;
    color: white !important;
    font-weight: bold;
}

.large-badge .mud-badge {
    height: 26px !important;
    width: 26px !important;
    border-radius: 13px !important;
    inset: auto calc(100% - 18px) calc(100% - 18px) auto !important;
}

.large-badge .mud-badge .mud-svg-icon {
    font-size: 18px !important;
}

.mud-badge-root.large-badge.full-width-badge-container {
    display: block !important;
}

.custom-mobile-selectbox div.mud-input-slot.mud-input-root {
    height: fit-content;
}

.custom-mobile-selectbox div.mud-input-slot.mud-input-root div[role="group"] {
    align-items: center;
    padding: .5em 1em;
}

.tab-header-class {
    background-color: var(--mud-palette-action-default-hover) !important;
}

.tab-header-active-tab {
    background-color: white !important;
}

.mud-chat-bubble:has(.deleted-comment) {
    background-color: var(--mud-palette-gray-light) !important;
    font-style: italic !important;
    color: var(--mud-palette-gray-dark) !important;
}

.mud-chat-bubble:has(.deleted-comment) p {
    font-weight: 400 !important;
}

.mud-nav-group.fix-styling {
    margin-left: 1em;
}

.mud-nav-group.fix-styling .mud-nav-link-text {
    font-size: 16px;
    font-weight: 400 !important;
    margin-left: .2em;
}

.mud-table-dense th.work-schedule-td,
.mud-table-dense td.mud-table-cell:has(.work-schedule-td) {
    text-align: center;
    padding: 0 !important;
    width: 30px;
}

.mud-table-dense td.mud-table-cell:has(.work-schedule-td.empty) {
    background-color: #ededed;
}

.mud-table-cell.menu-cell {
    padding: 0 !important;
    padding-inline: 0 !important;
}

.mud-table-cell.menu-cell .mud-menu {
    padding: 6px 24px 6px 16px !important;
    padding-inline-start: 16px !important;
    padding-inline-end: 24px !important;
}

@media only screen and (max-width: 960px) {
    .task-dropzone {
        pointer-events: none;
    }
}

@-webkit-keyframes breathing {
    0% {
        -webkit-transform: scale(0.9);
        -ms-transform: scale(0.9);
        transform: scale(0.9);
    }

    50% {
        -webkit-transform: scale(1);
        -ms-transform: scale(1);
        transform: scale(1);
    }

    100% {
        -webkit-transform: scale(0.9);
        -ms-transform: scale(0.9);
        transform: scale(0.9);
    }
}

@keyframes breathing {
    0% {
        -webkit-transform: scale(0.9);
        -ms-transform: scale(0.9);
        transform: scale(0.9);
    }

    50% {
        -webkit-transform: scale(1);
        -ms-transform: scale(1);
        transform: scale(1);
    }

    100% {
        -webkit-transform: scale(0.9);
        -ms-transform: scale(0.9);
        transform: scale(0.9);
    }
}