﻿/* Important: Load this file AFTER the bootstrap-overrides.css file */

/* Font and Icons */
.fs-5-5 {
	font-size: 1.1rem;
}

.fs-7 {
    font-size: 0.925rem;
}

.bi-centered, .oi-centered {
	font-size: 1.3rem;
	vertical-align: middle;
}

.bi-input-inner { /* This roughly moves an icon to the middle, end of an input (needs improvement) */
	position: absolute;
	top: 50%;
	left: 70%;
	transform: translateY(-50%);
	pointer-events: none;
	z-index: 10;
}

/* Form elements */
.form-switch-colored:focus {
	border-color: rgba(0, 0, 0, 0.25);
	outline: 0;
	box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
	background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba(255,255,255,1)'/></svg>");
}

.switch-colored:not(:checked) {
	background-color: red;
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba(255,255,255,1)'/></svg>");
}

.switch-colored:checked {
	background-color: green;
}

.switch-colored:focus {
	border-color: rgba(0, 0, 0, 0.25);
	outline: 0;
	box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
	background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba(255,255,255,1)'/></svg>");
}

.form-select-bg-align-right{
    background-position: right 0.3rem center;
}

/* Buttons */
.btn-inline {
    padding: 0rem 0.375rem
}

.btn-circle {
	height: 35px;
	width: 35px;
	user-select: none;
	--bs-btn-border-radius: 0rem;
}

	.btn-circle:hover, .btn-circle:focus {
		background-color: transparent;
	}

		.btn-circle:hover::before, .btn-circle:focus::before {
			content: "";
			position: absolute;
			inset: 0;
			border-radius: 50%;
		}

		.btn-circle:hover::before {
			background-color: rgba(var(--bs-primary-rgb), 0.25);
		}

		.btn-circle:focus::before {
			box-shadow: 0px 0px 0rem 0.25rem rgba(var(--bs-primary-rgb), 0.25);	
		}

.btn-circle-danger::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 50%;
	background-color: rgba(var(--bs-danger-rgb), 0.25);
}

.btn-circle-success::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 50%;
	background-color: rgba(var(--bs-success-rgb), 0.25);
}

/* A button styling with a border and higher contrast than the default, but not as much as the secondary theme */
.btn-outline-default {
	--bs-btn-color: var(--bs-body-color);
	--bs-btn-border-color: var(--jims-default-high-contrast);
	--bs-btn-hover-color: #fff;
	--bs-btn-hover-bg: var(--jims-default-high-contrast);
	--bs-btn-hover-border-color: var(--jims-default-high-contrast);
	--bs-btn-focus-shadow-rgb: 108, 117, 125; /* Focus ring color */
	--bs-btn-active-color: #fff;
	--bs-btn-active-bg: var(--jims-default-high-contrast);
	--bs-btn-active-border-color: var(--jims-default-high-contrast);
	--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
	--bs-btn-disabled-color: var(--jims-default-high-contrast-subtle);
	--bs-btn-disabled-bg: transparent;
	--bs-btn-disabled-border-color: var(--jims-default-high-contrast-subtle);
	--bs-gradient: none;
}

/* A button with the secondary color theme, without borders */
.btn-secondary-flush {
	--bs-btn-color: var(--bs-body-color);
	--bs-btn-border-color: transparent;
	--bs-btn-hover-color: #fff;
	--bs-btn-hover-bg: var(--bs-secondary);
	--bs-btn-hover-border-color: transparent;
	--bs-btn-focus-shadow-rgb: 108, 117, 125;
	--bs-btn-active-color: #fff;
	--bs-btn-active-bg: var(--bs-secondary);
	--bs-btn-active-border-color: transparent;
	--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
	--bs-btn-disabled-color: var(--bs-secondary);
	--bs-btn-disabled-bg: transparent;
	--bs-btn-disabled-border-color: transparent;
	--bs-gradient: none;
}

/* Components */
.dropdown-max-content {
    min-width: max-content;
}

.simple-card {
	position: relative;
	display: block;
	min-width: 0;
	color: var(--bs-body-color);
	word-wrap: break-word;
	background-color: var(--bs-body-bg);
	background-clip: border-box;
	border: var(--bs-border-width) solid var(--bs-border-color-translucent);
	border-radius: var(--bs-border-radius);
}

.large-spinner {
	width: 5rem;
	height: 5rem;
}

.flex-basis-100 {
	flex-basis: 100%;
}