*,
*:before,
*:after {
	box-sizing: border-box;
	scrollbar-width: auto;
}

::-webkit-scrollbar {
	width: 4px;
	background-color: transparent;
}

::-webkit-scrollbar-thumb {
	background-color: var(--button-color);
	border-radius: 2px;
}

a {
	font-family: font_main_bold;
	font-variant: small-caps;
	font-size: var(--font-size);
	color: var(--button-color);
	margin: 0;
	text-decoration: none;
	cursor: pointer;
}

	a:focus {
		outline: 0 !important;
		filter: var(--focus-indicator);
	}

		a:focus:not(:focus-visible) {
			outline: 0 !important;
			filter: unset;
		}

	a.btn {
		font-size: var(--font-size);
		padding: 0.1rem 0.5rem;
		min-width: 3.5rem;
		max-width: unset;
		display: block;
		text-align: center;
		font-family: font_main_bold;
		font-variant: small-caps;
		color: var(--background);
		background-color: var(--button-color);
		border: 1px solid var(--button-color);
		border-radius: 2rem;
		box-shadow: var(--box-shadow-button);
		width: unset;
	}

		a.btn.alt {
			background-color: var(--button-color-alt);
			border-color: var(--button-color-alt);
		}

	a.normal {
		font-family: font_main_regular;
		font-variant: normal;
		color: var(--text);
	}

	a.small {
		font-size: var(--font-size-small);
	}



.ajax {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

.ajax_div {
	display: flex;
	/*position: relative;*/
	flex-direction: column;
	flex-grow: 1;
}



.alert_popup {
	position: absolute;
	display: none;
	opacity: 0;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	min-width: 300px;
	max-width: 500px;
	padding: var(--box-padding);
	border-radius: 1.5rem;
	background-color: var(--text);
	color: var(--background);
	text-align: center;
	box-shadow: var(--box-shadow-normal);
}

.app_header {
	display: flex;
	min-height: 56px;
	align-items: center;
	padding-left: 8px;
	padding-right: 8px;
	width: 100%;
	background-color: #434343;
	z-index: 11000;
}

.app_header_logo {
	display: flex;
	align-items: center;
	margin: 8px 0 8px 8px;
}

.app_header_name {
	color: var(--background);
	text-align: center;
	font-size: 15px;
}

.app_header_title {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-grow: 1;
	padding: 0 8px;
	grid-gap: 0 0.5rem;
}

.app_template {
	background-color: var(--background);
	cursor: pointer;
	overflow-y: hidden;
}

.application {
	position: absolute;
	display: flex;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	overflow: hidden;
	flex-direction: column;
	align-items: center;
	background-color: var(--background-app);
}

	.application.shown {
		opacity: 1;
	}


.apply_box {
	border-bottom: 1px solid var(--background-pale);
	padding-bottom: 16px;
	margin-bottom: 16px;
}

	.apply_box.inactive {
		background: repeating-linear-gradient( 135deg, var(--background), var(--background) 5px, var(--gradient) 20px, var(--background) 40px );
	}

	.apply_box:last-child {
		border-bottom: none;
		padding-bottom: 0;
		margin-bottom: 0;
	}



.big_text {
	font-size: var(--font-size-big);
}

.blur {
	filter: blur(10px);
	/*height: 100%;
	background-color: var(--background);*/
	pointer-events: none;
}

body {
	font-family: font_main_regular;
	font-size: var(--font-size);
	color: var(--text);
	padding: 0;
	margin: 0;
	overflow: hidden;
	word-break: break-word;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
}

.bold {
	font-family: font_main_bold;
}

.box {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: center;
	background-color: var(--background-pale);
	padding: var(--box-padding);
	grid-gap: 0.5rem 0.5rem;
	/*min-height: 2.75rem;*/
	border-radius: 1.5rem;
	flex-wrap: wrap;
	box-shadow: var(--box-shadow-normal);
}

	.box.bottom_margin {
		margin-bottom: 0.75rem;
	}

		.box.bottom_margin:last-child {
			margin-bottom: 0 !important;
		}

		.box.bottom_margin.medium {
			margin-bottom: 0.5rem;
		}

		.box.bottom_margin.thin {
			margin-bottom: 0.25rem;
		}

	.box.calendar {
		padding: 0.4rem 0.4rem 0.4rem 0.4rem;
		box-shadow: var(--box-shadow-edit);
		margin-bottom: 0.75rem;
		min-height: unset;
	}

		.box.calendar.tight {
			grid-gap: 0;
		}

	.box.center {
		justify-content: center !important;
	}

	.box.column {
		flex-direction: column;
		justify-content: center;
		align-items: flex-start;
		flex-wrap: nowrap;
		grid-gap: 0 0;
	}

	.box.column > div {
		width: 100%;
	}

	.box.new {
		box-shadow: var(--box-shadow-notify);
	}

	.box.nowrap {
		flex-wrap: nowrap;
		align-items: flex-start;
	}

	.box.tight {
		min-height: unset;
	}

	.box.top_margin {
		margin-top: 0.5rem;
	}

	.box.two {
		font-variant: small-caps;
		background-color: var(--background-medium);
	}

	.box.three {
		justify-content: space-between;
		background-color: var(--background-medium);
		margin-bottom: 0.75rem;
		padding: 0.5rem 0.75rem;
	}

	.box.five {
		flex-direction: column;
		align-items: flex-start;
		background-color: var(--background-medium);
		min-height: unset;
		box-shadow: unset;
		padding: 0.5rem 0.5rem;
		border-radius: 1rem;
		grid-gap: 0 0;
		width: 100%;
	}

	.box.seven {
		justify-content: space-between;
		background-color: var(--background-pale);
		margin-bottom: 0.75rem;
		padding: 0.5rem 0.75rem;
	}

	.box.eight {
		display: block;
		flex-direction: unset;
		justify-content: unset;
		align-items: unset;
		background-color: var(--background);
		padding: var(--box-padding);
		grid-gap: unset;
		border-radius: 1.5rem;
		flex-wrap: unset;
	}

.box_title {
	color: var(--text);
	text-align: left;
	font-variant: small-caps;
	font-size: var(--font-size);
	padding: calc(0.15rem + 1px) 0;
}

.break_word {
	word-break: break-word;
}

.break_word_off {
	word-break: normal;
}


button {
	display: block;
	text-align: center;
	font-family: font_main_bold;
	font-variant: small-caps;
	font-size: min(var(--font-size), 24px);
	color: var(--background);
	background-color: var(--button-color);
	border: 1px solid var(--button-color);
	border-radius: 2rem;
	box-shadow: var(--box-shadow-button);
	padding: min(0.75rem, 16px) 16px;
	width: 300px;
	min-width: 100px;
	max-width: 300px;
	margin: 0;
	cursor: pointer;
	pointer-events: all;
}

	button:focus {
		outline: 0 !important;
		filter: var(--focus-indicator);
	}

		button:focus:not(:focus-visible) {
			outline: 0 !important;
			filter: unset;
		}

		button:focus > span {
			filter: contrast(33%);
		}

	button.select_list:focus > span {
		filter: unset;
	}

	button:focus > .select_list_subtext {
		filter: contrast(33%);
	}

	button:disabled {
		opacity: 0.25 !important;
		cursor: default;
		pointer-events: none;
	}

	button .compound_label {
		word-break: unset;
	}

	button img {
		width: 1.5rem;
		height: 1.5rem;
		display: block;
	}

	button.abs {
		position: absolute;
		top: 0;
		left: 0;
	}

		button.abs.up {
			top: -0.125rem;
		}

	button.alt {
		background-color: var(--button-color-alt);
		border-color: var(--button-color-alt);
	}

	button.back {
		background-color: var(--button-color-back);
		border: 1px solid var(--button-color-back);
	}

	button.calendar {
		display: inline-flex;
		flex-direction: row;
		justify-content: center;
		align-items: center;
		font-size: min(var(--font-size-small), 20px);
		font-family: font_main_regular;
		font-variant: normal;
		box-shadow: var(--box-shadow-button);
		padding: 0;
		width: unset;
		min-width: min(2rem, 42px);
		max-width: unset;
		height: min(2rem, 42px);
	}

		button.calendar img {
			width: 1rem;
			height: 1rem;
		}

		button.calendar.yes, button.calendar.preferred {
			box-shadow: var(--box-shadow-button), 0 0 0 3px var(--status-on);
		}

		button.calendar.past {
			opacity: 0.25;
			cursor: initial;
		}

		button.calendar.pending {
			box-shadow: var(--box-shadow-button), 0 0 0 3px var(--status-pending);
		}

		button.calendar.no {
			box-shadow: var(--box-shadow-button), 0 0 0 3px var(--status-expired);
		}

		button.calendar.selected {
			background-color: var(--button-color-alt);
			border: 1px solid var(--button-color-alt);
		}

		button.calendar.time {
			font-size: min(var(--font-size-small), 20px);
			min-width: 2.75rem;
		}

			button.calendar.time.am_pm {
				background-color: var(--status-pending);
				border: 1px solid var(--status-pending);
			}

			button.calendar.time.selected {
				background-color: var(--button-color-alt);
				border: 1px solid var(--button-color-alt);
			}

	button.cancel {
		background-color: var(--button-color-cancel);
		border: 1px solid var(--button-color-cancel);
	}

	button.date_select {
		display: inline-block;
		border: 2px solid var(--text);
		border-radius: 8px;
		font-family: font_main_regular;
		font-variant: normal;
		color: var(--text);
		background-color: var(--background);
		padding: 0 8px 0 8px;
		margin: 0 1px 0 1px;
		min-width: unset;
		width: 100%
	}

	button.font_select {
		font-family: unset;
		font-variant: normal;
		text-align: left;
		color: var(--text);
		background-color: var(--background-pale);
		border: none;
		padding: var(--box-padding);
		border-radius: 1.5rem;
		margin-bottom: 0.75rem;
		width: unset;
		max-width: unset;
		box-shadow: var(--box-shadow-active);
	}

	button.help_select {
		font-family: unset;
		font-variant: normal;
		text-align: left;
		color: var(--text);
		background-color: var(--background-pale);
		border: none;
		padding: var(--box-padding);
		border-radius: 1.5rem;
		margin-bottom: 0.75rem;
		width: 100%;
		max-width: unset;
		box-shadow: var(--box-shadow-active);
	}

	button.hidden_postback_attributes {
		display: none;
	}

	button.hide {
		display: none;
	}

	button.hot {
		background-color: var(--button-color-cancel);
		border: 1px solid var(--button-color-cancel);
	}

	button.image {
		display: block;
		border: none;
		border-radius: unset;
		background-color: transparent;
		padding: 0;
		margin: 0;
		background-position: center;
		background-size: auto 98%;
		background-repeat: no-repeat;
		box-shadow: unset;
		min-width: unset;
		width: 1.5rem;
		height: 1.5rem;
	}

		button.image.huge {
			width: 2rem;
			height: 2rem;
		}

		button.image.large {
			width: 1.5rem;
			height: 1.5rem;
		}

		button.image.medium {
			width: 1rem;
			height: 1rem;
		}

		button.image.right {
			width: 100%;
			background-position: right center;
		}

		button.image.rounded {
			border-radius: 1.5rem;
		}

		button.image.small {
			background-size: 1rem;
		}

		button.image.tiny {
			background-size: auto 50%;
		}

	button.inactive {
		opacity: 0.5;
	}

	button.inline {
		display: inline-block;
		vertical-align: bottom;
	}

	button.margins {
		margin: 0.5rem 0;
	}

	/*button.menu_item {
		text-align: left;
		color: var(--button-color);
		border: none;
		background-color: transparent;
		margin: 0;
		padding: 0;
		min-width: unset;
		width: 100%;
		max-width: unset;
		box-shadow: unset;
	}*/

	button.menu_item {
		text-align: left;
		width: 100%;
		font-size: var(--font-size);
		padding: 0.25rem 0.5rem;
		min-width: unset;
		max-width: unset;
	}

	button.micro {
		position: relative;
		top: 0.3rem;
		font-family: font_main_regular;
		width: unset !important;
		border: none;
		min-width: unset;
		max-width: unset;
		min-height: unset;
		padding: 0 0.25rem;
		font-size: var(--font-size-tiny);
		text-transform: uppercase;
		word-break: keep-all;
	}

	button.mini {
		font-size: var(--font-size);
		padding: 0.1rem 0.5rem;
		width: unset;
		min-width: unset;
		max-width: unset;
	}

		button.mini.shrink {
			font-size: var(--font-size-small);
			padding: 0.15rem 0.25rem;
			word-break: keep-all;
		}

		button.mini.small {
			min-width: 2rem;
			padding: 0.05rem 0.35rem;
			font-size: var(--font-size-small);
			word-break: keep-all;
		}

	button.module_closer {
		font-size: var(--font-size);
		padding: 0.1rem 0.5rem;
		width: unset;
		min-width: 3.5rem;
		max-width: unset;
		word-break: unset;
	}


	button.palette {
		font-size: 20px;
		width: unset;
		min-width: unset;
		padding: 0 8px 2px 8px;
	}

	button.save {
		background-color: var(--button-color-alt);
		border: 1px solid var(--button-color-alt);
	}

	button.select_list {
		border: none;
		color: var(--text);
		background-color: transparent;
		margin: 0;
		padding: 0 1.25rem 0 0;
		text-align: left;
		font-size: var(--font-size);
		font-family: font_main_regular;
		font-variant: normal;
		min-width: unset;
		max-width: unset;
		min-height: 1.5rem;
		width: 100%;
		background-position: right 0.1rem center;
		background-repeat: no-repeat;
		background-size: 1rem;
		box-shadow: unset;
	}

		button.select_list:disabled {
			opacity: 1;
			background-image: none;
		}

	button.seq {
		padding: 0;
		width: 1.75rem;
		min-width: unset;
		height: 1.5rem;
		max-width: unset;
		background-repeat: no-repeat;
		background-size: auto 50%;
		background-position-y: center;
		box-shadow: unset;
	}

		button.seq.down {
			border-radius: 0 1rem 1rem 0;
			background-image: url(/image/seq-down/background);
			background-position-x: left;
			border-left: 0.5rem solid var(--button-color);
		}

		button.seq.up {
			border-radius: 1rem 0 0 1rem;
			background-image: url(/image/seq-up/background);
			background-position-x: right;
			border-right: 0.5rem solid var(--button-color);
		}

	button.short {
		font-size: var(--font-size-small);
		padding: 4px;
		min-width: unset;
	}

	button.star {
		display: flex;
		color: var(--text-pale);
		flex-direction: column;
		justify-content: flex-end;
		align-items: center;
		width: min(1rem, 22px);
		height: 1.75rem;
		background-position: center top;
		background-size: 100%;
		background-repeat: no-repeat;
		box-shadow: unset;
		cursor: pointer;
	}

	

	button.tall {
		min-height: 100%;
	}

	button.text {
		color: var(--button-color);
		border: none;
		background-color: transparent;
		margin: 0;
		padding: 0;
		width: unset;
		min-width: unset;
		max-width: unset;
		box-shadow: unset;
		text-align: left;
	}

		button.text img {
			width: 1rem;
			height: 1rem;
			display: block;
		}

		button.text.alert {
			color: var(--notify-color);
		}

		button.text.center {
			text-align: center;
		}

		button.text.label {
			color: var(--button-color);
			font-family: font_main_bold;
			/*font-variant: small-caps;*/
			font-size: var(--font-size-small);
		}

			button.text.label.indent {
				margin-left: 0.75rem;
			}

		button.text.nowrap {
			white-space: nowrap;
		}

		button.text.normal {
			font-size: var(--font-size);
			font-family: font_main_regular;
			font-variant: normal;
		}

		button.text.selected {
			text-decoration: underline;
			text-decoration-color: currentColor;
			text-decoration-style: solid;
			text-decoration-thickness: 4px;
		}

		button.text.small {
			font-size: var(--font-size-small);
		}

		button.text.strike {
			text-decoration: line-through;
			text-decoration-color: var(--button-color);
		}

	button.wait {
		color: transparent;
		border-color: transparent;
		background-color: transparent;
		background-image: url(/images/uploading.svg);
		background-size: min(100%, 212px) auto;
		background-position: center;
		background-repeat: no-repeat;
		box-shadow: unset;
	}

	button.wide {
		width: 100%;
		max-width: unset;
	}

	button.wizard {
		width: unset;
		min-width: 100px;
		max-width: unset;
	}

	button:disabled .icon {
		cursor: default;
	}



.button_box {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	margin-top: 2.5rem;
	width: 100%;
	grid-gap: 0 0.5rem;
}

	.button_box.bottom {
		margin-top: 0;
		margin-bottom: 0.5rem;
	}

	.button_box.bottom_margin {
		margin-bottom: 2rem;
	}

		.button_box.bottom_margin.short {
			margin-bottom: 1rem;
		}

		.button_box.bottom_margin.shorter {
			margin-bottom: 0.25rem;
		}

	.button_box.center {
		justify-content: center;
	}

	.button_box.column {
		flex-direction: column;
	}

		.button_box.column.right {
			flex-direction: column;
			align-items: flex-end;
		}

	.button_box.margins {
		margin-top: 0.5rem;
		margin-bottom: 0.5rem;
	}

	.button_box.medium {
		margin-top: 1rem;
	}

		.button_box.medium.sticky {
			position: sticky;
			top: -0.5rem;
			background-color: var(--background);
			box-shadow: 0 0 0 0.5rem var(--background);
			z-index: 9000;
		}

			.button_box.medium.sticky.wide {
				box-shadow: 0 0 0 1.5rem var(--background);
			}

	.button_box.right {
		justify-content: flex-end;
	}

	.button_box.short {
		margin-top: 0.5rem;
	}

	.button_box.start {
		align-items: flex-start;
	}

	.button_box.tall {
		margin-top: 3rem;
	}

	.button_box.tight {
		margin-top: 0;
	}

		.button_box.tight.sticky {
			position: sticky;
			top: 0;
			background-color: var(--background);
			box-shadow: 0 -0.75rem 0 1rem var(--background);
			z-index: 9000;
		}

	.button_box.wizard {
		grid-gap: 0 0.25rem;
	}

	.button_box.wrap {
		flex-wrap: wrap;
		grid-gap: 0.5rem 0.5rem;
	}

.button_box_vertical {
	display: flex;
	flex-direction: column;
	grid-gap: 0.5rem;
}


.calendar_back {
	text-align: center;
	vertical-align: middle;
}

.calendar_next {
	text-align: center;
	vertical-align: middle;
}

.calendar_row {
	display: flex;
	flex-direction: row;
	width: 100%;
}

	.calendar_row > .day_header {
		font-size: min(var(--font-size-small), 18px);
	}

	.calendar_row > div {
		text-align: center;
		word-break: keep-all;
		flex: 1 1 0;
		width: 0;
	}

.calendar_wrapper {
	display: block;
	width: 100%;
	max-width: min(25rem, 450px);
}


.candidate {
	background-color: var(--background-pale);
	padding: var(--box-padding);
	border-radius: 1.5rem;
	margin-bottom: 0.75rem;
	box-shadow: var(--box-shadow-active);
	cursor: pointer;
}

	.candidate.active {
		box-shadow: var(--box-shadow-complete);
	}

	.candidate:focus {
		outline: 0 !important;
		filter: var(--focus-indicator);
	}

	.candidate:last-child {
		margin-bottom: 0;
	}

	.candidate.inactive {
		opacity: 0.5;
	}

	.candidate.new {
		box-shadow: var(--box-shadow-notify);
	}


.center {
	text-align: center;
}

.chat_info {
	margin-top: 0.5rem;
	display: flex;
	flex-direction: column;
}

.chat_message {
	border-radius: 1.5rem;
	padding: var(--box-padding);
	margin-top: 0.75rem;
	box-shadow: var(--box-shadow-normal);
}

	.chat_message:first-child {
		margin-top: 0;
	}

	.chat_message.left {
		background-color: var(--background-pale);
		margin-right: 1rem;
	}

		.chat_message.left .chat_info {
			align-items: flex-start;
		}

	.chat_message.right {
		background-color: var(--background-medium);
		margin-left: 1rem;
	}

		.chat_message.right .box.five {
			background-color: var(--background-pale);
		}

		.chat_message.right .chat_info {
			align-items: flex-end;
		}

.chat_popup_icon {
	position: fixed;
	right: 12px;
	z-index: 1000;
}

.checkbox21 {
	font-family: font_main_bold;
	font-variant: small-caps;
	margin-top: 0.125rem;
	margin-bottom: 0.125rem;
}

	.checkbox21.disabled {
		opacity: 1;
	}

	.checkbox21.plain_text {
		font-family: font_main_regular;
		font-variant: normal;
	}

.checkbox21_sublabel {
	margin-top: 0.125rem;
	font-size: var(--font-size-small);
	font-family: font_main_regular;
	font-variant: normal;
}

.clickable {
	cursor: pointer;
}

.deleted {
	display: inline-block;
	background-color: var(--notify-color);
	color: var(--background);
	border-radius: 2rem;
	padding: var(--box-padding);
}


.disabled {
	opacity: 0.25;
	pointer-events: none;
}

div.wait {
	background-image: url(/images/uploading.svg);
	background-size: min(100%, 212px) auto;
	background-position: center;
	background-repeat: no-repeat;
}

.div {
	display: block;
	text-align: left;
	margin: 0;
}

	.div.bottom_border {
		border-bottom: 3px solid var(--background-pale);
		padding-bottom: 16px;
		margin-bottom: 16px;
	}

		.div.bottom_border.large {
			border-bottom: 1px solid var(--text);
			padding-bottom: 24px;
			margin-bottom: 24px;
		}

		.div.bottom_border.dark {
			border-bottom: 3px solid var(--text);
		}

		.div.bottom_border:last-child {
			border-bottom: none;
			padding-bottom: 0;
			margin-bottom: 0;
		}

	.div.bottom_border_all {
		border-bottom: 3px solid var(--background-pale);
		padding-bottom: 16px;
		margin-bottom: 16px;
	}

		.div.bottom_border_all.dark {
			border-bottom: 3px solid var(--text);
		}

	.div.bottom_margin {
		margin-bottom: 0.75rem;
	}

		.div.bottom_margin.medium {
			margin-bottom: 0.5rem;
		}

		.div.bottom_margin.short {
			margin-bottom: 0.375rem;
		}

		.div.bottom_margin.tall {
			margin-bottom: 1.25rem;
		}

		.div.bottom_margin.taller {
			margin-bottom: 2.5rem;
		}

		.div.bottom_margin.thin {
			margin-bottom: 0.25rem;
		}

		.div.bottom_margin:last-child {
			margin-bottom: 0;
		}


	.div.bottom_margin_all {
		margin-bottom: 0.25rem;
	}

	.div.bottom_padding {
		padding-bottom: 300px;
	}

	.div.center {
		text-align: center;
	}

	.div.delete {
		font-size: 0;
	}

	.div.excluded {
		opacity: 0.5;
	}

	.div.expanding {
		box-shadow: 0 4px 0 -1px var(--button-color);
	}

	.div.group {
		border: 1px solid var(--text);
		border-radius: 4px;
		background-color: var(--background-pale);
		padding: 8px;
	}

	.div.inactive {
		background: repeating-linear-gradient( 135deg, var(--background), var(--background) 5px, var(--gradient) 20px, var(--background) 40px );
	}

	.div.indent {
		margin-left: 0.75rem !important;
	}

	.div.left {
		text-align: left !important;
	}

	.div.no_page_break {
		page-break-inside: avoid;
	}

	.div.notify {
		color: var(--notify-color);
	}

		.div.notify.on {
			color: var(--notify-color-on);
		}

	.div.right {
		text-align: right;
	}

	.div.right_margin {
		margin-right: 8px;
	}

	.div.sticky {
		position: sticky;
		top: 0;
		background-color: var(--background);
		box-shadow: 0 -0.75rem 0 1rem var(--background);
		z-index: 9000;
	}

	

		

	.div.top_border_all {
		border-top: 3px solid var(--background-pale);
		padding-top: 16px;
		margin-top: 16px;
	}

	.div.top_margin {
		margin-top: 0.25rem;
	}

		.div.top_margin.tall {
			margin-top: 0.5rem;
		}

		.div.top_margin.taller {
			margin-top: 1rem;
		}

		.div.top_margin.tallest {
			margin-top: 2rem;
		}

		.div.top_margin.thin {
			margin-top: 0.125rem;
		}

	.div.underline {
		text-decoration: underline;
	}



.div_edit {
	font-family: font_main_regular;
	font-size: var(--font-size);
	border: 1px solid var(--text);
	box-sizing: border-box;
	border-radius: 1.5rem;
	padding: 0.75rem;
	background-color: var(--textbox);
	outline: none;
	outline-style: none;
	margin: 0;
	width: 100%;
	max-width: 100%;
	min-height: 4rem;
	text-align: left;
	overflow-x: auto;
}

	.div_edit.short {
		display: flex;
		align-items: center;
		min-height: 1.5rem;
	}

	.div_edit.small {
		font-size: var(--font-size-small);
	}

.div_video {
	position: relative;
	cursor: pointer;
	font-size: 0;
	background-color: var(--background-pale);
	text-align: center;
}

.div_video_none {
	width: 100%;
	padding: 50px 0;
	text-align: center;
	border: 1px solid var(--text);
	background-color: var(--background-pale);
}


.doc_view {
	display: block;
}


em {
	text-decoration: underline;
	text-decoration-style: solid;
	text-decoration-thickness: 2px;
	font-style: normal;
}

.entity_delete_wrapper {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	width: unset !important;
}

	.entity_delete_wrapper.tight {
		margin-top: 0;
	}

.error {
	font-size: var(--font-size-small);
	color: var(--error-color);
}

	.error.boxed {
		margin-top: 0.75rem;
		margin-bottom: 0.75rem;
		text-align: center;
	}

		.error.boxed.hidden {
			opacity: 0;
		}


.expander {
	padding-bottom: 0.125rem;
}

	.expander .fieldset_wrapper:last-child {
		margin-bottom: 0.25rem;
	}

fieldset {
	position: relative;
	border: none;
	margin-inline-start: 0;
	margin-inline-end: 0;
	border-radius: 1.5rem;
	padding: 0.75rem;
	width: 100%;
	background-color: var(--textbox);
	box-shadow: var(--box-shadow-edit);
	margin-bottom: 0.5rem;
}

	/*fieldset > .box.five {
		background-color: unset;
		min-height: unset;
		box-shadow: unset;
		padding: unset;
		border-radius: unset;
	}*/

	fieldset input[type="text"], fieldset input[type="password"], fieldset input[type="email"], fieldset input[type="number"], fieldset input[type="date"], fieldset textarea, fieldset .div_edit {
		background-color: transparent;
		border: none;
		border-radius: 0;
		padding: 0;
	}

		fieldset input[type="text"].box {
			border: 1px solid var(--input-border);
			padding: 6px 6px;
		}

	fieldset.blank {
		padding: 0;
		box-shadow: unset;
		border-radius: unset;
	}

	fieldset.flex {
		display: flex;
		flex-direction: row;
		align-items: center;
		grid-gap: 0 0.25rem;
	}

	fieldset.invalid_value {
		/*filter: var(--box-shadow-invalid);*/
		box-shadow: var(--box-shadow-invalid);
	}

	fieldset.invalid_value legend {
		color: var(--error-color) !important;
	}

	fieldset.tight {
		padding: 0.4rem;
	}

	fieldset.view {
		background-color: var(--background-pale);
		box-shadow: var(--box-shadow-normal);
	}


.fieldset_wrapper {
	margin-bottom: 0.75rem;
	width: 100%;
}

	.fieldset_wrapper.invalid_value {
		border: none !important;
	}

		.fieldset_wrapper.invalid_value .legend {
			color: var(--error-color) !important;
		}

	.fieldset_wrapper:last-child {
		margin-bottom: 0;
	}

.fieldset_subtext {
	font-size: var(--font-size-small);
	padding: 0 8px 4px 8px;
	margin-left: -6px;
	margin-right: -6px;
	margin-bottom: 8px;
	border-radius: 4px;
	border-bottom: 1px solid var(--background-pale);
	color: var(--text-pale);
}

.fixed_width {
	width: 100%;
	max-width: 600px;
}


.flex_box {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: flex-start;
	grid-gap: 0 0.25rem;
	width: 100%;
}

	.flex_box .icon_right {
		position: relative;
		left: -0.75rem;
		width: 1.25rem;
	}

	.flex_box.baseline {
		align-items: baseline;
	}

	.flex_box.bottom_border {
		border-bottom: 3px solid var(--background-pale);
		padding-bottom: 16px;
		margin-bottom: 16px;
	}

		.flex_box.bottom_border:last-child {
			border: none;
			padding-bottom: 0;
			margin-bottom: 0;
		}

	.flex_box.bottom {
		align-items: flex-end;
	}

	.flex_box.bottom_margin {
		margin-bottom: 0.75rem;
	}

		.flex_box.bottom_margin.medium {
			margin-bottom: 0.5rem;
		}

		.flex_box.bottom_margin.short {
			margin-bottom: 0.375rem;
		}

		.flex_box.bottom_margin.shorter {
			margin-bottom: 0.125rem;
		}

		.flex_box.bottom_margin.tall {
			margin-bottom: 1.25rem;
		}

		.flex_box.bottom_margin.taller {
			margin-bottom: 2.5rem;
		}

		.flex_box.bottom_margin:last-child {
			margin-bottom: 0;
		}

	.flex_box.center {
		align-items: center;
	}

	.flex_box.centered {
		justify-content: center;
		width: 100%;
	}

	.flex_box.column {
		flex-direction: column;
		align-items: center;
	}

		.flex_box.column.start {
			align-items: flex-start;
			grid-gap: unset;
		}

	.flex_box.end {
		justify-content: flex-end;
	}

	.flex_box.grid {
		grid-gap: 0.25rem 0.25rem !important;
	}

		.flex_box.grid.tight {
			grid-gap: 0.15rem 0.15rem !important;
		}

	.flex_box.highlight {
		background-color: var(--background-popup);
		padding: 4px 8px;
		border-radius: 4px;
		margin-bottom: 8px;
	}

		.flex_box.highlight.alt {
			background-color: var(--background-pale);
		}

	.flex_box.indent {
		padding-left: 0.75rem !important;
	}

	.flex_box.min_height {
		min-height: 1.5rem;
	}

	.flex_box.narrow {
		width: unset;
	}

	.flex_box.rating {
		display: inline-flex;
		padding: 0.25rem 0.75rem 0.125rem 0.75rem;
		border-radius: 2rem;
		width: unset;
		background-color: var(--background-pale);
	}

	.flex_box.right {
		justify-content: flex-end;
		grid-gap: unset;
	}

	.flex_box.start {
		justify-content: flex-start;
	}

	.flex_box.toolbar {
		align-items: flex-end;
		margin-top: 1rem;
		grid-gap: 0.5rem;
		flex-wrap: wrap;
		min-height: 2rem;
		flex-shrink: 0;
	}

	.flex_box.toolbar div {
		width: unset;
	}

	.flex_box.top_margin {
		margin-bottom: 0;
		margin-top: 0.25rem;
	}

		.flex_box.top_margin.short {
			margin-top: 0.125rem;
		}

		.flex_box.top_margin.tall {
			margin-top: 0.5rem;
		}

		.flex_box.top_margin.taller {
			margin-top: 1rem;
		}

		.flex_box.top_margin.tallest {
			margin-top: 2rem;
		}

	.flex_box.wrap {
		flex-wrap: wrap;
		grid-gap: 0 0.25rem;
	}

		.flex_box.wrap.wide {
			grid-gap: 0 0.5rem;
		}

		.flex_box.wrap.wider {
			grid-gap: 0 0.75rem;
		}

.grow {
	flex-grow: 1;
}

.help_arrow {
	position: absolute;
	width: 0.5rem;
	height: 0.5rem;
}

.help_img {
	width: 100%;
	max-width: 360px;
	border: 1px solid #888888;
	border-radius: 0.25rem;
}

.help_popup {
	position: absolute;
	top: 0;
	left: 0;
	padding: 12px;
	background-color: var(--text);
	color: var(--background);
	border: none;
	border-radius: 24px;
	text-align: center;
	width: 250px;
	font-family: font_main_regular;
	font-size: var(--font-size-small);
	font-variant: normal;
	opacity: 0;
	box-shadow: var(--box-shadow-normal);
	z-index: 1;
}



.hidden {
	display: none;
}

hr {
	border: none;
	height: 3px;
	background: var(--text);
	border-radius: 3px;
}

	hr.grouping {
		margin-top: 0.5rem;
		margin-bottom: 0.5rem;
	}

	hr.grouping:last-child {
		display: none;
	}

	hr.pale {
		background: var(--text-pale);
	}

html {
	padding: 0;
	margin: 0;
	overflow: hidden;
}

.important {
	color: var(--notify-color);
}

.inactive_label {
	color: var(--error-color);
	font-size: var(--font-size-small);
	font-family: font_main_bold;
	font-variant: normal;
	margin-left: 8px;
}

.inline {
	display: inline-block;
}

input[type="checkbox"]:focus {
	outline: 0 !important;
	filter: var(--focus-indicator);
}

	input[type="checkbox"]:focus:not(:focus-visible) {
		outline: 0 !important;
		filter: unset;
	}

input[type="text"], input[type="password"], input[type="email"], input[type="number"], input[type="date"] {
	font-family: font_main_regular;
	font-size: var(--font-size);
	color: var(--text);
	border: 1px solid var(--input-border);
	box-sizing: border-box;
	border-radius: 4px;
	padding: 6px;
	background-color: var(--textbox);
	outline: none;
	outline-style: none;
	margin: 0;
	width: 100%;
	min-height: 1.5rem;
}

	input[type="text"].invalid_value, input[type="password"].invalid_value, input[type="email"].invalid_value, input[type="number"].invalid_value, input[type="date"].invalid_value, button.select_list.invalid_value {
		border: 1px solid var(--error-color) !important;
	}

.interact_popup {
	position: absolute;
	display: none;
	opacity: 0;
	left: 50%;
	top: 52%;
	transform: translate(-50%, -50%);
	width: 90%;
	max-width: 350px;
	max-height: 80%;
	padding: 16px;
	border-radius: 1.25rem;
	background-color: var(--background-popup);
	color: var(--text);
	text-align: center;
	box-shadow: var(--box-shadow-normal);
	overflow-y: auto;
	pointer-events: all;
	-ms-overflow-style: none; /* IE and Edge */
	scrollbar-width: none; /* Firefox */
}

	.interact_popup::-webkit-scrollbar {
		display: none;
	}

	.interact_popup.shown {
		display: block;
		opacity: 1;
	}

.invalid_value {
	/*border: 1px solid var(--error-color) !important;*/
	color: var(--error-color) !important;
}

.invisible {
	visibility: hidden;
}



.label {
	font-family: font_main_bold;
	font-variant: normal;
	font-size: var(--font-size-small);
	text-align: left;
	color: var(--text-pale);
}

	.label.alt {
		font-family: font_main_regular;
		font-size: var(--font-size);
		font-variant: small-caps;
	}

	.label.flex {
		display: flex;
		align-items: flex-end;
	}

	.label.indent {
		margin-left: 0.75rem;
	}

	.label.inline {
		margin-right: 8px;
	}

	.label.header {
		font-size: var(--font-size-big);
		color: var(--text);
	}

	.label.right {
		text-align: right;
	}

	.label.subheader {
		font-size: var(--font-size);
		color: var(--text);
	}

	

label > button.image.tiny {
	background-size: auto 75%;
	width: 1rem;
	height: 1rem;
	align-self: center;
}

.legend {
	position: relative;
	display: flex;
	flex-direction: row;
	/*flex-wrap: wrap;*/
	grid-gap: 0 0.125rem;
	align-items: flex-end;
	margin-left: 0.75rem;
	margin-right: 0.5rem;
	margin-bottom: 0.5rem;
	font-family: font_main_bold;
	font-variant: normal;
	font-size: var(--font-size-small);
	text-align: left;
	color: var(--text-pale);
}

	.legend button.image.small {
		position: absolute;
		top: -0.125rem;
		background-size: 1rem;
		width: 1.25rem;
		height: 1.25rem;
	}

	.legend button.image.tiny {
		background-size: 0.75rem;
		width: 1rem;
		height: 1rem;
		margin-left: 0.125rem;
	}

	.legend .button_wrapper {
		position: relative;
		align-self: flex-start;
		width: 1.25rem;
	}

		.legend .button_wrapper.delete {
			position: relative;
			align-self: flex-start;
			display: flex;
			justify-content: flex-end;
			flex-grow: 1;
		}

	.legend.invalid_value {
		color: var(--error-color) !important;
	}

	.legend.wide {
		justify-content: space-between;
		margin-right: 0.5rem;
	}


.logo_unit {
	width: 100%;
	text-align: center;
	margin-top: 16px;
}

.main {
	position: relative;
	display: flex;
	flex-grow: 1;
	width: 100%;
	max-width: 920px;
}


.menu {
	position: absolute;
	display: none;
	top: 0;
	right: 0;
	bottom: 0;
	padding: 0;
	box-shadow: 0 0 24px var(--text);
	min-width: 250px;
	overflow-y: auto;
	background-color: var(--background-popup);
	z-index: 100000;
}

	.menu.menu_module {
		min-width: 100px;
	}

		.menu.menu_module.open {
			right: 0;
			display: block;
		}


.menu_icon {
	display: flex;
	align-items: center;
	cursor: pointer;
	margin-right: 4px;
	padding: 4px 0;
}

.menu_module_icon {
	text-align: right;
	padding: 8px 8px 0 0;
	margin-right: 4px;
}


.module {
	position: absolute;
	display: flex;
	flex-direction: column;
	align-items: center;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: var(--background);
	box-shadow: 0 0 24px var(--text);
	/*box-shadow: 25px 0px 20px -20px var(--text), -25px 0px 20px -20px var(--text);*/
	overflow: hidden;
	visibility: hidden;
}

	.module.shown {
		visibility: visible;
		/*box-shadow: none;*/
	}

		.module.shown .module_contents {
			padding-top: 32px;
		}

		.module.shown.full .module_contents {
			padding-top: 16px;
		}



.module_contents {
	display: flex;
	flex-direction: column;
	width: 100%;
	background-color: var(--background);
	flex-grow: 1;
	padding: 16px 12px 24px 12px;
	overflow-x: hidden;
	overflow-y: auto;
}

	.module_contents.bottom_border {
		border-bottom: 1px solid var(--text);
	}



.module_filter {
	margin-right: 1px;
	margin-left: 16px;
}

.module_footer {
	display: flex;
	flex-direction: column;
	width: 100%;
	margin-top: 8px;
	margin-bottom: 8px;
	padding-right: 12px;
	padding-left: 12px;
}

	.module_footer.centered {
		justify-content: center;
	}

.module_header {
	display: flex;
	flex-direction: row;
	align-items: center;
	width: 100%;
	justify-content: space-between;
	align-items: center;
	padding: 12px;
	background-color: var(--background-pale);
	box-shadow: 0 2px 8px -2px #888888;
	z-index: 10001;
	min-height: 3rem;
	flex-shrink: 0;
}

	.module_header.primary {
		border-bottom: 1px solid var(--text);
	}

.module_scroller {
	position: fixed;
	bottom: 100px;
	left: 0.5rem;
	visibility: hidden;
	min-width: unset;
	width: 3rem;
	height: 3rem;
	background-position: center;
	background-repeat: no-repeat;
	background-size: 3rem;
	cursor: pointer;
	opacity: 0.75;
}

.module_subheader {
	display: flex;
	flex-direction: row;
	justify-content: center;
	width: 100%;
	padding: 0 0.25rem;
	background-color: var(--background-medium);
	box-shadow: 0 2px 8px -2px #333333;
	z-index: 10000;
}

.module_title {
	display: flex;
	grid-gap: 0 6px;
	flex-grow: 1;
	align-items: center;
	font-size: var(--font-size-big);
	font-variant: small-caps;
	overflow-x: hidden;
}

	.module_title.primary {
		color: var(--text);
	}



.no_break {
	white-space: nowrap;
}

.no_logo {
	display: inline-block;
	width: 150px;
	border: 8px solid var(--text-pale);
	background-color: var(--background-pale);
	padding: 30px 0 30px 0;
	text-align: center;
	color: var(--text-pale);
	font-size: var(--font-size-big);
	margin-top: 7px;
	opacity: 0.5;
}

.no_margin {
	margin: 0;
}

.no_select, button, .label, .section, .notify, .icon, legend, .fieldset_subtext, .module_closer, .module_closer_disabled, .module_title, .app_header_logo, .menu_icon, .menu, button.select_list, .list_popup, .tab_header {
	-webkit-touch-callout: none; /* iOS Safari */
	-webkit-user-select: none; /* Safari */
	-khtml-user-select: none; /* Konqueror HTML */
	-moz-user-select: none; /* Old versions of Firefox */
	-ms-user-select: none; /* Internet Explorer/Edge */
	user-select: none; /* Non-prefixed version, currently supported by Chrome, Edge, Opera and Firefox */
}

.no_select_off {
	-webkit-touch-callout: unset; /* iOS Safari */
	-webkit-user-select: unset; /* Safari */
	-khtml-user-select: unset; /* Konqueror HTML */
	-moz-user-select: unset; /* Old versions of Firefox */
	-ms-user-select: unset; /* Internet Explorer/Edge */
	user-select: unset; /* Non-prefixed version, currently supported by Chrome, Edge, Opera and Firefox */
}



.notification {
	background-color: var(--background-pale);
	padding: var(--box-padding);
	border-radius: 1.5rem;
	box-shadow: var(--box-shadow-active);
	cursor: pointer;
}

	.notification:focus {
		outline: 0 !important;
		filter: var(--focus-indicator);
	}

	.notification.new {
		box-shadow: var(--box-shadow-notify);
	}

.notification_wrapper {
	margin-bottom: 0.75rem;
}

	.notification_wrapper:last-child {
		margin-bottom: 0;
	}

.opening {
	background-color: var(--background-pale);
	padding: var(--box-padding);
	border-radius: 1.5rem;
	margin-bottom: 0.75rem;
	box-shadow: var(--box-shadow-active);
	cursor: pointer;
}

	.opening:focus {
		outline: 0 !important;
		filter: var(--focus-indicator);
	}

	.opening:last-child {
		margin-bottom: 0;
	}

	.opening.closed {
		opacity: 0.5;
	}



.radio_button_horizontal {
	display: inline-block;
	margin-left: 16px;
}

.radio_button_item {
	padding-bottom: 2px;
	padding-top: 2px;
}

.radio_buttons {
	display: inline-block;
	white-space: nowrap;
}

	.radio_buttons.missing {
		background-color: var(--notify-color);
	}

.radio21 {
	font-family: font_main_bold;
	font-variant: small-caps;
}


@media (max-width: 710px) {
	.responsive {
		width: 100%;
		margin-bottom: 0.75rem;
	}

	.responsive_wrapper {
		display: flex;
		flex-direction: column;
		width: 100%;
	}

		.responsive_wrapper.wrap {
			flex-wrap: wrap;
			min-height: unset;
			align-items: flex-start;
		}

			.responsive_wrapper.wrap .responsive {
				width: unset;
			}
}

@media (min-width: 711px) {
	.responsive {
		width: 50%;
		min-height: 100%;
	}

	.responsive_wrapper {
		display: flex;
		flex-direction: row;
		grid-gap: 0 1rem;
		width: 100%;
		max-width: 100%;
		min-height: 100%;
	}

		.responsive_wrapper.wrap {
			flex-wrap: wrap;
			min-height: unset;
		}

			.responsive_wrapper.wrap .responsive {
				width: unset;
				margin-bottom: 1rem;
			}
}


.relative {
	position: relative;
}


.responsive_wrapper_sub {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	flex-direction: row;
	grid-gap: 0 1rem;
	width: 100%;
	max-width: 100%;
}


.schedule {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	grid-gap: 0 0.25rem;
	width: 100%;
	background-color: var(--background-pale);
	padding: var(--box-padding);
	border-radius: 1.5rem;
	margin-bottom: 0.75rem;
	box-shadow: var(--box-shadow-active);
	cursor: pointer;
}

	.schedule:focus {
		outline: 0 !important;
		filter: var(--focus-indicator);
	}

	.schedule:last-child {
		margin-bottom: 0;
	}

	.schedule.off {
		box-shadow: var(--box-shadow-normal);
		cursor: default;
		pointer-events: none;
	}

.section {
	font-variant: small-caps;
	text-align: left;
	margin-top: 24px;
	margin-bottom: 16px;
	padding-bottom: 4px;
	border-bottom: 1px solid var(--text);
	color: var(--text-pale);
}

	.section:first-child {
		margin-top: 0;
	}

	.section.tight {
		margin: 0;
	}

	.section.top {
		margin-top: 0;
	}



.select_list_closer {
	margin-top: 0.6rem;
	margin-bottom: 0.5rem;
	padding-right: 0.85rem;
}

.select_list_content {
	flex-grow: 1;
	display: flex;
	flex-direction: column;
	grid-gap: 0 0.5rem;
	width: 100%;
	padding-right: 0.5rem;
	overflow-y: auto;
}

.select_list_item {
	margin-bottom: 0.5rem;
}

	.select_list_item:last-child {
		margin-bottom: 0;
	}

.select_list_popup {
	position: absolute;
	display: flex;
	flex-direction: column;
	visibility: hidden;
	opacity: 0;
	top: 0;
	left: 0;
	box-shadow: var(--box-shadow-edit);
	box-sizing: border-box;
	border-radius: 1.5rem;
	padding: 0 0 0.75rem 0.75rem;
	background-color: var(--background-popup);
	width: 100%;
	/*width: calc(100% + 2px);*/
}

.select_list_subtext {
	color: var(--text);
	font-size: var(--font-size-small);
	opacity: 0.75;
}

.shrink {
	flex-shrink: 1;
}

.slider {
	width: 100%;
	position: relative;
	top: 0;
}

	.slider.top_margin {
		margin-top: 0.5rem;
	}

		.slider.top_margin:first-child {
			margin-top: 0;
		}

	.slider.top_padding {
		padding-top: 0.5rem;
	}

		/*.slider.top_padding:first-child {
			padding-top: 0;
		}*/

		.slider.top_padding .fieldset_wrapper {
			margin-bottom: 0;
		}

	.slider:first-child .slider_div_up {
		cursor: unset;
		opacity: 0.25;
		pointer-events: none;
	}

	.slider:last-child .slider_div_down {
		cursor: unset;
		opacity: 0.25;
		pointer-events: none;
	}

.slider_div_down {
	display: block;
	margin-left: 1px;
}

.slider_div_up {
	display: block;
	margin-right: 1px;
}



.stars {
	height: 0.7rem;
	background-size: 0.5rem;
	background-position: left center;
	background-repeat: repeat-x;
}

.status {
	position: relative;
	top: 0.3rem;
	color: var(--background);
	border-radius: 1rem;
	padding: 0 0.25rem;
	font-size: var(--font-size-tiny);
	text-transform: uppercase;
	word-break: keep-all;
	width: unset !important;
}

	.status.active {
		background-color: var(--status-on);
	}

	.status.canceled {
		background-color: var(--status-canceled);
	}

	.status.closed {
		background-color: var(--status-closed);
	}

	.status.complete {
		background-color: var(--status-on);
	}

	.status.declined {
		background-color: var(--status-expired);
	}

	.status.expired {
		background-color: var(--status-expired);
	}

	.status.paused {
		background-color: var(--status-pending);
	}

	.status.pending {
		background-color: var(--status-pending);
	}

	.status.rejected {
		background-color: var(--status-expired);
	}

	.status.top {
		top: 0;
	}

	.status.withdrawn {
		background-color: var(--status-expired);
	}

.strike {
	text-decoration: line-through;
	text-decoration-color: var(--text-pale);
}

	.strike > button {
		text-decoration: line-through;
	}

strong {
	font-family: font_main_bold;
	text-decoration: underline;
	font-size: inherit;
}

.subtext {
	font-size: var(--font-size-small);
	color: var(--text);
}

	.subtext.indent {
		margin-left: 1.25rem;
	}

	.subtext.tiny {
		font-size: var(--font-size-tiny);
		color: var(--text);
	}

.swatch {
	width: 1.25rem;
	height: 1.25rem;
	border: 1px solid #333333;
	border-radius: 0.75rem;
}

	.swatch.large {
		width: 3rem;
		height: 3rem;
		border-radius: 0.5rem;
		border: none;
		box-shadow: var(--box-shadow-active);
	}


.tab_header {
	display: flex;
	justify-content: center;
	width: 100%;
	flex-wrap: wrap;
	grid-gap: 0.5rem 1.25rem;
}

	.tab_header.list {
		width: unset;
		grid-gap: 0.125rem 0.125rem;
		justify-content: flex-start;
	}

	.tab_header button {
		background-position: center;
		background-color: var(--button-color);
		background-size: 60% auto;
		width: min(var(--tab-size), var(--tab-size-min));
		height: min(var(--tab-size), var(--tab-size-min));
		border-radius: 50%;
		box-shadow: var(--box-shadow-button);
	}

	.tab_header.list button {
		opacity: 0.25;
		width: var(--tab-size-list);
		height: var(--tab-size-list);
	}

	.tab_header button.canceled {
		opacity: 1;
		background-color: var(--status-canceled);
	}

	.tab_header button.notify {
		opacity: 1;
		background-color: var(--status-notify);
	}

	.tab_header button.on {
		opacity: 1;
		background-color: var(--status-on);
	}

	.tab_header button.pending {
		opacity: 1;
		background-color: var(--status-pending);
	}

	.tab_header button.current {
		box-shadow: 0 0 8px 4px var(--focus-color), var(--box-shadow-button);
	}

	.tab_header > div {
		display: flex;
		flex-direction: column;
		align-items: center;
		width: min(var(--tab-size), var(--tab-size-min));
		max-width: min(var(--tab-size), var(--tab-size-min));
		word-break: keep-all;
		overflow-x: visible;
		margin: 0;
	}

	.tab_header.list > div {
		width: var(--tab-size-list);
		max-width: var(--tab-size-list);
	}


.tab_label {
	color: var(--text);
	font-size: min(var(--font-size-tiny), 16px);
	font-variant: small-caps;
	word-break: keep-all;
	white-space: nowrap;
}


table {
	border-collapse: collapse;
	width: 100%;
	border: none;
}


.thumbnail {
	object-fit: contain;
	max-width: 100%;
	max-height: 400px;
	width: auto;
	height: auto;
}

.thumbnail_wrapper {
	text-align: center;
	background-color: var(--background-pale);
}



.timeout_message {
	display: inline-block;
	border: 1px solid var(--border-popup);
	border-radius: 8px;
	background-color: var(--background-popup);
	max-width: 340px;
	padding: 20px;
	text-align: center;
	font-size: var(--font-size-small);
}

.timeout_message_wrapper {
	position: absolute;
	left: 0;
	right: 0;
	text-align: center;
	top: 30%;
	display: none;
}


.video {
	object-fit: contain;
	max-width: 100%;
	max-height: 400px;
	width: auto;
	height: auto;
	background-color: var(--background-pale);
	display: none;
}

.video_controls {
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	visibility: hidden;
	width: 100%;
	max-width: 100%;
	margin-top: 0.25rem;
	grid-gap: 0.25rem;
}

.video_metadata {
	font-size: 18px;
	text-align: right;
}

.video_play {
	display: none;
	width: 15%;
	height: auto;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.video_progress_controls {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	flex-grow: 1;
	max-width: 250px;
}

.video_progress_indicator {
	width: 10%;
	height: auto;
	aspect-ratio: 1/1;
	cursor: pointer;
	margin-right: 4px;
	border: 2px solid var(--button-color);
	border-radius: 50%;
	background-color: var(--background);
}

	.video_progress_indicator.on {
		background-color: var(--button-color);
	}


.wait_spinner {
	position: relative;
	left: -50%;
	background-color: transparent;
	text-align: center;
}

.wait_spinner_wrapper {
	position: absolute;
	left: 50%;
	top: 40%;
	display: none;
	opacity: 0;
}

.warning {
	display: inline-block;
	text-align: center;
	margin-top: 12px;
	margin-bottom: 24px;
	color: var(--text);
}

	.warning.negative {
		color: var(--notify-color);
	}

	.warning.positive {
		color: var(--notify-color-on);
	}



.wizard_page {
	height: 0;
	display: none;
	overflow-x: visible;
}

.zero_width {
	width: 0 !important;
}

[contenteditable] {
	-webkit-user-select: text;
	user-select: text;
}
