/*
 * Extra theme colors for the layout 'colors' rotation.
 *
 * The theme only generates utility classes for its theme colors
 * (primary, secondary, success, info, warning, danger, purple, light, dark).
 * This file adds the standard Bootstrap utility set (text-, text-*-emphasis, bg-,
 * bg-*-subtle, border-, border-*-subtle, text-bg-, link-) for the extra colors
 * blue, pink, orange, green, violet, fuchsia, brown, slate,
 * following the exact derivation patterns of app.css
 * (light: emphasis = shade 15%, bg-subtle = tint 85%, border-subtle = tint 60%;
 * dark: emphasis = tint 40%, bg-subtle = rgba .2, border-subtle = shade 40%).
 *
 * blue and pink are the theme's own palette values (--theme-blue / --theme-pink).
 * The other base colors sit at a mid luminance so that text-<color> on
 * bg-<color>-subtle reads at 3.4:1 or better in both the light and the dark mode.
 */

:root,
[data-bs-theme=light] {
	--theme-blue-rgb: 74, 129, 212;
	--theme-pink-rgb: 246, 114, 167;
	--theme-orange-rgb: 205, 98, 11;
	--theme-green-rgb: 43, 147, 86;
	--theme-violet-rgb: 165, 101, 210;
	--theme-fuchsia-rgb: 212, 52, 212;
	--theme-brown-rgb: 188, 109, 63;
	--theme-slate-rgb: 110, 132, 163;
	--theme-blue-text-emphasis: #3f6eb4;
	--theme-pink-text-emphasis: #d1618e;
	--theme-orange-text-emphasis: #ae5309;
	--theme-green-text-emphasis: #257d49;
	--theme-violet-text-emphasis: #8c56b3;
	--theme-fuchsia-text-emphasis: #b42cb4;
	--theme-brown-text-emphasis: #a05d36;
	--theme-slate-text-emphasis: #5e708b;
	--theme-blue-bg-subtle: #e4ecf9;
	--theme-pink-bg-subtle: #feeaf2;
	--theme-orange-bg-subtle: #f8e7da;
	--theme-green-bg-subtle: #dfefe6;
	--theme-violet-bg-subtle: #f2e8f8;
	--theme-fuchsia-bg-subtle: #f9e1f9;
	--theme-brown-bg-subtle: #f5e9e2;
	--theme-slate-bg-subtle: #e9edf1;
	--theme-blue-border-subtle: #b7cdee;
	--theme-pink-border-subtle: #fbc7dc;
	--theme-orange-border-subtle: #ebc09d;
	--theme-green-border-subtle: #aad4bb;
	--theme-violet-border-subtle: #dbc1ed;
	--theme-fuchsia-border-subtle: #eeaeee;
	--theme-brown-border-subtle: #e4c5b2;
	--theme-slate-border-subtle: #c5ceda;
}

[data-bs-theme=dark] {
	--theme-blue-text-emphasis: #92b3e5;
	--theme-pink-text-emphasis: #faaaca;
	--theme-orange-text-emphasis: #e1a16d;
	--theme-green-text-emphasis: #80be9a;
	--theme-violet-text-emphasis: #c9a3e4;
	--theme-fuchsia-text-emphasis: #e585e5;
	--theme-brown-text-emphasis: #d7a78c;
	--theme-slate-text-emphasis: #a8b5c8;
	--theme-blue-bg-subtle: rgba(74, 129, 212, 0.2);
	--theme-pink-bg-subtle: rgba(246, 114, 167, 0.2);
	--theme-orange-bg-subtle: rgba(205, 98, 11, 0.2);
	--theme-green-bg-subtle: rgba(43, 147, 86, 0.2);
	--theme-violet-bg-subtle: rgba(165, 101, 210, 0.2);
	--theme-fuchsia-bg-subtle: rgba(212, 52, 212, 0.2);
	--theme-brown-bg-subtle: rgba(188, 109, 63, 0.2);
	--theme-slate-bg-subtle: rgba(110, 132, 163, 0.2);
	--theme-blue-border-subtle: #2c4d7f;
	--theme-pink-border-subtle: #944464;
	--theme-orange-border-subtle: #7b3b07;
	--theme-green-border-subtle: #1a5834;
	--theme-violet-border-subtle: #633d7e;
	--theme-fuchsia-border-subtle: #7f1f7f;
	--theme-brown-border-subtle: #714126;
	--theme-slate-border-subtle: #424f62;
}

.text-bg-blue {
	color: #fff !important;
	background-color: RGBA(var(--theme-blue-rgb), var(--theme-bg-opacity, 1)) !important;
}

.text-bg-pink {
	color: #fff !important;
	background-color: RGBA(var(--theme-pink-rgb), var(--theme-bg-opacity, 1)) !important;
}

.text-bg-orange {
	color: #fff !important;
	background-color: RGBA(var(--theme-orange-rgb), var(--theme-bg-opacity, 1)) !important;
}

.text-bg-green {
	color: #fff !important;
	background-color: RGBA(var(--theme-green-rgb), var(--theme-bg-opacity, 1)) !important;
}

.text-bg-violet {
	color: #fff !important;
	background-color: RGBA(var(--theme-violet-rgb), var(--theme-bg-opacity, 1)) !important;
}

.text-bg-fuchsia {
	color: #fff !important;
	background-color: RGBA(var(--theme-fuchsia-rgb), var(--theme-bg-opacity, 1)) !important;
}

.text-bg-brown {
	color: #fff !important;
	background-color: RGBA(var(--theme-brown-rgb), var(--theme-bg-opacity, 1)) !important;
}

.text-bg-slate {
	color: #fff !important;
	background-color: RGBA(var(--theme-slate-rgb), var(--theme-bg-opacity, 1)) !important;
}

.link-blue {
	color: RGBA(var(--theme-blue-rgb), var(--theme-link-opacity, 1)) !important;
	text-decoration-color: RGBA(var(--theme-blue-rgb), var(--theme-link-underline-opacity, 1)) !important;
}
.link-blue:hover, .link-blue:focus {
	color: RGBA(63, 110, 180, var(--theme-link-opacity, 1)) !important;
	text-decoration-color: RGBA(63, 110, 180, var(--theme-link-underline-opacity, 1)) !important;
}

.link-pink {
	color: RGBA(var(--theme-pink-rgb), var(--theme-link-opacity, 1)) !important;
	text-decoration-color: RGBA(var(--theme-pink-rgb), var(--theme-link-underline-opacity, 1)) !important;
}
.link-pink:hover, .link-pink:focus {
	color: RGBA(209, 97, 142, var(--theme-link-opacity, 1)) !important;
	text-decoration-color: RGBA(209, 97, 142, var(--theme-link-underline-opacity, 1)) !important;
}

.link-orange {
	color: RGBA(var(--theme-orange-rgb), var(--theme-link-opacity, 1)) !important;
	text-decoration-color: RGBA(var(--theme-orange-rgb), var(--theme-link-underline-opacity, 1)) !important;
}
.link-orange:hover, .link-orange:focus {
	color: RGBA(174, 83, 9, var(--theme-link-opacity, 1)) !important;
	text-decoration-color: RGBA(174, 83, 9, var(--theme-link-underline-opacity, 1)) !important;
}

.link-green {
	color: RGBA(var(--theme-green-rgb), var(--theme-link-opacity, 1)) !important;
	text-decoration-color: RGBA(var(--theme-green-rgb), var(--theme-link-underline-opacity, 1)) !important;
}
.link-green:hover, .link-green:focus {
	color: RGBA(37, 125, 73, var(--theme-link-opacity, 1)) !important;
	text-decoration-color: RGBA(37, 125, 73, var(--theme-link-underline-opacity, 1)) !important;
}

.link-violet {
	color: RGBA(var(--theme-violet-rgb), var(--theme-link-opacity, 1)) !important;
	text-decoration-color: RGBA(var(--theme-violet-rgb), var(--theme-link-underline-opacity, 1)) !important;
}
.link-violet:hover, .link-violet:focus {
	color: RGBA(140, 86, 179, var(--theme-link-opacity, 1)) !important;
	text-decoration-color: RGBA(140, 86, 179, var(--theme-link-underline-opacity, 1)) !important;
}

.link-fuchsia {
	color: RGBA(var(--theme-fuchsia-rgb), var(--theme-link-opacity, 1)) !important;
	text-decoration-color: RGBA(var(--theme-fuchsia-rgb), var(--theme-link-underline-opacity, 1)) !important;
}
.link-fuchsia:hover, .link-fuchsia:focus {
	color: RGBA(180, 44, 180, var(--theme-link-opacity, 1)) !important;
	text-decoration-color: RGBA(180, 44, 180, var(--theme-link-underline-opacity, 1)) !important;
}

.link-brown {
	color: RGBA(var(--theme-brown-rgb), var(--theme-link-opacity, 1)) !important;
	text-decoration-color: RGBA(var(--theme-brown-rgb), var(--theme-link-underline-opacity, 1)) !important;
}
.link-brown:hover, .link-brown:focus {
	color: RGBA(160, 93, 54, var(--theme-link-opacity, 1)) !important;
	text-decoration-color: RGBA(160, 93, 54, var(--theme-link-underline-opacity, 1)) !important;
}

.link-slate {
	color: RGBA(var(--theme-slate-rgb), var(--theme-link-opacity, 1)) !important;
	text-decoration-color: RGBA(var(--theme-slate-rgb), var(--theme-link-underline-opacity, 1)) !important;
}
.link-slate:hover, .link-slate:focus {
	color: RGBA(94, 112, 139, var(--theme-link-opacity, 1)) !important;
	text-decoration-color: RGBA(94, 112, 139, var(--theme-link-underline-opacity, 1)) !important;
}

.border-blue {
	--theme-border-opacity: 1;
	border-color: rgba(var(--theme-blue-rgb), var(--theme-border-opacity)) !important;
}

.border-pink {
	--theme-border-opacity: 1;
	border-color: rgba(var(--theme-pink-rgb), var(--theme-border-opacity)) !important;
}

.border-orange {
	--theme-border-opacity: 1;
	border-color: rgba(var(--theme-orange-rgb), var(--theme-border-opacity)) !important;
}

.border-green {
	--theme-border-opacity: 1;
	border-color: rgba(var(--theme-green-rgb), var(--theme-border-opacity)) !important;
}

.border-violet {
	--theme-border-opacity: 1;
	border-color: rgba(var(--theme-violet-rgb), var(--theme-border-opacity)) !important;
}

.border-fuchsia {
	--theme-border-opacity: 1;
	border-color: rgba(var(--theme-fuchsia-rgb), var(--theme-border-opacity)) !important;
}

.border-brown {
	--theme-border-opacity: 1;
	border-color: rgba(var(--theme-brown-rgb), var(--theme-border-opacity)) !important;
}

.border-slate {
	--theme-border-opacity: 1;
	border-color: rgba(var(--theme-slate-rgb), var(--theme-border-opacity)) !important;
}

.border-blue-subtle {
	border-color: var(--theme-blue-border-subtle) !important;
}

.border-pink-subtle {
	border-color: var(--theme-pink-border-subtle) !important;
}

.border-orange-subtle {
	border-color: var(--theme-orange-border-subtle) !important;
}

.border-green-subtle {
	border-color: var(--theme-green-border-subtle) !important;
}

.border-violet-subtle {
	border-color: var(--theme-violet-border-subtle) !important;
}

.border-fuchsia-subtle {
	border-color: var(--theme-fuchsia-border-subtle) !important;
}

.border-brown-subtle {
	border-color: var(--theme-brown-border-subtle) !important;
}

.border-slate-subtle {
	border-color: var(--theme-slate-border-subtle) !important;
}

.text-blue {
	--theme-text-opacity: 1;
	color: rgba(var(--theme-blue-rgb), var(--theme-text-opacity)) !important;
}

.text-pink {
	--theme-text-opacity: 1;
	color: rgba(var(--theme-pink-rgb), var(--theme-text-opacity)) !important;
}

.text-orange {
	--theme-text-opacity: 1;
	color: rgba(var(--theme-orange-rgb), var(--theme-text-opacity)) !important;
}

.text-green {
	--theme-text-opacity: 1;
	color: rgba(var(--theme-green-rgb), var(--theme-text-opacity)) !important;
}

.text-violet {
	--theme-text-opacity: 1;
	color: rgba(var(--theme-violet-rgb), var(--theme-text-opacity)) !important;
}

.text-fuchsia {
	--theme-text-opacity: 1;
	color: rgba(var(--theme-fuchsia-rgb), var(--theme-text-opacity)) !important;
}

.text-brown {
	--theme-text-opacity: 1;
	color: rgba(var(--theme-brown-rgb), var(--theme-text-opacity)) !important;
}

.text-slate {
	--theme-text-opacity: 1;
	color: rgba(var(--theme-slate-rgb), var(--theme-text-opacity)) !important;
}

.text-blue-emphasis {
	color: var(--theme-blue-text-emphasis) !important;
}

.text-pink-emphasis {
	color: var(--theme-pink-text-emphasis) !important;
}

.text-orange-emphasis {
	color: var(--theme-orange-text-emphasis) !important;
}

.text-green-emphasis {
	color: var(--theme-green-text-emphasis) !important;
}

.text-violet-emphasis {
	color: var(--theme-violet-text-emphasis) !important;
}

.text-fuchsia-emphasis {
	color: var(--theme-fuchsia-text-emphasis) !important;
}

.text-brown-emphasis {
	color: var(--theme-brown-text-emphasis) !important;
}

.text-slate-emphasis {
	color: var(--theme-slate-text-emphasis) !important;
}

.bg-blue {
	--theme-bg-opacity: 1;
	background-color: rgba(var(--theme-blue-rgb), var(--theme-bg-opacity)) !important;
}

.bg-pink {
	--theme-bg-opacity: 1;
	background-color: rgba(var(--theme-pink-rgb), var(--theme-bg-opacity)) !important;
}

.bg-orange {
	--theme-bg-opacity: 1;
	background-color: rgba(var(--theme-orange-rgb), var(--theme-bg-opacity)) !important;
}

.bg-green {
	--theme-bg-opacity: 1;
	background-color: rgba(var(--theme-green-rgb), var(--theme-bg-opacity)) !important;
}

.bg-violet {
	--theme-bg-opacity: 1;
	background-color: rgba(var(--theme-violet-rgb), var(--theme-bg-opacity)) !important;
}

.bg-fuchsia {
	--theme-bg-opacity: 1;
	background-color: rgba(var(--theme-fuchsia-rgb), var(--theme-bg-opacity)) !important;
}

.bg-brown {
	--theme-bg-opacity: 1;
	background-color: rgba(var(--theme-brown-rgb), var(--theme-bg-opacity)) !important;
}

.bg-slate {
	--theme-bg-opacity: 1;
	background-color: rgba(var(--theme-slate-rgb), var(--theme-bg-opacity)) !important;
}

.bg-blue-subtle {
	background-color: var(--theme-blue-bg-subtle) !important;
}

.bg-pink-subtle {
	background-color: var(--theme-pink-bg-subtle) !important;
}

.bg-orange-subtle {
	background-color: var(--theme-orange-bg-subtle) !important;
}

.bg-green-subtle {
	background-color: var(--theme-green-bg-subtle) !important;
}

.bg-violet-subtle {
	background-color: var(--theme-violet-bg-subtle) !important;
}

.bg-fuchsia-subtle {
	background-color: var(--theme-fuchsia-bg-subtle) !important;
}

.bg-brown-subtle {
	background-color: var(--theme-brown-bg-subtle) !important;
}

.bg-slate-subtle {
	background-color: var(--theme-slate-bg-subtle) !important;
}