/* Generic Blazor Server resilience/reconnect chrome, ported from BPW-Viewer-PPC's app.css.
   PPC-specific styles (nav-pills, filterName, postedTimes, etc.) intentionally dropped. */

html, body {
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

a, .btn-link {
    color: #006bb7;
}

.btn-primary {
    color: #fff;
    background-color: #1b6ec2;
    border-color: #1861ac;
}

.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;
    border: none;
    outline: 0;
}

.btn:focus {
    box-shadow: 0 0 0 0.1rem white, 0 0 0 0.35rem #258cfb;
    border: none;
    outline: 0;
}

.btn-secondary {
  color: #333;
  background-color: #fff;
  border-color: #ccc;
}

h1:focus,
h2:focus {
    outline: none;
}

.outline-on-focus:focus-within {
    border: none;
    outline: none;
    box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

/* The same keyboard focus ring on every focusable element (links, checkboxes, plain buttons),
   not just the .btn/.form-control ones above. :focus-visible leaves mouse clicks alone. */
a:focus-visible,
button:focus-visible,
input[type=checkbox]:focus-visible,
input[type=radio]:focus-visible {
    outline: none;
    box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

/* Checkboxes and radios are small, so the ring above is hard to see on them; use the thicker ring
   the .btn rule uses. */
input[type=checkbox]:focus-visible,
input[type=radio]:focus-visible {
    box-shadow: 0 0 0 0.1rem white, 0 0 0 0.35rem #258cfb;
}

.content {
    padding-top: 1.1rem;
}

.valid.modified:not([type=checkbox]) {
    outline: 1px solid #26b050;
}

.invalid {
    outline: 1px solid #e50000;
}

.validation-message {
    color: #e50000;
}

.highlighted-keyword {
    background-color: #ffef8a;
    font-weight: bold;
}

.blazor-error-boundary {
    background: #b32121;
    padding: 1rem 1rem 1rem 1rem;
    color: white;
}

    .blazor-error-boundary::after {
        content: "An error has occurred."
    }

.my-reconnect-modal {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 3;
    overflow: hidden;
    background-color: #fff;
    text-align: center;
    font-weight: bold;
    padding-top: 40px;
}

.spinner {
    width: 78px;
    height: 78px;
    margin-top: 10px;
    margin-bottom: 10px;
    border-radius: 50%;
    border: 5px solid #eaf5fe;
    border-right-color: #5597d4;
    -webkit-animation: rotateSpinner 800ms linear infinite;
    animation: rotateSpinner 800ms linear infinite;
}

@-webkit-keyframes rotateSpinner {
    to {
        transform: rotate(360deg);
    }
}

@keyframes rotateSpinner {
    to {
        transform: rotate(360deg);
    }
}

.justify-content-center {
    justify-content: center !important;
}

.d-flex {
    display: flex !important;
}
