input, textarea {
	margin-bottom: 10px;
}

input, input:focus, button, button:focus, div, div:focus, .form-control:focus, .accordion-button:focus {
	outline: none;
	box-shadow: none;
}

button[type=submit]:before {
	content: "\f110";
	display: inline-block;
	vertical-align: middle;
	font-family: "Font Awesome 6 Pro";
	-webkit-font-smoothing: antialiased;
	line-height: 1;
	animation: fa-spin 2s linear infinite;
	opacity: 0;
	width: 0;
}

button[type=submit]:disabled:before {
	opacity: 1;
	width: auto;
	margin: .1em .4em .2em 0;
}

.btn, btn:hover {
	transition: all 0.3s ease;
}

.btn-primary, .btn-secondary {
	border-radius: 10px;
}

.btn-primary, .btn-primary.disabled, .btn-primary:disabled, .btn-check:active + .btn-primary, .btn-check:checked + .btn-primary, .btn-primary.active, .btn-primary:active, .show > .btn-primary.dropdown-toggle, .btn-check:active + .btn-outline-primary, .btn-check:checked + .btn-outline-primary, .btn-outline-primary.active, .btn-outline-primary.dropdown-toggle.show, .btn-outline-primary:active {
	background-color: var(--turquoise-dark);
	border-color: var(--turquoise-dark);
}

.btn-primary:hover {
	background-color: var(--turquoise-main);
	border-color: var(--turquoise-main);
}

.btn-secondary, .btn-secondary.disabled, .btn-secondary:disabled {
	background-color: var(--purple-dark);
	border-color: var(--purple-dark);
}

.btn-secondary:hover {
	background-color: var(--purple-main);
	border-color: var(--purple-main);
}

.btn-outline-primary {
	color: var(--turquoise-dark);
	background-color: #ffffff;
	border-color: var(--turquoise-dark);
}

.btn-outline-primary:hover {
	color: #ffffff;
	background-color: var(--turquoise-main);
	border-color: var(--turquoise-main);
}

.btn-outline-secondary {
	color: var(--purple-dark);
	background-color: #ffffff;
	border-color: var(--purple-dark);
}

.btn-outline-secondary:hover {
	color: #ffffff;
	background-color: var(--purple-main);
	border-color: var(--purple-main);
}

.btn-primary.disabled, .btn-primary:disabled, .btn-secondary.disabled, .btn-secondary:disabled {
	filter: grayscale(0.8);
	cursor: url('/img/icon-busy.png'), pointer;
	pointer-events: all !important;
}

textarea {
	height: 400px !important;
}

.form-control.valid {
	transition: border .25s ease;
	-webkit-transition: border .25s linear;
}

.form-control.invalid {
	border-left: 5px solid var(--purple-main);
	transition: border .1s ease;
	-webkit-transition: border .25s linear;
	border-color: var(--purple-main);
	padding-right: calc(1.5em + .75rem);
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
	background-repeat: no-repeat;
	background-position: right calc(.375em + .1875rem) center;
	background-size: calc(.75em + .375rem) calc(.75em + .375rem);
}

.input-group .validation-message {
	display: none;
}

.modal-backdrop {
	background: transparent url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAEklEQVQImWNgYGD4z0AswK4SAFXuAf8EPy+xAAAAAElFTkSuQmCC) repeat center center !important;
}

.modal .modal-header {
	border-color: var(--grey-main);
	padding-top: 5px;
	padding-bottom: 5px;
}

.modal .modal-title {
	font-size: 20px;
}


.modal .modal-content {
	background-color: var(--grey-brighter);
	border: 1px solid var(--grey-main);
	color: #000000;
}

.modal .modal-content, .modal .btn-primary, .modal .btn-secondary {
	font-family: monospace;
	box-shadow: 10px 10px 0px 0px rgba(0,0,0,0.75);
	-webkit-box-shadow: 10px 10px 0px 0px rgba(0,0,0,0.75);
	-moz-box-shadow: 10px 10px 0px 0px rgba(0,0,0,0.75);
	border-radius: 0px;
}

.modal .modal-footer {
	border-top: 0px;
}
