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

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

.btn-primary,
span.language-tag {
    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;
}

h1:focus {
    outline: none;
}

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

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

.validation-message {
    color: #e50150;
}

.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."
    }

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
    color: var(--bs-secondary-color);
    text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
    text-align: start;
}

.nav-link {
    color: #FFFFFF !important;
}

.breadcrumb {
    --bs-breadcrumb-divider: "›";
    margin-bottom: 0.25rem;
}

/* A language by its culture code, as a small blue pill. The language buttons of the translation editor
   (btn btn-sm language-tag) and the languages of a resource file (a span) look the same. */
.language-tag {
    border-radius: 999px;
    font-family: var(--bs-font-monospace);
}

/* A span is no button: the size of btn-sm, with the colours of btn-primary above. */
span.language-tag {
    display: inline-block;
    padding: 0.25rem 0.5rem;
    font-size: 0.875rem;
    line-height: 1.5;
    border-style: solid;
    border-width: var(--bs-border-width);
    cursor: default;
}

.language-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.375rem;
}

/* A percentage as a class, because the Content-Security-Policy refuses a style attribute: percentage-0 up to
   percentage-100 set --percentage, a progress bar takes its width from it, and the language pie of
   TranslateProject its filled part. */
.progress-bar {
    width: calc(var(--percentage, 0) * 1%);
}

.percentage-0 { --percentage: 0; }
.percentage-1 { --percentage: 1; }
.percentage-2 { --percentage: 2; }
.percentage-3 { --percentage: 3; }
.percentage-4 { --percentage: 4; }
.percentage-5 { --percentage: 5; }
.percentage-6 { --percentage: 6; }
.percentage-7 { --percentage: 7; }
.percentage-8 { --percentage: 8; }
.percentage-9 { --percentage: 9; }
.percentage-10 { --percentage: 10; }
.percentage-11 { --percentage: 11; }
.percentage-12 { --percentage: 12; }
.percentage-13 { --percentage: 13; }
.percentage-14 { --percentage: 14; }
.percentage-15 { --percentage: 15; }
.percentage-16 { --percentage: 16; }
.percentage-17 { --percentage: 17; }
.percentage-18 { --percentage: 18; }
.percentage-19 { --percentage: 19; }
.percentage-20 { --percentage: 20; }
.percentage-21 { --percentage: 21; }
.percentage-22 { --percentage: 22; }
.percentage-23 { --percentage: 23; }
.percentage-24 { --percentage: 24; }
.percentage-25 { --percentage: 25; }
.percentage-26 { --percentage: 26; }
.percentage-27 { --percentage: 27; }
.percentage-28 { --percentage: 28; }
.percentage-29 { --percentage: 29; }
.percentage-30 { --percentage: 30; }
.percentage-31 { --percentage: 31; }
.percentage-32 { --percentage: 32; }
.percentage-33 { --percentage: 33; }
.percentage-34 { --percentage: 34; }
.percentage-35 { --percentage: 35; }
.percentage-36 { --percentage: 36; }
.percentage-37 { --percentage: 37; }
.percentage-38 { --percentage: 38; }
.percentage-39 { --percentage: 39; }
.percentage-40 { --percentage: 40; }
.percentage-41 { --percentage: 41; }
.percentage-42 { --percentage: 42; }
.percentage-43 { --percentage: 43; }
.percentage-44 { --percentage: 44; }
.percentage-45 { --percentage: 45; }
.percentage-46 { --percentage: 46; }
.percentage-47 { --percentage: 47; }
.percentage-48 { --percentage: 48; }
.percentage-49 { --percentage: 49; }
.percentage-50 { --percentage: 50; }
.percentage-51 { --percentage: 51; }
.percentage-52 { --percentage: 52; }
.percentage-53 { --percentage: 53; }
.percentage-54 { --percentage: 54; }
.percentage-55 { --percentage: 55; }
.percentage-56 { --percentage: 56; }
.percentage-57 { --percentage: 57; }
.percentage-58 { --percentage: 58; }
.percentage-59 { --percentage: 59; }
.percentage-60 { --percentage: 60; }
.percentage-61 { --percentage: 61; }
.percentage-62 { --percentage: 62; }
.percentage-63 { --percentage: 63; }
.percentage-64 { --percentage: 64; }
.percentage-65 { --percentage: 65; }
.percentage-66 { --percentage: 66; }
.percentage-67 { --percentage: 67; }
.percentage-68 { --percentage: 68; }
.percentage-69 { --percentage: 69; }
.percentage-70 { --percentage: 70; }
.percentage-71 { --percentage: 71; }
.percentage-72 { --percentage: 72; }
.percentage-73 { --percentage: 73; }
.percentage-74 { --percentage: 74; }
.percentage-75 { --percentage: 75; }
.percentage-76 { --percentage: 76; }
.percentage-77 { --percentage: 77; }
.percentage-78 { --percentage: 78; }
.percentage-79 { --percentage: 79; }
.percentage-80 { --percentage: 80; }
.percentage-81 { --percentage: 81; }
.percentage-82 { --percentage: 82; }
.percentage-83 { --percentage: 83; }
.percentage-84 { --percentage: 84; }
.percentage-85 { --percentage: 85; }
.percentage-86 { --percentage: 86; }
.percentage-87 { --percentage: 87; }
.percentage-88 { --percentage: 88; }
.percentage-89 { --percentage: 89; }
.percentage-90 { --percentage: 90; }
.percentage-91 { --percentage: 91; }
.percentage-92 { --percentage: 92; }
.percentage-93 { --percentage: 93; }
.percentage-94 { --percentage: 94; }
.percentage-95 { --percentage: 95; }
.percentage-96 { --percentage: 96; }
.percentage-97 { --percentage: 97; }
.percentage-98 { --percentage: 98; }
.percentage-99 { --percentage: 99; }
.percentage-100 { --percentage: 100; }
