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

	/* colors */
	--color-1: white;
	--color-1-highlight: white;
	--color-2: rgb(8, 58, 128);
	--color-2-highlight: rgb(10, 74, 163);

	--text-color-dark: #222222;
	--text-color-dark-highlight: #555555;
	--text-color-light: white;

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

	/* 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: rgba(0 0 0 / 20%);
	--underline-color: rgba(0 0 0 / 10%);
}

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

body {
	font-family: Arial, sans-serif;
	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;
}


.display_none {
	display: none !important;
}


/*
 *
 */

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

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

h1 {
	font-family: Arial, sans-serif;
	font-weight: bold;
	font-size: 20px;
}

h2 {
	font-size: 18px;
}

h3 {
}


/*
 * template admin
 */
html.template_admin {
	--color-1: #3d5a80;
	--color-1-highlight: white;
}
html.template_admin body {
	padding-top: 64px;
}
html.template_admin main {
	margin-top: 20px;
	padding-bottom: 20px;
}

/*
 * template default
 */
html.template_default {
	--color-1: #3d5a80;
	--color-1-highlight: white;
}
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: bold;
	font-size: 13px;
}
html.template_default main {
	line-height: 1.4;
	margin-top: 20px;
	padding-bottom: 20px;
}

/*
 * template user
 */
html.template_user {
	--color-1: #3d5a80;
	--color-1-highlight: white;
}
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;
}


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 {
	position: fixed;
	top: 0;
	width: 100%;
	height: 64px;

	background-color: var(--color-1);
	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;
	color: #ffffff;
	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;
}


/*
 * 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;
}


/*
 * 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;

}


/*
 * 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: AT, Monospace;
	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);
}



/*
 * 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.w {
		max-width: 768px;
		padding: 0 8px;
	}

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



/*
 * 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.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;
	}


	/*
	 * markdown: carousel
	 */
	.md_carousel {
		--cut: 200px;
		width: calc(100% + 2em + var(--cut));
		margin-left: calc(0px - 1em - (var(--cut) / 2));
		xmargin-top: calc(0px - (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 {
		xfont-size: 36pt;
		font-size: 24pt;
	}
	.md_carousel .text_2 {
		font-size: 10pt;
	}
	.md_carousel .text_2 > div {
		max-width: 80vw;
	}

}



/*
 * 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;
	}
}
