:root {
    --fancybox-zIndex: 2000;
}

h1:focus {
    outline: none;
}

.valid.modified:not([type=checkbox]) {
    outline: 1px solid #26b050;
}

.invalid {
    outline: 1px solid #e50000;
}

.validation-message {
    color: #e50000;
}

.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."
    }

.darker-border-checkbox.form-check-input {
    border-color: #929292;
}

div.imageupload input {
    position: fixed;
    top: -100px;
    left: -100px;
    width: 0.1px;
    height: 0.1px;
    overflow: hidden;
}

div.imageupload label {
    /*width: 100px;
    height: 20px;
    border: 1px solid #000000;
    padding: 10px;*/
}

.dropdown-item {
    color: #041c2c !important;
    justify-content: unset !important;
}

.fs-7 {
    font-size: 0.85rem !important;
}

.fs-8 {
    font-size: 0.75rem !important;
}

.fs-9 {
    font-size: 0.65rem !important;
}

.input-group {
    align-self: flex-start;
}

.input-group-append, .input-group-prepend {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.cursor-pointer {
    cursor: pointer;
}

.form-check {
    min-height: unset;
}

.form-control .dropdown .btn {
    border: 0;
    box-shadow: unset;
}


.pastel-pink {
    color: #FFD1DC;
}

.pastel-blue {
    color: #AEC6CF;
}

.pastel-green {
    color: #77DD77;
}

.pastel-yellow {
    color: #FDFD96;
}

.pastel-purple {
    color: #CBAACB;
}

.pastel-orange {
    color: #FFB347;
}

.pastel-teal {
    color: #B2DFDB;
}

.pastel-lavender {
    color: #E6E6FA;
}

.pastel-mint {
    color: #98FF98;
}

.pastel-peach {
    color: #FFDAB9;
}

.vibrant-red {
    color: #FF0000;
}

.vibrant-blue {
    color: #0000FF;
}

.vibrant-green {
    color: #00FF00;
}

.vibrant-yellow {
    color: #FFFF00;
}

.vibrant-orange {
    color: #FFA500;
}

.vibrant-purple {
    color: #800080;
}

.vibrant-pink {
    color: #FF69B4;
}

.vibrant-teal {
    color: #008080;
}

.vibrant-lime {
    color: #00FF00;
}

.vibrant-cyan {
    color: #00FFFF;
}

.midnight-black {
    color: #000033;
}

.slate-grey {
    color: #708090;
}

.subtle-text-shadow {
    text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.2);
}

.section__inverse .section-header p a.btn, .section__inverse .section-content a.btn {
    color: #212529;
}

    .section__inverse .section-header p a.btn:focus, .section__inverse .section-content a.btn:focus {
        color: #fff;
    }

    .section__inverse .section-header p a.btn:hover, .section__inverse .section-content a.btn:hover {
        color: #fff;
    }

.sortableCollectionItemImages .list-group-item {
    padding: 0;
    border: 0;
}

.text-jcblue {
    color: #9FD9EF;
}

[data-jquery-typing]::after {
    margin-left: .2em;
    content: "|";
    -webkit-animation: blinkCursor 1.2s linear infinite;
    animation: blinkCursor 1.2s linear infinite;
}


.list-group.header .list-group-item:last-child {
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
    border-bottom: 0;
}

.list-group.withheader .list-group-item:first-child {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.dropdown-toggle::after {
    content: "";
}

div.modal-page-loading {
    opacity: 0.5 !important;
    font-size: 1.5rem !important;
}

    div.modal-page-loading .modal-content-page-loading {
        background: #000;
        border: 1px solid #888;
        border-radius: 20px;
        padding: 1rem;
    }

    div.modal-page-loading .spinner-border {
        --bs-spinner-width: 6rem;
        --bs-spinner-height: 6rem;
        margin-bottom: 1rem !important;
    }

.collectiontemplates .card-img-top {
    width: 100%;
    height: 12vw;
    object-fit: cover;
}

.collectiontemplates .cardtitle {
    text-shadow: 2px 2px 5px #000;
}

.animate-reveal-icon {
    overflow: hidden;
    white-space: nowrap;
    width: 0;
    animation: reveal 1s forwards, fadeOut 1s 3s forwards, resetOpacity 0s 4s;
}

@keyframes reveal {
    from {
        width: 0;
    }

    to {
        width: 20px;
    }
}

@keyframes fadeOut {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
    }
}

@keyframes resetOpacity {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

i.saveindicator.fa-solid.fa-spin {
    font-size: 1rem;
    animation-duration: 1.2s;
}

.saveindicator.fa-check {
    font-size: 1.2rem;
}

.hasSaveIndicator {
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

    .hasSaveIndicator .fixedWidthIndicator {
        width: 24px;
        display: inline-block;
    }

.input-group-append .hasSaveIndicator {
    background-color: #f6f8ff;
    border-left: 0;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

.input-group > div:not(:last-child) {
    border-right: 0;
}

.dropdown-item.active, .dropdown-item:active {
    background: #75B1C6;
}

.btn-group > .btn:not(:last-of-type) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.input-group-append .dropdown .btn {
    background-color: #e9ecef;
    color: #212529;
    border: 1px solid rgba(108, 117, 125, 0.25);
    border-radius: 0.25rem;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

.input-group-prepend {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.bg-black {
    background-color: #000;
}

.img-thumbnail-xs {
    width: 100px;
    height: 100px;
    object-fit: cover;
}

.img-thumbnail-s {
    width: 150px;
    height: 150px;
    object-fit: cover;
}

.dropdown-menu {
    z-index: 1035;
}


img.img-placeholder-fade {
    filter: saturate(30%) brightness(150%);
}

.calculationTiles .col-sm-2.col-xs-4, .calculationTiles .col-sm-4.col-xs-8 {
    padding: 5px;
}

.calculationTiles .tile {
    background: white;
    padding: 5px;
    transition: transform 0.2s ease;
    color: #333;
}

    .calculationTiles .tile:hover {
        transform: scale(1.02);
    }

.dropdown-menu li {
    position: relative;
}

.dropdown-menu .dropdown-submenu {
    display: none;
    position: absolute;
    left: 100%;
    top: -7px;
}

.dropdown-menu .dropdown-submenu-left {
    right: 100%;
    left: auto;
}

.dropdown-menu > li:hover > .dropdown-submenu {
    display: block;
}


.form-control.is-evaluating {
    border-color: #ffc107; /* Bootstrap warning color */
    padding-right: calc(1.5em + 0.75rem);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23ffc107' viewBox='0 0 16 16'%3e%3cpath d='M8 3a5 5 0 1 0 5 5h1.5a6.5 6.5 0 1 1-6.5-6.5V3z'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right calc(0.375em + 0.1875rem) center;
    background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
