/* ROOT AND VARIABLES */
.sm {
	font-size: 14px;
    line-height: 20px;
    padding: .175rem .45rem;
}

.alert-primary {
	background-color: var(--primary-bg-color-subtle);
	color: var(--primary-text-color-emphasis);
	border: 1px solid var(--primary-border-color-subtle);
}

.alert-secondary {
	background-color: var(--secondary-bg-color-subtle);
	color: var(--secondary-text-color-emphasis);
	border: 1px solid var(--secondary-border-color-subtle);
}

.alert-success {
	background-color: var(--success-bg-color-subtle);
	color: var(--success-text-color-emphasis);
	border: 1px solid var(--success-border-color-subtle);
}

.alert-danger {
	background-color: var(--danger-bg-color-subtle);
	color: var(--danger-text-color-emphasis);
	border: 1px solid var(--danger-border-color-subtle);
}

.alert-warning {
	background-color: var(--warning-bg-color-subtle);
	color: var(--warning-text-color-emphasis);
	border: 1px solid var(--warning-border-color-subtle);
}

.alert-info {
	background-color: var(--info-bg-color-subtle);
	color: var(--info-text-color-emphasis);
	border: 1px solid var(--info-border-color-subtle);
}

.alert-white {
	background-color: var(--white-bg-color-subtle);
	color: var(--white-text-color-emphasis);
	border: 1px solid var(--white-border-color-subtle);
}

.alert-black {
	background-color: var(--black-bg-color-subtle);
	color: var(--black-text-color-emphasis);
	border: 1px solid var(--black-border-color-subtle);
}

@font-face {
	font-display: block;
	font-family: "bootstrap-icons";
	src: url("bootstrap-icons.woff2?dd67030699838ea613ee6dbda90effa6") format("woff2"),
	url("bootstrap-icons.woff?dd67030699838ea613ee6dbda90effa6") format("woff");
}

:root, [data-theme=light] {
	color-scheme: light;

	--font-serif:;
	--font-sans-serif:;
	--font-monospace: monospace;
	--font-family: system-ui;	
	--font-size: 1rem;
	--font-weight: 400;
	--line-height: 1.5;
	
	--body-bg-color: #f5f7fa;
	--body-text-color: #1f2328;	

	--body-secondary-bg-color: #ffffff;
	--body-secondary-text-color: #1f2328;

	--body-tertiary-bg-color: #e7ebef;
	--body-tertiary-text-color: #1f2328;		

	--body-scrollbar-bg: rgba(0, 0, 0, 0);
	--body-scrollbar-thumb-bg: #caceda;

	--body-link-text-underline-offset: 0.15em;
	--body-link-text-decoration: underline;
	--body-link-text-color: #0073e5;
	--body-link-text-decoration-color: #0073e5;
	--body-link-hover-text-color: #006bd5;
	--body-link-hover-text-decoration-color: #006bd5;

	--body-table-bg-color: #f5f7fa;
	--body-table-text-color: #1f2328;
	--body-table-border-color: #cbd0dd;	
	--body-table-section-bg-color: #e7ebef;
	--body-table-section-text-color: #000000;
	--body-table-striped-bg-color: #ffffff;	
	--body-table-striped-text-color: #1f2328; 	
	--body-table-hover-bg-color: #e7ebef;
	--body-table-hover-text-color: #000000;
	--body-table-active-bg-color: #e0e5e9;	
	--body-table-active-text-color: #000000;

	--heading-text-color: #000000;
	--mark-bg-color: #fff09c;
	--mark-text-color: #000000;		
	--code-text-color: #ff0000;
	--muted-text-color: #636c76;

	--border-radius: 0.375rem;
	--border-radius-sm: 0.25rem;
	--border-radius-md: 0.375rem;
    --border-radius-lg: 0.5rem;
    --border-radius-xl: 1rem;
    --border-radius-xxl: 2rem;
    --border-radius-pill: 50rem;
	--border-width: 1px;
	--border-style: solid;
	--border-color: #cbd0dd;
	--border-color-translucent: rgba(203, 208, 221, 0.7);

	--box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
	--box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
	--box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
	--box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);

	--gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
	
	--tab-outline-width: 1px;
	--tab-outline-style: dotted;
	--tab-outline-color: #0073e5;
	--tab-outline-offset: 2px;

	--focus-outline-width: 0px;
	--focus-outline-class-width: 1px;
	--focus-outline-style: solid;
	--focus-outline-color: #0073e5;
	--focus-outline-alpha: 25%;
	--focus-outline-offset: 2px;

	--form-bg-color: #ffffff;
	--form-text-color: #1f2328;
	--form-border-color: #cbd0dd;
	--form-focus-bg-color: #ffffff;
	--form-focus-text-color: #000000;
	--form-focus-border-color: #0073e5;	

    --primary-bg-color: #0073e5;
    --primary-bg-color-subtle: #afd7ff;
    --primary-border-color: #0073e5;
    --primary-border-color-subtle: #5fafff;
    --primary-border-color-prominent: #0052a4;
    --primary-text-color: #ffffff;
    --primary-text-color-emphasis: #002952;
    --primary-hover-bg-color: #006bd5;
    --primary-hover-border-color: #006bd5;
    --primary-hover-text-color: #ffffff;    
    --primary-active-bg-color: #0062c5;
    --primary-active-border-color: #0062c5;
    --primary-active-text-color: #ffffff;
	--primary-section-bg-color:#006bd5;
	--primary-section-text-color: #ffffff;
	--primary-striped-bg-color: #0f87ff;
	--primary-striped-text-color: #ffffff;	
    
    --secondary-bg-color: #ffffff;
    --secondary-bg-color-subtle: #ffffff;
    --secondary-border-color: #cbd0dd;
    --secondary-border-color-subtle: #cbd0dd;
    --secondary-border-color-prominent: #cbd0dd;
    --secondary-text-color: #1f2328;
    --secondary-text-color-emphasis: #000000;  
    --secondary-hover-bg-color: #e7ebef;
    --secondary-hover-border-color: #cbd0dd;
    --secondary-hover-text-color: #000000;
    --secondary-active-bg-color: #dbe1e6;
    --secondary-active-border-color: #cbd0dd;
    --secondary-active-text-color: #000000;
    --secondary-section-bg-color: #e7ebef;
	--secondary-section-text-color: #000000;
	--secondary-striped-bg-color: #f5f7fa;
	--secondary-striped-text-color: #1f2328;	
    
    --success-bg-color: #28a745;
    --success-bg-color-subtle: #baeec6;
    --success-border-color: #28a745;
    --success-border-color-subtle: #75dd8d;
    --success-border-color-prominent: #1d7832;
    --success-text-color: #ffffff;
    --success-text-color-emphasis: #0f3c19; 
    --success-hover-bg-color: #269c41;
    --success-hover-border-color: #269c41;
    --success-hover-text-color: #ffffff;
    --success-active-bg-color: #23903c;
    --success-active-border-color: #23903c;
    --success-active-text-color: #ffffff;
    --success-section-bg-color: #269c41;
	--success-section-text-color: #ffffff;
	--success-striped-bg-color: #2dba4e;
	--success-striped-text-color: #ffffff;	

    --danger-bg-color: #dc3545;
    --danger-bg-color-subtle: #f5c6cb;
    --danger-border-color: #dc3545;
    --danger-border-color-subtle: #eb8d96;
    --danger-border-color-prominent:#a71e2b;
    --danger-text-color: #ffffff;
    --danger-text-color-emphasis: #540f16;  
    --danger-hover-bg-color: #d92739;
    --danger-hover-border-color: #d92739;
    --danger-hover-text-color: #ffffff;
    --danger-active-bg-color: #c92334;
    --danger-active-border-color: #c92334;
    --danger-active-text-color: #ffffff;
    --danger-section-bg-color: #d92739;
	--danger-section-text-color: #ffffff;
	--danger-striped-bg-color: #de4655;
	--danger-striped-text-color: #ffffff;	
    
    --warning-bg-color: #ffc107;
    --warning-bg-color-subtle: #ffedb8;
    --warning-border-color: #ffc107;
    --warning-border-color-subtle: #ffdb70;
    --warning-border-color-prominent: #ba8b00;
    --warning-text-color: #000000; 
    --warning-text-color-emphasis: #5d4600; 
    --warning-hover-bg-color: #f2b500;
    --warning-hover-border-color: #f2b500;
    --warning-hover-text-color: #000000;
    --warning-active-bg-color: #dfa700;
    --warning-active-border-color: #dfa700;
    --warning-active-text-color: #000000;
    --warning-section-bg-color: #f2b500;
	--warning-section-text-color: #000000;
	--warning-striped-bg-color: #ffc929;
	--warning-striped-text-color: #000000;	
	    	
    --info-bg-color: #0dcaf0;
    --info-bg-color-subtle: #baf0fb;
    --info-border-color: #0dcaf0;
    --info-border-color-subtle: #75e2f8;
    --info-border-color-prominent: #0992ad;
    --info-text-color: #000000;    
    --info-text-color-emphasis: #054957;
    --info-hover-bg-color: #0cbde1;
    --info-hover-border-color: #0cbde1;
    --info-hover-text-color: #000000;
    --info-active-bg-color: #0bafd0;
    --info-active-border-color: #0bafd0;
    --info-active-text-color: #000000;
    --info-section-bg-color: #0cbde1;
	--info-section-text-color: #000000;
	--info-striped-bg-color: #2fd3f4;
	--info-striped-text-color: #000000;	 

	--white-bg-color: #ffffff;
    --white-bg-color-subtle: #ffffff;
    --white-border-color: #ffffff;
    --white-border-color-subtle: #ededed;
    --white-border-color-prominent: #b6b6b6;
    --white-text-color: #000000;
    --white-text-color-emphasis: #000000;
    --white-hover-bg-color: #ededed;
    --white-hover-border-color: #ededed;
    --white-hover-text-color: #000000;
    --white-active-bg-color: #dbdbdb;
    --white-active-border-color: #dbdbdb;
    --white-active-text-color: #000000;
    --white-section-bg-color: #ededed;
	--white-section-text-color: #000000;
	--white-striped-bg-color: #f9f9f9;
	--white-striped-text-color: #000000;	

	--black-bg-color: #000000;
    --black-bg-color-subtle: #b6b6b6;
    --black-border-color: #000000;
    --black-border-color-subtle: #6d6d6d;
    --black-border-color-prominent: #353535;
    --black-text-color: #ffffff;    
    --black-text-color-emphasis: #000000;
    --black-hover-bg-color: #191919;
    --black-hover-border-color: #191919;
    --black-hover-text-color: #ffffff;
    --black-active-bg-color: #242424;
    --black-active-border-color: #242424;
    --black-active-text-color: #ffffff;
    --black-section-bg-color: #191919;
	--black-section-text-color: #ffffff;
	--black-striped-bg-color: #111111;
	--black-striped-text-color: #ffffff;	       

    --select-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23222222' %3e%3cpath d='M6.343 9.059L12 3.402l5.657 5.657 1.414-1.414L12 .573 4.929 7.644 6.343 9.059zM17.657 14.941l-5.657 5.657-5.657-5.657-1.414 1.414 7.071 7.071 7.071-7.071-1.414-1.414z' /%3e%3c/svg%3e");	
}

[data-theme=dark] {
	color-scheme: dark;

	--font-serif:;
	--font-sans-serif:;
	--font-monospace: monospace;
	--font-family: system-ui;	
	--font-size: 1rem;
	--font-weight: 400;
	--line-height: 1.5;

	--body-bg-color: #202020;
	--body-text-color: #ffffff;

	--body-secondary-bg-color: #1c1c1c;
	--body-secondary-text-color: #ffffff;
	
	--body-tertiary-bg-color: #181818;
	--body-tertiary-text-color: #ffffff;	

	--body-scrollbar-bg: rgba(0, 0, 0, 0);
	--body-scrollbar-thumb-bg: #9f9f9f;

	--body-table-bg-color: #272727;
	--body-table-text-color: #ffffff;
	--body-table-border-color: #000000;	
	--body-table-section-bg-color: #181818;
	--body-table-section-text-color: #ffffff;
	--body-table-striped-bg-color: #2c2c2c;
	--body-table-striped-text-color: #ffffff; 	
	--body-table-hover-bg-color: #181818;
	--body-table-hover-text-color: #ffffff;
	--body-table-active-bg-color: #121212;	
	--body-table-active-text-color: #ffffff;

	--heading-text-color: #ffffff;
	--mark-bg-color: #ffffff;
	--mark-text-color: #000000;
	--code-text-color: #ff0000;
	--muted-text-color: #636c76;

	--border-radius: 0px;
	--border-radius-sm: 0rem;
	--border-radius-md: 0rem;
    --border-radius-lg: 0rem;
    --border-radius-xl: 0rem;
    --border-radius-xxl: 0rem;
	--border-width: 1px;
	--border-style: solid;
	--border-color: #000000;
	--border-color-translucent: rgba(0, 0, 0, 1);

	--form-bg-color: #2a2a2a;
	--form-text-color: #ffffff;
	--form-border-color: #000000;
	--form-focus-bg-color: #1a1a1a;
	--form-focus-text-color: #ffffff;
	--form-focus-border-color: #0073e5;		
		
	--secondary-bg-color: #404040;
	--secondary-bg-color-subtle: #171717;
	--secondary-border-color: #404040;
	--secondary-border-color-subtle: #929292;
	--secondary-border-color-prominent: #000000;
	--secondary-text-color: #ffffff;
	--secondary-text-color-emphasis: #c8c8c8;
	--secondary-hover-bg-color: #363636;
    --secondary-hover-border-color: #363636;
	--secondary-hover-text-color: #ffffff;     
    --secondary-active-bg-color: #303030;
    --secondary-active-border-color: #303030;
    --secondary-active-text-color: #ffffff;
    --secondary-section-bg-color: #363636;
	--secondary-section-text-color: #ffffff;
	--secondary-striped-bg-color: #4d4d4d;
	--secondary-striped-text-color: #ffffff;	

    --primary-bg-color-subtle: #002952;
    --primary-text-color-emphasis: #afd7ff;

    --success-bg-color-subtle: #0f3c19;
    --success-text-color-emphasis: #baeec6;

    --danger-bg-color-subtle: #540f16;
    --danger-text-color-emphasis: #f5c6cb; 

    --warning-bg-color-subtle: #5d4600;
    --warning-text-color-emphasis: #ffedb8;

    --info-bg-color-subtle: #054957;
    --info-text-color-emphasis: #baf0fb;  

    --white-bg-color-subtle: #606060;
    --white-text-color-emphasis: #ffffff;

    --black-bg-color-subtle: #000000;
    --black-text-color-emphasis: #b6b6b6;      

    --select-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ffffff' %3e%3cpath d='M6.343 9.059L12 3.402l5.657 5.657 1.414-1.414L12 .573 4.929 7.644 6.343 9.059zM17.657 14.941l-5.657 5.657-5.657-5.657-1.414 1.414 7.071 7.071 7.071-7.071-1.414-1.414z' /%3e%3c/svg%3e");	
}


*, 
::after, 
::before {
    box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	color: var(--body-text-color);
	background-color: var(--body-bg-color);
	font-family: var(--font-family);
	font-size: var(--font-size);
	line-height: var(--line-height);
	-webkit-text-size-adjust: 100%;
	-webkit-tap-highlight-color: rgba(0,0,0, 0);
}

main {
 	display: block;
}


/* For browsers that support `scrollbar-*` properties */
/*
@supports (scrollbar-color: auto) {
  html {
    scrollbar-color: var(--body-scrollbar-thumb-bg) var(--body-scrollbar-bg);
  }
} 
*/

::-webkit-scrollbar {	
	width: 6px;
	height: 6px;
	background-color: var(--body-scrollbar-bg);
	visibility: visible;
}

:hover::-webkit-scrollbar {
	visibility: visible;
}

::-webkit-scrollbar-thumb {	
	background: var(--body-scrollbar-thumb-bg);
	border-radius: var(--border-radius);
	visibility: visible;
}

:hover::-webkit-scrollbar-thumb {
	background-color: var(--body-scrollbar-thumb-bg);
	visibility: visible;
}

:focus {
	outline: var(--focus-outline-width) var(--focus-outline-style) var(--focus-outline-color);
    outline-offset: var(--focus-outline-offset);
}

:focus-visible {
    outline: var(--tab-outline-width) var(--tab-outline-style) var(--tab-outline-color);
    outline-offset: var(--tab-outline-offset);
}

::selection {
  	color: var(--body-bg-color);
  	background: var(--body-text-color);
}

::-moz-selection { 
  	color: var(--body-bg-color);
  	background: var(--body-text-color);
}

/* TYPOGRAPHY */

hr {
	box-sizing: content-box;
  	height: 0; 
  	overflow: visible; 
	margin: 1rem 0;
	color: var(--border-color-translucent);
	border: 0;
	border-top: var(--border-width) var(--border-style);
}

h1, h2, h3, h4, h5, h6 {
    margin-top: 0;
    margin-bottom: .5rem;
    font-weight: 500;
    line-height: 1.2;
    color: var(--heading-text-color);
}

h1 {
	font-size: calc(1.375rem + 1.5vw);
}
@media (min-width: 1200px) {
	h1 {
		font-size: 2.5rem;
	}
}

h2 {
	font-size: calc(1.325rem + 0.9vw);
}
@media (min-width: 1200px) {
	h2 {
		font-size: 2rem;
	}
}

h3 {
	font-size: calc(1.3rem + 0.6vw);
}
@media (min-width: 1200px) {
	h3 {
		font-size: 1.75rem;
	}
}

h4 {
	font-size: calc(1.275rem + 0.3vw);
}
@media (min-width: 1200px) {
	h4 {
		font-size: 1.5rem;
	}
}

h5 {
	font-size: 1.25rem;
}

h6 {
	font-size: 1rem;
}

p {
    margin-top: 0;
    margin-bottom: 1rem;
}

a {		
	--link-text-color: var(--body-link-text-color);		
	--link-text-decoration: var(--body-link-text-decoration);
	--link-text-decoration-color: var(--body-link-text-decoration-color);
	--link-text-underline-offset: var(--body-link-text-underline-offset);
	--link-outline-color: var(--body-link-text-color);	
	--link-hover-text-color: var(--body-link-hover-text-color);
	--link-hover-text-decoration-color: var(--body-link-hover-text-decoration-color);	
	color: var(--link-text-color);
	background-color: transparent;
	text-decoration: var(--link-text-decoration);
	text-decoration-color: var(--link-text-decoration-color);
	text-underline-offset: var(--link-text-underline-offset);
	
}

a:visited {
	color: var(--link-text-color);
}

a:focus,
a:hover {
	outline-color: var(--link-outline-color);
	color: var(--link-hover-text-color);
	text-decoration-color: var(--link-hover-text-decoration-color);
}

a:not([href]):not([class]), a:not([href]):not([class]):hover {
	text-decoration: none;
	color: inherit;	
}

mark {
    padding: .1875em;
    color: var(--mark-text-color);
    background-color: var(--mark-bg-color);
}

b, strong {
    font-weight: bolder;
}

small {
    font-size: .875em;
}

sub,
sup {
	position: relative;
	font-size: 0.75em;
	line-height: 0;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

abbr[title] {
	cursor: help;
	text-decoration: underline dotted;
	-webkit-text-decoration: underline dotted;	
	text-decoration-skip-ink: none;
	-webkit-text-decoration-skip-ink: none;	
	border-bottom: none;
}

blockquote {
    margin: 0 0 1rem 0;
    font-size: 1.25rem;
}

blockquote>:last-child {
    margin-bottom: 0
}

figure:has(blockquote) > figcaption {
    margin-top: -1rem;
    margin-bottom: 0;
    font-size: .875em;
    color: var(--muted-text-color);
}

figure:has(blockquote) > figcaption::before {
    content: "— ";
}

address {
	margin-bottom: 1rem;
	font-style: normal;
	line-height: inherit;
}

ol,
ul {
	padding-left: 2rem;
}

ol,
ul,
dl {
	margin-top: 0;
	margin-bottom: 1rem;
}

ol ol,
ul ul,
ol ul,
ul ol {
	margin-bottom: 0;	
}

dt {
	font-weight: 700;
}

dd {
	margin-bottom: .5rem;
	margin-left: 0;
}

pre,
code,
kbd,
samp {
	font-family: var(--font-monospace);
	font-size: 0.875em;
}

pre {
	display: block;
	margin-top: 0;
	margin-bottom: 1rem;
	overflow: auto;
	font-size: 0.875em;
}
pre code {
	font-size: inherit;
	word-break: normal;
	color: inherit;	
}

code {
	font-size: 0.875em;
	word-wrap: break-word;
	color: var(--code-text-color);
	
}
a > code {
	color: inherit;
}

kbd {
	padding: 0.1875rem 0.375rem;
	font-size: 0.875em;
	color: var(--body-bg-color);
	background-color: var(--body-text-color);
	border-radius: 0.25rem;
}
kbd kbd {
	padding: 0;
	font-size: 1em;
}

figure {
	margin: 0 0 1rem;
	display: inline-block;
}

figure > img {
	margin-bottom: .5rem;
    line-height: 1;
}

figcaption {
	font-size: 0.875em;
	color: var(--muted-text-color);
}

img {
	border-style: none;
}

img,
svg {
	vertical-align: middle;
}

table {
	--table-bg-color: var(--body-table-bg-color);
	--table-text-color: var(--body-table-text-color);
	--table-border-color: var(--body-table-border-color);
	--table-section-bg-color: var(--body-table-section-bg-color);
	--table-section-text-color: var(--body-table-section-text-color);
	--table-striped-bg-color: var(--body-table-striped-bg-color);
	--table-striped-text-color: var(--body-table-striped-text-color);
	--table-hover-bg-color: var(--body-table-hover-bg-color);
	--table-hover-text-color: var(--body-table-hover-text-color);
	--table-active-bg-color: var(--body-table-active-bg-color);	
	--table-active-text-color: var(--body-table-active-text-color);
	vertical-align: top;
	caption-side: bottom;
	border-collapse: collapse;
	white-space: nowrap;
	margin-bottom: 1rem;
	width: 100%;	
}

table > :not(caption):not(thead):not(tfoot) > * > * {
	color: var(--table-text-color); 
	background-color: var(--table-bg-color);	
	border-bottom: var(--border-width) var(--border-style) var(--table-border-color);		
}

caption {
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
	text-align: left;
	color: var(--muted-text-color);	
}

th {
	text-align: inherit;
	text-align: -webkit-match-parent;
}

thead,
tbody,
tfoot,
tr, 
th,
td {
	padding: .5rem .5rem;
    border-color: inherit;
    border-style: var(--border-style);
    border-width: 0
}

table > thead {
	vertical-align: bottom;
	color: var(--table-section-text-color);
	background-color: var(--table-section-bg-color);	
	border-bottom: 2px var(--border-style) var(--table-border-color);
}

table > tbody {
	vertical-align: inherit;
}

tbody > tr:hover > * {
	color: var(--table-hover-text-color) !important;
    background-color: var(--table-hover-bg-color) !important;    
}

table > tfoot {
	vertical-align: bottom;
	color: var(--table-section-text-color);
	background-color: var(--table-section-bg-color);	
	border-top: 2px var(--border-style) var(--table-border-color);
}

table > tfoot > * > * {	
	border-bottom: none;
}

/* FORM ELEMENTS */

form br {
	content: "";
	display: block;
	width: 100%;
	margin-bottom: 2rem;
}

label {
	display: inline-block;
}

fieldset {
	min-width: 0;
	padding: 1rem;
	margin: 0;
	border: var(--border-width) var(--border-style) var(--border-color-translucent);
	border-radius: var(--border-radius);
}

legend {
  	max-width: 100%;
	padding: 0;
	margin-bottom: 0.5rem;
	font-size: calc(1.275rem + 0.3vw);
	line-height: inherit;
	white-space: normal;
	overflow-wrap: break-word;
	word-break: break-word;
  	color: inherit;  
}
@media (min-width: 1200px) {
	legend {
		font-size: 1.5rem;
	}
}
legend + * {
	clear: left;
}

progress {
	vertical-align: baseline;
}

input,
button,
select,
optgroup,
textarea {
	margin: 0;
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;	
}

[list]:not([type="date"]):not([type="datetime-local"]):not([type="month"]):not([type="week"]):not([type="time"])::-webkit-calendar-picker-indicator {
	display: none !important;
}

select {
	text-transform: none;
	word-wrap: normal;
}

select:disabled {
 	opacity: 1;
}

textarea {
	resize: vertical;
}

output {
	display: inline-block;
}

button,
[type=button],
[type=reset],
[type=submit] {
	appearance: button; 
	-webkit-appearance: button;
	user-select: none;
	-webkit-user-select: none;
    -moz-user-select: none;
    text-decoration: none;
    text-transform: none;
}

button:focus:not(:focus-visible),
[type="submit"]:focus:not(:focus-visible),
[type="reset"]:focus:not(:focus-visible),
[type="button"]:focus:not(:focus-visible) {
	/* No style */
}

button:not(:disabled),
[type=button]:not(:disabled),
[type=reset]:not(:disabled),
[type=submit]:not(:disabled) {
	cursor: pointer;
}

[role=button] {
 	cursor: pointer;
}

::-moz-placeholder {
	color: var(--muted-text-color);
    opacity: 1;
}

::placeholder {
	color: var(--muted-text-color);
    opacity: 1;
}

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
	height: auto;
}

::-webkit-date-and-time-value {
	min-width: 85px;
    height: 1.5em;
    margin: 0;
}

::-webkit-datetime-edit {
	display: block;
}

::-webkit-datetime-edit-fields-wrapper,
::-webkit-datetime-edit-text,
::-webkit-datetime-edit-minute,
::-webkit-datetime-edit-hour-field,
::-webkit-datetime-edit-day-field,
::-webkit-datetime-edit-month-field,
::-webkit-datetime-edit-year-field {
	padding: 0;
}

[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

::-webkit-search-decoration {
	-webkit-appearance: none;
}

::-webkit-color-swatch-wrapper {
	padding: 0;
}

::-webkit-file-upload-button {
	font: inherit;
	-webkit-appearance: button;
}

::file-selector-button {
	font: inherit;
	-webkit-appearance: button;
}

::-moz-focus-inner {
	padding: 0;
	border-style: none;
}

[hidden] {
	display: none !important;
}

section {
	margin-bottom: 2rem;
}

iframe {
	border: 0;
}

template {
  	display: none;
}

details {
	display: block;
	width: 100%;
	margin-bottom: 1rem;
	color: var(--body-secondary-text-color);
	background: var(--body-secondary-bg-color);
	border: var(--border-width) var(--border-style) var(--border-color);
	border-radius: var(--border-radius);	
}

details > *:not(summary) {
	margin: 0;
    padding: .938rem;
    padding-left: calc(.938rem + .3rem + var(--font-size));    
}

details[open] > summary {
	color: var(--body-tertiary-text-color);
	background-color: var(--body-tertiary-bg-color);		
	border-bottom: var(--border-width) var(--border-style) var(--border-color);
	border-top-left-radius: var(--border-radius);
	border-top-right-radius: var(--border-radius);
}

details[open] > summary::before {
  	transform: rotate(90deg);
}

summary {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	cursor: pointer;
	list-style: none;		
	padding: .625rem .938rem;	
	background: var(--body-secondary-bg-color);
	color: var(--body-secondary-text-color);
	border-radius: var(--border-radius);
}

summary::before {
	font-family: "bootstrap-icons";
	content: '\F285';
	margin-right: .3rem;
}

summary::-webkit-details-marker {
  	display: none;
}

/* ------------------------------------------------------------------------------ */

/* COMPONENTS */

.lead {
    font-size: 1.25rem;
    font-weight: 300;
}

.display-1 {
    font-size: calc(1.625rem + 4.5vw);
    font-weight: 300;
    line-height: 1.2;
}

@media (min-width: 1200px) {
    .display-1 {
        font-size:5rem;
    }
}

.display-2 {
    font-size: calc(1.575rem + 3.9vw);
    font-weight: 300;
    line-height: 1.2;
}

@media (min-width: 1200px) {
    .display-2 {
        font-size:4.5rem;
    }
}

.display-3 {
    font-size: calc(1.525rem + 3.3vw);
    font-weight: 300;
    line-height: 1.2;
}

@media (min-width: 1200px) {
    .display-3 {
        font-size:4rem;
    }
}

.display-4 {
    font-size: calc(1.475rem + 2.7vw);
    font-weight: 300;
    line-height: 1.2;
}

@media (min-width: 1200px) {
    .display-4 {
        font-size:3.5rem;
    }
}

.display-5 {
    font-size: calc(1.425rem + 2.1vw);
    font-weight: 300;
    line-height: 1.2;
}

@media (min-width: 1200px) {
    .display-5 {
        font-size:3rem;
    }
}

.display-6 {
    font-size: calc(1.375rem + 1.5vw);
    font-weight: 300;
    line-height: 1.2;
}

@media (min-width: 1200px) {
    .display-6 {
        font-size:2.5rem;
    }
}

.img-fluid {
    max-width: 100%;
    height: auto;
}

.img-thumbnail {
    padding: .25rem;
    background-color: var(--body-bg-color);
    border: var(--border-width) var(--border-style) var(--border-color);
    border-radius: var(--border-radius);
    max-width: 100%;
    height: auto
}

.list-unstyled {
	padding-left: 0;
	list-style: none;
}

.list-inline {
	padding-left: 0;
	list-style: none;
}

.list-inline>li {
	display: inline-block;
}

.list-inline>li:not(:last-child) {
	margin-right: .5rem;
}



.caption-top {
    caption-side: top;
}

.table-sm > :not(caption) > * > * {
    padding: .25rem .25rem
}

.table-bordered > :not(caption) > * > * {
    border: var(--border-width) var(--border-style) var(--table-border-color) !important;
}

.table-borderless > :not(caption) > * > * {
    border: none !important;
}

.table-borderless > thead,
.table-borderless > tfoot {
	border: none !important;
}

.table-responsive {
	overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.table-striped > tbody > tr:not(.active):nth-of-type(odd) > * {
	color: var(--table-striped-text-color);
    background-color: var(--table-striped-bg-color);    
}

.table-striped-columns > tbody > tr:not(.active) > :nth-child(2n) {
    color: var(--table-striped-text-color);
    background-color: var(--table-striped-bg-color);
}


tbody > tr.active > * {
	color: var(--table-active-text-color);
	background-color: var(--table-active-bg-color);
}



.btn-check {
	position: absolute;
	visibility: hidden;
	opacity: 0;
}

.btn-check[type="checkbox"] + label,
.btn-check[type="radio"] + label {
	margin: 0;
}

.btn-check + label[type="button"]:hover {
	color: var(--btn-text-color);
	background-color: var(--btn-bg-color);
	border-color: var(--btn-border-color);
}

.btn-check + label[type="button"]:active {
	color: var(--btn-text-color);
	background-color: var(--btn-bg-color);
	border-color: var(--btn-border-color);
}

.btn-check:checked + label[type="button"] {
	color: var(--btn-active-text-color);
	background-color: var(--btn-active-bg-color);
	border-color: var(--btn-active-border-color);
}

.btn-check:checked + label[type=button]:not([class*="btn-"]) {
  	color: var(--primary-text-color);
	background-color: var(--primary-bg-color);
	border-color: var(--primary-border-color);
}


.form-label {
	margin-bottom: 0.5rem;
}

.form-control {
	appearance: none;
	-webkit-appearance: none;
    -moz-appearance: none;    
	display: block;
	width: 100%;
	padding: .375rem .75rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: var(--form-text-color);    
    background-color: var(--form-bg-color);
    background-clip: padding-box;
    border: var(--border-width) var(--border-style) var(--form-border-color);
    border-radius: var(--border-radius);
}

.form-control:focus,
.form-select:focus {
    color: var(--form-focus-text-color);
    background-color: var(--form-focus-bg-color);
    border-color: var(--form-focus-border-color);
    outline: var(--focus-outline-width) var(--focus-outline-style) var(--focus-outline-color);
    outline-offset: var(--focus-outline-offset);
}

textarea.form-control {
	min-height: calc(1.5em + .75rem + calc(var(--border-width) * 2));
}

.form-select {	
	appearance: none;
	-webkit-appearance: none;
    -moz-appearance: none;    
	display: block;
	width: 100%;
	padding: .375rem 2.5rem .375rem .75rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: var(--form-text-color);    
    background-color: var(--form-bg-color);
    background-clip: padding-box;
    background-image: var(--select-bg-image);
    background-repeat: no-repeat;
    background-position: right .75rem center;
    background-size: 1em 1em;
    border: var(--border-width) var(--border-style) var(--form-border-color);
    border-radius: var(--border-radius);	
}

.form-select[multiple],
.form-select[size]:not([size="1"]) {
    padding-right: .75rem;
    background-image: none;
}

.form-control[type="number"] {
	-moz-appearance: textfield;
}

.form-control::-webkit-outer-spin-button,
.form-control::-webkit-inner-spin-button {
	display: none;
}

.form-control::-webkit-calendar-picker-indicator {
 	opacity: 0;
}

.form-control[type="color"] {		
	cursor: pointer;	
	width: 3em;
    height: calc(1.5em + .75rem + calc(var(--border-width) * 2));    
    padding: .375rem;
    --color-swatch-border-radius: var(--border-radius);   
}

.form-control[type="color"]::-webkit-color-swatch {
	border-radius: var(--color-swatch-border-radius);
	border: none;	
}

.form-control[type="color"]::-moz-color-swatch {
	border-radius: var(--color-swatch-border-radius);
	border: none;
}

.form-control[type="color"]:disabled {
	cursor: not-allowed;
}

.form-control[type="file"] {
	overflow: hidden;
}

.form-control[type="file"]:not(:disabled):not([readonly]) {
    cursor: pointer;
}

.form-control[type="file"]::file-selector-button {
	padding: 0.375rem 0.75rem;
	margin: -0.375rem -0.75rem;
	margin-inline-end: 0.75rem;
	-webkit-margin-end: 0.75rem;	
	pointer-events: none;
	color: var(--body-secondary-text-color);
	background-color: var(--body-secondary-bg-color);	
	border-color: inherit;
	border-style: var(--border-style);
	border-width: 0;
	border-inline-end-width: var(--border-width);
	border-radius: 0;
}

.form-control[type="file"]::-webkit-file-upload-button {
	padding: 0.375rem 0.75rem;
	margin: -0.375rem -0.75rem;
	margin-inline-end: 0.75rem;
	-webkit-margin-end: 0.75rem;	
	pointer-events: none;
	color: var(--body-secondary-text-color);
	background-color: var(--body-secondary-bg-color);	
	border-color: inherit;
	border-style: var(--border-style);
	border-width: 0;
	border-inline-end-width: var(--border-width);
	border-radius: 0;
}

.form-control[type="file"]:hover:not(:disabled):not([readonly])::file-selector-button {
	color: var(--body-tertiary-text-color);
	background-color: var(--body-tertiary-bg-color);	
}

.form-control[type="file"]:hover:not(:disabled):not([readonly])::-webkit-file-upload-button {
	color: var(--body-tertiary-text-color);
	background-color: var(--body-tertiary-bg-color);	
}

.form-control[type="file"]:active:not(:disabled):not([readonly])::file-selector-button {
	color: var(--body-tertiary-text-color);
	background-color: var(--body-tertiary-bg-color);   		
}

.form-control[type="file"]:active:not(:disabled):not([readonly])::-webkit-file-upload-button {
	color: var(--body-tertiary-text-color);
	background-color: var(--body-tertiary-bg-color);	
}

.form-range {	
	appearance: none;
	-webkit-appearance: none;
    -moz-appearance: none;
    display: block;
	width: 100%;	
	cursor: default;
	padding: 0;
	line-height: 1.5;
	font-size: 1rem;  
    background-color: transparent;
    color: var(--body-tertiary-text-color);
    --range-track-width: 100%;
    --range-track-height: .75em;
    --range-track-bg-color: var(--body-tertiary-bg-color);
    --range-track-border: none;
    --range-track-border-radius: var(--border-radius);
    --range-progress-bg-color: var(--primary-bg-color);
    --range-thumb-height: 1.5em;
    --range-thumb-width: .75em;
    --range-thumb-bg-color: var(--primary-bg-color);
    --range-thumb-border: none;
    --range-thumb-border-radius: calc(var(--border-radius) / 2);   
}

/*
.form-range:focus {
    color: var(--form-focus-text-color);
    background-color: var(--form-focus-bg-color);
    border-color: var(--form-focus-border-color);
    outline: var(--focus-outline-width) var(--focus-outline-style) var(--focus-outline-color);
    outline-offset: var(--focus-outline-offset);
}
*/

.form-range::-webkit-slider-runnable-track {	
	width: var(--range-track-width);
	height: var(--range-track-height);	
	cursor: pointer;
	color: transparent;
	background-color: var(--range-track-bg-color);
	border: var(--range-track-border);
	border-radius: var(--range-track-border-radius);
}

.form-range::-moz-range-track {	
	width: var(--range-track-width);
	height: var(--range-track-height);
	cursor: pointer;
	color: transparent;	
	background-color: var(--range-track-bg-color);
	border: var(--range-track-border);
	border-radius: var(--range-track-border-radius);	
}

.form-range::-moz-range-progress {
	cursor: pointer;
    background-color: var(--range-progress-bg-color);
    border-top-left-radius: var(--range-track-border-radius);
    border-bottom-left-radius: var(--range-track-border-radius);
    height: var(--range-track-height);
    border: 0;
}

.form-range::-webkit-slider-thumb {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;	
  	cursor: grab;
	background-color: var(--range-thumb-bg-color);
	border: var(--range-thumb-border);
	border-radius: var(--range-thumb-border-radius);
	height: var(--range-thumb-height);
	width: var(--range-thumb-width);
	position: relative;
	top: 50%;
	transform: translateY(-50%);	
}

.form-range::-moz-range-thumb {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;	
  	cursor: grab;
	background-color: var(--range-thumb-bg-color);
	border: var(--range-thumb-border);
	border-radius: var(--range-thumb-border-radius);
	height: var(--range-thumb-height);
	width: var(--range-thumb-width);
}

.form-range:active::-webkit-slider-thumb {
	background-color: var(--primary-active-bg-color);
	border: none;
	outline: 0;
	cursor: grabbing;
}

.form-range:active::-moz-range-thumb {
	background-color: var(--primary-active-bg-color);
	border: none;
	outline: 0;
	cursor: grabbing;
}

.form-range:disabled::-webkit-slider-thumb {	
	cursor: not-allowed;
}

.form-range:disabled::-moz-range-thumb {	
	cursor: not-allowed;
}

.form-range + datalist {
	display: none;
}

.form-range + datalist option {
	display: none;
}

.form-control:read-only:not(:disabled):not([type="file"]):not([type="color"]) {
	padding-left: 0;
	padding-right: 0;
	background-color: transparent;
	border-color: transparent;	
}

.form-control:read-only:not(:disabled):focus:not([type="file"]):not([type="color"]) {
	background-color: transparent;
	border-color: transparent;	
}

.form-control:disabled,
.form-select:disabled,
.form-range:disabled,
optgroup:disabled {
	opacity: .5;
	cursor: not-allowed;
}




.form-check {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.6rem;
}

.form-check-reverse {
	flex-direction: row-reverse !important;
}

.form-check-input {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;			
	-webkit-print-color-adjust: exact;
    color-adjust: exact;
    print-color-adjust: exact;
    cursor: pointer;
    vertical-align: middle;    
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transform: scale(1);
	font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
	width: 1.25em;
	height: 1.25em;
	margin: 0;
	padding: 0;
    color: var(--form-text-color);    
    background-color: var(--form-bg-color);
    border: var(--border-width) var(--border-style) var(--form-border-color);
    border-radius: calc(var(--border-radius) / 2);
}

.form-check-input + .form-check-label {
    cursor: pointer;
	vertical-align: middle;
	margin-left: 0.5rem;
	margin-bottom: 0;	
}

.form-check-input[type="checkbox"]:active:not(:checked):not(:indeterminate):not(:disabled),
.form-check-input[type="radio"]:active:not(:checked):not(:disabled) {
	background-color: var(--form-focus-bg-color);
}

.form-check-input:focus {
	color: var(--form-focus-text-color);
    background-color: unset;
    border-color: var(--form-focus-border-color);
    outline: var(--focus-outline-width) var(--focus-outline-style) var(--focus-outline-color);
    outline-offset: var(--focus-outline-offset);
}

.form-check-input::before {	
	content: "";
}

.form-check-input:checked {
	color: var(--primary-text-color);
	background-color: var(--primary-bg-color);
	border-color: var(--primary-border-color);	
}

.form-check-input[type="checkbox"]:checked::before {		
	width: 0.375em;
	height: 0.625em;
	border: solid var(--primary-text-color);
	border-width: 0 0.143em 0.143em 0;
	margin-top: -0.188em;
	transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);	
}

.form-check-input[type="checkbox"][role="switch"] {
	position: relative;  
	width: 2.75em;
}

.form-check-input[type="checkbox"][role="switch"]::before {
	position: absolute;
	left: 0.188em;
	transform: none;  
	width: 0.75em;
	height: 0.75em;
	margin: 0;
	background: var(--muted-text-color);
	border: var(--border-width) solid var(--muted-text-color);
	border-radius: inherit;	
	transition: left .15s ease-in-out;
}

.form-check-input[type="checkbox"][role="switch"]:checked::before {
	left: calc(100% - 0.75em - 0.188em);
	background: var(--primary-text-color);
	border: var(--border-width) solid var(--primary-text-color);
}

.form-check-input[type="radio"]:checked::before {		
	width: 0.5em;
	height: 0.5em;
	background-color: var(--primary-text-color);
	border-radius: inherit;
}

.form-check-input[type="checkbox"]:indeterminate {
    background-color: var(--primary-bg-color);
    border-color: var(--primary-border-color);
}

.form-check-input[type="checkbox"]:indeterminate::before {
    content: "";
    display: block;
    width: 0.625em;
    height: 0.125em; 
    background-color: var(--primary-text-color);    
    margin-top: 0;
    transform: none;
    -webkit-transform: none;
	-ms-transform: none;	
}

.form-check-input:disabled + .form-check-label {
	opacity: .5 !important;
	cursor: not-allowed !important;
}





.progress {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;	
	vertical-align: baseline;    
    display: flex;    
    overflow: hidden;    
    height: .75em;
    font-size: 1rem;
    position: relative;
    width: 100%;
    color: var(--body-tertiary-text-color);
    background-color: var(--body-tertiary-bg-color);
    border: 0;
    border-radius: var(--border-radius);  
    --progress-bg-color: var(--body-tertiary-bg-color);
    --progress-value-bg-color: var(--primary-bg-color);  
}

.progress::-webkit-progress-bar {
    background-color: var(--progress-bg-color);    
}

.progress::-moz-progress-bar {
    background-color: var(--progress-bg-color);
}

.progress[value]::-webkit-progress-value {
	width: 100%;
	background-color: var(--progress-value-bg-color);
	transition: width 0.6s linear;
}

.progress[value]::-moz-progress-bar {
	width: 100%;
	background-color: var(--progress-value-bg-color);	
	-moz-transition: width 0.6s linear;
	transition: width 0.6s linear;
}

.progress:not([value])::before {
  	content: "";
    position: relative;    
    width: 50%; 
    height: 100%;       
    background-color: var(--progress-value-bg-color); 
    animation: webkit-progress-indeterminate-slide 1s linear infinite;
}

.progress:not([value])::-moz-progress-bar {
	width: 50%;	
	background-color: var(--progress-value-bg-color);
	animation: moz-progress-indeterminate-slide 1s linear infinite;
}

@keyframes moz-progress-indeterminate-slide {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(200%);
  }
}

@keyframes webkit-progress-indeterminate-slide {
  0% {
    left: -100%;
  }
  100% {
    left: 100%;
  }
}

.meter {
	appearance: meter; 
	-webkit-appearance: meter;
	-moz-appearance: meter;	
	vertical-align: baseline;    
	display: flex;
	width: 100%;
	height: .75em;
	--meter-bar-height: .75em;
	font-size: 1rem;
	color: var(--body-tertiary-text-color);
	background: none;
	background-color: var(--body-tertiary-bg-color);	
	border: 0;
	border-radius: var(--border-radius);
	--meter-bar-bg-color: var(--body-tertiary-bg-color);
	--meter-bar-optimum-bg-color: var(--success-bg-color);
	--meter-bar-sub-sub-optimum-bg-color: var(--danger-bg-color);
	--meter-bar-sub-optimum-bg-color: var(--warning-bg-color);	
	--meter-bar-border-radius: var(--border-radius);
}

.meter::-webkit-meter-bar {  
	height: var(--meter-bar-height);
	background: var(--meter-bar-bg-color);	
	border: 0;
	border-radius: var(--meter-bar-border-radius);
}

.meter::-webkit-meter-optimum-value {
 	background: var(--meter-bar-optimum-bg-color);
}

.meter::-webkit-meter-even-less-good-value {
	background: var(--meter-bar-sub-sub-optimum-bg-color);
}

.meter::-webkit-meter-suboptimum-value {
	background: var(--meter-bar-sub-optimum-bg-color);
}

.meter:-moz-meter-optimum::-moz-meter-bar {
    background: none; 
    background-color: var(--meter-bar-optimum-bg-color);
}

.meter:-moz-meter-sub-sub-optimum::-moz-meter-bar{
    background: none;
    background-color: var(--meter-bar-sub-sub-optimum-bg-color);
}

.meter:-moz-meter-sub-optimum::-moz-meter-bar{
    background: none; 
    background-color: var(--meter-bar-sub-optimum-bg-color);
}






/* 


BTN TEXT SIZE NOT INCREASE WHEN INPUT-GROUP-LG or SM FIX THAT
check if container elements size incrases or not
fix outline border effect issues
fix when focus on input, button border not visible

*/

.input-group {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    width: 100%;
}

.input-group > .form-control:not([type="color"]),
.input-group > .form-select,
.input-group > .input-group-content,
.input-group > .form-floating {
    position: relative;
    flex: 1 1 auto;
    width: 1%;
    min-width: 0;
}

.input-group > input:focus,
.input-group > textarea:focus,
.input-group > select:focus,
.input-group > .form-floating:focus-within {
    z-index: 5;
}

.input-group button,
.input-group [type="submit"],
.input-group [type="reset"],
.input-group [type="button"] {
    position: relative;
    z-index: 2;
}

.input-group button:focus,
.input-group [type="submit"]:focus,
.input-group [type="reset"]:focus,
.input-group [type="button"]:focus {
    z-index: 5;
}

.input-group .input-group-text {
    display: flex;
    align-items: center;
    padding: .375rem .75rem;
    margin: 0;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;    
    text-align: center;
    white-space: nowrap;
    color: var(--body-tertiary-text-color);
    background-color: var(--body-tertiary-bg-color);
    border: var(--border-width) solid var(--form-border-color);
    border-radius: var(--border-radius);
}

.input-group > .input-group-content {
	display: flex;
	align-items: center;
	padding: .375rem .75rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
	color: var(--form-text-color);
	background-color: var(--form-bg-color); 
	border: var(--border-width) solid var(--form-border-color);
	border-radius: var(--border-radius);	
}





.input-group-merge {
	border: var(--border-width) var(--border-style) var(--form-border-color);
	background-color: var(--form-bg-color);
	border-radius: var(--border-radius);
}


.input-group-merge > :not(.btn):not([type="color"]) {
	border-top: none;
	border-bottom: none;
}

.input-group-merge > :not(.btn):not([type="color"]):not(:is(.form-control:not([type="color"]), .form-select, .input-group-content) + :is(.form-control, .form-select, .input-group-content)) {
	border-left: none;
}

.input-group-merge > :not(.btn):not([type="color"]):not(:is(.form-control, .form-select, .input-group-content):has(+ :is(.form-control:not([type="color"]), .form-select, .input-group-content))) {
	border-right: none;
}



.input-group-merge > button,
.input-group-merge > [type="submit"],
.input-group-merge > [type="reset"],
.input-group-merge > [type="button"] {
    margin: 5px;
    border-radius: var(--border-radius) !important;
}

.input-group-merge > .input-group-text {	
	background-color: var(--form-bg-color);
}

.input-group-merge > .input-group-text + input:not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="color"]),
.input-group-merge > .input-group-text + textarea,
.input-group-merge > .input-group-text + select,
.input-group-merge > .input-group-text + .input-group-content {
  	padding-left: 0;
}

.input-group-merge > input:not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="color"]):has(+ .input-group-text),
.input-group-merge > textarea:has(+ .input-group-text),
.input-group-merge > select:has(+ .input-group-text),
.input-group-merge > .input-group-content:has(+ .input-group-text) {
	padding-right: 0;
}

.input-group-merge:focus-within {
	color: var(--form-focus-text-color);
	background-color: var(--form-focus-bg-color);
	border-color: var(--form-focus-border-color);
	outline: var(--focus-outline-width) var(--focus-outline-style) var(--focus-outline-color);	
	outline-offset: var(--focus-outline-offset);
}

.input-group-merge:focus-within > input:not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="color"]),
.input-group-merge:focus-within > textarea,
.input-group-merge:focus-within > select,
.input-group-merge:focus-within > .input-group-text,
.input-group-merge:focus-within > .input-group-content {
	color: var(--form-focus-text-color);
	background-color: var(--form-focus-bg-color);
	border-color: var(--form-focus-border-color);	
	outline: 0;
}

.input-group-merge:focus-within > button,
.input-group-merge:focus-within > [type="button"],
.input-group-merge:focus-within > [type="submit"],
.input-group-merge:focus-within > [type="reset"],
.input-group-merge:focus-within > [type="color"] {
	z-index: 5;
}








.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3),
.input-group:not(.has-validation) > .form-floating:not(:last-child) > input,
.input-group:not(.has-validation) > .form-floating:not(:last-child) > textarea,
.input-group:not(.has-validation) > .form-floating:not(:last-child)> select,
.input-group:not(.has-validation) >:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.input-group.has-validation > .dropdown-toggle:nth-last-child(n+4),
.input-group.has-validation > .form-floating:nth-last-child(n+3) > input,
.input-group.has-validation > .form-floating:nth-last-child(n+3) > textarea,
.input-group.has-validation > .form-floating:nth-last-child(n+3) > select,
.input-group.has-validation > :nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
    margin-left: calc(var(--border-width) * -1);
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

.input-group > .form-floating:not(:first-child) > input,
.input-group > .form-floating:not(:first-child) > textarea,
.input-group > .form-floating:not(:first-child) > select {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

.input-group > input:not(:focus).is-valid,
.input-group > textarea:not(:focus).is-valid,
.input-group > .form-floating:not(:focus-within).is-valid,
.input-group > select:not(:focus).is-valid,
.was-validated .input-group > input:not(:focus):valid,
.was-validated .input-group > textarea:not(:focus):valid,
.was-validated .input-group > .form-floating:not(:focus-within):valid,
.was-validated .input-group > select:not(:focus):valid {
    z-index: 3;
}

.input-group > input:not(:focus).is-invalid,
.input-group > textarea:not(:focus).is-invalid,
.input-group > .form-floating:not(:focus-within).is-invalid,
.input-group > select:not(:focus).is-invalid,
.was-validated .input-group > input:not(:focus):invalid,
.was-validated .input-group > textarea:not(:focus):invalid,
.was-validated .input-group > .form-floating:not(:focus-within):invalid,
.was-validated .input-group > select:not(:focus):invalid {
    z-index: 4;
}

.btn-toolbar .input-group {
    width: auto;
}




input.is-valid:valid,
input.is-valid,
textarea.is-valid,
select.is-valid {
	border-color: var(--success-bg-color);
}

input.is-invalid:invalid,
input.is-invalid,
textarea.is-invalid,
select.is-invalid {
	border-color: var(--danger-bg-color);
}

input.is-valid:valid:focus,
input.is-valid:focus,
textarea.is-valid:focus,
select.is-valid:focus {
	outline: var(--focus-outline-width) var(--focus-outline-style) color-mix(in srgb, var(--success-bg-color), transparent var(--focus-outline-alpha,25%));
    outline-offset: var(--focus-outline-offset);
}

input.is-invalid:invalid:focus,
input.is-invalid:focus,
textarea.is-invalid:focus,
select.is-invalid:focus {
	outline: var(--focus-outline-width) var(--focus-outline-style) color-mix(in srgb, var(--danger-bg-color), transparent var(--focus-outline-alpha,25%));
    outline-offset: var(--focus-outline-offset);
}








.form-control-sm:read-only:not(:disabled):not([type="file"]):not([type="color"]),
.form-control-lg:read-only:not(:disabled):not([type="file"]):not([type="color"]) {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.form-label-sm,
.form-check-label-sm,
.form-sm .form-label,
.form-sm .form-check-label,
.form-check-sm .form-check-label,
.input-group-sm .form-check-label {
	font-size: .875rem;
}

.form-control-sm,
.form-sm .form-control,
.input-group-sm .form-control,
.input-group-sm .input-group-text,
.form-sm .input-group-text {
    min-height: calc(1.5em + .5rem + calc(var(--border-width) * 2));
    padding: .25rem .5rem;
    font-size: .875rem;
    border-radius: var(--border-radius-sm);
}

.form-control-sm[type="file"]::-webkit-file-upload-button,
.form-sm .form-control[type="file"]::-webkit-file-upload-button,
.input-group-sm .form-control[type="file"]::-webkit-file-upload-button  {
    padding: .25rem .5rem;
    margin: -.25rem -.5rem;
    -webkit-margin-end: .5rem;
    margin-inline-end: .5rem;
}

.form-control-sm[type="file"]::file-selector-button,
.form-sm .form-control[type="file"]::file-selector-button,
.input-group-sm .form-control[type="file"]::file-selector-button {
    padding: .25rem .5rem;
    margin: -.25rem -.5rem;
    -webkit-margin-end: .5rem;
    margin-inline-end: .5rem;
}

.form-select-sm,
.form-sm .form-select,
.input-group-sm .form-select {
	padding: .25rem 2.4rem .25rem .5rem;	
    font-size: .875rem;
    border-radius: var(--border-radius-sm);
}

.form-range-sm,
.form-sm .form-range,
.input-group-sm .form-range {
	font-size: .875rem;
	border-radius: var(--border-radius-sm);
	--range-track-border-radius: var(--border-radius-sm);	
	--range-thumb-border-radius: calc(var(--border-radius-sm) / 2);	
}

.form-control-sm[type="color"],
.form-sm .form-control[type="color"],
.input-group-sm .form-control[type="color"] {
    font-size: .875rem;
    padding: .25rem;
    height: calc(1.5em + .5rem + calc(var(--border-width) * 2));    
    border-radius: var(--border-radius-sm);
    --color-swatch-border-radius: var(--border-radius-sm);
}

.form-check-input-sm,
.form-sm .form-check-input,
.form-check-sm .form-check-input,
.input-group-sm .form-check-input {
	font-size: .875rem;
	border-radius: calc(var(--border-radius-sm) / 1.5);
}

.progress-sm,
.form-sm .progress,
.input-group-sm .progress {    
    font-size: .875rem;
    border-radius: var(--border-radius-sm);
}

.meter-sm,
.form-sm .meter,
.input-group-sm .meter {	
	font-size: .875rem;	
	border-radius: var(--border-radius-sm);
	--meter-bar-border-radius: var(--border-radius-sm);
}



.form-label-lg,
.form-check-label-lg,
.form-lg .form-label,
.form-lg .form-check-label,
.form-check-lg .form-check-label,
.input-group-lg .form-check-label {
	font-size: 1.25rem;
}

.form-control-lg,
.form-lg .form-control,
.input-group-lg .form-control,
.input-group-lg .input-group-text {
    min-height: calc(1.5em + 1rem + calc(var(--border-width) * 2));
    padding: .5rem 1rem;
    font-size: 1.25rem;
    border-radius: var(--border-radius-lg);
}

.form-control-lg[type="file"]::-webkit-file-upload-button,
.form-lg .form-control[type="file"]::-webkit-file-upload-button,
.input-group-lg .form-control[type="file"]::-webkit-file-upload-button {
    padding: .5rem 1rem;
    margin: -.5rem -1rem;
    -webkit-margin-end: 1rem;
    margin-inline-end: 1rem;
}

.form-control-lg[type="file"]::file-selector-button,
.form-lg .form-control[type="file"]::file-selector-button,
.input-group-lg .form-control[type="file"]::file-selector-button {
    padding: .5rem 1rem;
    margin: -.5rem -1rem;
    -webkit-margin-end: 1rem;
    margin-inline-end:1rem;
}

.form-select-lg,
.form-lg .form-select,
.input-group-lg .form-select {
	padding: .5rem 2.8rem .5rem 1rem;	
    font-size: 1.25rem;
    border-radius: var(--border-radius-lg);
}

.form-range-lg,
.form-lg .form-range,
.input-group-lg .form-range {
	font-size: 1.25rem;
	border-radius: var(--border-radius-lg);
	--range-track-border-radius: var(--border-radius-lg);
	--range-thumb-border-radius: calc(var(--border-radius-lg) / 2);
}

.form-control-lg[type="color"],
.form-lg .form-control[type="color"],
.input-group-lg .form-control[type="color"] {
    font-size: 1.25rem;
    padding: .5rem;
    height: calc(1.5em + 1rem + calc(var(--border-width) * 2));
    border-radius: var(--border-radius-lg);
    --color-swatch-border-radius: var(--border-radius-lg);
}

.form-check-input-lg,
.form-lg .form-check-input,
.form-check-lg .form-check-input,
.input-group-lg .form-check-input {
	font-size: 1.25rem;
	border-radius: calc(var(--border-radius-lg) / 2.5);
}

.progress-lg,
.form-lg .progress,
.input-group-lg .progress {    
    font-size: 1.25rem;
    border-radius: var(--border-radius-lg);    
}

.meter-lg,
.form-lg .meter,
.input-group-lg .meter {	
	font-size: 1.25rem;
	border-radius: var(--border-radius-lg);
	--meter-bar-border-radius: var(--border-radius-lg);
}




















.stacked-details {
	margin-bottom: 1rem;
}

.stacked-details details {
	margin-bottom: 0;
	border-radius: 0;
}

.stacked-details details[open] > summary {
	border-radius: 0;
}

.stacked-details details:first-of-type,
.stacked-details details:first-of-type[open] > summary {
    border-top-left-radius: var(--border-radius);
    border-top-right-radius: var(--border-radius);
}

.stacked-details details:not(:first-of-type) {
    border-top: 0;
}

.stacked-details details:last-of-type {
	border-bottom-left-radius: var(--border-radius);
    border-bottom-right-radius: var(--border-radius);  
}



.btn { 
	--btn-padding-x: 0.75rem;
	--btn-padding-y: 0.375rem;
	--btn-font-size: 1rem;
    --btn-bg-color: var(--form-bg-color);
	--btn-border-color: var(--form-border-color);
    --btn-text-color: var(--form-text-color);
    --btn-hover-bg-color: var(--body-secondary-bg-color);
    --btn-hover-border-color: var(--border-color);
    --btn-hover-text-color: var(--body-secondary-text-color);   
    --btn-active-bg-color: var(--body-tertiary-bg-color);
    --btn-active-border-color: var(--border-color);
    --btn-active-text-color: var(--body-tertiary-text-color);    
    --btn-outline-color: currentColor;	
    display: inline-block;
    padding: var(--btn-padding-y) var(--btn-padding-x);    
    font-size: var(--btn-font-size);
    font-weight: 400;
    line-height: 1.5;    
    text-align: center;    
    vertical-align: middle;
    cursor: pointer;        
    color: var(--btn-text-color);
    background-color: var(--btn-bg-color); 
    border: var(--border-width) var(--border-style) var(--btn-border-color);
    border-radius: var(--border-radius);      
}

.btn:hover {
	color: var(--btn-hover-text-color);
	background-color: var(--btn-hover-bg-color);
 	border-color: var(--btn-hover-border-color); 	
}

.btn:active {
	color: var(--btn-active-text-color);
	background-color: var(--btn-active-bg-color);
 	border-color: var(--btn-active-border-color); 	
}

.btn:focus {
	outline-color: var(--btn-outline-color);
}

.btn:disabled {
	opacity: .5;
	cursor: not-allowed;
	pointer-events: none;
	color: var(--btn-text-color);
	background-color: var(--btn-bg-color);	
	border: var(--border-width) var(--border-style) var(--btn-border-color);
}

.btn-primary {
	--btn-bg-color: var(--primary-bg-color);
    --btn-border-color: var(--primary-border-color);
    --btn-text-color: var(--primary-text-color);
    --btn-hover-bg-color: var(--primary-hover-bg-color);
    --btn-hover-border-color: var(--primary-hover-border-color);
    --btn-hover-text-color: var(--primary-hover-text-color);
    --btn-active-bg-color: var(--primary-active-bg-color);
    --btn-active-border-color: var(--primary-active-border-color);
    --btn-active-text-color: var(--primary-active-text-color);
    --btn-outline-color: var(--primary-bg-color);
}
.btn-primary.btn-link {
	--btn-bg-color: transparent;
	--btn-border-color: transparent;
	--btn-text-color: var(--primary-bg-color);
	--btn-hover-bg-color: transparent;
    --btn-hover-border-color: transparent;
    --btn-hover-text-color: var(--primary-hover-bg-color);
    --btn-active-bg-color: transparent;
    --btn-active-border-color: transparent;
    --btn-active-text-color: var(--primary-active-bg-color);
    --btn-outline-color: var(--primary-bg-color);
}
.btn-primary.btn-outline {
	--btn-bg-color: transparent;;
	--btn-text-color: var(--primary-bg-color);
}

.btn-secondary {
	--btn-bg-color: var(--secondary-bg-color);
    --btn-border-color: var(--secondary-border-color);
    --btn-text-color: var(--secondary-text-color);
    --btn-hover-bg-color: var(--secondary-hover-bg-color);
    --btn-hover-border-color: var(--secondary-hover-border-color);
    --btn-hover-text-color: var(--secondary-hover-text-color);
    --btn-active-bg-color: var(--secondary-active-bg-color);
    --btn-active-border-color: var(--secondary-active-border-color);
    --btn-active-text-color: var(--secondary-active-text-color);
    --btn-outline-color: var(--secondary-bg-color);
}
.btn-secondary.btn-link {
	--btn-bg-color: transparent;
	--btn-border-color: transparent;
	--btn-text-color: var(--secondary-bg-color);
	--btn-hover-bg-color: transparent;
    --btn-hover-border-color: transparent;
    --btn-hover-text-color: var(--secondary-hover-bg-color);
    --btn-active-bg-color: transparent;
    --btn-active-border-color: transparent;
    --btn-active-text-color: var(--secondary-active-bg-color);
    --btn-outline-color: var(--secondary-bg-color);
}
.btn-secondary.btn-outline {
	--btn-bg-color: transparent;;
	--btn-text-color: var(--secondary-bg-color);
}

.btn-success {
	--btn-bg-color: var(--success-bg-color);
    --btn-border-color: var(--success-border-color);
    --btn-text-color: var(--success-text-color);
    --btn-hover-bg-color: var(--success-hover-bg-color);
    --btn-hover-border-color: var(--success-hover-border-color);
    --btn-hover-text-color: var(--success-hover-text-color);
    --btn-active-bg-color: var(--success-active-bg-color);
    --btn-active-border-color: var(--success-active-border-color);
    --btn-active-text-color: var(--success-active-text-color);
    --btn-outline-color: var(--success-bg-color);
}
.btn-success.btn-link {
	--btn-bg-color: transparent;
	--btn-border-color: transparent;
	--btn-text-color: var(--success-bg-color);
	--btn-hover-bg-color: transparent;
    --btn-hover-border-color: transparent;
    --btn-hover-text-color: var(--success-hover-bg-color);
    --btn-active-bg-color: transparent;
    --btn-active-border-color: transparent;
    --btn-active-text-color: var(--success-active-bg-color);
    --btn-outline-color: var(--success-bg-color);
}
.btn-success.btn-outline {
	--btn-bg-color: transparent;;
	--btn-text-color: var(--success-bg-color);
}

.btn-danger {
	--btn-bg-color: var(--danger-bg-color);
    --btn-border-color: var(--danger-border-color);
    --btn-text-color: var(--danger-text-color);
    --btn-hover-bg-color: var(--danger-hover-bg-color);
    --btn-hover-border-color: var(--danger-hover-border-color);
    --btn-hover-text-color: var(--danger-hover-text-color);
    --btn-active-bg-color: var(--danger-active-bg-color);
    --btn-active-border-color: var(--danger-active-border-color);
    --btn-active-text-color: var(--danger-active-text-color);
    --btn-outline-color: var(--danger-bg-color);
}
.btn-danger.btn-link {
	--btn-bg-color: transparent;
	--btn-border-color: transparent;
	--btn-text-color: var(--danger-bg-color);
	--btn-hover-bg-color: transparent;
    --btn-hover-border-color: transparent;
    --btn-hover-text-color: var(--danger-hover-bg-color);
    --btn-active-bg-color: transparent;
    --btn-active-border-color: transparent;
    --btn-active-text-color: var(--danger-active-bg-color);
    --btn-outline-color: var(--danger-bg-color);
}
.btn-danger.btn-outline {
	--btn-bg-color: transparent;;
	--btn-text-color: var(--danger-bg-color);
}

.btn-warning {
	--btn-bg-color: var(--warning-bg-color);
    --btn-border-color: var(--warning-border-color);
    --btn-text-color: var(--warning-text-color);
    --btn-hover-bg-color: var(--warning-hover-bg-color);
    --btn-hover-border-color: var(--warning-hover-border-color);
    --btn-hover-text-color: var(--warning-hover-text-color);
    --btn-active-bg-color: var(--warning-active-bg-color);
    --btn-active-border-color: var(--warning-active-border-color);
    --btn-active-text-color: var(--warning-active-text-color);
    --btn-outline-color: var(--warning-bg-color);
}
.btn-warning.btn-link {
	--btn-bg-color: transparent;
	--btn-border-color: transparent;
	--btn-text-color: var(--warning-bg-color);
	--btn-hover-bg-color: transparent;
    --btn-hover-border-color: transparent;
    --btn-hover-text-color: var(--warning-hover-bg-color);
    --btn-active-bg-color: transparent;
    --btn-active-border-color: transparent;
    --btn-active-text-color: var(--warning-active-bg-color);
    --btn-outline-color: var(--warning-bg-color);
}
.btn-warning.btn-outline {
	--btn-bg-color: transparent;;
	--btn-text-color: var(--warning-bg-color);
}

.btn-info {
	--btn-bg-color: var(--info-bg-color);
    --btn-border-color: var(--info-border-color);
    --btn-text-color: var(--info-text-color);
    --btn-hover-bg-color: var(--info-hover-bg-color);
    --btn-hover-border-color: var(--info-hover-border-color);
    --btn-hover-text-color: var(--info-hover-text-color);
    --btn-active-bg-color: var(--info-active-bg-color);
    --btn-active-border-color: var(--info-active-border-color);
    --btn-active-text-color: var(--info-active-text-color);
    --btn-outline-color: var(--info-bg-color);
}
.btn-info.btn-link {
	--btn-bg-color: transparent;
	--btn-border-color: transparent;
	--btn-text-color: var(--info-bg-color);
	--btn-hover-bg-color: transparent;
    --btn-hover-border-color: transparent;
    --btn-hover-text-color: var(--info-hover-bg-color);
    --btn-active-bg-color: transparent;
    --btn-active-border-color: transparent;
    --btn-active-text-color: var(--info-active-bg-color);
    --btn-outline-color: var(--info-bg-color);
}
.btn-info.btn-outline {
	--btn-bg-color: transparent;;
	--btn-text-color: var(--info-bg-color);
}

.btn-white {
	--btn-bg-color: var(--white-bg-color);
    --btn-border-color: var(--white-border-color);
    --btn-text-color: var(--white-text-color);
    --btn-hover-bg-color: var(--white-hover-bg-color);
    --btn-hover-border-color: var(--white-hover-border-color);
    --btn-hover-text-color: var(--white-hover-text-color);
    --btn-active-bg-color: var(--white-active-bg-color);
    --btn-active-border-color: var(--white-active-border-color);
    --btn-active-text-color: var(--white-active-text-color);
    --btn-outline-color: var(--white-bg-color);
}
.btn-white.btn-link {
	--btn-bg-color: transparent;
	--btn-border-color: transparent;
	--btn-text-color: var(--white-bg-color);
	--btn-hover-bg-color: transparent;
    --btn-hover-border-color: transparent;
    --btn-hover-text-color: var(--white-hover-bg-color);
    --btn-active-bg-color: transparent;
    --btn-active-border-color: transparent;
    --btn-active-text-color: var(--white-active-bg-color);
    --btn-outline-color: var(--white-bg-color);
}
.btn-white.btn-outline {
	--btn-bg-color: transparent;;
	--btn-text-color: var(--white-bg-color);
}

.btn-black {
	--btn-bg-color: var(--black-bg-color);
    --btn-border-color: var(--black-border-color);
    --btn-text-color: var(--black-text-color);
    --btn-hover-bg-color: var(--black-hover-bg-color);
    --btn-hover-border-color: var(--black-hover-border-color);
    --btn-hover-text-color: var(--black-hover-text-color);
    --btn-active-bg-color: var(--black-active-bg-color);
    --btn-active-border-color: var(--black-active-border-color);
    --btn-active-text-color: var(--black-active-text-color);
    --btn-outline-color: var(--black-bg-color);
}
.btn-black.btn-link {
	--btn-bg-color: transparent;
	--btn-border-color: transparent;
	--btn-text-color: var(--black-bg-color);
	--btn-hover-bg-color: transparent;
    --btn-hover-border-color: transparent;
    --btn-hover-text-color: var(--black-hover-bg-color);
    --btn-active-bg-color: transparent;
    --btn-active-border-color: transparent;
    --btn-active-text-color: var(--black-active-bg-color);
    --btn-outline-color: var(--black-bg-color);
}
.btn-black.btn-outline {
	--btn-bg-color: transparent;;
	--btn-text-color: var(--black-bg-color);
}

.btn-link {
	--btn-bg-color: transparent;
    --btn-border-color: transparent;
    --btn-text-color: var(--body-link-text-color);
    --btn-hover-bg-color: transparent;
    --btn-hover-border-color: transparent;
    --btn-hover-text-color: var(--body-link-hover-text-color);
    --btn-active-bg-color: transparent;
    --btn-active-border-color: transparent;
    --btn-active-text-color: var(--body-link-hover-text-color);
    --btn-outline-color: var(--body-link-text-color);
}


.table-primary {
	--table-bg-color: var(--primary-bg-color);
	--table-text-color: var(--primary-text-color);
	--table-border-color: var(--primary-border-color-prominent);
	--table-section-bg-color: var(--primary-section-bg-color);
	--table-section-text-color: var(--primary-section-text-color);
	--table-striped-bg-color: var(--primary-striped-bg-color);
	--table-striped-text-color: var(--primary-striped-text-color);
	--table-hover-bg-color: var(--primary-hover-bg-color);
	--table-hover-text-color: var(--primary-hover-text-color);
	--table-active-bg-color: var(--primary-active-bg-color);
	--table-active-text-color: var(--primary-active-text-color);
}
.table-primary .btn-primary {
	--btn-border-color: var(--primary-text-color);
	--btn-hover-border-color: var(--primary-hover-text-color);
	--btn-active-border-color: var(--primary-active-text-color);
	--btn-outline-color: var(--primary-text-color);
}
.table-primary .btn-primary.btn-link {
	--btn-text-color: var(--primary-text-color);
	--btn-border-color: transparent;
	--btn-hover-text-color: var(--primary-hover-text-color);
	--btn-hover-border-color: transparent;
	--btn-active-text-color: var(--primary-active-text-color);
	--btn-active-border-color: transparent;
}
.table-primary .btn-primary.btn-outline {
	--btn-text-color: var(--primary-text-color);
}

.table-secondary {
	--table-bg-color: var(--secondary-bg-color);
	--table-text-color: var(--secondary-text-color);
	--table-border-color: var(--secondary-border-color-prominent);
	--table-section-bg-color: var(--secondary-section-bg-color);
	--table-section-text-color: var(--secondary-section-text-color);
	--table-striped-bg-color: var(--secondary-striped-bg-color);
	--table-striped-text-color: var(--secondary-striped-text-color);
	--table-hover-bg-color: var(--secondary-hover-bg-color);
	--table-hover-text-color: var(--secondary-hover-text-color);
	--table-active-bg-color: var(--secondary-active-bg-color);
	--table-active-text-color: var(--secondary-active-text-color);
}
.table-secondary .btn-secondary {
	--btn-border-color: var(--secondary-text-color);
	--btn-hover-border-color: var(--secondary-hover-text-color);
	--btn-active-border-color: var(--secondary-active-text-color);
	--btn-outline-color: var(--secondary-text-color);
}
.table-secondary .btn-secondary.btn-link {
	--btn-text-color: var(--secondary-text-color);
	--btn-border-color: transparent;
	--btn-hover-text-color: var(--secondary-hover-text-color);
	--btn-hover-border-color: transparent;
	--btn-active-text-color: var(--secondary-active-text-color);
	--btn-active-border-color: transparent;
}
.table-secondary .btn-secondary.btn-outline {
	--btn-text-color: var(--secondary-text-color);
}

.table-success {
	--table-bg-color: var(--success-bg-color);
	--table-text-color: var(--success-text-color);
	--table-border-color: var(--success-border-color-prominent);
	--table-section-bg-color: var(--success-section-bg-color);
	--table-section-text-color: var(--success-section-text-color);
	--table-striped-bg-color: var(--success-striped-bg-color);
	--table-striped-text-color: var(--success-striped-text-color);
	--table-hover-bg-color: var(--success-hover-bg-color);
	--table-hover-text-color: var(--success-hover-text-color);
	--table-active-bg-color: var(--success-active-bg-color);
	--table-active-text-color: var(--success-active-text-color);
}
.table-success .btn-success {
	--btn-border-color: var(--success-text-color);
	--btn-hover-border-color: var(--success-hover-text-color);
	--btn-active-border-color: var(--success-active-text-color);
	--btn-outline-color: var(--success-text-color);
}
.table-success .btn-success.btn-link {
	--btn-text-color: var(--success-text-color);
	--btn-border-color: transparent;
	--btn-hover-text-color: var(--success-hover-text-color);
	--btn-hover-border-color: transparent;
	--btn-active-text-color: var(--success-active-text-color);
	--btn-active-border-color: transparent;
}
.table-success .btn-success.btn-outline {
	--btn-text-color: var(--success-text-color);
}

.table-danger {
	--table-bg-color: var(--danger-bg-color);
	--table-text-color: var(--danger-text-color);
	--table-border-color: var(--danger-border-color-prominent);
	--table-section-bg-color: var(--danger-section-bg-color);
	--table-section-text-color: var(--danger-section-text-color);
	--table-striped-bg-color: var(--danger-striped-bg-color);
	--table-striped-text-color: var(--danger-striped-text-color);
	--table-hover-bg-color: var(--danger-hover-bg-color);
	--table-hover-text-color: var(--danger-hover-text-color);
	--table-active-bg-color: var(--danger-active-bg-color);
	--table-active-text-color: var(--danger-active-text-color);
}
.table-danger .btn-danger {
	--btn-border-color: var(--danger-text-color);
	--btn-hover-border-color: var(--danger-hover-text-color);
	--btn-active-border-color: var(--danger-active-text-color);
	--btn-outline-color: var(--danger-text-color);
}
.table-danger .btn-danger.btn-link {
	--btn-text-color: var(--danger-text-color);
	--btn-border-color: transparent;
	--btn-hover-text-color: var(--danger-hover-text-color);
	--btn-hover-border-color: transparent;
	--btn-active-text-color: var(--danger-active-text-color);
	--btn-active-border-color: transparent;
}
.table-danger .btn-danger.btn-outline {
	--btn-text-color: var(--danger-text-color);
}

.table-warning {
	--table-bg-color: var(--warning-bg-color);
	--table-text-color: var(--warning-text-color);
	--table-border-color: var(--warning-border-color-prominent);
	--table-section-bg-color: var(--warning-section-bg-color);
	--table-section-text-color: var(--warning-section-text-color);
	--table-striped-bg-color: var(--warning-striped-bg-color);
	--table-striped-text-color: var(--warning-striped-text-color);
	--table-hover-bg-color: var(--warning-hover-bg-color);
	--table-hover-text-color: var(--warning-hover-text-color);
	--table-active-bg-color: var(--warning-active-bg-color);
	--table-active-text-color: var(--warning-active-text-color);
}
.table-warning .btn-warning {
	--btn-border-color: var(--warning-text-color);
	--btn-hover-border-color: var(--warning-hover-text-color);
	--btn-active-border-color: var(--warning-active-text-color);
	--btn-outline-color: var(--warning-text-color);
}
.table-warning .btn-warning.btn-link {
	--btn-text-color: var(--warning-text-color);
	--btn-border-color: transparent;
	--btn-hover-text-color: var(--warning-hover-text-color);
	--btn-hover-border-color: transparent;
	--btn-active-text-color: var(--warning-active-text-color);
	--btn-active-border-color: transparent;
}
.table-warning .btn-warning.btn-outline {
	--btn-text-color: var(--warning-text-color);
}

.table-info {
	--table-bg-color: var(--info-bg-color);
	--table-text-color: var(--info-text-color);
	--table-border-color: var(--info-border-color-prominent);
	--table-section-bg-color: var(--info-section-bg-color);
	--table-section-text-color: var(--info-section-text-color);
	--table-striped-bg-color: var(--info-striped-bg-color);
	--table-striped-text-color: var(--info-striped-text-color);
	--table-hover-bg-color: var(--info-hover-bg-color);
	--table-hover-text-color: var(--info-hover-text-color);
	--table-active-bg-color: var(--info-active-bg-color);
	--table-active-text-color: var(--info-active-text-color);
}
.table-info .btn-info {
	--btn-border-color: var(--info-text-color);
	--btn-hover-border-color: var(--info-hover-text-color);
	--btn-active-border-color: var(--info-active-text-color);
	--btn-outline-color: var(--info-text-color);
}
.table-info .btn-info.btn-link {
	--btn-text-color: var(--info-text-color);
	--btn-border-color: transparent;
	--btn-hover-text-color: var(--info-hover-text-color);
	--btn-hover-border-color: transparent;
	--btn-active-text-color: var(--info-active-text-color);
	--btn-active-border-color: transparent;
}
.table-info .btn-info.btn-outline {
	--btn-text-color: var(--info-text-color);
}

.table-white {
	--table-bg-color: var(--white-bg-color);
	--table-text-color: var(--white-text-color);
	--table-border-color: var(--white-border-color-prominent);
	--table-section-bg-color: var(--white-section-bg-color);
	--table-section-text-color: var(--white-section-text-color);
	--table-striped-bg-color: var(--white-striped-bg-color);
	--table-striped-text-color: var(--white-striped-text-color);
	--table-hover-bg-color: var(--white-hover-bg-color);
	--table-hover-text-color: var(--white-hover-text-color);
	--table-active-bg-color: var(--white-active-bg-color);
	--table-active-text-color: var(--white-active-text-color);
}
.table-white .btn-white {
	--btn-border-color: var(--white-text-color);
	--btn-hover-border-color: var(--white-hover-text-color);
	--btn-active-border-color: var(--white-active-text-color);
	--btn-outline-color: var(--white-text-color);
}
.table-white .btn-white.btn-link {
	--btn-text-color: var(--white-text-color);
	--btn-border-color: transparent;
	--btn-hover-text-color: var(--white-hover-text-color);
	--btn-hover-border-color: transparent;
	--btn-active-text-color: var(--white-active-text-color);
	--btn-active-border-color: transparent;
}
.table-white .btn-white.btn-outline {
	--btn-text-color: var(--white-text-color);
}

.table-black {
	--table-bg-color: var(--black-bg-color);
	--table-text-color: var(--black-text-color);
	--table-border-color: var(--black-border-color-prominent);
	--table-section-bg-color: var(--black-section-bg-color);
	--table-section-text-color: var(--black-section-text-color);
	--table-striped-bg-color: var(--black-striped-bg-color);
	--table-striped-text-color: var(--black-striped-text-color);
	--table-hover-bg-color: var(--black-hover-bg-color);
	--table-hover-text-color: var(--black-hover-text-color);
	--table-active-bg-color: var(--black-active-bg-color);
	--table-active-text-color: var(--black-active-text-color);
}
.table-black .btn-black {
	--btn-border-color: var(--black-text-color);
	--btn-hover-border-color: var(--black-hover-text-color);
	--btn-active-border-color: var(--black-active-text-color);
	--btn-outline-color: var(--black-text-color);
}
.table-black .btn-black.btn-link {
	--btn-text-color: var(--black-text-color);
	--btn-border-color: transparent;
	--btn-hover-text-color: var(--black-hover-text-color);
	--btn-hover-border-color: transparent;
	--btn-active-text-color: var(--black-active-text-color);
	--btn-active-border-color: transparent;
}
.table-black .btn-black.btn-outline {
	--btn-text-color: var(--black-text-color);
}







/* UTILITIES AND HELPERS */

/* Borders */

.border {	
	border: var(--border-width) var(--border-style) color-mix(in srgb, var(--border-color), transparent var(--border-alpha,0%)) !important;
}

.border-0 {
    border: 0 !important;
}

.border-top {
    border-top: var(--border-width) var(--border-style) color-mix(in srgb, var(--border-color), transparent var(--border-alpha,0%)) !important;
}

.border-top-0 {
    border-top: 0 !important;
}

.border-right {
    border-right: var(--border-width) var(--border-style) color-mix(in srgb, var(--border-color), transparent var(--border-alpha,0%)) !important;
}

.border-right-0 {
    border-right: 0 !important;
}

.border-bottom {
    border-bottom: var(--border-width) var(--border-style) color-mix(in srgb, var(--border-color), transparent var(--border-alpha,0%)) !important;
}

.border-bottom-0 {
    border-bottom: 0 !important;
}

.border-left {
    border-left: var(--border-width) var(--border-style) color-mix(in srgb, var(--border-color), transparent var(--border-alpha,0%)) !important;
}

.border-left-0 {
    border-left: 0 !important;
}

.border-primary {	
    border-color: color-mix(in srgb, var(--primary-border-color), transparent var(--border-alpha,0%)) !important;
}

.border-primary-subtle { 
    border-color: color-mix(in srgb, var(--primary-border-color-subtle), transparent var(--border-alpha,0%)) !important;
}

.border-primary-prominent { 
    border-color: color-mix(in srgb, var(--primary-border-color-prominent), transparent var(--border-alpha,0%)) !important;
}

.border-secondary {
    border-color: color-mix(in srgb, var(--secondary-border-color), transparent var(--border-alpha,0%)) !important;
}

.border-secondary-subtle {
    border-color: color-mix(in srgb, var(--secondary-border-color-subtle), transparent var(--border-alpha,0%)) !important;
}

.border-secondary-prominent { 
    border-color: color-mix(in srgb, var(--secondary-border-color-prominent), transparent var(--border-alpha,0%)) !important;
}

.border-success {   
    border-color: color-mix(in srgb, var(--success-border-color), transparent var(--border-alpha,0%)) !important;
}

.border-success-subtle {   
    border-color: color-mix(in srgb, var(--success-border-color-subtle), transparent var(--border-alpha,0%)) !important;
}

.border-success-prominent { 
    border-color: color-mix(in srgb, var(--success-border-color-prominent), transparent var(--border-alpha,0%)) !important;
}

.border-danger {  
    border-color: color-mix(in srgb, var(--danger-border-color), transparent var(--border-alpha,0%)) !important;
}

.border-danger-subtle {   
    border-color: color-mix(in srgb, var(--danger-border-color-subtle), transparent var(--border-alpha,0%)) !important;
}

.border-danger-prominent { 
    border-color: color-mix(in srgb, var(--danger-border-color-prominent), transparent var(--border-alpha,0%)) !important;
}

.border-warning {    
    border-color: color-mix(in srgb, var(--warning-border-color), transparent var(--border-alpha,0%)) !important;
}

.border-warning-subtle {    
    border-color: color-mix(in srgb, var(--warning-border-color-subtle), transparent var(--border-alpha,0%)) !important;
}

.border-warning-prominent { 
    border-color: color-mix(in srgb, var(--warning-border-color-prominent), transparent var(--border-alpha,0%)) !important;
}

.border-info {    
    border-color: color-mix(in srgb, var(--info-border-color), transparent var(--border-alpha,0%)) !important;
}

.border-info-subtle {    
    border-color: color-mix(in srgb, var(--info-border-color-subtle), transparent var(--border-alpha,0%)) !important;
}

.border-info-prominent { 
    border-color: color-mix(in srgb, var(--info-border-color-prominent), transparent var(--border-alpha,0%)) !important;
}

.border-white {    
    border-color: color-mix(in srgb, var(--white-border-color), transparent var(--border-alpha,0%)) !important;
}

.border-white-subtle {    
    border-color: color-mix(in srgb, var(--white-border-color-subtle), transparent var(--border-alpha,0%)) !important;
}

.border-white-prominent { 
    border-color: color-mix(in srgb, var(--white-border-color-prominent), transparent var(--border-alpha,0%)) !important;
}

.border-black {    
    border-color: color-mix(in srgb, var(--black-border-color), transparent var(--border-alpha,0%)) !important;
}

.border-black-subtle {    
    border-color: color-mix(in srgb, var(--black-border-color-subtle), transparent var(--border-alpha,0%)) !important;
}

.border-black-prominent { 
    border-color: color-mix(in srgb, var(--black-border-color-prominent), transparent var(--border-alpha,0%)) !important;
}

.border-alpha-0 {
	--border-alpha: 0%;
}

.border-alpha-10 {
    --border-alpha: 10%;
}

.border-alpha-25 {
    --border-alpha: 25%;
}

.border-alpha-50 {
    --border-alpha: 50%;
}

.border-alpha-75 {
    --border-alpha: 75%;
}

.border-alpha-100 {
    --border-alpha: 100%;
}

.border-1 {
    border-width: 1px !important;
}

.border-2 {
    border-width: 2px !important;
}

.border-3 {
    border-width: 3px !important;
}

.border-4 {
    border-width: 4px !important;
}

.border-5 {
    border-width: 5px !important;
}

.rounded {
    border-radius: var(--border-radius-md) !important;
}

.rounded-0 {
    border-radius: 0 !important;
}

.rounded-1 {
    border-radius: var(--border-radius-sm) !important;
}

.rounded-2 {
    border-radius: var(--border-radius-md) !important;
}

.rounded-3 {
    border-radius: var(--border-radius-lg) !important;
}

.rounded-4 {
    border-radius: var(--border-radius-xl) !important;
}

.rounded-5 {
    border-radius: var(--border-radius-xxl) !important;
}

.rounded-circle {
    border-radius: 50% !important;
}

.rounded-pill {
    border-radius: var(--border-radius-pill) !important;
}

.rounded-top {
    border-top-left-radius: var(--border-radius-md) !important;
    border-top-right-radius: var(--border-radius-md) !important;
}

.rounded-top-0 {
    border-top-left-radius: 0 !important;
    border-top-right-radius: 0 !important;
}

.rounded-top-1 {
    border-top-left-radius: var(--border-radius-sm) !important;
    border-top-right-radius: var(--border-radius-sm) !important;
}

.rounded-top-2 {
    border-top-left-radius: var(--border-radius-md) !important;
    border-top-right-radius: var(--border-radius-md) !important;
}

.rounded-top-3 {
    border-top-left-radius: var(--border-radius-lg) !important;
    border-top-right-radius: var(--border-radius-lg) !important;
}

.rounded-top-4 {
    border-top-left-radius: var(--border-radius-xl) !important;
    border-top-right-radius: var(--border-radius-xl) !important;
}

.rounded-top-5 {
    border-top-left-radius: var(--border-radius-xxl) !important;
    border-top-right-radius: var(--border-radius-xxl) !important;
}

.rounded-top-circle {
    border-top-left-radius: 50% !important;
    border-top-right-radius: 50% !important;
}

.rounded-top-pill {
    border-top-left-radius: var(--border-radius-pill) !important;
    border-top-right-radius: var(--border-radius-pill) !important;
}

.rounded-right {
    border-top-right-radius: var(--border-radius-md) !important;
    border-bottom-right-radius: var(--border-radius-md) !important;
}

.rounded-right-0 {
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

.rounded-right-1 {
    border-top-right-radius: var(--border-radius-sm) !important;
    border-bottom-right-radius: var(--border-radius-sm) !important;
}

.rounded-right-2 {
    border-top-right-radius: var(--border-radius-md) !important;
    border-bottom-right-radius: var(--border-radius-md) !important;
}

.rounded-right-3 {
    border-top-right-radius: var(--border-radius-lg) !important;
    border-bottom-right-radius: var(--border-radius-lg) !important;
}

.rounded-right-4 {
    border-top-right-radius: var(--border-radius-xl) !important;
    border-bottom-right-radius: var(--border-radius-xl) !important;
}

.rounded-right-5 {
    border-top-right-radius: var(--border-radius-xxl) !important;
    border-bottom-right-radius: var(--border-radius-xxl) !important;
}

.rounded-right-circle {
    border-top-right-radius: 50% !important;
    border-bottom-right-radius: 50% !important;
}

.rounded-right-pill {
    border-top-right-radius: var(--border-radius-pill) !important;
    border-bottom-right-radius: var(--border-radius-pill) !important;
}

.rounded-bottom {
    border-bottom-right-radius: var(--border-radius-md) !important;
    border-bottom-left-radius: var(--border-radius-md) !important;
}

.rounded-bottom-0 {
    border-bottom-right-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
}

.rounded-bottom-1 {
    border-bottom-right-radius: var(--border-radius-sm) !important;
    border-bottom-left-radius: var(--border-radius-sm) !important;
}

.rounded-bottom-2 {
    border-bottom-right-radius: var(--border-radius-md) !important;
    border-bottom-left-radius: var(--border-radius-md) !important;
}

.rounded-bottom-3 {
    border-bottom-right-radius: var(--border-radius-lg) !important;
    border-bottom-left-radius: var(--border-radius-lg) !important;
}

.rounded-bottom-4 {
    border-bottom-right-radius: var(--border-radius-xl) !important;
    border-bottom-left-radius: var(--border-radius-xl) !important;
}

.rounded-bottom-5 {
    border-bottom-right-radius: var(--border-radius-xxl) !important;
    border-bottom-left-radius: var(--border-radius-xxl) !important;
}

.rounded-bottom-circle {
    border-bottom-right-radius: 50% !important;
    border-bottom-left-radius: 50% !important;
}

.rounded-bottom-pill {
    border-bottom-right-radius: var(--border-radius-pill) !important;
    border-bottom-left-radius: var(--border-radius-pill) !important;
}

.rounded-left {
    border-bottom-left-radius: var(--border-radius-md) !important;
    border-top-left-radius: var(--border-radius-md) !important;
}

.rounded-left-0 {
    border-bottom-left-radius: 0 !important;
    border-top-left-radius: 0 !important;
}

.rounded-left-1 {
    border-bottom-left-radius: var(--border-radius-sm) !important;
    border-top-left-radius: var(--border-radius-sm) !important;
}

.rounded-left-2 {
    border-bottom-left-radius: var(--border-radius-md) !important;
    border-top-left-radius: var(--border-radius-md) !important;
}

.rounded-left-3 {
    border-bottom-left-radius: var(--border-radius-lg) !important;
    border-top-left-radius: var(--border-radius-lg) !important;
}

.rounded-left-4 {
    border-bottom-left-radius: var(--border-radius-xl) !important;
    border-top-left-radius: var(--border-radius-xl) !important;
}

.rounded-left-5 {
    border-bottom-left-radius: var(--border-radius-xxl) !important;
    border-top-left-radius: var(--border-radius-xxl) !important;
}

.rounded-left-circle {
    border-bottom-left-radius: 50% !important;
    border-top-left-radius: 50% !important;
}

.rounded-left-pill {
    border-bottom-left-radius: var(--border-radius-pill) !important;
    border-top-left-radius: var(--border-radius-pill) !important;
}

/* Clearfix */

.clearfix::after {
    display: block;
    clear: both;
    content: "";
}

/* Text colors with backgrounds */

.text-bg-primary {	
    color: color-mix(in srgb, var(--primary-text-color), transparent var(--text-alpha,0%)) !important;
    background-color: color-mix(in srgb, var(--primary-bg-color), transparent var(--bg-alpha,0%)) !important;
}

.text-bg-primary-subtle {
    color: color-mix(in srgb, var(--primary-text-color-emphasis), transparent var(--text-alpha,0%)) !important;
    background-color: color-mix(in srgb, var(--primary-bg-color-subtle), transparent var(--bg-alpha,0%)) !important;
}

.text-bg-secondary {
    color: color-mix(in srgb, var(--secondary-text-color), transparent var(--text-alpha,0%)) !important;
    background-color: color-mix(in srgb, var(--secondary-bg-color), transparent var(--bg-alpha,0%)) !important;
}

.text-bg-secondary-subtle {
    color: color-mix(in srgb, var(--secondary-text-color-emphasis), transparent var(--text-alpha,0%)) !important;
    background-color: color-mix(in srgb, var(--secondary-bg-color-subtle), transparent var(--bg-alpha,0%)) !important;
}

.text-bg-success {
    color: color-mix(in srgb, var(--success-text-color), transparent var(--text-alpha,0%)) !important;
    background-color: color-mix(in srgb, var(--success-bg-color), transparent var(--bg-alpha,0%)) !important;
}

.text-bg-success-subtle {
    color: color-mix(in srgb, var(--success-text-color-emphasis), transparent var(--text-alpha,0%)) !important;
    background-color: color-mix(in srgb, var(--success-bg-color-subtle), transparent var(--bg-alpha,0%)) !important;
}

.text-bg-danger {
    color: color-mix(in srgb, var(--danger-text-color), transparent var(--text-alpha,0%)) !important;
    background-color: color-mix(in srgb, var(--danger-bg-color), transparent var(--bg-alpha,0%)) !important;
}

.text-bg-danger-subtle {
    color: color-mix(in srgb, var(--danger-text-color-emphasis), transparent var(--text-alpha,0%)) !important;
    background-color: color-mix(in srgb, var(--danger-bg-color-subtle), transparent var(--bg-alpha,0%)) !important;
}

.text-bg-warning {
    color: color-mix(in srgb, var(--warning-text-color), transparent var(--text-alpha,0%)) !important;
    background-color: color-mix(in srgb, var(--warning-bg-color), transparent var(--bg-alpha,0%)) !important;
}

.text-bg-warning-subtle {
    color: color-mix(in srgb, var(--warning-text-color-emphasis), transparent var(--text-alpha,0%)) !important;
    background-color: color-mix(in srgb, var(--warning-bg-color-subtle), transparent var(--bg-alpha,0%)) !important;
}

.text-bg-info {
    color: color-mix(in srgb, var(--info-text-color), transparent var(--text-alpha,0%)) !important;
    background-color: color-mix(in srgb, var(--info-bg-color), transparent var(--bg-alpha,0%)) !important;
}

.text-bg-info-subtle {
    color: color-mix(in srgb, var(--info-text-color-emphasis), transparent var(--text-alpha,0%)) !important;
    background-color: color-mix(in srgb, var(--info-bg-color-subtle), transparent var(--bg-alpha,0%)) !important;
}

.text-bg-body {
    color: color-mix(in srgb, var(--body-text-color), transparent var(--text-alpha,0%)) !important;
    background-color: color-mix(in srgb, var(--body-bg-color), transparent var(--bg-alpha,0%)) !important;
}

.text-bg-body-secondary {
    color: color-mix(in srgb, var(--body-secondary-text-color), transparent var(--text-alpha,0%)) !important;
    background-color: color-mix(in srgb, var(--body-secondary-bg-color), transparent var(--bg-alpha,0%)) !important;
}

.text-bg-body-tertiary {
    color: color-mix(in srgb, var(--body-tertiary-text-color), transparent var(--text-alpha,0%)) !important;
    background-color: color-mix(in srgb, var(--body-tertiary-bg-color), transparent var(--bg-alpha,0%)) !important;
}

.text-bg-white {
    color: color-mix(in srgb, var(--white-text-color), transparent var(--text-alpha,0%)) !important;
    background-color: color-mix(in srgb, var(--white-bg-color), transparent var(--bg-alpha,0%)) !important;
}

.text-bg-white-subtle {
    color: color-mix(in srgb, var(--white-text-color-emphasis), transparent var(--text-alpha,0%)) !important;
    background-color: color-mix(in srgb, var(--white-bg-color-subtle), transparent var(--bg-alpha,0%)) !important;
}

.text-bg-black {
    color: color-mix(in srgb, var(--black-text-color), transparent var(--text-alpha,0%)) !important;
    background-color: color-mix(in srgb, var(--black-bg-color), transparent var(--bg-alpha,0%)) !important;
}

.text-bg-black-subtle {
    color: color-mix(in srgb, var(--black-text-color-emphasis), transparent var(--text-alpha,0%)) !important;
    background-color: color-mix(in srgb, var(--black-bg-color-subtle), transparent var(--bg-alpha,0%)) !important;
}

/* Text colors */

.text-primary {
	color: color-mix(in srgb, var(--primary-text-color), transparent var(--text-alpha,0%)) !important;
}

.text-primary-emphasis {
	color: color-mix(in srgb, var(--primary-text-color-emphasis), transparent var(--text-alpha,0%)) !important;
}

.text-secondary {
	color: color-mix(in srgb, var(--secondary-text-color), transparent var(--text-alpha,0%)) !important;
}

.text-secondary-emphasis {
	color: color-mix(in srgb, var(--secondary-text-color-emphasis), transparent var(--text-alpha,0%)) !important;
}

.text-success {
	color: color-mix(in srgb, var(--success-text-color), transparent var(--text-alpha,0%)) !important;
}

.text-success-emphasis {
	color: color-mix(in srgb, var(--success-text-color-emphasis), transparent var(--text-alpha,0%)) !important;
}

.text-danger {
	color: color-mix(in srgb, var(--danger-text-color), transparent var(--text-alpha,0%)) !important;
}

.text-danger-emphasis {
	color: color-mix(in srgb, var(--danger-text-color-emphasis), transparent var(--text-alpha,0%)) !important;
}

.text-warning {
	color: color-mix(in srgb, var(--warning-text-color), transparent var(--text-alpha,0%)) !important;
}

.text-warning-emphasis {
	color: color-mix(in srgb, var(--warning-text-color-emphasis), transparent var(--text-alpha,0%)) !important;
}

.text-info {
	color: color-mix(in srgb, var(--info-text-color), transparent var(--text-alpha,0%)) !important;
}

.text-info-emphasis {
	color: color-mix(in srgb, var(--info-text-color-emphasis), transparent var(--text-alpha,0%)) !important;
}

.text-body {
	color: color-mix(in srgb, var(--body-text-color), transparent var(--text-alpha,0%)) !important;
}

.text-body-secondary {
	color: color-mix(in srgb, var(--body-secondary-text-color), transparent var(--text-alpha,0%)) !important;
}

.text-body-tertiary {
	color: color-mix(in srgb, var(--body-tertiary-text-color), transparent var(--text-alpha,0%)) !important;
}

.text-heading {
	color: color-mix(in srgb, var(--heading-text-color), transparent var(--text-alpha,0%)) !important;
}

.text-white {
	color: color-mix(in srgb, var(--white-text-color), transparent var(--text-alpha,0%)) !important;
}

.text-white-emphasis {
	color: color-mix(in srgb, var(--white-text-color-emphasis), transparent var(--text-alpha,0%)) !important;
}

.text-black {
	color: color-mix(in srgb, var(--black-text-color), transparent var(--text-alpha,0%)) !important;
}

.text-black-emphasis {
	color: color-mix(in srgb, var(--black-text-color-emphasis), transparent var(--text-alpha,0%)) !important;
}

.text-reset {
    --text-alpha: 0%;
    color: inherit !important;
}

.text-alpha-10 {
    --text-alpha: 10%;
}

.text-alpha-25 {
    --text-alpha: 25%;
}

.text-alpha-50 {
    --text-alpha: 50%;
}

.text-alpha-75 {
    --text-alpha: 75%;
}

.text-alpha-100 {
    --text-alpha: 100%;
}

/* Colors */

.color-primary {
	color: color-mix(in srgb, var(--primary-bg-color), transparent var(--color-alpha,0%)) !important;
}

.color-primary-subtle {
	color: color-mix(in srgb, var(--primary-bg-color-subtle), transparent var(--color-alpha,0%)) !important;
}

.color-secondary {
	color: color-mix(in srgb, var(--secondary-bg-color), transparent var(--color-alpha,0%)) !important;
}

.color-secondary-subtle {
	color: color-mix(in srgb, var(--secondary-bg-color-subtle), transparent var(--color-alpha,0%)) !important;
}

.color-success {
	color: color-mix(in srgb, var(--success-bg-color), transparent var(--color-alpha,0%)) !important;
}

.color-success-subtle {
	color: color-mix(in srgb, var(--success-bg-color-subtle), transparent var(--color-alpha,0%)) !important;
}

.color-danger {
	color: color-mix(in srgb, var(--danger-bg-color), transparent var(--color-alpha,0%)) !important;
}

.color-danger-subtle {
	color: color-mix(in srgb, var(--danger-bg-color-subtle), transparent var(--color-alpha,0%)) !important;
}

.color-warning {
	color: color-mix(in srgb, var(--warning-bg-color), transparent var(--color-alpha,0%)) !important;
}

.color-warning-subtle {
	color: color-mix(in srgb, var(--warning-bg-color-subtle), transparent var(--color-alpha,0%)) !important;
}

.color-info {
	color: color-mix(in srgb, var(--info-bg-color), transparent var(--color-alpha,0%)) !important;
}

.color-info-subtle {
	color: color-mix(in srgb, var(--info-bg-color-subtle), transparent var(--color-alpha,0%)) !important;
}

.color-body {
	color: color-mix(in srgb, var(--body-bg-color), transparent var(--color-alpha,0%)) !important;
}

.color-body-secondary {
	color: color-mix(in srgb, var(--body-secondary-bg-color), transparent var(--color-alpha,0%)) !important;
}

.color-body-tertiary {
	color: color-mix(in srgb, var(--body-tertiary-bg-color), transparent var(--color-alpha,0%)) !important;
}

.color-white {
	color: color-mix(in srgb, var(--white-bg-color), transparent var(--color-alpha,0%)) !important;
}

.color-white-subtle {
	color: color-mix(in srgb, var(--white-bg-color-subtle), transparent var(--color-alpha,0%)) !important;
}

.color-black {
	color: color-mix(in srgb, var(--black-bg-color), transparent var(--color-alpha,0%)) !important;
}

.color-black-subtle {
	color: color-mix(in srgb, var(--black-bg-color-subtle), transparent var(--color-alpha,0%)) !important;
}

.color-reset {
    --color-alpha: 0%;
    color: inherit !important;
}

.color-alpha-10 {
    --color-alpha: 10%;
}

.color-alpha-25 {
    --color-alpha: 25%;
}

.color-alpha-50 {
    --color-alpha: 50%;
}

.color-alpha-75 {
    --color-alpha: 75%;
}

.color-alpha-100 {
    --color-alpha: 100%;
}

/* Backgrounds */

.bg-primary {
	background-color: color-mix(in srgb, var(--primary-bg-color), transparent var(--bg-alpha,0%)) !important;
}

.bg-primary-subtle {
	background-color: color-mix(in srgb, var(--primary-bg-color-subtle), transparent var(--bg-alpha,0%)) !important;
}

.bg-secondary {
	background-color: color-mix(in srgb, var(--secondary-bg-color), transparent var(--bg-alpha,0%)) !important;	
}

.bg-secondary-subtle {
	background-color: color-mix(in srgb, var(--secondary-bg-color-subtle), transparent var(--bg-alpha,0%)) !important;
}

.bg-success {
	background-color: color-mix(in srgb, var(--success-bg-color), transparent var(--bg-alpha,0%)) !important;
}

.bg-success-subtle {
	background-color: color-mix(in srgb, var(--success-bg-color-subtle), transparent var(--bg-alpha,0%)) !important;
}

.bg-danger {
	background-color: color-mix(in srgb, var(--danger-bg-color), transparent var(--bg-alpha,0%)) !important;
}

.bg-danger-subtle {
	background-color: color-mix(in srgb, var(--danger-bg-color-subtle), transparent var(--bg-alpha,0%)) !important;
}

.bg-warning {
	background-color: color-mix(in srgb, var(--warning-bg-color), transparent var(--bg-alpha,0%)) !important;
}

.bg-warning-subtle {
	background-color: color-mix(in srgb, var(--warning-bg-color-subtle), transparent var(--bg-alpha,0%)) !important;
}

.bg-info {
	background-color: color-mix(in srgb, var(--info-bg-color), transparent var(--bg-alpha,0%)) !important;
}

.bg-info-subtle {
	background-color: color-mix(in srgb, var(--info-bg-color-subtle), transparent var(--bg-alpha,0%)) !important;
}

.bg-body {
	background-color: color-mix(in srgb, var(--body-bg-color), transparent var(--bg-alpha,0%)) !important;
}

.bg-body-secondary {
	background-color: color-mix(in srgb, var(--body-secondary-bg-color), transparent var(--bg-alpha,0%)) !important;
}

.bg-body-tertiary {
	background-color: color-mix(in srgb, var(--body-tertiary-bg-color), transparent var(--bg-alpha,0%)) !important;
}

.bg-white {
	background-color: color-mix(in srgb, var(--white-bg-color), transparent var(--bg-alpha,0%)) !important;
}

.bg-white-subtle {
	background-color: color-mix(in srgb, var(--white-bg-color-subtle), transparent var(--bg-alpha,0%)) !important;
}

.bg-black {
	background-color: color-mix(in srgb, var(--black-bg-color), transparent var(--bg-alpha,0%)) !important;
}

.bg-black-subtle {
	background-color: color-mix(in srgb, var(--black-bg-color-subtle), transparent var(--bg-alpha,0%)) !important;
}

.bg-transparent {
    --bg-alpha: 0%;
    background-color: transparent !important;
}

.bg-gradient {
    background-image: var(--gradient) !important;
}

.bg-alpha-0 {
	--bg-alpha: 0%;
}

.bg-alpha-10 {
    --bg-alpha: 10%;
}

.bg-alpha-25 {
    --bg-alpha: 25%;
}

.bg-alpha-50 {
    --bg-alpha: 50%;
}

.bg-alpha-75 {
    --bg-alpha: 75%;
}

.bg-alpha-100 {
    --bg-alpha: 100%;
}

/* Float */

.float-left {
    float: left !important;
}

.float-right {
    float: right !important;
}

.float-none {
    float: none !important;
}

/* Focus outline */

.focus-outline:focus {
	outline: var(--focus-outline-class-width) var(--focus-outline-style) color-mix(in srgb, var(--focus-outline-color), transparent var(--focus-outline-alpha,25%)) !important;
    outline-offset: var(--focus-outline-offset);
}

.focus-outline-primary {
    --focus-outline-color: var(--primary-bg-color);
}

.focus-outline-secondary {
    --focus-outline-color: var(--secondary-bg-color);
}

.focus-outline-success {
    --focus-outline-color: var(--success-bg-color);
}

.focus-outline-danger {
    --focus-outline-color: var(--danger-bg-color);
}

.focus-outline-warning {
    --focus-outline-color: var(--warning-bg-color);
}

.focus-outline-info {
    --focus-outline-color: var(--info-bg-color);
}

.focus-outline-white {
    --focus-outline-color: var(--white-bg-color);
}

.focus-outline-black {
    --focus-outline-color: var(--black-bg-color);
}

/* Interactions */

.user-select-all {
	user-select: all !important;
    -webkit-user-select: all !important;
    -moz-user-select: all !important;    
}

.user-select-auto {
	user-select: auto !important;
    -webkit-user-select: auto !important;
    -moz-user-select: auto !important;    
}

.user-select-none {
	user-select: none !important;
    -webkit-user-select: none !important;
    -moz-user-select: none !important;    
}

.pe-none {
    pointer-events: none !important;
}

.pe-auto {
    pointer-events: auto !important;
}

/* Link */

.link-primary {
	--link-text-color: color-mix(in srgb, var(--primary-bg-color), transparent var(--link-alpha,0%)) !important;
	--link-text-decoration-color: color-mix(in srgb, var(--primary-bg-color), transparent var(--link-underline-alpha,0%)) !important;
	--link-hover-text-color: color-mix(in srgb, var(--primary-hover-bg-color), transparent var(--link-alpha,0%)) !important;
	--link-hover-text-decoration-color: color-mix(in srgb, var(--primary-hover-bg-color), transparent var(--link-underline-alpha,0%)) !important;
	--link-outline-color: var(--primary-bg-color) !important;    
}

.link-secondary {
	--link-text-color: color-mix(in srgb, var(--secondary-bg-color), transparent var(--link-alpha,0%)) !important;
	--link-text-decoration-color: color-mix(in srgb, var(--secondary-bg-color), transparent var(--link-underline-alpha,0%)) !important;
	--link-hover-text-color: color-mix(in srgb, var(--secondary-hover-bg-color), transparent var(--link-alpha,0%)) !important;
	--link-hover-text-decoration-color: color-mix(in srgb, var(--secondary-hover-bg-color), transparent var(--link-underline-alpha,0%)) !important;
	--link-outline-color: var(--secondary-bg-color) !important;    
}

.link-success {
	--link-text-color: color-mix(in srgb, var(--success-bg-color), transparent var(--link-alpha,0%)) !important;
	--link-text-decoration-color: color-mix(in srgb, var(--success-bg-color), transparent var(--link-underline-alpha,0%)) !important;
	--link-hover-text-color: color-mix(in srgb, var(--success-hover-bg-color), transparent var(--link-alpha,0%)) !important;
	--link-hover-text-decoration-color: color-mix(in srgb, var(--success-hover-bg-color), transparent var(--link-underline-alpha,0%)) !important;
	--link-outline-color: var(--success-bg-color) !important;    
}

.link-danger {
	--link-text-color: color-mix(in srgb, var(--danger-bg-color), transparent var(--link-alpha,0%)) !important;
	--link-text-decoration-color: color-mix(in srgb, var(--danger-bg-color), transparent var(--link-underline-alpha,0%)) !important;
	--link-hover-text-color: color-mix(in srgb, var(--danger-hover-bg-color), transparent var(--link-alpha,0%)) !important;
	--link-hover-text-decoration-color: color-mix(in srgb, var(--danger-hover-bg-color), transparent var(--link-underline-alpha,0%)) !important;
	--link-outline-color: var(--danger-bg-color) !important;    
}

.link-warning {
	--link-text-color: color-mix(in srgb, var(--warning-bg-color), transparent var(--link-alpha,0%)) !important;
	--link-text-decoration-color: color-mix(in srgb, var(--warning-bg-color), transparent var(--link-underline-alpha,0%)) !important;
	--link-hover-text-color: color-mix(in srgb, var(--warning-hover-bg-color), transparent var(--link-alpha,0%)) !important;
	--link-hover-text-decoration-color: color-mix(in srgb, var(--warning-hover-bg-color), transparent var(--link-underline-alpha,0%)) !important;
	--link-outline-color: var(--warning-bg-color) !important;     
}

.link-info {
	--link-text-color: color-mix(in srgb, var(--info-bg-color), transparent var(--link-alpha,0%)) !important;
	--link-text-decoration-color: color-mix(in srgb, var(--info-bg-color), transparent var(--link-underline-alpha,0%)) !important;
	--link-hover-text-color: color-mix(in srgb, var(--info-hover-bg-color), transparent var(--link-alpha,0%)) !important;
	--link-hover-text-decoration-color: color-mix(in srgb, var(--info-hover-bg-color), transparent var(--link-underline-alpha,0%)) !important;
	--link-outline-color: var(--info-bg-color) !important;    
}

.link-white {
	--link-text-color: color-mix(in srgb, var(--white-bg-color), transparent var(--link-alpha,0%)) !important;
	--link-text-decoration-color: color-mix(in srgb, var(--white-bg-color), transparent var(--link-underline-alpha,0%)) !important;
	--link-hover-text-color: color-mix(in srgb, var(--white-hover-bg-color), transparent var(--link-alpha,0%)) !important;
	--link-hover-text-decoration-color: color-mix(in srgb, var(--white-hover-bg-color), transparent var(--link-underline-alpha,0%)) !important;
	--link-outline-color: var(--white-hover-bg-color) !important;	   
}

.link-black {
	--link-text-color: color-mix(in srgb, var(--black-bg-color), transparent var(--link-alpha,0%)) !important;
	--link-text-decoration-color: color-mix(in srgb, var(--black-bg-color), transparent var(--link-underline-alpha,0%)) !important;
	--link-hover-text-color: color-mix(in srgb, var(--black-hover-bg-color), transparent var(--link-alpha,0%)) !important;
	--link-hover-text-decoration-color: color-mix(in srgb, var(--black-hover-bg-color), transparent var(--link-underline-alpha,0%)) !important;
	--link-outline-color: var(--black-hover-bg-color) !important;   
}

.link-alpha-0 {
    --link-alpha: 0%;
}

.link-alpha-0-hover:hover {
    --link-alpha: 0%;
}

.link-alpha-10 {
    --link-alpha: 10%;
}

.link-alpha-10-hover:hover {
    --link-alpha: 10%;
}

.link-alpha-25 {
    --link-alpha: 25%;
}

.link-alpha-25-hover:hover {
    --link-alpha: 25%;
}

.link-alpha-50 {
    --link-alpha: 50%;
}

.link-alpha-50-hover:hover {
    --link-alpha: 50%;
}

.link-alpha-75 {
    --link-alpha: 75%;
}

.link-alpha-75-hover:hover {
    --link-alpha: 75%;
}

.link-alpha-100 {
    --link-alpha: 100%;
}

.link-alpha-100-hover:hover {
    --link-alpha: 100%;
}

.link-underline-alpha-0 {
    --link-underline-alpha: 0%;
}

.link-underline-alpha-0-hover:hover {
    --link-underline-alpha: 0%;
}

.link-underline-alpha-10 {
    --link-underline-alpha: 10%;
}

.link-underline-alpha-10-hover:hover {
    --link-underline-alpha: 10%;
}

.link-underline-alpha-25 {
    --link-underline-alpha: 25%;
}

.link-underline-alpha-25-hover:hover {
    --link-underline-alpha: 25%;
}

.link-underline-alpha-50 {
    --link-underline-alpha: 50%;
}

.link-underline-alpha-50-hover:hover {
    --link-underline-alpha: 50%;
}

.link-underline-alpha-75 {
    --link-underline-alpha: 75%;
}

.link-underline-alpha-75-hover:hover {
    --link-underline-alpha: 75%;
}

.link-underline-alpha-100 {
    --link-underline-alpha: 100%;
}

.link-underline-alpha-100-hover:hover {
    --link-underline-alpha: 100%;
}

.link-offset-1 {
    --link-text-underline-offset: 0.125em !important;
}

.link-offset-1-hover:hover {
    --link-text-underline-offset: 0.125em !important,
}

.link-offset-2 {
    --link-text-underline-offset: 0.25em !important;
}

.link-offset-2-hover:hover {
    --link-text-underline-offset: 0.25em !important;
}

.link-offset-3 {
    --link-text-underline-offset: 0.375em !important;
}

.link-offset-3-hover:hover {
    --link-text-underline-offset: 0.375em !important;
}

.icon-link {
    display: inline-flex;
    gap: .375rem;
    align-items: center;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;    
}

.icon-link > svg {
    flex-shrink: 0;
    width: 1em;
    height: 1em;
    fill: currentcolor;
    transition: .2s ease-in-out transform;
}

.icon-link > i {
    transition: .2s ease-in-out transform;
}

.icon-link-hover:focus-visible> svg,
.icon-link-hover:hover> svg {
    transform: translate3d(.25em, 0, 0);
}

.icon-link-hover:focus-visible> i,
.icon-link-hover:hover> i {
    transform: translate3d(.25em, 0, 0);
}

.stretched-link::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    content: ""
}

/* Object fit */

.object-fit-contain {
	object-fit: contain !important;
    -o-object-fit: contain !important;    
}

.object-fit-cover {    
    object-fit: cover !important;
    -o-object-fit: cover !important;
}

.object-fit-fill {
	object-fit: fill !important;
    -o-object-fit: fill !important;    
}

.object-fit-scale {
	object-fit: scale-down !important;
    -o-object-fit: scale-down !important;    
}

.object-fit-none {
	object-fit: none !important;
    -o-object-fit: none !important;    
}

/* Opacity */

.opacity-0 {
    opacity: 0 !important
}

.opacity-25 {
    opacity: .25 !important
}

.opacity-50 {
    opacity: .5 !important
}

.opacity-75 {
    opacity: .75 !important
}

.opacity-100 {
    opacity: 1 !important
}

/* Overflow */

.overflow-auto {
    overflow: auto !important;
}

.overflow-hidden {
    overflow: hidden !important;
}

.overflow-visible {
    overflow: visible !important;
}

.overflow-scroll {
    overflow: scroll !important;
}

.overflow-x-auto {
    overflow-x: auto !important;
}

.overflow-x-hidden {
    overflow-x: hidden !important;
}

.overflow-x-visible {
    overflow-x: visible !important;
}

.overflow-x-scroll {
    overflow-x: scroll !important;
}

.overflow-y-auto {
    overflow-y: auto !important;
}

.overflow-y-hidden {
    overflow-y: hidden !important;
}

.overflow-y-visible {
    overflow-y: visible !important;
}

.overflow-y-scroll {
    overflow-y: scroll !important;
}

/* Position */

.fixed-top {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 1030;
}

.fixed-bottom {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1030;
}

.sticky-top {
	position: sticky;
    position: -webkit-sticky;    
    top: 0;
    z-index: 1020;
}

.sticky-bottom {
	position: sticky;
    position: -webkit-sticky;    
    bottom: 0;
    z-index: 1020;
}

.position-static {
    position: static !important;
}

.position-relative {
    position: relative !important;
}

.position-absolute {
    position: absolute !important;
}

.position-fixed {
    position: fixed !important;
}

.position-sticky {
	position: sticky !important;
    position: -webkit-sticky !important;    
}

.top-0 {
    top: 0 !important;
}

.top-50 {
    top: 50% !important;
}

.top-100 {
    top: 100% !important;
}

.bottom-0 {
    bottom: 0 !important;
}

.bottom-50 {
    bottom: 50% !important;
}

.bottom-100 {
    bottom: 100% !important;
}

.left-0 {
    left: 0 !important;
}

.left-50 {
    left: 50% !important;
}

.left-100 {
    left: 100% !important;
}

.right-0 {
    right: 0 !important;
}

.right-50 {
    right: 50% !important;
}

.right-100 {
    right: 100% !important;
}

.translate-middle {
    transform: translate(-50%,-50%) !important;
}

.translate-middle-x {
    transform: translateX(-50%) !important;
}

.translate-middle-y {
    transform: translateY(-50%) !important;
}

/* Ratio */

.ratio {
    position: relative;
    width: 100%
}

.ratio::before {
    display: block;
    padding-top: var(--aspect-ratio);
    content: ""
}

.ratio>* {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.ratio-1x1 {
    --aspect-ratio: 100%
}

.ratio-4x3 {
    --aspect-ratio: 75%
}

.ratio-16x9 {
    --aspect-ratio: 56.25%
}

.ratio-21x9 {
    --aspect-ratio: 42.8571428571%
}

/* Shadows */

.shadow {
    box-shadow: var(--box-shadow) !important;
}

.shadow-sm {
    box-shadow: var(--box-shadow-sm) !important;
}

.shadow-lg {
    box-shadow: var(--box-shadow-lg) !important;
}

.shadow-none {
    box-shadow: none !important;
}

/* Sizing */

.w-25 {
    width: 25% !important;
}

.w-50 {
    width: 50% !important;
}

.w-75 {
    width: 75% !important;
}

.w-100 {
    width: 100% !important;
}

.w-auto {
    width: auto !important;
}

.mw-100 {
    max-width: 100% !important;
}

.vw-100 {
    width: 100vw !important;
}

.min-vw-100 {
    min-width: 100vw !important;
}

.h-25 {
    height: 25% !important;
}

.h-50 {
    height: 50% !important;
}

.h-75 {
    height: 75% !important;
}

.h-100 {
    height: 100% !important;
}

.h-auto {
    height: auto !important;
}

.mh-100 {
    max-height: 100% !important;
}

.vh-100 {
    height: 100vh !important;
}

.min-vh-100 {
    min-height: 100vh !important;
}

/* Stacks */

.hstack {
    display: flex;
    flex-direction: row;
    align-items: center;
    align-self: stretch
}

.vstack {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    align-self: stretch
}

/* Text */

.h1, .h2, .h3, .h4, .h5, .h6 {
    margin-top: 0;
    margin-bottom: .5rem;
    font-weight: 500;
    line-height: 1.2;
    color: var(--heading-text-color);
}

.h1 {
    font-size: calc(1.375rem + 1.5vw)
}

@media (min-width: 1200px) {
    .h1 {
        font-size:2.5rem
    }
}

.h2 {
    font-size: calc(1.325rem + .9vw)
}

@media (min-width: 1200px) {
    .h2 {
        font-size:2rem
    }
}

.h3 {
    font-size: calc(1.3rem + .6vw)
}

@media (min-width: 1200px) {
    .h3 {
        font-size:1.75rem
    }
}

.h4 {
    font-size: calc(1.275rem + .3vw)
}

@media (min-width: 1200px) {
    .h4 {
        font-size:1.5rem
    }
}

.h5 {
    font-size: 1.25rem
}

.h6 {
    font-size: 1rem
}

.mark {
    padding: .1875em;
    color: var(--mark-text-color);
    background-color: var(--mark-bg-color);
}

.small {
    font-size: .875em
}

.text-left {
    text-align: left !important;
}

.text-right {
    text-align: right !important;
}

.text-center {
    text-align: center !important;
}

.text-decoration-none {
    text-decoration: none !important;
}

.text-decoration-underline {
    text-decoration: underline !important;
}

.text-decoration-line-through {
    text-decoration: line-through !important;
}

.text-lowercase {
    text-transform: lowercase !important;
}

.text-uppercase {
    text-transform: uppercase !important;
}

.text-capitalize {
    text-transform: capitalize !important;
}

.text-wrap {
    white-space: normal !important;
}

.text-nowrap {
    white-space: nowrap !important;
}

.text-break {
    word-wrap: break-word !important;
    word-break: break-word !important;
}

.text-truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fs-1 {
    font-size: calc(1.375rem + 1.5vw) !important;
}

.fs-2 {
    font-size: calc(1.325rem + .9vw) !important;
}

.fs-3 {
    font-size: calc(1.3rem + .6vw) !important;
}

.fs-4 {
    font-size: calc(1.275rem + .3vw) !important;
}

.fs-5 {
    font-size: 1.25rem !important;
}

.fs-6 {
    font-size: 1rem !important;
}

.font-monospace {
    font-family: var(--font-monospace) !important;
}

.fst-italic {
    font-style: italic !important;
}

.fst-normal {
    font-style: normal !important;
}

.fw-lighter {
    font-weight: lighter !important;
}

.fw-light {
    font-weight: 300 !important;
}

.fw-normal {
    font-weight: 400 !important;
}

.fw-medium {
    font-weight: 500 !important;
}

.fw-semibold {
    font-weight: 600 !important;
}

.fw-bold {
    font-weight: 700 !important;
}

.fw-bolder {
    font-weight: bolder !important;
}

.lh-1 {
    line-height: 1 !important;
}

.lh-sm {
    line-height: 1.25 !important;
}

.lh-base {
    line-height: 1.5 !important;
}

.lh-lg {
    line-height: 2 !important;
}

/* Vertical align */

.align-baseline {
    vertical-align: baseline !important;
}

.align-top {
    vertical-align: top !important;
}

.align-middle {
    vertical-align: middle !important;
}

.align-bottom {
    vertical-align: bottom !important;
}

.align-text-top {
    vertical-align: text-top !important;
}

.align-text-bottom {
    vertical-align: text-bottom !important;
}

/* Vertical rule */

.vr {
    display: inline-block;
    align-self: stretch;
    width: var(--border-width);
    min-height: 1em;
    background-color: var(--border-color-translucent);
}

/* Visibility */

.visible {
    visibility: visible !important;
}

.invisible {
    visibility: hidden !important;
}

/* Visually hidden */

.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within) {
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0,0,0,0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption),.visually-hidden:not(caption) {
    position: absolute !important;
}

/* Z-index */

.z-n1 {
    z-index: -1 !important;
}

.z-0 {
    z-index: 0 !important;
}

.z-1 {
    z-index: 1 !important;
}

.z-2 {
    z-index: 2 !important;
}

.z-3 {
    z-index: 3 !important;
}


@media (min-width: 576px) {
    .float-sm-left {
        float:left !important;
    }

    .float-sm-right {
        float: right !important;
    }

    .float-sm-none {
        float: none !important;
    }

    .object-fit-sm-contain {
    	object-fit: contain !important;
        -o-object-fit: contain !important;        
    }

    .object-fit-sm-cover {
    	object-fit: cover !important;
        -o-object-fit: cover !important;        
    }

    .object-fit-sm-fill {
    	object-fit: fill !important;
        -o-object-fit: fill !important;        
    }

    .object-fit-sm-scale {
    	object-fit: scale-down !important;
        -o-object-fit: scale-down !important;        
    }

    .object-fit-sm-none {
    	object-fit: none !important;
        -o-object-fit: none !important;        
    }

    .sticky-sm-top {
    	position: sticky;
        position: -webkit-sticky;        
        top: 0;
        z-index: 1020;
    }

    .sticky-sm-bottom {
    	position: sticky;
        position: -webkit-sticky;        
        bottom: 0;
        z-index: 1020;
    }

    .text-sm-left {
        text-align: left !important;
    }

    .text-sm-right {
        text-align: right !important;
    }

    .text-sm-center {
        text-align: center !important;
    }
}

@media (min-width: 768px) {
    .float-md-left {
        float:left !important;
    }

    .float-md-right {
        float: right !important;
    }

    .float-md-none {
        float: none !important;
    }

    .object-fit-md-contain {
    	object-fit: contain !important;
        -o-object-fit: contain !important;        
    }

    .object-fit-md-cover {
    	object-fit: cover !important;
        -o-object-fit: cover !important;        
    }

    .object-fit-md-fill {
    	object-fit: fill !important;
        -o-object-fit: fill !important;        
    }

    .object-fit-md-scale {
    	object-fit: scale-down !important;
        -o-object-fit: scale-down !important;        
    }

    .object-fit-md-none {
    	object-fit: none !important;
        -o-object-fit: none !important;        
    }

    .sticky-md-top {
    	position: sticky;
        position: -webkit-sticky;        
        top: 0;
        z-index: 1020;
    }

    .sticky-md-bottom {
    	position: sticky;
        position: -webkit-sticky;        
        bottom: 0;
        z-index: 1020;
    }

    .text-md-left {
        text-align: left !important;
    }

    .text-md-right {
        text-align: right !important;
    }

    .text-md-center {
        text-align: center !important;
    }
}

@media (min-width: 992px) {
    .float-lg-left {
        float:left !important;
    }

    .float-lg-right {
        float: right !important;
    }

    .float-lg-none {
        float: none !important;
    }

    .object-fit-lg-contain {
    	object-fit: contain !important;
        -o-object-fit: contain !important;        
    }

    .object-fit-lg-cover {
    	object-fit: cover !important;
        -o-object-fit: cover !important;        
    }

    .object-fit-lg-fill {
    	object-fit: fill !important;
        -o-object-fit: fill !important;        
    }

    .object-fit-lg-scale {
    	object-fit: scale-down !important;
        -o-object-fit: scale-down !important;        
    }

    .object-fit-lg-none {
    	object-fit: none !important;
        -o-object-fit: none !important;        
    }

    .sticky-lg-top {
    	position: sticky;
        position: -webkit-sticky;        
        top: 0;
        z-index: 1020;
    }

    .sticky-lg-bottom {
    	position: sticky;
        position: -webkit-sticky;        
        bottom: 0;
        z-index: 1020;
    }

    .text-lg-left {
        text-align: left !important;
    }

    .text-lg-right {
        text-align: right !important;
    }

    .text-lg-center {
        text-align: center !important;
    }
}

@media (min-width: 1200px) {
    .float-xl-left {
        float:left !important;
    }

    .float-xl-right {
        float: right !important;
    }

    .float-xl-none {
        float: none !important;
    }

    .object-fit-xl-contain {
    	object-fit: contain !important;
        -o-object-fit: contain !important;        
    }

    .object-fit-xl-cover {
    	object-fit: cover !important;
        -o-object-fit: cover !important;        
    }

    .object-fit-xl-fill {
    	object-fit: fill !important;
        -o-object-fit: fill !important;        
    }

    .object-fit-xl-scale {
    	object-fit: scale-down !important;
        -o-object-fit: scale-down !important;        
    }

    .object-fit-xl-none {
    	object-fit: none !important;
        -o-object-fit: none !important;        
    }

    .sticky-xl-top {
    	position: sticky;
        position:-webkit-sticky;        
        top: 0;
        z-index: 1020;
    }

    .sticky-xl-bottom {
    	position: sticky;
        position: -webkit-sticky;        
        bottom: 0;
        z-index: 1020;
    }

    .text-xl-left {
        text-align: left !important;
    }

    .text-xl-right {
        text-align: right !important;
    }

    .text-xl-center {
        text-align: center !important;
    }
    
    .fs-1 {
        font-size:2.5rem !important;
    }

    .fs-2 {
        font-size: 2rem !important;
    }

    .fs-3 {
        font-size: 1.75rem !important;
    }

    .fs-4 {
        font-size: 1.5rem !important;
    }

}

@media (min-width: 1400px) {
    .float-xxl-left {
        float:left !important;
    }

    .float-xxl-right {
        float: right !important;
    }

    .float-xxl-none {
        float: none !important;
    }

    .object-fit-xxl-contain {
    	object-fit: contain !important;
        -o-object-fit: contain !important;        
    }

    .object-fit-xxl-cover {
    	object-fit: cover !important;
        -o-object-fit: cover !important;        
    }

    .object-fit-xxl-fill {
    	object-fit: fill !important;
        -o-object-fit: fill !important;        
    }

    .object-fit-xxl-scale {
    	object-fit: scale-down !important;
        -o-object-fit: scale-down !important;        
    }

    .object-fit-xxl-none {
    	object-fit: none !important;
        -o-object-fit: none !important;        
    }

    .sticky-xxl-top {
    	position: sticky;
        position: -webkit-sticky;        
        top: 0;
        z-index: 1020;
    }

    .sticky-xxl-bottom {
    	position: sticky;
        position: -webkit-sticky;        
        bottom: 0;
        z-index: 1020;
    }

    .text-xxl-left {
        text-align: left !important;
    }

    .text-xxl-right {
        text-align: right !important;
    }

    .text-xxl-center {
        text-align: center !important;
    }
}