﻿/* The default disabled buttons didn't look all that disabled */
[data-bs-theme=dark] button.btn-primary:disabled {
    opacity: 0.25;
    border: solid 1px #aaaaaa;
}
[data-bs-theme=light] button.btn-primary:disabled {
    opacity: 0.25;
    border: solid 1px #666666;
}

/* Modify HTML helper validation messages */
/* You can use SVG data directly, but you have to replace "s with 's */
.field-validation-error::before {
    content: url("data:image/svg+xml; utf8, <svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='red' class='bi bi-exclamation-circle' viewBox='0 0 16 16'><path d='M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14m0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16' stroke='red' stroke-width='.25'/><path d='M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0M7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0z' stroke='red' stroke-width='0.25'/></svg>");
    margin-right: 6px;
    display: inline-block;
    vertical-align: middle;
    shape-rendering: optimizeQuality;
}

#serviceError::before, #onlineError::before {
    content: url("data:image/svg+xml; utf8, <svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='red' class='bi bi-exclamation-circle' viewBox='0 0 16 16'><path d='M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14m0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16' stroke='red' stroke-width='.25'/><path d='M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0M7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0z' stroke='red' stroke-width='0.25'/></svg>");
    margin-right: 6px;
    display: inline-block;
    vertical-align: middle;
    shape-rendering: optimizeQuality;
}

.fa-xs {
    font-size: .75em;
    line-height: .08333em;
    vertical-align: .125em;
}

.fa-sm {
    font-size: .875em;
    line-height: .07143em;
    vertical-align: .05357em;
}

.btn-info-subtle {
    --bs-btn-color: var(--bs-info-text-emphasis) !important;
    --bs-btn-bg: var(--bs-info-bg-subtle) !important;
    --bs-btn-border-color: var(--bs-info-border-subtle) !important;
    --bs-btn-link-color: var(--bs-info-text-emphasis) !important;
    --bs-btn-hover-color: var(--bs-info-text-emphasis) !important;
    --bs-btn-hover-bg: var(--bs-info-bg-subtle) !important;
    --bs-btn-hover-border-color: var(--bs-info-border-subtle) !important;
    --bs-btn-focus-shadow-rgb: 11, 172, 204;
    --bs-btn-active-color: var(--bs-info-text-emphasis) !important;
    --bs-btn-active-bg: var(--bs-info-bg-subtle) !important;
    --bs-btn-active-bg: var(--bs-info-border-subtle) !important;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}

.carousel .carousel-control-prev {
    z-index: 9;
    justify-content: start;
}
.carousel .carousel-control-next {
    z-index: 9;
    justify-content: end;
}
[data-bs-theme=dark] .carousel .carousel-indicators button.active {
    background-color: #0d6efd;
}
[data-bs-theme=light] .carousel .carousel-indicators button.active {
    background-color: #0d6efd;
}
[data-bs-theme=dark] .carousel .carousel-control-prev {
    filter: invert(75%);
}
[data-bs-theme=dark] .carousel .carousel-control-next {
    filter: invert(75%);
}

.invert-x {
    transform: scaleX(-1);
}

.flex-24 {
    flex-basis: 24px;
}
.flex-32 {
    flex-basis: 32px;
}

.grid-parent {
    display: grid;
}

.grid-child {
    grid-column-start: 1;
    grid-column-end: 2;
    grid-row-start: 1;
    grid-row-end: 2;
}

.bd-callout {
    --bs-link-color-rgb: var(--bd-callout-link) !important;
    --bs-code-color: var(--bd-callout-code-color) !important;
    padding: 1.25rem !important;
    margin-top: 1.25rem !important;
    margin-bottom: 1.25rem !important;
    color: var(--bd-callout-color, inherit) !important;
    background-color: var(--bd-callout-bg, var(--bs-gray-100)) !important;
    border-left: 0.25rem solid var(--bd-callout-border, var(--bs-gray-300)) !important;
}

.bd-callout-info {
    --bd-callout-color: var(--bs-info-text-emphasis) !important;
    --bd-callout-bg: var(--bs-info-bg-subtle) !important;
    --bd-callout-border: var(--bs-info-border-subtle) !important;
}

.bd-callout-success {
    --bd-callout-color: var(--bs-success-text-emphasis) !important;
    --bd-callout-bg: var(--bs-success-bg-subtle) !important;
    --bd-callout-border: var(--bs-success-border-subtle) !important;
}

.bd-callout-warning {
    --bd-callout-color: var(--bs-warning-text-emphasis) !important;
    --bd-callout-bg: var(--bs-warning-bg-subtle) !important;
    --bd-callout-border: var(--bs-warning-border-subtle) !important;
}

.bd-callout-danger {
    --bd-callout-color: var(--bs-danger-text-emphasis) !important;
    --bd-callout-bg: var(--bs-danger-bg-subtle) !important;
    --bd-callout-border: var(--bs-danger-border-subtle) !important;
}

.bd-callout-dark {
    --bd-callout-color: var(--bs-dark-text-emphasis) !important;
    --bd-callout-bg: var(--bs-dark-bg-subtle) !important;
    --bd-callout-border: var(--bs-dark-border-subtle) !important;
}

.bd-callout-light {
    --bd-callout-color: var(--bs-light-text-emphasis) !important;
    --bd-callout-bg: var(--bs-light-bg-subtle) !important;
    --bd-callout-border: var(--bs-light-border-subtle) !important;
}

.plate-img {
    position: relative;
    text-align: center;
    width: 100%;
    max-width: 500px;
    font-size: 2vw;
}

.text-overlay-plate {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.6, 1.7);
    font-weight: 600;
    font-size: clamp(70px, 12vw, 110px);
    font-family: monospace;
    white-space: nowrap;
    display: block;
}

.compact-text {
    font-size: 0.75rem; 
    line-height: 80%; 
    margin: 0; 
}

.debug-border-red {
    border: 2px solid red;
}

.debug-border-green {
    border: 2px solid green;
}

.debug-border-blue {
    border: 2px solid blue;
}

/* select2 dark mode support */
/*body .select2-container--bootstrap-5 .select2-selection {
    color: var(--bs-body-color);
    background-color: var(--bs-body-bg);
    border: var(--bs-border-width) solid var(--bs-border-color);
}

body
.select2-container--bootstrap-5.select2-container--focus
.select2-selection,
body
.select2-container--bootstrap-5.select2-container--open
.select2-selection {
    border-color: var(--bs-link-hover-color);
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}

body
.select2-container--bootstrap-5
.select2-selection--multiple
.select2-selection__clear,
body
.select2-container--bootstrap-5
.select2-selection--single
.select2-selection__clear {
    background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23676a6d'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") 50%/0.75rem auto no-repeat;
}

body
.select2-container--bootstrap-5
.select2-selection--multiple
.select2-selection__clear:hover,
body
.select2-container--bootstrap-5
.select2-selection--single
.select2-selection__clear:hover {
    background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") 50%/0.75rem auto no-repeat;
}

body .select2-container--bootstrap-5 .select2-dropdown {
    color: var(--bs-body-color);
    background-color: var(--bs-body-bg);
    border-color: var(--bs-link-hover-color);
}

body
.select2-container--bootstrap-5
.select2-dropdown
.select2-search
.select2-search__field {
    color: var(--bs-body-color);
    background-color: var(--bs-body-bg);
    background-clip: padding-box;
    border: var(--bs-border-width) solid var(--bs-border-color);
}

body
.select2-container--bootstrap-5
.select2-dropdown
.select2-search
.select2-search__field:focus {
    border-color: var(--bs-link-hover-color);
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}

body
.select2-container--bootstrap-5
.select2-dropdown
.select2-results__options
.select2-results__option.select2-results__message {
    color: #6c757d;
}

body
.select2-container--bootstrap-5
.select2-dropdown
.select2-results__options
.select2-results__option.select2-results__option--highlighted {
    color: var(--bs-body-color);
    background-color: var(--bs-light-bg-subtle) !important;
}

body
.select2-container--bootstrap-5
.select2-dropdown
.select2-results__options
.select2-results__option.select2-results__option--selected,
body
.select2-container--bootstrap-5
.select2-dropdown
.select2-results__options
.select2-results__option[aria-selected="true"]:not( .select2-results__option--highlighted ) {
    color: var(--bs-body-color);
    background-color: var(--bs-dark-bg-subtle);
}

body
.select2-container--bootstrap-5
.select2-dropdown
.select2-results__options
.select2-results__option.select2-results__option--disabled,
body
.select2-container--bootstrap-5
.select2-dropdown
.select2-results__options
.select2-results__option[aria-disabled="true"] {
    color: #6c757d;
}

body
.select2-container--bootstrap-5
.select2-dropdown
.select2-results__options
.select2-results__option[role="group"]
.select2-results__group {
    color: #6c757d;
}

body
.select2-container--bootstrap-5
.select2-selection--single
.select2-selection__rendered {
    color: var(--bs-body-color);
}

body
.select2-container--bootstrap-5
.select2-selection--single
.select2-selection__rendered
.select2-selection__placeholder {
    color: var(--bs-body-color);
}

body
.select2-container--bootstrap-5
.select2-selection--multiple
.select2-selection__rendered
.select2-selection__choice {
    color: var(--bs-body-color);
    border: var(--bs-border-width) solid var(--bs-border-color);
}

body
.select2-container--bootstrap-5.select2-container--disabled
.select2-selection,
body
.select2-container--bootstrap-5.select2-container--disabled.select2-container--focus
.select2-selection {
    color: #6c757d;
    background-color: var(--bs-light-bg-subtle);
    border-color: var(--bs-dark-bg-subtle);
}

.is-valid + body .select2-container--bootstrap-5 .select2-selection,
.was-validated
select:valid + body
.select2-container--bootstrap-5
.select2-selection {
    border-color: #198754;
}

.is-valid + body
.select2-container--bootstrap-5.select2-container--focus
.select2-selection,
.is-valid + body
.select2-container--bootstrap-5.select2-container--open
.select2-selection,
.was-validated
select:valid + body
.select2-container--bootstrap-5.select2-container--focus
.select2-selection,
.was-validated
select:valid + body
.select2-container--bootstrap-5.select2-container--open
.select2-selection {
    border-color: #198754;
    box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25);
}

.is-invalid + body .select2-container--bootstrap-5 .select2-selection,
.was-validated
select:invalid + body
.select2-container--bootstrap-5
.select2-selection {
    border-color: #dc3545;
}

.is-invalid + body
.select2-container--bootstrap-5.select2-container--focus
.select2-selection,
.is-invalid + body
.select2-container--bootstrap-5.select2-container--open
.select2-selection,
.was-validated
select:invalid + body
.select2-container--bootstrap-5.select2-container--focus
.select2-selection,
.was-validated
select:invalid + body
.select2-container--bootstrap-5.select2-container--open
.select2-selection {
    border-color: #dc3545;
    box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);
}

html[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-selection--single {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
}

html[data-bs-theme="dark"] .form-select {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
}

*/