/*
 * Size: Large
 */
:root {
	--css-size: large;

	/* colors */
	--color-1: #f8ece4;
	--color-1-highlight: #c4c0ab;

	--color-2: #6D5C57;
	--color-2-highlight: #7e6b65;


	--text-color-dark: #151617;
	--text-color-light: white;

	--templates-error-color: red;
	--templates-error-color-highlight: light-red;

	--default-font: 'Inconsolata', 'Monospace';
	--default-alternate-font: 'Montserrat', 'Sans-Serif';

	--bar-bg-color: #ede6de;
	--bar-text-color: var(--text-color-dark);

	/* MDC */
	--mdc-theme-primary: #444444;
	--mdc-theme-secondary: #444444;
	--mdc-typography-font-family: Arial, Sans-Serif;
	--mdc-typography-button-font-family: Arial, Sans-Serif;
	--material-menu-shadow: rgb(0 0 0 / 25%);

	--scrollbar-width: 15px;
	--scrollbar-width-half: 7.5px;

	--avatar-size: 40px;

	--button-color: var(--color-2);
	--button-color-highlight: var(--color-2-highlight);
	--button-color-disabled-dark: #878787;
	--button-color-disabled-light: #cbcbcb;
	--button-color-text-light: var(--text-color-light);

	--dimmer-color: rgb(109 92 87 / 80%);
	--underline-color: rgb(109 92 87 / 80%);
}

html {
	position: relative;
	height: 100%;
}

body {
	font-family: var(--default-font);
	font-style: normal;

	font-size: 13px;
	color: var(--text-color-dark);

	background-color: var(--color-1);

	padding: 0;
	margin: 0;
	overflow-y: scroll;
	min-height: 100%;
	box-sizing: border-box;
}

.main_bg {
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	min-height: 100vh;

	background-color: var(--color-1);
}

.only_print {
	display: none;
}


html.menu_open body,
html.menu_open nav.bar {
	padding-right: var(--scrollbar-width);
}
html.menu_open body {
	overflow: hidden;
}
html.menu_open main {
	overflow: hidden;
	height: calc(100vh - 84px);
	margin-bottom: 0;
}

html.dev blink {
	display: inline-block;
	font-size: 20px;
	background-color: yellow;
	padding: 4px;
	margin: 0 2px;
	color: #000000;
	border: 1px solid #000000;
	animation: warning 5s linear infinite;
}
@keyframes warning {
  0% {
	  transform: scale(1);
  }
  50% {
	  transform: scale(1.5);
  }
  100% {
	  transform: scale(1);
  }
}

div#warning_dev_site {
	display: none;
}
html.dev div#warning_dev_site {
	display: inline-flex;
	position: absolute;

	top: -4px;

	justify-content: center;
	align-items: center;
	background-color: rgb(255, 211, 0);
	color: #000000;
	overflow: hidden;
	border: 2px solid #000000;
	border-radius: 4px;
	transform: rotate(-7deg);

	font-size: 16px;
	font-weight: bold;
	padding: 1px 4px;
}

.transition_off,
.transition_off img {
	-webkit-transition: none !important;
	-moz-transition: none !important;
	-o-transition: none !important;
	transition: none !important;
	scroll-behavior: auto !important;
}

select,
a,
textarea,
input,
button {
	font-family: inherit;
	font-size: inherit;
}
textarea {
}

input[type="range"].clear {
	-webkit-appearance: none;
	background: transparent;
	margin: 0;
	padding: 0;
}
input[type="range"].clear::-webkit-slider-thumb {
	-webkit-appearance: none;
}
input[type="range"].clear:focus {
	outline: none;
}
input[type="range"].clear::-ms-track {
	width: 100%;
	cursor: pointer;
	background: transparent;
	border-color: transparent;
	color: transparent;
}
input[type="range"].clear::-webkit-slider-thumb {
	-webkit-appearance: none;
	border: 0 none;
	cursor: pointer;
	margin: 0;
}
input[type="range"].clear::-moz-range-thumb {
	border: 0 none;
	cursor: pointer;
	margin: 0;
}
input[type="range"].clear::-ms-thumb {
	cursor: pointer;
	margin: 0;
}
input[type="range"].clear:disabled::-webkit-slider-thumb {
	cursor: default;
}
input[type="range"].clear:disabled::-moz-range-thumb {
	cursor: default;
}
input[type="range"].clear:disabled::-ms-thumb {
	cursor: default;
}
/*******/

.add_placeholder:empty:before {
	content: attr(placeholder);
	color: #555555;
}


div.w {
	box-sizing: border-box;
	max-width: 1160px;
	margin: 0 auto;
	padding: 0 16px;
	min-height: 20px;
}

pre {
	color: #f0f0f0;
	padding: 40px;
	background-color: rgba(0, 0, 0, 0.2);
}

hr {
	height: 1px;
	border-width: 0;
	color: #d0d1d2;
	background-color: #d0d1d2;
}

img {
	border: 0;
}

/*
 * hyperlink
 */
.hyperlink-image-no-float,
.hyperlink.image_no_float {
	clear: both;
	text-align: center;
}
.hyperlink.full_width {
	width: 100%;
}
.hyperlink-image-float-left {
	float: left;
	margin-right: 15px;
	margin-bottom: 15px;
}
.hyperlink-image-float-right {
	float: right;
	margin-left: 15px;
	margin-bottom: 15px;
}
.hyperlink-caption {
	font-size: 80%;
}
/*
 * hyperlink.audio_sleeve
 */
.hyperlink.audio_sleeve {
	 margin-bottom: 10px;
}
.hyperlink.audio_sleeve audio {
	width: 100%;
	height: 40px;
}
.hyperlink.audio_sleeve .audio_desc,
.hyperlink.audio_sleeve .audio_desc_right {
	 display: flex;
	 align-items: center;
	 margin-bottom: 10px;
}
.hyperlink.audio_sleeve div.audio_desc_right {
	justify-content: end;
}

.hyperlink.audio_sleeve div.desc_text_right {
	margin-right: 20px;
}
.hyperlink.audio_sleeve div.desc_text {
	margin-left: 20px;
}
.hyperlink.audio_sleeve div.desc_text_artist {
	font-weight: bold;
	font-size: 23px;
}
.hyperlink.audio_sleeve div.desc_text_track {
	font-size: 28px;
}



/*
 * material
 */
.display_none {
	display: none !important;
}

/*
 * material: icons
 */
.material-icons,
.material-icons-outlined {
	font-weight: normal;
	font-style: normal;
	/* Preferred icon size */
	font-size: 24px;
	display: inline-block;
	line-height: 1;
	text-transform: none;
	letter-spacing: normal;
	word-wrap: normal;
	white-space: nowrap;
	direction: ltr;

	/* Support for all WebKit browsers. */
	-webkit-font-smoothing: antialiased;

	/* Support for Safari and Chrome. */
	text-rendering: optimizeLegibility;

	/* Support for Firefox. */
	-moz-osx-font-smoothing: grayscale;

	/* Support for IE. */
	font-feature-settings: 'liga';
}
.material-icons {
	font-family: 'Material Icons';
}
.material-icons-outlined {
	font-family: 'Material Icons Outlined';
}

/*
 * material: symbols
 */
.material-symbols-outlined {
	font-family: 'Material Symbols Outlined';
	font-weight: normal;
	font-style: normal;
	font-size: 24px;
	line-height: 1;
	letter-spacing: normal;
	text-transform: none;
	display: inline-block;
	white-space: nowrap;
	word-wrap: normal;
	direction: ltr;
	-webkit-font-feature-settings: 'liga';
	-webkit-font-smoothing: antialiased;
}

/*
 *
 */

a {
	text-decoration: none;
	color: inherit;
}
a:hover {
	text-decoration: underline;
}
div.page_text a {
	font-weight: 400;
}

i.material-icons,
i.material-icons-outlined,
i.material-symbols-outlined {
	font-size: 20px;
	line-height: inherit;
}

h1,
h2,
h3 {
	margin: 0;
	font-weight: normal;
}

h1 {
	font-faimly: var(--default-font);
	font-weight: bold;
	font-size: 20px;
}

h2 {
	font-size: 18px;
}

h3 {
}


/*
 * template admin
 */
html.template_admin {
}
html.template_admin body {
	padding-top: 64px;
}
html.template_admin main {
	margin-top: 20px;
	padding-bottom: 20px;
}

/*
 * template default
 */
html.template_default {
}
html.template_default body {
	padding-top: 64px;
}
html.template_default h1,
html.template_default h2,
html.template_default h3 {
}
html.template_default h1 {
	font-weight: normal;
	font-size: 28px;
}
html.template_default h2 {
	font-weight: normal;
	font-size: 13px;
}
html.template_default main {
	line-height: 1.4;
	margin-top: 20px;
	padding-bottom: 20px;
}

/*
 * template user
 */
html.template_user {
}
html.template_user body {
	padding-top: 64px;
}
html.template_user h1,
html.template_user h2,
html.template_user h3 {
}
html.template_user h1 {
	font-weight: normal;
	font-size: 28px;
	text-align: center;
}
html.template_user h2 {
	font-weight: bold;
	font-size: 13px;
}
html.template_user main {
	margin-top: 20px;
	padding-bottom: 20px;
}


/*
 * template front
 */
html.template_front {
}
html.show_bar.template_front body {
	padding-top: 64px;
}



ul {
	margin: 4px 0;
	padding-inline-start: 20px;
}

ol.hlink,
ul.hlink {
	margin-top: 0;
	margin-bottom: 0;
}

a.button,
button.button,
input.button,
div.white_box a.button {
	display: inline-block;

	padding: 7px;
	margin: 0;
	cursor: pointer;

	text-transform: uppercase !important;
	text-decoration: none !important;
	text-align: center;

	font-family: inherit;
	font-size: inherit;
	font-weight: 400;

	color: var(--button-color);

	background-color: transparent;
	border: 1px solid transparent;
	border-radius: 4px;
	line-height: 21px;

	white-space: nowrap;
}

a.button i.material-icons,
a.button i.material-icons-outlined,
button.button i.material-icons,
button.button i.material-icons-outlined {
	vertical-align: bottom;
	line-height: inherit;
}

a.button:hover,
button.button:hover,
input.button:hover,
div.white_box a.button:hover {
	background-color: var(--button-color);
	color: var(--button-color-text-light);
}

a.button:focus,
button.button:focus,
input.button:focus,
div.white_box a.button:focus {
	background-color: var(--button-color);
	color: var(--button-color-text-light);
}

a.button.high,
button.button.high,
input.button.high,
div.white_box a.button.high {
	color: var(--button-color-text-light);
	border-color: var(--button-color);
	background-color: var(--button-color);
}

a.button.high:hover,
button.button.high:hover,
input.button.high:hover,
div.white_box a.button.high:hover {
	border-color: var(--button-color-highlight);
	background-color: var(--button-color-highlight);
}
a.button.high:focus,
button.button.high:focus,
input.button.high:focus,
div.white_box a.button.high:focus {
	border-color: var(--button-color-highlight);
	background-color: var(--button-color-highlight);
}

a.button.medium,
button.button.medium,
input.button.medium,
div.white_box a.button.medium {
	border-color: var(--button-color);
}

a.button.disabled,
button.button:disabled,
input.button:disabled,
div.white_box a.button.disabled {
	color: var(--button-color-disabled-dark);
	cursor: default;
	background-color: transparent;
}
a.button.high.disabled,
button.button.high:disabled,
input.button.high:disabled,
div.white_box a.button.high.disabled {
	color: var(--button-color-disabled-dark);
	background-color: var(--button-color-disabled-light);
	border-color: var(--button-color-disabled-light);
}


/**************************/

nav.bar {
	display: none;
}
html.show_bar nav.bar {
	display: block;
}
nav.bar {
	position: fixed;
	top: 0;
	width: 100%;
	height: 64px;

	background-color: var(--bar-bg-color);
	color: var(--bar-text-color);
	z-index: 500;

	box-sizing: border-box;

	user-select: none;
	-ms-user-select: none;
	-moz-user-select: none;
	-webkit-user-select: none;

	font-weight: 400;
	box-shadow: 3px 3px 16px rgb(0 0 0 / 10%);
}

nav.bar > div > nav {
	display: table;
	width: 100%;
	height: 64px;
	box-sizing: border-box;

	font-size: 16px;
}
nav.bar > div > nav nav.row {
	display: table-row;
}
nav.bar > div > nav nav.cell {
	display: table-cell;
	vertical-align: middle;
}
nav.bar > div > nav nav.cell:nth-of-type(1) {
	text-align: left;
	width: 28%;
}
nav.bar > div > nav nav.cell:nth-of-type(2) {
	text-align: center;
}
nav.bar > div > nav nav.cell:nth-of-type(3) {
	text-align: right;
	width: 28%;
}
nav a.logo {
	position: relative;
}
nav a.logo img {
	height: 35px;
	vertical-align: middle;
}
nav a.logo img.small {
	display: none;
}

nav.globals {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	white-space: nowrap;
	gap: 12px;
}
nav.globals > ul > li > a.menu_button {
	padding: 0 4px;
}
nav.globals ul.sub_menu {
	color: var(--text-color-dark);
	background-color: #ffffff;
}
nav.globals span.text {
	margin-left: 4px;
}
nav.globals ul.language a {
	display: flex;
	align-items: center;
}
nav.globals ul.language a.menu_button img.flag {
	height: 18px;
	border-radius: 2px;
	margin-right: 1px;
}
nav a.menu_button {
	display: block;
	text-decoration: none;
	line-height: 42px;
	height: 42px;
	overflow: hidden;
}
nav a > i.material-icons,
nav a > i.material-icons-outlined {
	vertical-align: top;
	line-height: inherit;
}
nav.globals ul.search form {
	display: flex;
	align-items: center;
	padding: 16px;
}
nav.globals ul.search input[type="text"] {
	box-sizing: border-box;
	width: 320px;
	padding: 10px 20px;
	border: 1px solid #222222;
	margin-left: 16px;
	background-color: #ffffff;
}
nav.globals ul.search input[type="text"]:focus {
	outline: 0;
}

nav a.menu_button.has_no_submenu > i.material-icons.sub_menu,
nav a.menu_button.has_no_submenu > i.material-icons-outlined.sub_menu {
	display: none;
}
nav i.material-icons.nav_icon,
nav i.material-icons-outlined.nav_icon {
	vertical-align: top;
	padding-right: 10px;
	line-height: inherit;
}
nav img.nav_icon {
	vertical-align: middle;
	padding-right: 10px;
	line-height: inherit;
	width: 20px;
}
nav span.nav_icon {
	display: inline-block;
	width: 20px;
}

nav.globals ul {
	list-style-type: none;
	margin: 0 10px 0 0;
	padding: 0;
	box-sizing: border-box;
}

nav ul.sub_menu {
	position: absolute;
	top: 64px;

	max-height: 0px;
	text-align: left;
	overflow: hidden;

	padding: 0;
	transition: max-height 0.05s;
	z-index: 10;
}
nav.globals ul.open > li > ul.sub_menu {
	border-radius: 0 0 5px 5px;
	transition: max-height 0.2s;
	box-shadow: 3px 3px 16px rgb(0 0 0 / 10%);
}
nav.globals ul > li > ul.sub_menu > li.first-under-top,
nav.globals ul > li > ul.sub_menu > li:first-child {
	padding-top: 8px;
}
nav.globals ul > li > ul.sub_menu > li:last-child {
	padding-bottom: 8px;
}
nav.globals ul > li > ul.sub_menu li a {
	display: block;
	line-height: 34px;
	padding: 0 16px;
	color: inherit;
	text-decoration: inherit;
}

nav ul.sub_menu > ul {
	margin: 0;
}
nav ul.sub_menu > ul > li a {
	padding-left: 45px;
}
nav ul > li a.menu_button img.nav_icon.empty {
	display: none;
}
nav ul li.divide_after::after {
	content: '';
	display: list-item;
	border-bottom: 1px solid #606060;
	margin: 8px 16px;
}

nav.globals ul.account a > div.name {
	display: inline-flex;
	flex-direction: column;
	vertical-align: middle;
	line-height: normal;
}
nav.globals ul.account li.small > div.name > div,
nav.globals ul.account a > div.name > div {
	text-align: center;
	line-height: inherit;
	padding: 0 16px;
}
nav.globals ul.account li.small > div.name > div:nth-child(2),
nav.globals ul.account a > div.name > div:nth-child(2) {
	font-size: 14px;
}
nav.globals ul.account li.small {
	display: none;
}
nav.globals ul.account > li.large {
	display: none;
}
nav.globals ul.account li.small {
	display: list-item;
}
nav.globals ul.account li.first-under-top {
	padding-top: 0;
}

/*
 * nav globals user_select_language
 */
nav.globals .user_select_language a.language {
	display: flex;
	align-items: center;
}
nav.globals .user_select_language a.language svg.selector {
	--selector-color: var(--color-1);
	--size: 22px;
	padding-right: 12px;
	width: var(--size);
	height: var(--size);
}
nav.globals .user_select_language a.language svg.selector circle.outer {
	stroke: var(--selector-color);
}
nav.globals .user_select_language a.language svg.selector circle.inner {
	fill: none;
}
nav.globals .user_select_language a.language.current svg.selector circle.inner {
	fill: var(--selector-color);
}
nav.globals .user_select_language a.language img.flag {
	height: 18px;
	width: 24px;
	margin-right: 5px;

	object-fit: contain;
	object-position: left center;
}


/****************/
nav.site.empty {
	display: none;
}
nav.site > a.menu {
	display: inline-block;
	color: inherit;
	line-height: 48px;

	text-align: center;
	text-decoration: none;

	box-sizing: border-box;
	white-space: nowrap;
}
nav.site > a.menu > i.material-icons,
nav.site > a.menu > i.material-icons-outlined {
	display: inline-block;
	margin-right: 8px;
}

nav.bar > div.small.top_level a {
	color: inherit;
	text-decoration: inherit;
}

nav.page {
	position: fixed;
	height: 100%;
	top: 0;
	left: -1px;
	overflow: hidden;
	color: var(--text-color-dark);
	font-size: 14px;
}
nav.page.open {
	background-color: var(--dimmer-color);
	width: calc(100vw + 1px);
	overflow-y: scroll;
}
nav.page > nav {
	position: relative;
	background-color: #ffffff;
	max-width: 0;
	width: calc(100vw - var(--scrollbar-width) - 56px);
	transition: max-width 0.2s;
	overflow: hidden;
	box-shadow: 0 0 12px 3px rgba(0, 0, 0, 0.5);

	min-height: 100%;
}
nav.page.open > nav {
	max-width: 280px;
	transition: max-width 0.2s;
}
nav.page > nav > nav {
	width: calc(100vw - var(--scrollbar-width) - 56px);
	max-width: 280px;
}

nav.page ul.sub_menu {
	position: static;
	max-height: 40000px;
	transition-duration: 0s;
}
nav.page ul.open > ul.sub_menu {
	transition-duration: 0s;
}
nav.page div.menu_close {
	position: fixed;
	padding: 8px 8px 0 0;
	box-sizing: border-box;
	width: calc(100vw - var(--scrollbar-width) - 56px);
	max-width: 0px;
	transition: max-width 0.2s;
}
nav.page.open div.menu_close {
	max-width: 280px;
}
nav.page div.menu_close > a {
	float: right;
	color: var(--text-color-dark);
	background-color: initial;
}
nav.page div.menu_close > a:hover {
	color: var(--color-1-highlight);
}
nav.page .menu_close i.material-icons,
nav.page .menu_close i.material-icons-outlined {
	font-size: 20px;
}
nav.page div.menu_title {
	text-transform: uppercase;
	font-size: 24px;
	line-height: 32px;
	padding: 56px 80px 32px 80px;
}

nav.page ul.d0 {
	margin-bottom: 24px;
}
nav.page ul.d0:last-child {
	margin-bottom: 0;
}
nav.page ul.d0 > li {
}
nav.page ul.d0 > li > a {
	line-height: 30px;
	height: auto;
}
nav.page ul.d0 > li.sub_open {
	margin-bottom: 0px;
}
nav.page li.sub_open {
}
nav.page li a {
	line-height: 30px;
}
nav.page li a:hover {
	background-color: #ececec;
}
nav.page ul > li.sub_open > a {
	font-weight: 400;
}

nav.page a {
	display: block;
	text-decoration: none;
}
nav.page ul.d0 > li > div.sub_header,
nav.page ul.d0 > li > a {
	padding-left: calc(0px + 20px);
}
nav.page ul.d1 > li > div.sub_header,
nav.page ul.d1 > li > a {
	padding-left: calc(16px + 20px);
}
nav.page ul.d2 > li > div.sub_header,
nav.page ul.d2 > li > a {
	padding-left: calc(32px + 20px);
}
nav.page ul.d3 > li > a {
	padding-left: 48px;
}
nav.page ul.d4 > li > a {
	padding-left: 64px;
}
nav.page ul.d5 > li > a {
	padding-left: 80px;
}
nav.page ul.d6 > li > a {
	padding-left: 96px;
}
nav.page ul.d7 > li > a {
	padding-left: 112px;
}
nav.page ul.d8 > li > a {
	padding-left: 128px;
}

nav.page ul a span.more,
nav.page ul a span.less {
	float: right;
}
nav.page ul span.more {
	display: inline;
}
nav.page ul span.less {
	display: none;
}
nav.page li.sub_open > a span.more {
	display: none;
}
nav.page li.sub_open > a span.less {
	display: inline;
}

nav.page li > div.submenu_container {
	max-height: 0;
	overflow: hidden;
}
nav.page li.has_submenu.sub_open > div.submenu_container {
	max-height: 4800px;
}

nav.page ul.selected > li > a:nth-of-type(1),
nav.page li.selected > a:nth-of-type(1) {
	font-weight: bold;
}

nav.page ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

nav.page > nav > nav {
	padding-top: 50px;
	padding-bottom: 20px;
}
nav.page ul.d0 > li.header {
	font-size: 12px;
	margin-top: 0px;
	margin-bottom: 4px;
	text-transform: uppercase;
}
nav.page div.sub_header {
}
nav.page ul.d0 > li.header,
nav.page ul > li.header {
	padding-left: 40px;
}
nav.page div.sub_header,
nav.page .sub_menu a {
	line-height: 30px;
	display: flex;
}
nav.page div.sub_header > div.icon,
nav.page a > div.icon {
	display: inline-block;
	width: 20px;
	height: 10px;
	vertical-align: middle;
}
nav.page div.icon > i {
	position: relative;
	left: -10px;
}

nav.page ul > ul.sub_menu li a {
	display: block;
	line-height: 30px;
	color: inherit;
	text-decoration: inherit;
}

nav.page ul.page_divider::before {
	display: block;
	content: '';
	border-top: 1px solid #cccccc;
	padding-bottom: 16px;
	margin: 16px 0;
}

nav.page ul.shortcuts {
	background-color: #ffffff;
	padding: 32px 80px;
	margin-top: 24px;
	line-height: 24px;
}
nav.page ul.shortcuts li {
	padding: 16px 0;
}

nav.globals ul {
	margin: 0;
}

nav i.material-icons,
nav i.material-icons-outlined {
	font-size: 24px;
}
nav .sub_menu i.material-icons,
nav .sub_menu i.material-icons-outlined {
	font-size: 22px;
}
nav.page img.nav_icon {
	display: none;
}
nav img.nav_icon {
	width: 24px;
}

/****************/

main {
	display: block;
	position: relative;
	z-index: 10;
	box-sizing: border-box;
	-webkit-overflow-scrolling: touch;
}
main:after {
	display: block;
	content: '';
	clear: both;
}

div.white_box,
div.drawer {
	background-color: #ffffff;
	padding: 20px;
	border-radius: 4px;
	color: var(--text-color-dark);
	max-width: 752px;
	box-sizing: border-box;
	margin: auto;
	margin-bottom: 16px;
}

div.white_box.admin {
}

div.white_box a {
	color: inherit;
	text-decoration: underline;
}
div.drawer a {
	color: inherit;
}

div.main_content {
	float: left;
	width: 752px;
	margin-right: 16px;
}
div.extra_content {
	float: left;
	width: calc(100vw - 801px);
	max-width: 490px;
}
div.drawer_container_tmp {
	float: left;
	width: 360px;
}
div.drawer_container,
div.drawer_container.open {
	float: left;
	width: 360px;
	z-index: 4;
}

/*
 * Avatar
 */
div.avatar {
	width: var(--avatar-size);
	min-width: var(--avatar-size);
	line-height: var(--avatar-size);
	height: var(--avatar-size);
	overflow: hidden;
	border-radius: 50%;
	text-align: center;
	color: white;
	vertical-align: middle;
	font-size: 24px;
	text-transform: uppercase;
}
div.avatar > img {
	width: 100%;
}
div.avatar.icon {
	background-color: #777777;
}

/*
 * material: tooltip
 */
.material_tooltip {
	position: absolute;
	display: flex;
	align-items: center;
	top: 0;
	left: 50%;
	z-index: 1000;
	background-color: #6d6d6d;
	color: #ffffff;
	min-height: 20px;
	padding: 4px 8px;
	margin: 16px 0;
	border-radius: 4px;
	text-align: center;
	pointer-events: none;
}

/*
 * material: chip
 */
div.chip_container {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	margin: 8px 0;
}
div.chip_container:empty {
	display: none;
}
div.material_chip {
	display: flex;
	align-items: center;
	line-height: 20px;
	background-color: #eaeaea;
	justify-content: space-between;
	padding: 4px 8px 4px 8px;
	border-radius: 16px;
}
div.material_chip.remove_button_show {
	padding: 4px 4px 4px 8px;
}
div.material_chip a.material_chip_remove {
	display: none;
	line-height: inherit;
	height: 20px;
	overflow: hidden;
	margin-left: 4px;
}
div.material_chip.remove_button_show a.material_chip_remove {
	display: block;
}

div.material_chip a.material_chip_remove i {
	line-height: inherit;
}

/*
 * material: app_bar
 */
div.app_bar {
	box-sizing: border-box;
	min-height: 49px;

	margin-top: -8px;
	margin-bottom: 12px;
	padding-bottom: 12px;
}
div.app_bar > div:empty {
	display: none;
}
div.app_bar,
div.app_bar > div:nth-child(1) {
	display: flex;
	justify-content: space-between;
	align-items: center;
	line-height: 24px;
}
div.app_bar a.app_bar_nav {
	height: 24px;
	margin-right: 24px;
}
div.app_bar > div:nth-child(1) {
	font-size: 16px;
}
div.app_bar .actions_bar a,
div.app_bar .actions_bar button {
	margin-left: 3px;
}


/*
 * material: snackbar
 */
div.material_snackbar {
	position: fixed;
	color: #ffffff;
	width: 100%;
	z-index: 1000;
	bottom: 16px;
}
div.material_snackbar > div {
	display: flex;
	background-color: #323232;
	color: #ffffff;
	width: max-content;
	width: 344px;
	max-width: calc(100vw - 32px - 32px);
	word-wrap: break-word;
	word-break: break-all;
	padding: 16px;
	border-radius: 4px;
	margin: 0 auto;
	align-items: center;
	justify-content: space-between;

	box-shadow: 0 6px 10px 0 rgba(0, 0, 0, 0.14),
				0 1px 18px 0 rgba(0, 0, 0, 0.12),
				0 3px 5px -1px rgba(0, 0, 0, 0.20);

	user-select: none;
	-ms-user-select: none;
	-moz-user-select: none;
	-webkit-user-select: none;
}
div.material_snackbar div.text {
	font-size: 15px;
	line-height: 20px;
	max-height: 40px;
	overflow: hidden;
}
div.material_snackbar button.close {
	margin-left: 16px;
}

/*
 * material: list
 */
div.list_header .subheader {
	font-size: 15px;
	text-transform: uppercase;
}

div.list_header,
div.list_header > div:nth-child(1) {
	display: flex;
	justify-content: space-between;
	align-items: center;
	line-height: 24px;
}

div.list_header > div:nth-child(1) {
	font-size: 16px;
}

div.list_header {
	margin-left: 3px;
}

div.material_list .content {
	display: block;
	width: 100%;
	text-decoration: none;
	padding: 8px;
}
div.material_list .avatar {
	margin-right: 8px;
	align-self: flex-start;
}
div.list_item_two {
	display: flex;
	justify-content: space-between;
	margin-left: -8px;
	margin-right: -8px;
	align-items: center;
	padding-right: 8px;
}
div.material_list .list_item_two:hover {
	background-color: #ececec;
	border-radius: 4px;
}
div.list_item_two .content {
	display: flex;
	align-items: center;
}
div.material_list .list_item_two div.content_part {
	word-break: break-word;
}
div.material_list .list_item_two .title {
	font-size: 15px;
}
div.material_list .list_item_two .text {
	color: #777777;
}
div.title:empty,
div.text:empty {
	display: none;
}

div.material_list div.actions {
	display: flex;
}
div.material_list div.actions .title_display_menu .button_text {
	display: none;
}

/*
 * material: cards
 */
.material_card_container {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}
.material_card {
	display: block;
	width: 100%;
	min-width: 204px;
	max-width: calc((100% / 3) - 16px);
	border: 1px solid var(--underline-color);
	margin: 1px;
	border-radius: 16px;
	text-decoration: none !important;
	word-wrap: break-word;
	text-align: center;
	overflow: hidden;
}
a.material_card:hover {
	border-width: 2px;
	margin: 0;
}
.material_card .media {
	user-select: none;
	-ms-user-select: none;
	-moz-user-select: none;
	-webkit-user-select: none;
	overflow: hidden;
}
.material_card .description {
	padding: 16px;
}
.material_card .description > div:last-child {
	margin-bottom: 0;
}
.material_card .title {
	font-size: 18px;
}
.material_card .text {
}
.material_card .supporting_text {
	margin-top: 8px;
}
.material_card .actions {
	margin-top: 8px;
}
.material_card > div:empty,
.material_card .description > div:empty {
	display: none;
}

/*
 * material: menu
 */
div.material_menu {
	position: relative;
	display: none;
}
div.material_menu a {
	text-decoration: none;
}
button.material_menu_ellipsis {
	display: inline-block;
	padding: 7px;
	margin: 0;
	margin-top: 4px;
	cursor: pointer;
	text-align: center;
	border: 1px solid transparent;
	line-height: 21px;
	border-radius: 100%;
	background-color: transparent;
}
button.material_menu_ellipsis:hover {
	background-color: #ececec;
}
button.material_menu_ellipsis i {
	vertical-align: bottom;
}
.material_menu nav.material_menu_nav {
	position: absolute;
	right: 0;
	background: #ffffff;
	border-radius: 4px;
	box-shadow: 0px 3px 5px 1px var(--material-menu-shadow);

	padding: 0.5rem 0;
	min-width: 112px;
	max-width: 280px;
	width: max-content;

	display: flex;
	flex-direction: column;

	opacity: 0;
	transition: opacity 200ms linear 0ms;
	z-index: 8;

	font-size: 16px;
}
.material_menu.open nav.material_menu_nav {
	opacity: 1;
	transition: opacity 100ms linear 0ms;
}

.material_menu_button {
	display: flex;
	justify-items: center;
	align-items: center;
	background-color: transparent;
	border: 0;
	cursor: pointer;
	height: 48px;
	padding: 0.5rem 1rem;
}
.material_menu_button:hover {
	background-color: #ececec;
}
button.material_menu_button i {
	font-size: 20px;
}
.material_menu_button > div:empty {
	display: none;
}
.material_menu_button > div {
	font-size: inherit;
	display: flex;
}
.material_menu_button div.col_icon {
	padding: 0 8px 0 0;
	text-align: center;
}
.material_menu_button div.col_text {
	text-align: left;
}
.material_menu_button div.col_trailing {
}

/*
 * material: dialog
 */
#material_dialog.scrim {
	--padding: 16px;

	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-color: var(--dimmer-color);

	display: flex;
	align-items: center;
	justify-items: center;
	align-content: center;
	justify-content: center;
	z-index: 650;
}
#material_dialog .dialog {
	position: relative;
	width: 100%;
	max-width: 450px;
	min-height: 200px;
	background-color: #ffffff;
	margin: 0 auto;
	padding: var(--padding);
	border-radius: calc(var(--padding) / 2);

	color: var(--text-color-dark);
}
#material_dialog .content {
}
#material_dialog .content .header {
	font-size: 18px;
	margin: 0 0 0.8em 0;
	font-weight: bold;
}
#material_dialog .content .text {
	color: #606060;
}

#material_dialog .actions {
	position: absolute;
	right: var(--padding);
	bottom: var(--padding);
	display: flex;
	justify-content: flex-end;
}
#material_dialog .actions:empty {
	display: none;
}
#material_dialog .actions > a.action {
	display: block;
}

/*
 * Action bar
 */
div.white_box div.action_bar {
	margin-bottom: 8px;
}

div.white_box div.action_bar.small {
	min-width: 50%;
	float: right;
	text-align: right;
	margin-bottom: 0;
}

div.white_box div.action_bar > h2 {
	line-height: 36px;
}

/*
 * Action bar
 */
div.action_bar.new {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 36px;
}
div.action_bar.new span.header {
	font-size: 15px;
	font-weight: bold;
}
div.action_bar.new span.header i.material-icons,
div.action_bar.new span.header i.material-icons-outlined {
	vertical-align: bottom;
	font-size: 16px;
}
div.action_bar.new div.actions {
	text-align: right;
	white-space: nowrap;
}

.divider {
	border-bottom: 1px solid #b8dcdf;
	margin-bottom: 16px;
	padding-bottom: 16px;
}

/*
 * page_text
 */
div.page_text {
	text-align: center;
	background-color: #ffffff;
	padding: 20px 128px;
	border-radius: 4px;
	color: var(--text-color-dark);
	max-width: 752px;
	box-sizing: border-box;
	margin: auto;
	margin-bottom: 16px;
	padding-bottom: 32px;
}
div.page_text video {
	width: calc(100% + 216px) !important;
	margin-left: -108px;

}
div.page_text img {
	margin-bottom: 16px;
}
div.page_text h1 {
	margin-bottom: 16px;
}


/*
 * dashboard
 */
div.filter_selection {
}
div.filter_selection ul {
	list-style-type: none;
	margin: 0;
	margin-left: -7px;
	padding: 0;
	padding-inline-start: 0;
	box-sizing: border-box;
}
div.filter_selection li.submenu ul {
	padding-left: 20px;
	margin-left: 0;
}
div.filter_selection li {
	padding: 0;
	margin: 13px 0;
}
div.filter_selection li > a {
	display: inline-block;
	font-size: 13px;
	user-select: none;
	-ms-user-select: none;
	-moz-user-select: none;
	-webkit-user-select: none;
	width: calc(100% - 30px);
	word-break: break-word;
	overflow: hidden;
}
div.filter_selection li.selected > a {
	font-weight: bold;
}
div.filter_selection li.single_tree {
	margin-left: 7px;
}
div.filter_selection li.single_tree > a.toggle_submenu {
	display: none;
}
div.filter_selection li > a.toggle_submenu {
	margin-right: 2px;
	vertical-align: top;
	width: 28px;
	line-height: 16px;
	font-size: 28px;
	color: var(--color-1-highlight);
	visibility: hidden;
	text-decoration: none;
	font-weight: normal;
}
div.filter_selection li > a.toggle_submenu:hover {
	color: var(--text-color-dark);
}
div.filter_selection li.children > a.toggle_submenu {
	visibility: visible;
}
div.filter_selection ul.toggle_disabled a.toggle_submenu {
	visibility: hidden;
}
div.filter_selection li i.material-icons,
div.filter_selection li i.material-icons-outlined {
	font-size: inherit;
}
div.filter_selection li i.close {
	display: none;
	line-height: inherit;
}
div.filter_selection li i.open {
	display: inline;
	line-height: inherit;
}
div.filter_selection li.visible i.open {
	display: none;
}
div.filter_selection li.visible i.close {
	display: inline;
}

div.filter_selection li.children + li.submenu {
	display: none;
}
div.filter_selection li.children.visible + li.submenu {
	display: list-item;
}
div.filter_selection li.unselectable {
}
div.filter_selection li.unselectable > a,
div.filter_selection li.unselectable > a:hover {
	text-decoration: none;
	opacity: 0.5;
	cursor: not-allowed;
}

div.org_list div.org_row {
	border-bottom: 1px solid var(--color-1-highlight);
	margin-bottom: 16px;
	padding-bottom: 16px;
}
div.org_list div.org_row:last-child {
	border-bottom: 0 none;
	margin-bottom: 0;
	padding-bottom: 0;
}

input.search {
	border: 1px solid  #2c2c2c;
	background-color: #ffffff;
	padding: 4px 15px;
	box-sizing: border-box;
	min-height: 30px;
	width: 220px;
}
input.search::placeholder {
	text-transform: uppercase;
}


/*
 * Input handling
 */
.templates {
	width: 100%;
	max-width: 480px;
	color: #000000;
}
.templates .fail {
	display: flex;
	align-items: center;

	color: #000000;
	background-color: #ffffff;
	padding: 8px;
	margin: 16px 0;
	padding-left: 44px;
	font-size: 15px;
}
.templates .fail::after {
	content: '';
	display: block;
	clear: both;
}
.templates .fail i.material-icons,
.templates .fail i.material-icons-outlined {
	font-size: 28px;
	vertical-align: top;
	margin-right: 8px;
	margin-left: -36px;
	color: var(--text-color-dark);
}
.templates .fail span.message {
	display: inline-block;
	vertical-align: sub;
}

.templates h1 {
	display: flex;
	align-items: center;
	font-size: 24px;
	margin-bottom: 16px;
	padding: 0;
	line-height: 36px;
}
.templates h1 i.material-icons,
.templates h1 i.material-icons-outlined {
	font-size: inherit;
	margin-right: 4px;
}

.templates div.row {
	margin-bottom: 8px;
}
.templates div.row.extra_space {
	margin-bottom: 16px;
}
.templates div.row.extra_extra_space {
	margin-bottom: 20px;
}

.templates div.row.extra_space_top {
	margin-top: 16px;
}

.templates label {
	display: block;
}
.templates label.checkbox {
	display: inline-block;
	margin-right: 16px;
	font-size: 130%;
}
.templates label.required {
	text-align: right;
	font-size: 90%;
	font-style: italic;
	padding-right: 3px;
}

.templates div.label {
	width: calc(100% - 2px);
	font-size: 130%;
	padding: 5px 0;
	box-sizing: border-box;
}

.templates select,
.templates input[type="text"],
.templates input[type="password"],
.templates input[type="email"],
.templates input[type="number"],
.templates textarea,
.templates div[contenteditable="true"] {
	width: calc(100% - 2px);
	font-size: 15px;
	padding: 8px 8px;
	box-sizing: border-box;
	border: 1px solid #222222;
	margin: 1px;
	background-color: #ffffff;
}
.templates.show_input_errors input.invalid {
	border-color: var(--templates-error-color);
	outline-color: var(--templates-error-color-highlight);
	border-width: 2px;
	padding: 7px;
}
.templates .input_container {
	display: flex;
	align-items: center;
	position: relative;
}
.templates input + i.error {
	display: none;
	position: absolute;
	right: 12px;
	color: var(--templates-error-color);
}
.templates.show_input_errors input.invalid + i.error {
	display: block;
}

div.view_edit.content.player .templates textarea[name='text_2'] {
	font-family: monospace;
}
.templates textarea {
	resize: none;
}
.templates div[contenteditable="true"] {
	max-height: 300px;
	overflow-y: auto;
}
.templates div[contenteditable="true"][placeholder]:empty:before {
	content: attr(placeholder);
	color: #555;
}
.templates input[type="text"]:disabled {
	background-color: #f2f2f2;
}
.templates select:disabled {
	color: #878787;
	background-color: #cbcbcb;
	border-color: #cbcbcb;
}
.templates label.image_selection {
}
.templates label.image_selection div.container {
	display: flex;
	align-items: center;
	overflow: hidden;
	flex-wrap: wrap;
}
.templates label.image_selection div.container img {
	margin-right: 8px;
	margin-bottom: 8px;
}
.templates label.image_selection div.container button {
	margin-bottom: 8px;
}

.templates input[type="text"].has_error,
.templates input[type="email"].has_error,
.templates input[type="password"].has_error {
	width: calc(100% - 2px);
	border: 2px solid #cc0000;
	margin: 0px;
}

.templates a.list {
	display: inline-block;
	text-decoration: none;
	font-size: 18px;
	padding: 8px 0;
	background-image: url(/images/layout/li.svg);
	padding-left: 20px;
	background-repeat: no-repeat;
	background-position: center left;
	line-height: 19px;
	outline: 0 none;
}
.templates a.list.current {
	background-image: url(/images/layout/li_selected.svg);
}
.templates a.list.current > img {
	height: 19px;
	vertical-align: top;
}

.white_box ul,
.templates ul {
	margin: 4px 0;
	padding-inline-start: 20px;
}

/* tree selection */
.templates ul.filter_selection {
	list-style-type: none;
	margin: 0;
	padding-inline-start: 20px;
	padding-left: 20px;
	box-sizing: border-box;
	min-width: 280px;
}
.templates ul.filter_selection.d0 {
	padding-left: 0px;
}
.templates ul.filter_selection li {
	padding: 0;
	margin: 13px 0;
}
.templates ul.filter_selection li > a {
	display: block;
	font-size: 13px;
}
.templates ul.filter_selection li.selected > a {
	font-weight: bold;
}
.templates ul.filter_selection li.unselectable {
	opacity: 0.75;
	cursor: not-allowed;
}

/* smaller templates */
.templates_small div.row {
	margin-bottom: 8px;
}
.templates_small div.row.extra_space {
	margin-bottom: 16px;
}
.templates_small label {
	display: block;
}
.templates_small label.checkbox {
	display: inline-block;
	margin-right: 16px;
	font-size: 130%;
}
.templates_small label.required {
	text-align: right;
	font-size: 90%;
	font-style: italic;
	padding-right: 3px;
}

.templates_small div.label {
	width: calc(100% - 2px);
	font-size: 130%;
	padding: 5px 0;
	box-sizing: border-box;
}
.templates_small select,
.templates_small input[type="text"],
.templates_small input[type="email"]{
	width: calc(100% - 2px);
	font-size: inherit;
	padding: 6px 15px;
	box-sizing: border-box;
	border: 1px solid #222222;
	margin: 1px;
	background-color: #ffffff;
}
.templates_small input[type="text"]:disabled {
	background-color: #f2f2f2;
}

/*
 * page_edit
 */
div.edit .tabs {
	margin-bottom: 16px;
}
div.edit .templates {
	max-width: none;
}
div.edit form.templates::before {
	content: '';
	display: block;
	height: 1px;
	background-color: #000000;
	margin: 16px 0 8px 0;
}



/*
 * Translations
 */
div.base_bar.tri {
	width: 100%;
	height: 100%;
	display: inline-block;
}
div.base_bar.tri > div {
	width: 0px;
	height: 100%;
	display: inline-block;
}
div.base_bar.tri > div.color_good {
	background-color: #228b22;
}
div.base_bar.tri > div.color_bad {
	background-color: #b22222;
}
div.base_bar.tri > div.color_stale {
	background-color: #22228b;
}
div.resource_translate {
}
div.resource_translate div.resource {
	margin-bottom: 15px;
}
div.resource_translate div.resource_key {
	margin: 0;
	padding: 0;
	margin-bottom: 2px;
	margin-left: 37px;
}
div.resource_translate div.translate_row textarea.translate {
	width: calc(100% - 35px - 20px);
	box-sizing: border-box;
	margin-left: 5px;
	height: 35px;
	min-height: 35px;
	max-height: 250px;
	resize: none;
	padding: 8px;
	margin-bottom: 5px;
	vertical-align: bottom;
	outline: none;
	border: 1px solid #aeaeae;
	font-size: 13.3px;
}
div.resource_translate div.translate_row textarea.translate:focus {
	border: 1px solid #8080f0;
}
div.resource_translate div.language_container,
div.resource_translate div.selection_container {
	display: inline-block;
	vertical-align: top;
}
div.resource_translate	div.language_container label,
div.resource_translate div.selection_container label {
	display: inline-block;
	text-align: right;
	box-sizing: border-box;
	padding-right: 5px;
	vertical-align: middle;
	margin-bottom: 5px;
}
div.resource_translate	div.language_container label {
	width: 80px;
}
div.resource_translate div.selection_container label {
	width: 80px;
}
input#search_text,
select#l1,
select#l2,
select#s1,
select#s2,
input#s3 {
	margin-bottom: 5px;
}
select#l1,
select#l2,
select#s1,
select#s2 {
	border: 1px solid #aeaeae;
	background-color: #ffffff;
}
input#search_text {
	width: 200px;
	padding: 9.5px 4px;
	vertical-align: top;
}
select#l1 {
}
select#l1,
select#l2 {
	width: 130px;
	height: 19px;
	vertical-align: middle;
}
select#s1 {
	width: 120px;
	vertical-align: middle;
}
select#s2 {
	width: 120px;
	vertical-align: middle;
}
input#s3 {
	vertical-align: middle;
}
div.resource_translate div.translate_row textarea.translate.readonly {
	background-color: #f0f0f0;
	border: 1px solid #f0f0f0;
}
div.resource_translate div.translate_row textarea.translate.readonly + a.save {
	display: none;
}
div.resource_translate div.translate_row img.flag {
	width: 22px;
	border: 1px solid #efefef;
	vertical-align: top;
	margin-top: 6px;
}
div.resource_translate div.translate_row a.save {
	width: 24px;
	color: #aeaeae;
	pointer-events: none;
	cursor: default;
}
div.resource_translate div.translate_row a.save.dirty {
	color: #000000;
	pointer-events: all;
	cursor: pointer;
}

/*
 * sys/schedule
 */
pre.sys_cron_schedule {
	color: black;
	background-color: transparent;
	padding: 0px;
	margin: 0px;
	overflow: auto;
}

/*
 * user_profile
 */
#modal_content .user_profile {
	margin-top: 6px;
}

/*
 * about_me_user_image
 */
#modal_content .about_me_user_image {
	margin-top: 6px;
}


/*
 * user/verify
 * user/reset
 * user/edit
 */
div.user_verify {
}

div.user_verify input.new_name,
div.user_reset input.new_name,
div.user_verify input[type="password"],
div.user_reset input[type="password"] {
	width: 100%;
	font-size: 130%;
	padding: 10px 20px;
	box-sizing: border-box;
	border: 1px solid #222222;
	margin: 1px;
}
div.user_verify input.new_name.has_error,
div.user_reset input.new_name.has_error,
div.user_verify input[type="password"].has_error,
div.user_reset input[type="password"].has_error {
	border: 2px solid #cc0000;
	margin: 0px;
}

div.user_verify div.password_to_short,
div.user_reset div.password_to_short {
	margin-right: 10px;

}

/*
 * Modal
 */
div#modal_container {
	position: fixed;
	background-color: var(--dimmer-color);
	width: 100vw;
	height: 100vh;
	top: 0;
	left: 0;
	text-align: left;
	z-index: 600;
}
div#modal_container > div.modal {
	position: relative;
	width: 100vw;
	max-width: 694px;
	min-height: 140px;
	max-height: 100vh;
	margin: 0 auto 16px auto;
	box-sizing: border-box;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;

	background-color: #ffffff;
	color: #000000;
	padding: 8px 24px 24px 24px;
	border-radius: 0 0 5px 5px;
	border-top: 0 none;
}
div#modal_container div.modal_header {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
div#modal_container div.modal_header.no_flex {
	display: block;
	position: absolute;
	right: 8px;
}

div#modal_container h2 {
}
div#modal_container h2 i.material-icons,
div#modal_container h2 i.material-icons-outlined {
	vertical-align: text-bottom;
}
@media screen and (max-width:767px) {
	div#modal_container {
		overflow-y: auto;
	}
	div#modal_container > div.modal {
		border-radius: 0 0 10px 10px;
		border-top: 0 none;
		padding: 16px 12px 12px 12px;
	}
}

div#modal_container a.modal_close {
	color: var(--text-color-dark);
	background-color: initial;
}
div#modal_container a.modal_close:hover {
	color: var(--color-1-highlight);
	background-color: initial;
}



div.org_logo_image,
img.org_logo_image {
	width: 70px;
	height: 70px;
	background-color: #eaeaea;
	box-sizing: border-box;

	border: 1px solid #eaeaea;
	margin: 5px;
}

div.org_logo div.img_crop {
	overflow: hidden;
	width: 100%;
	height: 500px;
}

div.preview {
	overflow: hidden;
	width: 122px;
	text-align: center;
}
div.org_logo div.org_logo_image.img_preview {
	margin: 20px;
	overflow: hidden;
	width: 100px;
	height: 100px;
}

#new_org_logo_img {
	float: right;
	border: 2px dashed #aeaeae;
	width: 50%;
	max-width: 300px;
}

form.org_logo_dropzone {
	position: relative;
	float: right;
	min-height: 100px;
	height: 100px;
	width: 500px;
	margin: 20px 0px 0px 0px;
	padding: 13px 0;
	border: 2px dashed #eaeaea;
}

form.import_dropzone {
	position: relative;
	display: inline-block;
	min-height: 100px;
	height: 100px;
	width: 100%;
	margin-top: 5px;
	border: 2px dashed #eaeaea;

}

/*
 * Page/Dashboard
 */
div.site_dashboard div.white_box::after {
	display: block;
	content: '';
	clear: both;
}
div.site_dashboard_box {
	width: calc((100% / 3) - 48px);
	min-width: 180px;
	border: 2px solid rgb(173, 175, 175);
	float: left;
	margin: 0 20px 15px 0;
	padding: 16px 12px 6px 12px;
	border-radius: 10px;
	line-height: normal;
}
a.db_top,
div.db_top {
	font-size: 48px;
	font-weight: bold;
	text-decoration: none;
}
div.db_bottom {
	text-align: right;
}

/*
 * Select language
 */
.user_language_select .languages {
	display: flex;
	flex-direction: column;
	gap: 18px;
}
.user_language_select a.language {
	display: flex;
	align-items: center;
	text-decoration: none;
	font-size: 18px;
}
.user_language_select a.language svg.selector {
	--selector-color: var(--color-1);
	--size: 24px;
	padding-right: 12px;
	width: var(--size);
	height: var(--size);
}
.user_language_select a.language svg.selector circle.outer {
	stroke: var(--selector-color);
}
.user_language_select a.language svg.selector circle.inner {
	fill: none;
}
.user_language_select a.language.current svg.selector circle.inner {
	fill: var(--selector-color);
}
.user_language_select a.language img {
	height: 24px;
	margin-right: 8px;
}

/*
 * Drawer
 */
div.drawer {
	margin-bottom: 0;
}
div.drawer_icon {
	display: none;
}
div.drawer_close {
	visibility: hidden;
}
div.drawer_top {
	width: 100%;
	display: table;
	margin-bottom: 8px;
}
div.drawer_top > div {
	display: table-row;
}
div.drawer_top > div > div {
	display: table-cell;
	vertical-align: top;
}
div.drawer_top > div > div:nth-child(1) {
	padding-top: 7px;
}
div.drawer_top > div > div:nth-child(2) {
	text-align: right;
}
div.drawer_top h2 {
	line-height: 22px;
}
div.drawer_top h2 > i.material-icons,
div.drawer_top h2 > i.material-icons-outlined {
	width: 28px;
	vertical-align: top;
}
div.drawer_top h2 > div {
	display: inline-block;
	width: calc(100% - 28px);
}
div.drawer_footer {
	display: none;
}


/*
 * page_info
 */
div.page_info {
}

div.page_info > div.plp {
	margin-bottom: 32px;
}
div.page_info div.plp div.text a {
	text-decoration: underline;
}

div.page_info h1 {
	font-size: 28px;
	font-variant: small-caps;
}
div.page_info div.plp div.image {
	text-align: center;
}
div.page_info div.plp.center div.text {
	text-align: center;
	max-width: 580px;
	margin: 0 auto;
	margin-bottom: 16px;
}
div.page_info > div.plp.center div.image > img,
div.page_info > div.plp.center_white div.image > img {
	width: 450px;
	max-width: 100%;
}

div.page_info div.plp.center_white {
	background-color: rgb(255, 252, 247);
	padding: 32px;
}
div.page_info div.plp.center_white div.text {
	text-align: center;
	max-width: 580px;
	margin: 0 auto;
	margin-bottom: 16px;
}

div.page_info div.plp.img_left {
	display: flex;
	place-content: space-between;
}
div.page_info div.plp.img_left div.image {
	margin-right: 50px;
}
div.page_info div.plp.img_left div.image > img {
	width: 450px;
	max-width: 100%;
}
div.page_info div.plp.img_left div.text {
	max-width: 670px;
}

div.page_info div.plp.img_right {
	display: flex;
	place-content: space-between;
}
div.page_info div.plp.img_right div.image {
	margin-left: 50px;
}
div.page_info div.plp.img_right div.image > img {
	width: 450px;
	max-width: 100%;
}
div.page_info div.plp.img_right div.text {
	max-width: 670px;
}


/*
 * Customer view
 */
div.customer_contact {
	font-size: 14px;
}
div.customer_contact a {
	font-weight: normal;
}
div.customer_contact.left,
div.customer_contact.right {
	width: 50%;
	min-height: 1px;
	float: left;
	box-sizing: border-box;
}
div.customer_contact.left {
	padding-right: 20px;
}
div.customer_contact.right {
	padding-left: 20px;
}

/*
 * customer selection
 */
div#customer_select {
	display: flex;
	gap: 20px;
	margin-bottom: 40px;
}
div#customer_select a:link,
div#customer_select a:visited,
div#customer_select a:hover {
	display: block;
	font-weight: normal;
}
div.customer_select_column {
	width: 100%;
}
div.customer_list {
}
div.customer_select_column {
	display: flex;
	flex-direction: column;
	gap: 16px;
}
div.customer_select_area {
	display: flex;
	align-items: center;
	border-bottom: 3px solid #222222;
	user-select: none;
	cursor: pointer;
	gap: 5px;
}
div.customer_directory {
	width: 1em;
	padding: 2px 5px;
	border-radius: 5px 5px 0 0;
	font-size: 18px;
	font-weight: bold;
	text-align: center;
	color: #ffffff;
	background-color: #222222;
	margin-bottom: -1px;
}
div.customer_directory_text {
	flex-grow: 1;
}

/*
 * youtube
 */
div.video_embed {
	position: relative;
	height: 0;
	overflow: hidden;
	padding-bottom: 56.25%;
}
div.video_embed > iframe {
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
}


/*
 * Autoselect customer
 */
ul.ui-autocomplete.customer_picker {
	font-family: inherit;

	border-radius: 0;
	padding: 0;
	margin: 0;
	min-width: 300px;
	z-index: 100;
}
ul.ui-autocomplete.customer_picker li.ui-menu-item {
	border: 0;
	border-bottom: 1px solid rgb(238, 238, 238);
	padding: 0;
	margin: 0;
}
ul.ui-autocomplete.customer_picker li.ui-menu-item > a,
ul.ui-autocomplete.customer_picker li.ui-menu-item a.ui-state-focus,
ul.ui-autocomplete.customer_picker li.ui-menu-item a.ui-state-active {
	margin: 0;
	padding: 8px 20px;
	text-decoration: none;
}
ul.ui-autocomplete.customer_picker li.ui-menu-item > a {
	display: block;
	color: #000000;
}
ul.ui-autocomplete.customer_picker li.ui-menu-item a.ui-state-focus,
ul.ui-autocomplete.customer_picker li.ui-menu-item a.ui-state-active {
	border: 0 none;
	background-color: transparent;
	box-shadow: none;

	background-color: rgba(0, 0, 0, 0.05);
	border-radius: 0;
}
ul.ui-autocomplete.customer_picker div.is_company div.company {
	font-weight: 400;
	margin-bottom: 4px
}

ul.ui-autocomplete.customer_picker div.is_person div.name {
	font-weight: 400;
	margin-bottom: 4px
}

ul.ui-autocomplete.customer_picker div.extra_info > div {
	float: left;
	margin-right: 5px;
	font-size: 90%;
	font-style: italic;
}



/*
 * site_pages
 */
div.site_pages {
}
div.site_pages .pages ul {
	margin: 0;
	padding: 0;
	list-style-type: none;

	padding-left: 16px;
}
div.site_pages .pages ul:first-child {
	padding-left: 0;
}
div.site_pages .pages li {
	padding: 2px 0;
}
div.site_pages .pages a {
	text-decoration: none;
}
div.site_pages .pages a.filtered {
	opacity: 0.45;
}
div.site_pages form.filter {
	margin-bottom: 16px;
}

/*
 * MDC
 */
.disable_ripple {
	display: none;
}
button.mdc-tab:disabled {
	cursor: default;
}



/*
 * user_login
 */
.user_login.templates input {
	font-size: 16px;
}
.user_login_divider {
	display: flex;
	align-items: center;
	margin: 24px 0;
	color: var(--color-1-highlight);
}
.user_login_divider::before,
.user_login_divider::after {
	content: '';
	height: 1px;
	flex-grow: 1;
	background-color: var(--color-1-highlight);
}
.user_login_divider::before	 {
	margin-right: 8px;
}
.user_login_divider::after {
	margin-left: 8px;
}



/*
 * vault_page
 */
.vault_page {
	min-height: 300px;
}
.vault_page div.app_bar {
	margin-bottom: 0;
}
.vault_page nav {
	font-size: 16px;
}
.vault_page nav a {
	text-decoration: none;
}
.vault_page nav a:hover {
	text-decoration: underline;
}
#vault_page_upload progress {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;

	width: 100%;
	height: 15px;
	margin: 4px 0;
	border-radius: 4px;

	color: var(--color-1-highlight);
}
#vault_page_upload progress[value] {
	-webkit-appearance: none;
	-moz-appearance: none;
	border-radius: 4px;
	appearance: none;
	border: none;
}
#vault_page_upload progress[value]::-webkit-progress-bar {
	border-radius: 4px;
}
#vault_page_upload progress[value]::-webkit-progress-value {
	-webkit-appearance: none;
	border-radius: 4px;
	background-color: var(--color-1-highlight);
}
#vault_page_upload progress[value]::-moz-progress-bar {
	-moz-appearance: none;
	border: none;
	border-radius: 4px;
	background-color: var(--color-1-highlight);
}
#vault_page_upload .msg {
	max-width: 30px;
	text-align: right;
}
#vault_page_upload .avatar i {
	display: none;
}
#vault_page_upload .line.running .avatar i.running {
	display: inline-block;
}
#vault_page_upload .line.ok .avatar i.ok {
	display: inline-block;
}
#vault_page_upload .line.fail .avatar i.fail {
	display: inline-block;
}
.vault_page_upload_progress .all_uploads_done {
	visibility: hidden;
	margin-top: 8px;
}
.vault_page_upload_progress.all_done .all_uploads_done {
	visibility: visible;
}

/* asdf */

/*
 * markdown: nav
 */
nav.md_nav {
}

/*
 * markdown: carousel
 */
.md_carousel {
	display: flex;
	align-items: center;
	justify-content: center;

	position: relative;
	aspect-ratio: 4/3;
	width: 100%;
	overflow: hidden;
	width: 1024px;
	margin-left: calc(0px - (1024px - 570px) / 2);
}
.md_carousel img {
	position: absolute;
	opacity: 0;
	top: 0;
	transition: opacity 0.5s ease-in;
	-webkit-transform: translateZ(0px);
	width: 100%;
}
.md_carousel img.show {
	opacity: 1;
	transition: opacity 0.5s normal;
	z-index: 1;
}
.md_carousel .text_container {
	padding-top: 25%;

	display: flex;
	align-items: center;
	flex-direction: column;
	gap: 1em;

	line-height: 1.0;
	z-index: 2;
}
.md_carousel .text_1,
.md_carousel .text_2 {
	color: white;

	font-family: var(--default-font);
	text-align: center;
	text-transform: uppercase;
}
.md_carousel .text_1 {
	font-size: 36pt;
	text-shadow: 0 0 10px black;
}
.md_carousel .text_2 {
	display: flex;
	font-size: 14pt;
	line-height: 1.25;
}
.md_carousel .text_2 > div {
	background-color: black;
	max-width: 500px;
	padding: 0.75em 1.5em 0.6em 1.5em;
	transform: rotate(-1.75deg);
}


/*
 * frontpage
 */
.frontpage {
	font-family: var(--default-font);
	font-size: 18px;
	margin: 0 auto;
	max-width: calc(662px - 32px);
	padding-top: 1em;
	padding-bottom: 2em;
	line-height: 1.4;
}
.frontpage::after {
	display: block;
	content: '';
	clear: both;
}
.frontpage nav.md_nav {
	font-size: 20px;
}
.frontpage li {
	padding-top: 4px;
	padding-bottom: 4px;
}
.frontpage h1 {
}
.frontpage h2 {
	font-size: 23px;
	margin-bottom: 0.4em;
	font-weight: normal;
}
.frontpage h3 {
	font-size: 20px;
	margin-bottom: 0.25em;
	font-weight: normal;
}

.frontpage div.bg_line {
	--bg-h: 280px;
	height: calc(var(--bg-h) + var(--border-thickness) + var(--border-thickness));
}
.frontpage div.bg_line > div {
	position: absolute;
	box-sizing: border-box;
	width: 100%;
	aspect-ratio: 256/61;
	height: var(--bg-h);
	left: 0;

	background-image: url('/images/layout/bg_line.jpg');
	background-position: center center;
	background-size: 100% auto;
	background-repeat: no-repeat;
	text-align: center;

	border: var(--border-thickness) solid var(--color-2);
	border-left: 0;
	border-right: 0;
}
.frontpage div.contact {
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.frontpage div.contact img {
	width: 50px;
}
.frontpage div.contact br {
	display: none;
}
.frontpage div.contact > div {
	display: flex;
	align-items: center;
	gap: 16px;
}
.frontpage table.cv {
}
.frontpage table.cv tr > td:first-child {
	padding-right: 0.5em;
	white-space: nowrap;
}

/*
 * Size: Medium
 */
@media screen and (max-width: 1176px)
{
	:root {
		--css-size: medium;
	}

	div#css_size::before {
		content: 'medium';
	}

	div.main_content {
		margin-right: 0;
	}
	div.extra_content {
		width: 700px;
		max-width: 700px;
	}
	div.drawer_container_tmp {
		margin-left: 16px;
	}
	div.drawer_container.open,
	div.drawer_container {
		float: none;
		position: fixed;
		right: 0px;
		top: 165px;
		width: auto;

	}
	div.drawer_container.open {
		top: 131px;
		padding-right: 0;
		width: 100%;
		max-width: 360px;
	}
	div.drawer_close {
		visibility: visible;
	}
	div.drawer > .drawer_icon {
		display: inline-block;
	}
	div.drawer.open > .drawer_icon {
		display: none;
	}
	div.drawer > .drawer_top,
	div.drawer > .drawer_content {
		display: none;
	}
	div.drawer {
		border-radius: 10px;
		border-top-right-radius: 0;
		border-bottom-right-radius: 0;
		border: 1px solid rgba(0, 0, 0, 0.2);
		border-right: 0 none;
		background-image: none;
		background-color: #ffffff;
		padding: 20px 10px;
		box-shadow: 0px 2px 5px 0px rgba(4, 30, 66, 0.25);
	}
	div.drawer.open {
		overflow: hidden;
		max-height: calc(100vh - 48px);
		padding: 10px 0 10px 10px;
		margin: 0;
	}
	div.drawer.open > .drawer_top {
		display: table;
		height: 36px;
	}
	div.drawer.open > .drawer_content {
		display: block;
		overflow-y: auto;
		max-height: calc(100vh - 48px - 44px - 20px - 2px);
		padding-right: 10px;
		box-sizing: border-box;
	}

	div.w {
		max-width: 768px;
		padding: 0 8px;
	}

	/*
	 * markdown: carousel
	 */
	.md_carousel {
		width: 750px;
		margin-left: calc(0px - (750px - 570px) / 2);
	}

	.frontpage div.bg_line > div {
		background-size: auto 100%;
	}

}



/*
 * Size: Small
 */
@media screen and (max-width: 767px)
{
	:root {
		--css-size: small;
	}

	top	nav.page {
		font-size: 16px;
	}
	nav.page ul.d0 > li.header {
		font-size: 13px;
	}
	nav.page ul.d0 > li > a,
	nav.page li a,
	nav.page div.sub_header,
	nav.page .sub_menu a {
		line-height: 34px;
	}
	nav.globals {
		gap: initial;
	}
	nav.globals ul.account a > span.text,
	nav.globals ul.language a > span.text {
		display: none;
	}
	nav.globals ul.account a > span.text.keep {
		display: initial;
	}

	nav a.menu > span {
		display: none;
	}

	div#css_size::before {
		content: 'small';
	}

	div.w {
		max-width: 100vw;
		padding: 0 6px;
	}

	.hyperlink.audio_sleeve .audio_desc img {
		max-width: 20%;
		min-width: 50px;
	}
	.hyperlink.audio_sleeve div.desc_text_right {
		margin-right: 16px;
	}
	.hyperlink.audio_sleeve div.desc_text {
		margin-left: 16px;
	}
	.hyperlink.audio_sleeve div.desc_text_artist {
		font-size: 16px;
	}
	.hyperlink.audio_sleeve div.desc_text_track {
		font-size: 16px;
	}


	div.main_content {
		float: none;
		width: auto;
	}

	div.extra_content {
		width: 100%;
	}
	div.drawer_container.open {
		max-width: 100vw;
		width: 100vw;
		height: calc(100vh - 48px);
		background-color: rgba(0,0,0,0.5);
		top: 76px;
	}
	div.drawer_container_tmp > .white_box {
		margin-right: 8px;
	}
	div.drawer_container > .drawer.open {
		position: fixed;
		right: 0;
		width: 100%;
		max-width: 360px;
	}
	div.drawer.open > .drawer_content {
	}
	div.drawer.open > .drawer_footer {
		display: block;
		height: 46px;
		box-sizing: border-box;
	}

	div.filter_selection li > a,
	body {
		font-size: 16px;
	}

	div.page_text {
		padding: 20px 8px;
	}
	div.page_text video {
		width: 100% !important;
		margin-left: 0;
	}

	div.page_text h2 {
		font-size: 20px;
	}

	html.template_admin main,
	html.template_default main,
	html.template_user main {
		margin-top: 12px;
		margin-left: 0;
		margin-right: 0;
		padding: 0 4px;
		padding-bottom: 16px;
	}
	/* For carousel below */
	html.template_frontpage main {
		overflow-x: hidden;
	}

	div.white_box {
		padding: 10px;
	}

	/*
	 * 
	 */
	html.template_frontpage footer > div {
		max-width: 420px;
		padding: 32px 0;
		flex-direction: column;
		gap: 32px;
		margin: 0 16px;
	}


	/*
	 * material: list
	 */
	div.list_item_two button span.button_text {
		display: none;
	}
	div.material_list.collapsible .list_header .actions {
		display: none;
	}
	div.material_list.collapsible .list_header div.material_menu {
		display: block;
	}
	div.material_list.items_collapsible .items .actions {
		display: none;
	}
	div.material_list.items_collapsible .items div.material_menu {
		display: block;
	}

	/*
	 * material: tooltip
	 */
	.material_tooltip {
		padding: 4px 16px;
	}

	/*
	 * material: app_bar
	 */
	div.app_bar.collapsible .actions {
		display: none;
	}
	div.app_bar.collapsible div.material_menu {
		display: block;
	}
	div.app_bar > div:nth-child(1) {
		font-size: 18px;
	}

	/*
	 * markdown: carousel
	 */
	.md_carousel {
		--cut: 200px;
		width: calc(100% + 2em + var(--cut));
		margin-left: calc(0px - 1em - (var(--cut) / 2));
	}
	.md_carousel .img {
	}
	.md_carousel .img {
	}
	.md_carousel .text_container {
		padding-top: 30%;
		max-width: 95vw;
	}
	.md_carousel .text_1,
	.md_carousel .text_2 {
	}
	.md_carousel .text_1 {
		font-size: 24pt;
	}
	.md_carousel .text_2 {
		font-size: 10pt;
	}
	.md_carousel .text_2 > div {
		max-width: 80vw;
	}

	/*
	 * Frontpage
	 */
	.frontpage {
		padding-top: 0;
		max-width: initial;
		margin: 0 16px;
	}
	.frontpage > div {
		max-width: 420px;
		margin: 0 auto;
	}
	.frontpage div.bg_line {
		--bg-h: 200px;
	}
	.frontpage div.contact > div {
		gap: 16px 8px;
	}
	.frontpage div.contact img {
		width: 42px;
		margin-left: -8px;
	}


}



/*
 * Media: print
 */
@media print
{
	.no_print {
		display: none;
	}
	.only_print {
		display: initial;
	}

	.noprint {
		display: none !important;
	}
	body {
		padding-top: 0;
		background-image: none;
		background-color: transparent;
	}
	nav.bar {
		position: static;
		background-color: transparent;
		border-bottom: 0;
		box-shadow: none;
		height: 1.75cm;
	}
	nav.bar > div > nav {
		padding-top: 0;
	}
	nav a.logo img {
		max-height: 1.5cm;
	}
	nav.row > nav.cell:nth-of-type(1),
	nav.row > nav.cell:nth-of-type(3) {
		display: none;
	}
	main {
		margin-top: 0;
	}
}
