:root {
  color-scheme: light dark; /* both supported */
  --background-color: #FCFAFF;
  --logo-background: url("/assets/logo-light.png");
  --list-background-color: #E2DFE8;
  --list-item-background-color: #FAFAFA;
  --list-item-box-shadow: 0 1px 2px 0 rgba(0,0,0,0.05), inset 0 1px 1px 0 #FFFFFF;
  
  --list-item-headline-color: #000;
  --list-item-subline-color: #818994;
  
  --content-header-color: #8D8C8F;
  --content-header-link-color: #3E0098;
  
  --btn-primary-border-color: #E2DFE8;
  --btn-primary-background-color: #FAFAFA;
  --btn-primary-color: #3E0098;
  --btn-primary-background-color--hover: #F3EDFA;
  --btn-primary-border-color--hover: #CBBCE8;
  --btn-primary-color--hover: inherit;
  
  --form-input-background: #FAFAFA;
  --form-input-border-color: #C5CDD9;
  --form-hint-color: #8D8C8F;
  --form-footer-border-color: #C5CDD9;
  
  --typo-h1-color: #4D3570;
}

@media (prefers-color-scheme: dark) {
	:root {
		--background-color: #22272E;
		--logo-background: url("/assets/logo-dark.png");
		--list-background-color: #1C2026;
		--list-item-background-color: #2F3640;
		--list-item-box-shadow: 0 1px 2px 0 rgba(0,0,0,0.05), inset 0 1px 1px 0 rgba(125,144,171,0.33);
		
		--list-item-headline-color: #FFF;
		--list-item-subline-color: #818994;
		
		--content-header-link-color: #9889F5;
		
		--btn-primary-border-color: #1C2026;
		--btn-primary-background-color: #2F3640;
		--btn-primary-color: #FFF;
		--btn-primary-background-color--hover: #332E52;
		--btn-primary-border-color--hover: #1C2026;
		--btn-primary-color--hover: inherit;
		
		--form-input-background: #2F3640;
		--form-input-border-color: #475261;
		/* --form-hint-color: #8D8C8F; */
		--form-footer-border-color: #475261;
		
		--typo-h1-color: #FFF;
	}
	
	.btn--primary {
		box-shadow: inset 0 1px 1px rgba(125, 144, 171, .5);
	}
}

* {
	box-sizing: border-box;
}

body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  background-color: var(--background-color);
}

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
	margin-top: 0;
	margin-bottom: .5rem;
	font-weight: 500;
	line-height: 1.2;
}

h1, .h1 {
	color: var(--typo-h1-color);
}

.typo--mono {
	font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

.d-flex {
	display: flex !important;
}

.flex-row {
	flex-direction: row !important;
}

.flex-column {
	flex-direction: column !important;
}

.flex-column-reverse {
  flex-direction: column-reverse !important;
}

.flex-grow-0 {
  flex-grow: 0 !important;
}

.flex-grow-1 {
  flex-grow: 1 !important;
}

.flex-shrink-0 {
  flex-shrink: 0 !important;
}

.flex-shrink-1 {
  flex-shrink: 1 !important;
}

.flex-wrap {
  flex-wrap: wrap !important;
}

.flex-nowrap {
  flex-wrap: nowrap !important;
}

.flex-wrap-reverse {
  flex-wrap: wrap-reverse !important;
}

.justify-content-start {
  justify-content: flex-start !important;
}

.justify-content-end {
  justify-content: flex-end !important;
}

.justify-content-center {
  justify-content: center !important;
}

.justify-content-between {
  justify-content: space-between !important;
}

.justify-content-around {
  justify-content: space-around !important;
}

.justify-content-evenly {
  justify-content: space-evenly !important;
}

.align-items-start {
  align-items: flex-start !important;
}

.align-items-end {
  align-items: flex-end !important;
}

.align-items-center {
  align-items: center !important;
}

.align-items-baseline {
  align-items: baseline !important;
}

.align-items-stretch {
  align-items: stretch !important;
}

.align-content-start {
  align-content: flex-start !important;
}

.align-content-end {
  align-content: flex-end !important;
}

.align-content-center {
  align-content: center !important;
}

.align-content-between {
  align-content: space-between !important;
}

.align-content-around {
  align-content: space-around !important;
}

.align-content-stretch {
  align-content: stretch !important;
}

.align-self-auto {
  align-self: auto !important;
}

.align-self-start {
  align-self: flex-start !important;
}

.align-self-end {
  align-self: flex-end !important;
}

.align-self-center {
  align-self: center !important;
}

.align-self-baseline {
  align-self: baseline !important;
}

.align-self-stretch {
  align-self: stretch !important;
}

.navigation {
	display: flex;
	justify-content: center;
	align-content: center;
	padding: 20px;
}

.navigation__logo {
	background-image: var(--logo-background);
	background-size: contain;
	background-repeat: no-repeat;
	width: 64px;
	height: 64px;
}

main {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding-left: 12px;
	padding-right: 12px;
}

.container {
	width: 100%;
}

.list {
	padding: 12px;
	border-radius: 12px;
	background-color: var(--list-background-color);
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.list--h-full {
	min-height: 100vh;
}

.list__item {
	padding: 12px;
	border-radius: 8px;
	background-color: var(--list-item-background-color);
	box-shadow: var(--list-item-box-shadow);
	text-decoration: none;
	display: flex;
	align-items: center;
	gap: 12px;
}

.list__item:active {
	color: inherit;
}

.list__item .item__header {
	
}

.item__logo {
	width: 42px;
	height: 42px;
	background-color: #DBC7FF;
	border-radius: 25px;
}

.list__item .item__body {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
	gap: 4px;
}

.list__item .item__footer {
	
}

.item__headline {
	font-size: 1rem;
	font-weight: 500;
	color: var(--list-item-headline-color);
}

.item__subline {
	font-size: 0.875rem;
	font-weight: 400;
	color: var(--list-item-subline-color);
}

.content__header {
	display: flex;
	align-items: center;
	margin-bottom: 1.25em;
}

.content-header__link {
	font-size: 0.875rem;
	font-weight: 500;
	text-decoration: none;
	color: var(--content-header-link-color);
}

.content-header__hint {
	font-size: 0.875rem;
	color: var(--content-header-color);
	font-weight: 500;
}

.btn,
.btn:hover,
.btn:focus,
.btn:active,
.btn:visited {
	text-decoration: none;
	padding: 8px 12px;
	font-size: 0.875rem;
	font-weight: 500;
	border-radius: 6px;
	transition: background-color .2s, color .2s, border-color .2s;
	cursor: pointer;
	display: inline-block;
}

.btn i {
	margin-right: 6px;
}

.btn--primary {
	border: 1px solid;
	border-color: var(--btn-primary-border-color);
	background-color: var(--btn-primary-background-color);
	color: var(--btn-primary-color);
}

.btn--primary:hover,
.btn--primary:focus {
	background-color: var(--btn-primary-background-color--hover);
	color: var(--btn-primary-color--hover);
	border-color: var(--btn-primary-border-color--hover);
}

.form {
	padding: 12px;
	border-radius: 12px;
	background-color: var(--list-background-color);
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.form-group {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.form__label {
	font-weight: 500;
	font-size: 0.875rem;
}

.form__input,
.form__select {
	font-size: 1rem;
	border: 1px solid;
	border-color: var(--form-input-border-color);
	background-color: var(--form-input-background);
	border-radius: 6px;
	padding: 6px 12px;
}

.form__select {
	-webkit-appearance: none;
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
	background-position: right 0.5rem center;
	background-repeat: no-repeat;
	background-size: 1.5em 1.5em;
	padding-right: 2.5rem;
	padding-top: 8px;
	padding-bottom: 8px;
}

.form__hint {
	margin: 0;
	font-size: 0.875rem;
	padding-left: 8px;
	color: var(--form-hint-color);
}

.form__footer {
	padding-top: 12px;
	border-top: 1px solid var(--form-footer-border-color);
}

.card {
	padding: 12px;
	border-radius: 8px;
	background-color: var(--list-item-background-color);
	box-shadow: var(--list-item-box-shadow);
	gap: 12px;
}

.card--login {
	width: 400px;
	padding: 20px;
	align-self: center;
}

.card__header {
	font-size: 1.25rem;
	font-weight: 500;
	color: var(--typo-h1-color);
}

@media (min-width: 768px) {
	.container {
		width: 70vw;
	}
}

@media (min-width: 992px) {
	
}

@media (min-width: 1200px) {
	.container {
		width: 800px;
	}
}