/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bold}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}

* { box-sizing: border-box }
img { max-width: 100%; height: auto; }

:root {
	--font-family: "Open Sans", sans-serif;
	--brand-font-family: "Open Sans", sans-serif;
	--site-max-width: 1140px;
	--content-side-padding: 16px;
	--border-radius: 10px;
	
	--color-primary: #000000;
	--color-secondary: #555555;
	--color-background: #f4f6fe;
	--color-secondary-background: #ffffff;
	--color-tint-background: #e2e4e8;
	--color-accent: #4b8fe2;
	--color-button-background: rgba(200,200,214, 0.85);
	
	--color-divider: rgba(0,0,0, 0.18);
	--color-input-border: #bbc;
	--color-link-hover-background: rgba(0,0,0, 0.08);
	--color-row-hilight-background: rgba(40,50,187, 0.08);
	
	--color-grey: #ccd;
	
	--shadow-button-hover: 0 0 0 100vmax inset rgba(0,0,0, 0.14);
	
	--red: rgb(201, 42, 51);
	--green: #33a129;
	--blue: rgb(56, 117, 222);
	--gold: rgb(182, 158, 36);
	--yellow: rgb(222, 201, 98);
	--orange: rgb(200, 129, 0);
}

.dark {
	--color-primary: #ffffff;
	--color-secondary: #bbbbbb;
	--color-background: #070a14;
	--color-secondary-background: #181b21;
	--color-tint-background: rgb(29, 29, 31);
	--color-accent: #4b8fe2;
	--color-button-background: rgba(30,30,50, 0.84);
	
	--color-divider: rgba(255,255,255, 0.2);
	--color-input-border: #445;
	--color-link-hover-background: rgba(255,255,255, 0.18);
	--color-row-hilight-background: rgba(40,50,187, 0.18);
	
	--color-grey: #334;
	
	--button-hover-shadow: 0 0 0 100vmax inset rgba(255,255,255, 0.14);
	
	--red: rgb(201, 42, 51);
	--green: #009b64;
	--blue: rgb(54, 109, 205);
	--gold: gold;
	--yellow: rgb(201, 176, 47);
	--orange: rgb(169, 109, 0);
}

@media (min-width: 50em) {
	
}
@media (min-width: 72em) {
	
}

html {
	background-color: var(--background-color);
}

body {
	margin: 0;
	padding: 0;
	font-family: var(--font-family);
	font-size: 1rem;
	font-optical-sizing: auto;
	color: var(--color-primary);
	background-color: var(--color-background);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}




/* Typography: Fonts
-------------------------------------------------- */
.brand-font {
	font-family: var(-brand-font);
	font-optical-sizing: auto;
	font-style: normal;
}
.weight-700 { font-weight: 700; }
.weight-900 { font-weight: 900; }




/* Typography: Headings
-------------------------------------------------- */
h1, .heading-xl {
	font-family: var(--brand-font-family);
	font-size: 1.313rem;
	line-height: 1.2;
	margin-top: 25px;
	margin-bottom: 0.5em;
}
h2, .heading-lg {
	font-family: var(--brand-font-family);
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.3;
	margin-top: 1.5em;
	margin-bottom: 0.5em;
}
h3, .heading-md {
	font-family: var(--brand-font-family);
	font-size: 1.063rem;
	letter-spacing: 0.5px;
	font-weight: 700;
	margin-top: 2.5em;
	margin-bottom: 0.5em;
}
h4, .heading-sm {
	font-size: 0.813rem;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	font-weight: 800;
	margin-bottom: 3px;
}
h5, .heading-xs {
	font-size: 0.813rem;
	letter-spacing: 0.5px;
	font-weight: 600;
	margin-bottom: 1px;
}
.heading-xxl {
	font-size: 1.75rem;
	font-weight: 800;
	margin-top: 0;
}
@media (min-width: 50em) {
	h1, .heading-xl {
		font-size: 1.625rem;
	}
	.heading-xxl {
		font-size: 2.0rem;
	}
}

.sub-heading {
	font-size: 1.125em;
	font-weight: 500;
	margin: 0 0 2em 0;
}

h1 small {
	display: block;
	line-height: 1.35;
	color: var(--color-secondary);
}

.heading-with-actions {
	display: grid;
	grid-template-columns: 1fr auto;
}
.heading-with-actions .actions {
	padding-top: 20px;
}



/* Typography: Paragraphs
-------------------------------------------------- */
p,
ul,
ol {
	font-size: 1em;
	line-height: 1.35;
	margin-block-start: 0;
	margin-block-end: 1.5em;
}

.lead {
	font-size: 1.063rem;
	line-height: 1.34;
	letter-spacing: .007em;
	margin-top: 1em;
	margin-bottom: 1em;
}

@media (min-width: 50em) {
	.lead {
		font-size: 1.313em;
	}
}

/* Typography: Links
-------------------------------------------------- */
a,
.link {
	color: var(--color-accent);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.15em;
}

a.text-color {
	color: var(--color-primary);
}

/* Images: Base
-------------------------------------------------- */
.image {
	width: 100%;
}

.banner {
	max-width: var(--site-max-width);
	margin-top: 15px;
	margin-bottom: 24px;
}

.banner-image {
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

.banner {
	margin-left: auto;
	margin-right: auto;
}

.banner-image {
	border-top-left-radius: 12px;
	border-top-right-radius: 12px;
	border-bottom-left-radius: 12px;
	border-bottom-right-radius: 12px;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

.banner-logo-container {
	max-width: 500px;
	margin-top: 10px;
	margin-bottom: 10px;
	margin-left: auto;
	margin-right: auto;
}
.banner-logo {
	display: block;
	border: 1px solid var(--color-divider);
	border-radius: 12px;
	aspect-ratio: 3 / 1;
	object-fit: cover;
}

@media screen and (min-width: 50em) {
	.banner-image {
		aspect-ratio: 2 / 1;
	}
}

















/* Layout
-------------------------------------------------- */
.container {
	max-width: var(--site-max-width);
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--content-side-padding);
	padding-right: var(--content-side-padding);
}

.limit-container-width {
	max-width: 350px;
}

.limit-character-width {
	max-width: 70ch;
	margin-left: auto;
	margin-right: auto;
}

.row {
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
}
.row .column {
	flex: 1 0 auto;
	width: 100%;
}

@media screen and (min-width: 50em) {
	.row {
		gap: 50px;
	}
	.row .column {
		flex: 1;
	}
	.row .column.width-33 {
		flex: 0 0 33.3%;
		width: 33.3%;
	}
}

@media screen and (min-width: 72em) {
	.row {
		gap: 75px;
	}
}

@media screen and (max-width: 50em) {
	.full-width-container {
		margin-left: calc(var(--content-side-padding) * -1);
		margin-right: calc(var(--content-side-padding) * -1);
	}
}











/* Side nav: only on-screen by default on large screens, otherwise place it into view when required
-------------------------------------------------- */
.sidenav {
	position: fixed;
	z-index: 9;
	top: 50px;
	left: 0;
	width: 100%;
	height: 100vh;
	height: 100lvh;
	height: calc(100vh - 50px);
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	background-color: var(--color-secondary-background);
	padding-top: 35px;
	padding-left: var(--content-side-padding);
	padding-right: var(--content-side-padding);
	opacity: 1;
	transform: translateX(-100%);
	transition: transform .34s;
	transition-timing-function: cubic-bezier(.32, .08, .24, 1);
}

.sidenav-is-open .sidenav {
	overflow: auto;
	opacity: 1;
	transform: translateX(0%);
	transition: transform 0.28s;
	transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
}

@media (min-width: 50em) {
	
	body {
		padding-left: 200px;
	}
	.sidenav {
		position: fixed;
		z-index: 50;
		top: 0;
		width: 200px;
		height: 100vh;
		transform: none;
		transition: none;
		transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
		padding-left: calc(var(--content-side-padding) / 2);
		padding-right: calc(var(--content-side-padding) / 2);
		opacity: 1;
		/* box-shadow: 0px 0 5px 2px rgba(0,0,0, 0.25); */
	}
	.sidenav-menu {
		font-size: 13px;
	}
	
}











/* Navbar
-------------------------------------------------- */
.navbar {
	position: sticky;
	z-index: 30;
	top: 0;
	left: 0;
	width: 100%;
	background-color: var(--color-background);
	border-top: 1px solid var(--color-background);
}

.navbar-container {
	display: flex;
	align-items: center;
	gap: 10px;
	max-width: var(--site-max-width);
	height: 50px;
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--content-side-padding);
	padding-right: var(--content-side-padding);
}

.sticky-top {
	position: sticky;
	z-index: 8;
	top: 60px;
	box-shadow: 0 3px 15px 6px rgba(0,0,0, 0.44);
}

.navbar-home-link {
	display: flex;
	flex-grow: 0;
	align-items: center;
	font-weight: 600;
	text-decoration: none;
	color: var(--color-primary);
}

.navbar-logo {
	display: block;
	width: auto;
	height: 16px;
}
.navbar-icon {
	display: block;
	width: 38px;
	height: 38px;
	border-radius: 6px;
	margin-right: 8px;
}

.navbar-search {
	display: none;
}

.navbar-buttons {
	display: flex;
	align-items: center;
}

.navbar-button {
	display: flex;
	align-items: center;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	text-decoration: none;
	background: none;
	border: none;
	font-size: 0.875rem;
	color: var(--color-secondary);
	border-radius: 4px;
	width: 42px;
	height: 42px;
	padding: 10px;
}
.navbar-button.text-button {
	width: auto;
}
@media (hover: hover) {
	.navbar-button:hover {
		background-color: var(--color-link-hover-background);
	}
}
.navbar-button:active {
	background-color: var(--color-link-hover-background);
}

.dark .navbar-button img {
	filter: invert(1);
}







































/* Components: Buttons
-------------------------------------------------- */
.button {
	appearance: none;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.1875;
	width: auto;
	height: 2.5em;
	text-align: center;
	white-space: nowrap;
	border: none;
	border-radius: 8px;
	margin: 0;
	padding-top: 0;
	padding-bottom: 0;
	padding-left: 1em;
	padding-right: 1em;
	background-color: var(--color-button-background);
	color: var(--color-primary);
	text-decoration: none;
	text-align: center;
}

.button:hover {
	box-shadow: var(--shadow-button-hover);
}
.button:active {
	opacity: 0.7;
}

@media screen and (max-width: 50em) {
	.button.stretch-on-sm { width: 100% }
}
.button.stretch { width: 100% }
.button.xs { font-size: 12px; height: 2.25em; }
.button.sm { font-size: 13px; }
.button.md { font-size: 16px; height: 3em; padding-left: 1.5em; padding-right: 1.5em; border-radius: 11px; font-weight: 600; }
.button.lg { font-size: 19px; padding-left: 2em; padding-right: 2em; font-weight: 600; }
.button.xl { font-size: 19px; padding-left: 2em; padding-right: 2em; border-radius: 8px; font-weight: 650; }

.button.pill { border-radius: 100px; }

.button.plain {
	background-color: transparent;
}
.button.outlined {
	background-color: transparent;
	border: 1px solid var(--color-input-border);
}
.button.bordered {
	background-color: var(--color-grey);
}
.button.prominent {
	color: white;
	background-color: var(--color-accent);
}
.button[disabled],
.button.disallow {
	opacity: 0.5;
	cursor: not-allowed;
}

.button-icon {
	width: 0.75em;
	height: 0.75em;
	margin-left: 1ch;
}

form[method="dialog"] {
	margin: 0;
	text-align: center;
}



/* Components: Breadcrumbs
-------------------------------------------------- */
.breadcrumbs {
	margin-top: 0;
	margin-bottom: 0;
	padding: 10px 0 10px 0;
}

.breadcrumbs ol {
	margin: 0;
	padding: 0;
	list-style: none;
}

.breadcrumbs li {
	display: inline-block;
	margin: 0;
	padding: 0;
	font-size: 0.75rem;
	color: var(--text-secondary-color);
}

.breadcrumbs li + li:before {
	content: "›";
	padding: 0 0.5em;
	color: var(--text-secondary-color);
}

.breadcrumbs a {
	color: var(--color-primary);
	font-weight: normal
}





























/* Side nav menu list
-------------------------------------------------- */
.sidenav-container {
	margin-left: auto;
	margin-right: auto;
	padding-left: 25px;
	padding-right: 25px;
	padding-bottom: 100px;
}
.sidenav-logo {
	display: block;
	width: auto;
	height: 19px;
	margin-bottom: 25px;
}
.sidenav-heading {
	font-size: 13px;
	font-weight: bold;
	color: var(--color-secondary);
	padding-left: 6px;
	margin: 0 0 3px 0;
}
.sidenav-menu {
	margin-block-end: 25px;
	padding: 0;
	font-weight: 400;
}

.sidenav-menu .menu-item {
	display: flex;
	align-items: center;
	font-size: 17px;
	font-weight: 500;
	margin: 2px 0;
	padding: 0.8em 0.5em;
	gap: 2.0ch;
	color: var(--color-primary);
	text-decoration: none;
	border-radius: 4px;
}
.sidenav-menu .sub-menu-item {
	font-size: 0.813em;
	padding-left: 3.4em;
}

.sidenav-menu .menu-item:hover {
	background-color: var(--color-link-hover-background);
}
.sidenav-menu .menu-item.active {
	background-color: var(--color-link-hover-background);
}

.sidenav-menu .menu-icon {
	font-size: 24px;
	width: 24px;
	color: var(--color-accent);
}

.sidenav-menu .label {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

@media screen and (min-width: 50em) {
	.sidenav-heading {
		font-size: 11px;
	}
	.sidenav-menu .menu-item {
		font-size: 13px;
		padding: 0.75em 0.5em;
	}
	.sidenav-menu .menu-icon {
		font-size: 20px;
		width: 20px;
	}
}















/* Tabs
-------------------------------------------------- */
.tabs {
	display: flex;
	flex-wrap: nowrap;
	margin-left: calc(var(--content-side-padding) * -1);
	margin-right: calc(var(--content-side-padding) * -1);
	padding-left: var(--content-side-padding);
	padding-right: var(--content-side-padding);
	padding-top: 5px;
	padding-bottom: 5px;
	list-style: none;
	background-color: inherit;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	-ms-overflow-style: none;
	scrollbar-width: none;
}
.tabs::-webkit-scrollbar {
	display: none;
}

.tabs.full-width {
	margin-left: calc(var(--content-side-padding) * -1);
	margin-right: calc(var(--content-side-padding) * -1);
	padding-left: var(--content-side-padding);
	padding-right: var(--content-side-padding);
	border-radius: 4px;
}

.tabs li {
	flex: 0 0 auto;
	padding: 0;
}

.tabs a,
.tabs button {
	flex: 0 0 auto;
	display: block;
	text-decoration: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: none;
	border: none;
}

/* Tabs: Filled Tabs
-------------------------------------------------- */
.filled-tabs .tab {
	font-size: 0.875em;
	font-weight: 600;
	line-height: 1.94em;
	height: 2em;
	margin-right: 2px;
	padding: 0 1.0em;
	border-radius: 1em;
	color: var(--color-primary);
}

.filled-tabs .tab:hover {
	background-color: var(--color-link-hover-background);
}

.filled-tabs .tab.active {
	color: white;
	background-color: var(--color-accent);
}

/* Tabs: Plain Tabs
-------------------------------------------------- */
.plain-tabs {
	gap: 20px;
	padding-top: 0;
	padding-bottom: 0;
	border-bottom: 1px solid var(--color-divider);
}
.plain-tabs .spacer {
	flex-grow: 1;
}
@media screen and (min-width: 50em) {
	.plain-tabs {
		margin-left: 0;
		margin-right: 0;
		padding-left: 0;
		padding-right: 0;
	}
}
.plain-tabs .tab {
	font-size: 0.875em;
	font-weight: 600;
	margin: 0;
	padding: 1.0em 0;
	color: var(--color-secondary);
	border-bottom: 2px solid transparent;
}

.plain-tabs .tab:hover {
	color: var(--color-primary);
	border-radius: 3px;
}

.plain-tabs .tab.active {
	color: var(--color-primary);
	border-bottom-color: var(--color-accent);
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
}

.plain-tabs .tab.highlighted {
	color: var(--color-primary);
}

/* Tabs: Segmented modifier
-------------------------------------------------- */
.tabs.segmented {
	width: 100%;
	max-width: 600px;
	background-color: var(--color-tint-background);
	border-radius: 100px;
	padding: 5px;
	margin-left: 0;
	margin-right: 0;
}
.tabs.segmented a.tab {
	display: flex;
	justify-content: center;
	align-items: center;
	flex: 1;
	text-align: center;
	height: 2.5em;
	border-radius: 100px;
}

/* Tabs may be used as radios
-------------------------------------------------- */
.tab input[type="radio"] {
	width: 0;
	height: 0;
	overflow: hidden;
	opacity: 0;
}






/* Picker
-------------------------------------------------- */
.horizontal-picker {
	display: flex;
	flex-wrap: nowrap;
	gap: 5px;
	margin-bottom: 25px;
	margin-left: calc(var(--content-side-padding) * -1);
	margin-right: calc(var(--content-side-padding) * -1);
	padding-left: var(--content-side-padding);
	padding-right: var(--content-side-padding);
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	-ms-overflow-style: none;
	scrollbar-width: none;
}
.horizontal-picker::-webkit-scrollbar {
	display: none;
}
.picker-item {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	font-size: 13px;
	font-weight: 550;
	text-decoration: none;
	width: auto;
	height: 2.5em;
	margin: 0;
	padding: 0 20px;
	color: var(--color-primary);
	background-color: var(--color-grey);
	border: none;
	border-radius: 5px;
	white-space: nowrap;
}
.even .picker-item {
	flex: 1;
}
.picker-item:hover {
	box-shadow: var(--shadow-button-hover);
}
.picker-item:active {
	opacity: 0.7;
}
.picker-item.active {
	color: white;
	background-color: var(--color-accent);
}
.outlined .picker-item {
	height: 3.5em;
	border: 2px solid transparent;
	border-radius: 6px;
}
.outlined .picker-item.active {
	color: var(--color-primary);
	background-color: var(--color-grey);
	border-color: var(--color-accent);
}
.picker-item .secondary-text {
	margin-top: 5px;
}

/* Pickers may be used as radios
-------------------------------------------------- */
.picker-item input[type="radio"] {
	width: 0;
	height: 0;
	overflow: hidden;
	opacity: 0;
}












/* Lot grid/list
-------------------------------------------------- */
.lot-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 40px 30px;
	margin-block-end: 50px;
}
.lot-list {
	display: grid;
	gap: 10px;
	margin-top: 30px;
	margin-bottom: 50px;
}
@media screen and (min-width: 50em) {
	.lot-list {
		grid-template-columns: 1fr 1fr;
	}
}

/* Lot cards in grid
-------------------------------------------------- */
.lot {
	position: relative;
	height: 100%;
}
.lot-card {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	text-decoration: none;
	color: var(--primary);
	border-radius: 10px;
	height: 100%;
}
@media (hover: hover) {
	.lot-card:hover .lot-card-image {
		filter: brightness(80%)
	}
}

.lot-card:active,
.lot-card.pressed {
	transform: scale(0.98);
}

@media (pointer: fine) {
	.lot-card:active {
		transform: scale(0.98);
	}
}

.lot-card-image {
	display: block;
	width: 100%;
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

.lot-card-panel {
	display: flex;
	flex-direction: column;
	flex: 1;
	background-color: var(--color-secondary-background);
	padding: 14px 15px;
	border-bottom-left-radius: 10px;
	border-bottom-right-radius: 10px;
}

.sponsor-card .lot-card-panel {
	background-color: var(--color-button-background);
}

.lot-card .name {
	display: block;
	font-size: 17px;
	font-weight: 500;
	line-height: 1.35;
}
.lot-card .tag-line {
	flex-grow: 1;
	display: block;
	font-size: 15px;
	line-height: 1.35;
	color: var(--color-secondary);
	margin-top: 3px;
}

.lot-card-meta {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 13px;
	margin-top: 10px;
}
.lot-card .meta-item {
	color: var(--color-primary);
}
.lot-card .meta-item .symbol {
	font-size: 1.5em;
	vertical-align: text-bottom;
}

@media screen and (min-width: 50em) {
	.lot-card .name {
		font-size: 15px;
	}
	.lot-card .tag-line {
		font-size: 13px;
	}
}

.lot-card-actions {
	position: absolute;
	z-index: 2;
	top: 10px;
	right: 10px;
}
.lot-card-button {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	display: flex;
	justify-content: center;
	align-items: center;
	background: none;
	border: none;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background-color: rgba(0,0,0, 0.2);
}
.lot-card-button .symbol {
	color: white;
	font-size: 24px;
}
@media (hover: hover) {
	.lot-card-actions {
		opacity: 0;
	}
	.lot:hover .lot-card-actions {
		opacity: 1;
	}
	.lot-card-button:hover {
		background-color: rgba(0,0,0, 0.5);
	}
}
.lot-card-button.active {
	background-color: var(--color-accent);
}

/* Lot bars
-------------------------------------------------- */
.lot-bar {
	display: flex;
	align-items: center;
	text-decoration: none;
	color: inherit;
	background-color: var(--color-tint-background);
	overflow: hidden;
	border-radius: 10px;
}
.lot-bar:hover {
	background-color: var(--color-link-hover-background);
}
.lot-bar:active {
	transform: scale(0.98);
}
.lot-bar .image {
	flex-shrink: 0;
	width: 84px;
	height: 84px;
	object-fit: cover;
}
.lot-bar .body {
	flex-grow: 1;
	padding: 8px 14px;
}
.lot-bar .title {
	display: block;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.3;
}
.lot-bar .description {
	display: block;
	font-size: 11px;
	color: var(--color-secondary);
	margin-top: 3px;
	line-height: 1.3;
}
.lot-bar .status {
	display: block;
	font-size: 11px;
	font-weight: 600;
	line-height: 1.3;
	margin-top: 8px;
}
.lot-bar .handle {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 52px;
	padding: 6px 0;
	border-left: 2px solid var(--color-divider);
}
.lot-bar .handle .symbol {
	font-size: 24px;
}

















/* Navigation controls
-------------------------------------------------- */
.navigation {
	margin-bottom: 5px;
}
.navigation-button {
	display: inline-flex;
	align-items: center;
	font-size: 14px;
	text-decoration: none;
	padding: 5px 10px 5px 0;
	border-radius: 4px;
}
.navigation-button:hover {
	background-color: rgba(255,255,255, 0.1);
}
.navigation-button .symbol {
	display: flex;
	align-items: center;
	font-size: 18px;
	text-indent: 11px;
	color: var(--color-primary);
}
@media screen and (max-width: 50em) {
	.navigation {
		position: absolute;
		z-index: 10;
		top: 10px;
		left: 5px;
		margin: 0;
	}
	.navigation-button {
		padding-left: 10px;
	}
	.navigation-button .symbol {
		width: 34px;
		height: 34px;
		border-radius: 50%;
		background-color: rgba(0,0,0, 0.42);
		backdrop-filter: blur(14px);
	}
}






/* Carousel
-------------------------------------------------- */
.media-carousel {
	position: relative;
	margin-left: calc(var(--content-side-padding) * -1);
	margin-right: calc(var(--content-side-padding) * -1);
	overflow: hidden;
}
.carousel-items {
	display: flex;
	flex-wrap: nowrap;
	gap: 5px;
	padding-top: 0;
	padding-left: 0;
	padding-right: 0;
	scroll-padding: 0;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	scroll-snap-type: x mandatory;
	-ms-overflow-style: none;
	scrollbar-width: none;
	scroll-behavior: smooth;
}
.carousel-items::-webkit-scrollbar {
	display: none;
}

.carousel-item {
	position: relative;
	flex-grow: 0;
	flex-shrink: 0;
	width: 100%;
	scroll-snap-align: start;
}

.carousel-item .carousel-image {
	display: block;
	aspect-ratio: 2 / 1;
	object-fit: cover;
}

.carousel-dots {
	position: absolute;
	left: 10px;
	right: 10px;
	bottom: 3px;
	display: flex;
	justify-content: center;
	gap: 5px;
}
.carousel-dot {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	flex: 0 0 auto;
	display: block;
	width: 8px;
	height: 8px;
	margin: 0;
	padding: 0;
	border: none;
	border-radius: 50%;
	background: rgba(210,225,255, 1);
	opacity: 0.5;
}
.carousel-dot.active {
	opacity: 1;
}

.media-previews {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 5px;
	margin-top: 4px;
}
.media-preview {
	flex-grow: 0;
	width: auto;
	height: 50px;
	border-radius: 4px;
}

@media screen and (min-width: 50em) {
	.media-carousel {
		margin-left: 0;
		margin-right: 0;
	}
	.carousel-item .carousel-image {
		border: 2px solid var(--color-background); /* Helps with object-fit cover leaving 1px margins sometimes */
	}
}

/* Carousel overlay - fullscreen version of carousel
-------------------------------------------------- */
.carousel-overlay {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.95);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	z-index: 1000;
	overflow: hidden;
}

.carousel-overlay.hidden {
	display: none;
}

.overlay-carousel {
	width: 100%;
	height: 100%;
	height: 100dvh;
	display: flex;
	flex-wrap: nowrap;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
	scroll-behavior: smooth;
}

.overlay-carousel::-webkit-scrollbar {
	display: none;
}

.overlay-backdrop {
	position: absolute;
	inset: 0;
	z-index: 0;
	cursor: pointer;
}

.overlay-carousel .carousel-item {
	width: 100%;
	height: 100%;
	flex: 0 0 100%;
	scroll-snap-align: start;
	display: flex;
	align-items: center;
	justify-content: center;
}

.overlay-carousel .cover-image {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}

.carousel-arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-60%);
	font-size: 100px;
	text-shadow: 0 2px 8px rgba(0,0,0,0.4);
	color: white;
	background: transparent;
	border: none;
	padding: 0.5rem 1rem;
	z-index: 1002;
	cursor: pointer;
	user-select: none;
}

.prev-arrow {
	left: 10px;
}

.next-arrow {
	right: 10px;
}

.close-overlay {
	position: absolute;
	top: 20px;
	right: 20px;
	font-size: 2rem;
	color: white;
	background: none;
	border: none;
	z-index: 1001;
	cursor: pointer;
}

/* Lots
-------------------------------------------------- */
.cover-image {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: 0;
}

.cover-image-tools {
	position: absolute;
	top: auto;
	left: 0;
	right: 0;
	bottom: 0;
	padding-top: 70px;
	padding-bottom: 15px;
	text-align: center;
	background-image: linear-gradient(to bottom, rgba(0,0,0, 0), rgba(0,0,0, 0.55));
	pointer-events: none;
}
.cover-image-tools .button {
	width: 100%;
	max-width: 270px;
	margin-left: auto;
	margin-right: auto;
	pointer-events: auto;
}

.shadow {
	box-shadow: 0 3px 10px 3px rgba(0,0,15, 0.16), 0 5px 20px 6px rgba(0,0,14, 0.20);
}
.dark .shadow {
	box-shadow: 0 3px 10px 3px rgba(0,0,15, 0.96), 0 5px 20px 6px rgba(0,0,14, 0.42);
}

@media screen and (min-width: 50em) {
	.column-sticky-content {
		position: sticky;
		top: 81px;
	}
	.cover-image {
		margin-left: 0;
		margin-right: 0;
		border-radius: 8px;
	}
	.media-carousel.shadow {
		border-radius: 9px;
	}
}










/* Detailed button, usually mixed with the floating-action type.
-------------------------------------------------- */
.floating-bar {
	position: sticky;
	bottom: 14px;
	left: 14px;
	right: 14px;
	margin-left: auto;
	margin-right: auto;
	max-width: 420px;
	transition: transform 0.75s;
	transform: translateY(120%);
}
.floating-bar.active {
	position: -webkit-sticky;
	position: sticky;
	bottom: 12px;
	transition: transform 1.0s;
	transform: translateY(0%);
	transition-timing-function: cubic-bezier(.47, 1.64, .41, .8);
}

.detailed-button {
	display: flex;
	align-items: center;
	text-align: left;
	padding: 12px 15px;
	width: 100%;
	max-width: 420px;
	height: auto;
	min-height: 74px;
	color: black;
	background: rgba(170,180,200, 0.44);
	backdrop-filter: blur(25px);
	border: none;
	border-radius: 16px;
}
.detailed-button.stretch {
	max-width: none;
}
.detailed-button-main {
	flex-grow: 1;
}
.detailed-button .title {
	display: block;
	font-size: 18px;
	font-weight: 700;
	white-space: normal;
}
.detailed-button .text {
	display: block;
	font-size: 14px;
	font-weight: 500;
	margin: 4px 0 0 0;
}
.detailed-button:active {
	transform: scale(0.99);
}

.detailed-button:hover {
	background: rgba(180,190,220, 0.44);
}
.dark .detailed-button {
	color: white;
	background: rgba(70,80,100, 0.44);
}
.dark .detailed-button:hover {
	background: rgba(80,90,120, 0.44);
}















/* Dialog
-------------------------------------------------- */
.dialog {
	font-weight: 550;
	border: none;
	width: 100%;
	max-width: 400px;
	margin: 0 auto auto auto;
	padding: 0;
	background: rgba(255,255,255, 0.92);
	box-shadow: 0 6px 20px 10px rgba(40,40,44, 0.44);
	border: 1px solid rgba(255,255,255, 0.45);
	border-radius: 0;
	border-bottom-left-radius: 8px;
	border-bottom-right-radius: 8px;
	animation: slideIn 0.24s cubic-bezier(.32, .08, .24, 1) forwards;
}
.dialog::backdrop {
	background: rgba(22,32,42, 0.20);
	backdrop-filter: blur(4px);
	opacity: 0;
	animation: fadeIn 0.24s cubic-bezier(.32, .08, .24, 1) forwards;
}
.dialog-content {
	padding: 15px;
}
.dialog-notice {
	display: none;
	flex-wrap: nowrap;
	align-items: center;
	font-weight: 500;
	margin: 0;
	padding: 15px;
	color: white;
	background-color: var(--color-tint-background);
}
.dialog-notice.active {
	display: flex;
}
.dialog-notice.error {
	background-color: var(--red);
}
.dialog-notice.success {
	background-color: var(--green);
}
.dialog-notice .symbol {
	display: none;
	width: 44px;
	font-size: 38px;
	color: inherit;
	margin-right: 10px;
}
.dialog-notice .notice {
	display: block;
	line-height: 1.3;
}
.dialog-notice.error .error-symbol { display: block; }
.dialog-notice.success .success-symbol { display: block; }
@media screen and (min-width: 50em) {
	.dialog {
		margin-top: auto;
		border-radius: 8px;
	}
}
.checkbox-label {
	display: flex;
	align-items: center;
}
.checkbox-label input {
	width: 1.5em;
	height: 1.5em;
	margin-right: 4px;
}
@keyframes slideIn {
	from {
		transform: translateY(-150px);
		opacity: 0;
	}
	to {
		transform: translateY(0);
		opacity: 1;
	}
}
@media screen and (min-width: 50em) {
	@keyframes slideIn {
		from {
			transform: translateY(-50px);
			opacity: 0;
		}
		to {
			transform: translateY(0);
			opacity: 1;
		}
	}
}

@keyframes fadeIn {
	to {
		opacity: 1;
	}
}

/* Dialog money input
-------------------------------------------------- */
.currency-input {
	position: relative;
	display: block;
}
.currency-input input {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	display: block;
	background: none;
	border: none;
	color: black;
	font-size: 70px;
	font-weight: 900;
	margin: 0 0 12px 0;
	padding: 0;
	text-align: right;
	width: 100%;
	height: 88px;
	line-height: 1.25em;
	padding-left: 50px;
	transition: font-size 0.15s;
}
.currency-input input:focus {
	outline: none;
}
.currency-input .currency {
	position: absolute;
	top: 15px;
	left: 0;
	font-size: 15px;
	font-weight: 600;
	color: black;
	padding: 5px 12px;
	background-color: rgba(0,0,0, 0.08);
	border-radius: 100px;
}

@supports (backdrop-filter: blur()) {
	.dialog {
		background-color: rgba(255,255,255,0.75);
		backdrop-filter: blur(50px) saturate(80%);
		border: 1px solid rgba(0,0,0, 0.35);
	}
	/* We'll only apply the dark glass if blur is supported */
	.dark .dialog {
		color: var(--color-primary);
		background-color: rgba(0,0,0, 0.25);
		border: 1px solid rgba(255,255,255, 0.15)
	}
	.dark .currency-input input {
		color: white;
	}
	.dark .currency-input .currency {
		color: white;
		background-color: rgba(255,255,255, 0.15);
	}
}





/* Option list
-------------------------------------------------- */
.option-list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
	gap: 8px;
	margin: 0 0 60px 0;
}
.option-item {
	display: flex;
	align-items: center;
	font-size: 15px;
	font-weight: 500;
	padding: 12px;
	background-color: var(--color-button-background);
	border-radius: 5px;
}
.option-item .icon {
	width: 15px;
	height: 15px;
	border: 2px solid var(--color-primary);
	border-radius: 50%;
	margin-right: 10px;
}
.option-item:hover {
	box-shadow: var(--shadow-button-hover);
	cursor: pointer;
}
.option-item:hover .icon {
	background-color: var(--color-primary);
}
.option-item-body {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}
.option-item .title {
	display: block;
	font-size: 16px;
	font-weight: 600;
}
.option-item .description {
	display: block;
	font-size: 12px;
	font-weight: 500;
	color: var(--color-secondary);
	margin-top: 4px;
}























/* Lists
-------------------------------------------------- */
.list-item {
	display: flex;
	align-items: center;
	text-decoration: none;
	color: var(--color-primary);
	padding: 14px 0;
	border-bottom: 1px solid var(--color-divider);
}
@media (hover: hover) {
	.list-item:hover {
		background-color: var(--color-secondary-background);
	}
}
.list-item .icon {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 22px;
	width: 32px;
	height: 32px;
	margin-right: 10px;
	border-radius: 50%;
}
.list-item .item-icon {
	width: 32px;
	height: 32px;
	margin-right: 10px;
	border-radius: 5px;
}
.list-item .body,
.list-item .title {
	flex-grow: 1;
}
.list-item .title {
	display: block;
}
.list-item .description {
	display: block;
	font-size: 0.875em;
	color: var(--color-secondary);
	margin-top: 4px;
}
.list-item .status {
	display: inline-flex;
	align-items: center;
	font-size: 0.75em;
	font-weight: 600;
	margin-top: 3px;
}
.list-item .status.neutral { color: var(--color-secondary); background-color: var(--color-tint-background) }
.list-item .status.positive { color: var(--green) }
.list-item .status.negative { color: var(--red) }
.list-item .status .symbol {
	font-size: 1.5em;
	margin-left: 3px;
	margin-right: 3px;
}
.list-item .navigation-icon {
	font-size: 0.875em;
	color: var(--color-secondary);
}

/* Lists: Description lists
-------------------------------------------------- */
.description-list dt {
	display: block;
	font-size: 0.813em;
	font-weight: 600;
	color: var(--color-secondary);
	margin: 0 0 3px 0;
	padding: 0;
}
.description-list dd {
	display: block;
	margin: 0 0 5px 0;
	padding: 0;
}






/* List item group
-------------------------------------------------- */
.list-item-group {
	border-radius: var(--border-radius);
	overflow: hidden;
}

/* List item style: block
-------------------------------------------------- */
.list-item-block {
	display: flex;
	align-items: center;
	text-decoration: none;
	color: var(--color-primary);
	border: none;
	background-color: var(--color-secondary-background);
	padding-top: 12px;
	padding-bottom: 12px;
	padding-left: 12px;
	padding-right: 12px;
}
.list-item-block:hover {
	box-shadow: var(--shadow-button-hover);
}
.list-item-block:active {
	opacity: 0.7;
}
.list-item-block .icon {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 22px;
	width: 32px;
	height: 32px;
	margin-right: 10px;
	border-radius: 50%;
}
.list-item-block .title {
	flex-grow: 1;
}
.list-item-block .navigation-icon {
	font-size: 0.875em;
	color: var(--color-primary);
	opacity: 0.5;
}

/* Lists: Stacked menu list and in one row on larger screens - useful for short menu lists
-------------------------------------------------- */
.stacked-row {
	display: grid;
	gap: 1px;
	margin-bottom: 20px;
}
@media screen and (min-width: 50em) {
	.stacked-row {
		grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
		gap: 2px;
	}
}










/* Lists: Description lists with Left --- Right layout (so we can't use a dl for it)
-------------------------------------------------- */
.split-description-list {
	margin: 14px 0 0 0;
	padding: 0;
	list-style: none;
}

.split-description-list .item {
	display: flex;
	justify-content: space-between;
	padding: 8px 0;
}

.split-description-list .item.divided-top {
	border-top: 2px dashed var(--color-divider)
}

.split-description-list .item.divided-bottom {
	border-bottom: 2px dashed var(--color-divider)
}











/* Articles
-------------------------------------------------- */
.article {
	margin-top: 20px;
	margin-bottom: 50px;
}

.article p,
.article ul,
.article ol {
	font-size: 16px;
	line-height: 1.45;
	margin-top: 0;
	margin-bottom: 1.5em;
}

.article p a {
	font-weight: 500;
}
.article p a:hover {
	background-color: var(--color-link-hover-background);
}

.article figure {
	background-color: var(--color-tint-background);
	border-radius: 12px;
	margin: 1em 0;
}
.article img {
	border-radius: 10px;
}

.quote {
	display: block;
	font-size: 17px;
	font-weight: 500;
	line-height: 1.5;
	margin-top: 0;
	margin-bottom: 2em;
	padding: 16px 15px 16px 15px;
	background-color: var(--color-secondary-background);
	border-left: 3px solid var(--color-accent);
	border-radius: 6px;
}
.quote .caption {
	display: block;
	font-size: 0.75em;
	font-style: italic;
	line-height: 1.3;
	font-weight: 500;
	color: var(--color-secondary);
	margin-top: 1em;
}

iframe {
	border: none;
	margin: 0;
}

.embed .caption {
	display: block;
	font-size: 0.875em;
	line-height: 1.35;
	color: var(--color-secondary);
	margin-top: 3px;
}

.embed {
	margin: 0 0 1.75em 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 8px;
}

iframe[src*="https://www.youtube.com/embed/"] {
	position: relative;
	border-radius: 6px;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
}

.link-block {
	display: flex;
	text-decoration: none;
	background: var(--color-secondary-background);
	border: 1px solid var(--color-input-border);
	box-shadow: 0 1px 3px rgba(0,0,0, .1);
	border-radius: 6px;
	padding: 1.75em 2rem 2rem 2rem;
	margin-block-end: 2em;
}

.link-block .body {
	display: block;
	flex-grow: 1;
}

.link-block .title {
	font-size: 1.1em;
	font-weight: 600;
	line-height: 1.2;
	margin-block-start: 0;
	margin-block-end: 10px;
}

.link-block .description {
	margin-block-start: 0;
	margin-block-end: 0;
	font-size: 1em;
	line-height: 1.4;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
}

.link-block .anchor {
	display: block;
	font-size: 0.9em;
	line-height: 1em;
	color: var(--color-secondary);
	border: 0;
	padding: 0;
}

.link-block .image {
	margin-left: 10px;
	width: auto;
	height: 80px;
}



















/* Natural accordians!
-------------------------------------------------- */
details {
	background-color: var(--background-tint-color);
	border-radius: 5px;
	margin-bottom: 2px;
}
details.transparent {
	background-color: transparent;
}

details p {
	padding: 1em;
}

details summary {
	display: flex;
	font-size: 1.063em;
	line-height: 1.3;
	font-weight: 600;
	padding: 0.75em var(--content-side-padding);
	border-radius: 5px;
	cursor: pointer;
}

details.sub-details > summary {
	font-size: 1em;
	border-top: 1px solid var(--list-item-separator-color);
}

details summary:hover,
details[open] > summary {
	background-color: var(--link-highlight-background-color);
}

.summary-heading {
	display: flex;
	justify-content: space-between;
	font-size: 1.063em;
	line-height: 1.3;
	font-weight: 600;
	padding: 0.75em var(--content-side-padding);
	background-color: var(--background-color);
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
}

summary::-webkit-details-marker {
	flex-shrink: 0;
	margin-top: 0.35em;
	margin-inline-end: 0.75em;
	opacity: 0.65;
}

summary small {
	flex: 1;
	align-self: center;
	text-align: right;
	margin-left: 1ch;
}

details .content {
	margin-bottom: 1.5em;
	padding: 0.5em 1em;
}

details.promo-code {
	margin-top: 8px;
	margin-bottom: 10px;
}
details.promo-code summary {
	padding: 0.5em;
	font-size: 1em;
	font-weight: 500;
	border: 3px dashed var(--brand-color);
}
details.promo-code .content {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
















/* Tabs
-------------------------------------------------- */
.tab-contents .tab-content {
	display: none;
}
.tab-contents .tab-content.active {
	display: block;
}

.area-is-empty-notification {
	text-align: center;
	padding: 50px 0;
}
@media screen and (min-width: 50em) {
	.area-is-empty-notification {
		text-align: left;
		padding: 10px 0;
	}
}






















/* Tables
-------------------------------------------------- */
.table-container {
	position: relative;
	width: 100%;
	margin: 20px 0 30px 0;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
}

.table {
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
}
.table tr {
	border-bottom: 1px solid var(--color-divider);
}
.table th,
.table td {
	text-align: left;
	padding: 0.5em 0.25em;
}
.table th.right,
.table td.right {
	text-align: right;
}
.table .secondary-info {
	font-size: 0.875em;
	color: var(--color-secondary);
}

.table .dual-button {
	display: flex;
	justify-content: end;
	gap: 12px;
	max-width: 480px;
	margin-left: auto;
}
.table .dual-button .button {
	flex: 1;
}


















/* Forms: Inputs
-------------------------------------------------- */
.input-field {
	margin: 0 0 1em 0;
}

.input-hint {
	display: block;
	font-size: 0.875em;
	line-height: 1.3;
	margin: 0 0 5px 0;
	color: var(--color-secondary);
}

.input-hint-inline {
	display: block;
	font-size: 0.875em;
	line-height: 1.3;
	margin: 3px 0 0 0;
	color: var(--color-secondary);
}

fieldset {
	background-color: var(--color-tint-background);
	border: 1px solid var(--color-input-border);
	border-radius: 8px;
	margin-top: 10px;
	margin-bottom: 10px;
	padding-top: 0;
	padding-bottom: 0.725em;
}

legend {
	font-weight: 500;
}

label {
	display: block;
	font-size: 0.875em;
	margin: 0 0 5px 0;
}

.input {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-color: var(--color-secondary-background);
	color: var(--color-primary);
	font-size: 16px;
	line-height: 1.1875;
	width: 100%;
	height: 2.5rem;
	border: 1px solid var(--color-input-border);
	border-radius: 5px;
	padding-left: 8px;
	padding-right: 8px;
}

.input-sm { max-width: 100px; }
.input-md { max-width: 350px; }

input[readonly] {
	background-color: transparent;
}

textarea {
	height: auto;
	padding-top: 6px;
	padding-bottom: 6px;
}

.search-bar {
	max-width: 380px;
	margin-left: auto;
	margin-right: auto;
}
.search-bar .search-input {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-color: var(--color-secondary-background);
	color: var(--color-primary);
	text-align: center;
	width: 100%;
	height: 3em;
	font-size: 1rem;
	line-height: 1.1875;
	border: 1px solid var(--color-input-border);
	margin: 10px 0;
	padding-left: 15px;
	padding-right: 8px;
	border-radius: 1.5em;
}
.search-results {
	min-height: 46vh;
}

/* Forms: Select inputs
-------------------------------------------------- */
select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-color: var(--color-secondary-background);
	color: var(--color-primary);
	font-size: 1rem;
	line-height: 1.1875;
	width: 100%;
	height: 2.5rem;
	border: 1px solid var(--color-input-border);
	border-radius: 5px;
	padding-left: 8px;
	padding-right: 24px;
	background-image: url("data:image/svg+xml;utf8,<svg fill='gray' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/><path d='M0 0h24v24H0z' fill='none'/></svg>");
	background-repeat: no-repeat;
	background-position: right;
}

select:hover {
	background-color: var(--thin-material-background-color);
}











/* Forms: Radio Inputs
-------------------------------------------------- */
label.radio-input,
.horizontal-labels .input-field label.radio-input {
	display: flex;
	align-items: center;
	gap: 8px;
	text-align: left;
	padding: 3px 10px 3px 2px;
}
input[type="radio"] {
	width: 1em;
	height: 1em;
}
label.radio-input.inline,
.radio-inputs.inline label.radio-input,
.horizontal-labels .input-field .radio-inputs.inline label.radio-input {
	display: inline-flex;
	margin: 0 5px 0 0;
}
label.radio-input:hover {
	background-color: var(--color-link-hover-background);
	border-radius: 3px;
}
.radio-input.md {
	width: 130px;
}
.radio-input.lg {
	width: 190px;
}

/* Forms: Input sizing
-------------------------------------------------- */
@media (min-width: 50em) {
	input.xs, select.xs { max-width: 16%; }
	input.sm, select.sm { max-width: 25%; }
	input.md, select.md { max-width: 50%; }
	input.auto, select.auto { max-width: none; width: auto; }
}













/* Toasts
-------------------------------------------------- */
.information-notice {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	font-weight: 500;
	margin-bottom: 1rem;
	padding: 1em;
	background-color: var(--color-tint-background);
	border-left: 5px solid rgba(0,0,0, 0.20);
	border-radius: 3px;
}
.dark .information-notice {
	border-left: 5px solid rgba(255,255,255, 0.32);
}
.information-notice.sm {
	font-size: 0.75em;
}
.information-notice .title {
	display: block;
	font-size: 1.125em;
	font-weight: 700;
	margin: 0 0 5px 0;
}
.information-notice .notice {
	display: block;
	font-size: 1em;
	line-height: 1.35;
	margin: 0;
}

.information-notice.success {
	color: #fff;
	background-color: rgb(40, 178, 40);
}
.dark .information-notice.success {
	color: #fff;
	background-color: rgb(35, 130, 35);
}

.information-notice.error {
	color: #fff;
	background-color: rgb(124, 27, 27);
}

.information-notice .icon {
	width: 2em;
	height: 2em;
	margin-right: 1em;
	filter: invert(1);
}
.information-notice .symbol {
	width: 44px;
	font-size: 38px;
	color: inherit;
	margin-right: 10px;
}

.information-notice.animated {
	position: absolute;
	left: 16px;
	right: 16px;
	z-index: 50;
	animation: information-notice 5s forwards;
}
@keyframes information-notice {
	0% {
		transform: translateY(-40%);
		opacity: 0;
	}
	10% {
		transform: translateY(0);
		opacity: 1;
	}
	90% {
		transform: translateY(0);
		opacity: 1;
	}
	100% {
		transform: translateY(-40%);
		opacity: 0;
	}
}



/* Info Label
-------------------------------------------------- */
.info-label {
	display: inline-block;
	font-size: 10px;
	font-weight: 500;
	text-align: center;
	min-width: 22px;
	margin: 1px 0;
	padding: 2px 6px;
	border-radius: 3px;
	background-color: var(--color-grey);
	vertical-align: middle;
	white-space: nowrap;
}

.info-label.plain {
	font-size: 9px;
	background-color: transparent;
	border: 1px solid var(--color-primary);
	border-radius: 4px;
}











/* Icon button toolbar
-------------------------------------------------- */
.icon-toolbar {
	display: flex;
	margin-left: calc(var(--content-side-padding) * -1);
	margin-right: calc(var(--content-side-padding) * -1);
}
.toolbar-item {
	display: flex;
	justify-content: center;
	align-items: center;
	flex: 1;
	text-align: center;
	height: 4em;
	text-decoration: none;
}
.toolbar-item:hover {
	background-color: var(--color-link-hover-background);
}
.toolbar-item:active {
	opacity: 0.7;
}
.toolbar-item .symbol {
	font-size: 24px;
	color: var(--color-accent);
}

.toolbar-item.active {
	background: radial-gradient(circle,var(--color-accent) 0%, rgba(42, 123, 155, 0) 60%);
}
.toolbar-item.active .symbol {
	color: white;
}





















.data-list {
	display: block;
	border-collapse: collapse;
	margin-top: 1rem;
	margin-bottom: 1rem;
	margin-left: calc(var(--content-side-padding) * -1);
	margin-right: calc(var(--content-side-padding) * -1);
	background-color: var(--color-secondary-background);
}
.data-list .item {
	display: flex;
	align-items: center;
	border-bottom: 1px solid var(--color-divider);
	padding: 12px var(--content-side-padding);
	color: var(--color-primary);
	text-decoration: none;
}
.data-list .item:first-child {
	border-top: 1px solid var(--color-divider);
}
.data-list a.item:hover,
.data-list a.item:active {
	background-color: var(--color-link-hover-background);
}

.data-list .indicator {
	display: flex;
	flex-direction: column;
	gap: 5px;
	align-items: end;
	text-align: right;
	margin-right: 15px;
}
.data-list .body {
	flex: 1;
}
.data-list .side {
	display: flex;
	flex-direction: column;
	gap: 5px;
	align-items: end;
	text-align: right;
	margin-left: 25px;
}

.data-list .title {
	display: block;
	font-size: 1rem;
	font-weight: 500;
	margin: 0;
}
.data-list .description {
	display: block;
	font-size: 0.75rem;
	font-weight: 400;
	margin: 5px 0 0 0;
	color: var(--color-secondary);
}

.data-list .muted {
	color: var(--color-secondary);
}





.badge {
	display: inline-block;
	font-size: 12px;
	font-weight: 600;
	color: white;
	background-color: var(--blue);
	padding: 4px 10px;
	border-radius: 5px;
}
.badge.neutral {
	background-color: rgba(0,0,0, 0.4);
}
.dark .badge.neutral {
	background-color: rgba(255,255,255, 0.25);
}
.badge.gold {
	color: black;
	background-color: var(--yellow);
}
.badge.success {
	color: white;
	background-color: var(--green);
}
.badge.error {
	color: white;
	background-color: var(--red);
}







.data-form {
	display: block;
	border-collapse: collapse;
	margin-top: 1rem;
	margin-bottom: 1rem;
	background-color: var(--color-background);
	border: 1px solid var(--color-divider);
	border-radius: 10px;
}
.data-form .item {
	display: flex;
	align-items: center;
	border-bottom: 1px solid var(--color-divider);
	padding: 0 0 0 var(--content-side-padding);
	color: var(--color-primary);
	text-decoration: none;
}
.data-form .item:last-child {
	border-bottom: none;
}
.data-form .key {
	flex: 0 1 auto;
	display: flex;
	align-items: center;
	height: 3em;
	padding-right: 10px;
}
.data-form .val {
	appearance: none;
	flex: auto;
	display: flex;
	align-items: center;
	height: 3em;
	border: none;
	color: var(--color-primary);
	background: transparent;
	text-align: right;
	font-size: 16px;
	padding: 0 var(--content-side-padding) 0 0;
}





















/* Icons
-------------------------------------------------- */
.animated-spinning {
	animation: spinning 1s linear infinite;
}
@keyframes spinning {
	to {
		transform: rotate(360deg);
	}
}



























.admin-controls {
	display: flex;
	flex-direction: column;
	align-items: end;
	gap: 5px;
	position: fixed;
	z-index: 10;
	bottom: 20px;
	right: 15px;
	text-align: right;
}
.admin-controls .button {
	
}









/* Layout spacing
-------------------------------------------------- */
.margin-top-sm { margin-top: 10px }
.margin-top-md { margin-top: 20px }
.margin-top-lg { margin-top: 40px }
.margin-top-xl { margin-top: 80px }
.margin-bottom-sm { margin-bottom: 10px }
.margin-bottom-md { margin-bottom: 20px }
.margin-bottom-lg { margin-bottom: 40px }
.margin-bottom-xl { margin-bottom: 80px }

@media screen and (min-width: 50em) {
	.padding-top-on-lg { padding-top: 30px; }
}





/* Colours
-------------------------------------------------- */
.accent { color: white; background-color: var(--color-accent); }
.red { color: white; background-color: var(--red) }
.green { color: white; background-color: var(--green) }
.blue { color: white; background-color: var(--blue) }
.yellow { color: black; background-color: var(--yellow) }
.orange { color: white; background-color: var(--orange) }
.grey { color: white; background-color: #777; }

.accent-text { color: var(--color-accent) }
.secondary-text { color: var(--color-secondary) }

.success-text { color: var(--green) }
.error-text { color: var(--red) }






/* Tweaks
-------------------------------------------------- */
time { white-space: nowrap; }
hr { margin: 20px 0; height: 1px; background-color: var(--color-divider); border: none; }
.info-row {
	margin: 25px 0;
	padding: 1em 0;
	border-top: 1px solid var(--color-divider);
	border-bottom: 1px solid var(--color-divider);
}




/* Helpers
-------------------------------------------------- */
.flex-spacer { flex-grow: 1; }
.block { display: block; }
.text-align-center { text-align: center; }
.hidden { display: none !important; }
.nowrap { white-space: nowrap; }
.text-larger { font-size: 125%; }
@media (max-width: 50em) {
	.hidden-on-sm { display: none !important; }
}
@media (min-width: 50em) {
	.visible-only-on-sm { display: none !important; }
}
@media (max-width: 72em) {
	.hidden-on-md { display: none !important; }
}
