@media (prefers-color-scheme: light) {
	html {
		filter: invert(1) hue-rotate(180deg);
	}
}

BODY {
	background: #1c1f26;
	padding: 0 0 0 0;
	margin: 0 0 0 0;
	display: flex;
	flex-direction: column;
}

BODY, TD, A, A:visited {
	color: #c0c0c0;
}
INPUT, TEXTAREA, SELECT {
	color: #eeeeee;
}

* {
	outline: none;
}

::-webkit-scrollbar {
	width: 0.3rem;
}
::-webkit-scrollbar-thumb {
	border-right: solid 0.3rem #383838;
	border-radius: 0.1rem;
}
::-webkit-scrollbar-thumb:hover { border-color: #484848; }



A, A:visited {
	text-decoration: none;
}

.sectiontext A, .sectiontext A:visited, .desc A, .desc A:visited {
	text-decoration: underline;
	color: #88aaee;
}

P {
	margin: 4px 0 12px 0;
	padding: 0;
}

HTML, BODY, INPUT {
	font-family: "Trebuchet MS", "Trebuchet", arial, verdana, helvetica, sans-serif;
	font-size: 13px;
}

INPUT, TEXTAREA {
	padding: 1px 4px 1px 4px;
}

TEXTAREA, .desc {
	font-family: "Lucida Console", "Monaco", monospace;
}

TEXTAREA {
	font-size: 13px;
	resize: none;
}

INPUT[type="file"], INPUT[type="text"], INPUT[type="password"], INPUT[type="submit"], TEXTAREA, SELECT {
	background: #10161c;
	border: solid #000 1px;
	border-radius: 0.5rem;
	padding: 0.4em 0.4em;
	margin-top: -1px;
}
INPUT[type="submit"], INPUT[type="button"] {
	border: solid 1px #6f7377;
	background: #1c1f26;
}

INPUT[type="text"]:focus, INPUT[type="password"]:focus {
	background: #2b2f38;
}

TABLE.button, TABLE.button TD {
	font-size: 12px;
	line-height: 22px;
}
TABLE.button TD.m {
	background: url('/img/but-big-m.png') repeat-x;
	padding: 0 18px 0 16px;
}
TABLE.button TD.m IMG {
	vertical-align: -2px;
}
TABLE.button {
	cursor: pointer;
}

TABLE.button:hover, a.tab {
	filter: brightness(1.2);
}
A:hover > img {
	filter: brightness(1.35);
}

.hilite, A.hilite, A.hilite:visited {
	color: #f0f0f0;
}
.todo, .todo TD {
	color: #eee;
}
.done, .done TD {
	color: #888888;
}

#headerbarcontainer {
	height: 3rem;
	box-sizing: border-box;
}
#headerbar {
	position: relative;
	margin: 10px 18px 0 12px;
}

#headerinfo TD {
}

a.tab {
	cursor: pointer;
	display: inline-block;
	background: #0c141e;
	color: #aaa;
	line-height: 30px;
	padding: 0 1.25rem;
	margin-right: 1px;
	border-radius: 2px 2px 0 0;
}
a.tab.active {
	background: #2b2f38;
	color: #fff;
}
a.tab:hover,
a.tab.active:hover
{
	filter: brightness(1.5);
}

a.tab img {
	margin-right: 0.8em;
}

a.tab:first-of-type {
	border-top-left-radius: 0.5rem;
	border-bottom-left-radius: 0.5rem;
}
a.tab:last-of-type {
	border-top-right-radius: 0.5rem;
	border-bottom-right-radius: 0.5rem;
}

#mainboxcontainer {
	overflow-y: scroll;
	overflow-x: hidden;
	width: 100%;
	position: absolute;
	top: 3rem;
	height: calc(100% - 3rem);
	box-sizing: border-box;
}

#mainbox {
	z-index: 11;
	padding: 14px;
	min-height: 100%;
	box-sizing: border-box;
}

#mainbox > table {
}

#sidebarbut {
	position: fixed;
	width: 12px;
	height: calc(100% - 4.5rem);
	top: 4.3rem;
	border-radius: 2px;
}
#sidebarbut::after {
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	text-align: center;
	content: '⋮';
	display: block;
}
#sidebarbut:hover {
	background: #fff1;
}

.desc {
	font-size: 11px;
}

.period {
	font-size: 11px;
}

.yearplanner {
}
.yearplanner TD {
	border-right: solid 1px #202020;
	border-bottom: solid 1px #505050;
	background: #383838;
	vertical-align: middle;
	text-align: center;
	font-size: 11px;
	color: #808080;
	white-space: nowrap;
}
.yearplanner TH {
	border-right: solid 1px #555555;
	border-bottom: solid 1px #555555;
	vertical-align: middle;
	text-align: center;
	font-weight: normal;
}
.yptag {
	position: absolute;
	background: url('img/yptag-bg.png');
	border-top: solid 1px #777777;
	border-left: solid 1px #777777;
	border-bottom: solid 1px #111111;
	border-right: solid 1px #111111;
	font-size: 9px;
	padding: 1px 3px 1px 3px;
	margin-top: -7px;
}
.yptag, .yptag A {
	color: #f0f0f0;
	font-weight: bold;
}

.tasklist {
	margin-top: 1rem;
}
.tasklist TD, .tasklist TH {
	padding: 0.35rem 0.6rem;
	vertical-align: top;
}
.tasklist TH {
	font-weight: bold;
	color: #f0f0f0;
}
.tasklist TD {
	background: #1c1f26;
}

TR.firstdayline > TD {
	border-top: solid #10161c 1px;
}
TR.alarm > TD {
	background: #4477aa;
}

.tasklist TABLE.onetask TD {
	padding: 0 0 0 0;
}
.tasklist DIV.hoverbuts {
	position: absolute;
	right: 0;
	top: -3px;
	width: 70px;
	padding: 2px 0 2px 5px;
	border-top: solid #555555 1px;
	border-left: solid #555555 1px;
	border-bottom: solid #111111 1px;
	border-right: solid #111111 1px;
	background: #333333;
}

TABLE.horizspace TD {
	padding-right: 16px;
}

table.newtask {
	width: 100%;
	border-spacing: 0.5rem 1rem;
}

table.newtask TD {
	vertical-align: top;
}
table.newtask TD.sectionhead {
	vertical-align: middle;
}

.sectionhead {
	color: #f0f0f0;
}

.noborder TD {
	border: none;
}

TABLE {
	border-spacing: 0;
	border: none;
}

TABLE.layouttable TD, TABLE.layouttable TR {
	border: none;
	padding: 0;
	margin: 0;
	background: transparent;
}

.modulebox {
	padding: 1rem;
	background: #242730;
	border-radius: 0 0 0.5rem 0.5rem;
	margin-bottom: 1rem;
}
.modulebox_vertical {
	line-height: 20px;
}

.match {
	background: #ffd0a0;
}

.free {
	background: #222222;
}


.todaytext {
	font-weight: bold;
}
.feierdaytext {
	color: #ee3333;
}

.boxheader {
	background: url('img/header-active-m.png') repeat-x;
	color: #f0f0f0;
}

.moduleheader {
	color: #ccc;
	cursor: pointer;
	padding: 0.75rem 1rem;
	border-radius: 0.5rem 0.5rem 0 0;
	background: #2b2f38;
}

.moduleheader_on {
	color: #fff;
}

.moduleheader:hover,
.groupheader:hover,
.tasklist TR.taskrow:hover,
.tasklist TR.today:hover,
button:hover
{
	filter: brightness(1.2);
}

.calheader {
	font-size: 14px;
	font-weight: bold;
}

TD.groupheader {
	background: transparent;
	padding-top: 1.5rem;
	padding-bottom: 0.7rem;
	text-align: center;
	line-height: 1.1em;
}
.groupheader, .groupheader TD, .groupheader A {
	color: #f0f0f0;
}

TD.taskbuts {
	text-align: right;
	padding-right: 4px;
	white-space: nowrap;
	width: 80px;
	vertical-align: top;
}
/*TD.taskbuts > a {
	visibility: hidden;
}
TR.taskrow:hover TD.taskbuts > a {
	visibility: initial;
}*/

TD.groupbuts {
	text-align: right;
	white-space: nowrap;
}
TD.groupbuts > a {
	visibility: hidden;
}
TR.grouprow:hover TD.groupbuts > a {
	visibility: initial;
}
TR.grouprow TD {
	padding: 0.2rem 0;
}


H1, H2, .icms_page_title_input {
	font-size: 15px;
	font-weight: bold;
	font-style: normal;
	color: #f0f0f0;
}
H3, .icms_section_title_input {
	font-size: 13px;
	color: #e0e0e0;
	font-weight: bold;
	font-style: normal;
}
H4 {
	font-size: 13px;
	color: #e0e0e0;
	font-weight: normal;
	font-style: normal;
	padding: 0;
	margin: 12px 0 5px 0;
}

P, LI {
	text-align: left;
	line-height: 1.5em;
}

LI {
	padding-bottom: 5px;
}

FORM {
	padding: 0 0 0 0;
	margin: 0 0 0 0;
}

.footer, .footer A, .footer A:visited {
	font-size: 12px;
	text-align: center;
	color: #888888;
	padding-bottom: 12px;
}
.footer A, .footer A:visited {
	text-decoration: underline;
}

HR {
	border-top: none;
	border-right: none;
	border-left: none;
	border-bottom: solid 1px #888888;
}

INPUT.admin, SELECT.admin {
	background: #883300;
}

TR.hlhover:hover {
	background: #333333;
}

IMG {
	border: none;
}

.hilfeimg {
	text-align: right;
	padding: 8px 16px 8px 16px;
	float: left;
	clear: both;
	font-style: italic;
}
.hilfeimg IMG {
	border-top: solid 1px #303030; border-left: solid 1px #303030; border-right: solid 1px #eeeeee; border-bottom: solid 1px #eeeeee;
	margin-bottom: 2px;
}


.bigger {
	font-size: 16px;
	font-weight: bold;
}

.kwcell {
	font-size: 10px;
	color: #777777;
	font-weight: bold;
	font-style: italic;
	white-space: nowrap;
	line-height: 10px;
}

.kwtbl, .kwtbl TD, .kwtbl TR {
	padding: 0 0 0 0;
	margin: 0 0 0 0;
	border: none;
}

.colpre {
	border-top: solid 1px #111111;
	border-left: solid 1px #111111;
	border-bottom: solid 1px #444444;
	border-right: solid 1px #444444;
	padding: 0 0 0 0;
	margin: 0 0 0 0;
}
.yplegend {
	padding: 0 0 0 8px;
	margin: 0 0 0 0;
	vertical-align: bottom;
}

.searchresulthi {
	font-weight: bold;
	font-style: italic;
}

.checkbox {
	background: url('img/checkbox.png') no-repeat left 1px;
	padding-left: 16px;
	margin-right: 12px;
	cursor: pointer;
	white-space: nowrap;
}
.checkbox_checked {
	background: url('img/checkbox-checked.png') no-repeat center left;
	color: #ffffff;
}
.checkbox_dis {
	background: url('img/checkbox-dis.png') no-repeat center left;
	color: #888888;
}
.checkbox:hover {
	color: #fff;
}
td.groups .checkbox {
	margin: 0.8rem 0;
	display: block;
}
.checkbox > img {
	margin: -2px 0.1em 0 0.1em;
}

.help {
	width: 13px;
	height: 13px;
	position: absolute;
	z-index: 2;
	margin-top: -5px;
	margin-left: -4px;
	display: none;
	background: url('img/help.png') repeat-x;
	cursor: pointer;
}
.help:hover {
	background-position: 13px 0;
}

INPUT.icms_error_input, TEXTAREA.icms_error_input {
	border: solid red 1px;
}

.error {
	color: red;
	font-weight: bold;
}

OL, UL {
	padding: 0 0 0 0;
	margin: 0 0 16px 0;
}
UL LI, OL LI {
	padding: 0 0 0 0;
	margin: 9px 0 0 24px;
}
UL LI {
	list-style-image: url('/img/li.png');
}

.caption {
	line-height: 1.25em;
	margin-top: 6px;
	font-size: 12px;
	color: #efefef;
	text-align: center;
}

.warning {
	background: #aa0000;
	padding: 7px 15px 5px 15px;
	margin-bottom: 12px;
	color: #ffffff;
}
.warning A, .warning A:visited {
	color: #ffffff;
}

DIV.notice {
	background: url('/img/notice.png') no-repeat #28384c 8px 6px;
	color: #b0c0e0;
	padding: 4px 8px 4px 30px;
	margin: 6px 4px 4px 4px;
}

/******************** WEEK *********************/

.weektitle {
	text-align: center;
	margin: 0 0 1px 0;
	padding: 3px;
	background: #404040;
	overflow: hidden;
	white-space: nowrap;
}
.week_today .weektitle {
	background: #30445c;
}

.weekday {
	position: relative;
	font-size: 12px;
	line-height: 19px;
	background: #10161c;
	cursor: pointer;
}
.week_today .weekday {
	background: #303840;
}

.weektask, .weekday_cursor {
	position: absolute;
	width: 100%;
	height: 19px;
	overflow: hidden;
	z-index: 3;
}

.weektask_text, .weekday_cursor_text {
	background: #444444;
	padding: 0 4px 0 6px;
}
.weektask:hover {
	overflow: visible;
	height: auto;
	z-index: 20;
}
.weektask_text:hover {
	background: #4f4f4f;
}
.week_today .weektask_text {
	background: #384755;
}
.week_today .weektask_text:hover {
	background: #40576f;
}
.weektask_text:hover .weektask_timetill_noshow {
	display: block;
}


.weekdayall {
	width: 14%;
}

TR.today TD {
	background: #2c4054;
}

.weekday_cursor_container {
	margin-left: 15px;
	position: relative;
	cursor: pointer;
}
.weekday_cursor {
	display: none;
	z-index: 4;
	font-size: 12px;
	line-height: 19px;
}
.weekday_cursor_text {
	background: #183348;
}

.weekday_hours {
	position: relative;
	font-size: 10px;
}

.weekday_hours DIV {
	color: #777777;
	position: absolute;
	border-top: dashed 1px #1f1f1f;
	width: 100%;
	z-index: 3;
	cursor: pointer;
}
.weekdayall.week_today {
	background: #182028;
}

DIV.weektask_time, DIV.weektask_timetill {
	position: absolute;
	font-size: 10px;
}
.weektask_time {
	color: #9cbadf;
}
.weektask_timetill {
	color: #808488;
}
.done .weektask_time, .done .weektask_timetill {
	color: #888888;
}

.weektask_time {
	top: 0;
}
.weektask_timetill {
	bottom: 0;
}

.weektask_title {
	margin-left: 30px;
}

TD.weekdaylane {
	vertical-align: top;
	padding-left: 3px;
}

.week_feiertitle {
	font-size: 11px;
	text-align: center;
	color: #f0f0f0;
	background: #383838;
	font-style: italic;
	white-space: nowrap;
	overflow: hidden;
}

.weektask_buts {
	text-align: right;
	padding: 3px 0 3px 0;
}

#week_curtime {
	border-top: solid #445577 1px;
	height: 1px;
	width: 100%;
	position: absolute;
	left: -1px;
	z-index: 3;

}

.weektask_timetill_noshow {
	display: none;
	position: relative;
	top: 1em;
}

.weekday_addtask {
	float: left;
	margin-top: 1px;
	margin-left: 1px;
}

.weekday_moon {
	float: right;
	margin: 2px 2px 0 0;
}

span.taskicons {
	margin-left: 0.1em;
}

span.taskicons img {
	margin: 0 0.1em;
}

button {
	background: #31353e;
	color: #eee;
	text-align: center;
	border: none;
	margin: -1px 0 0 0;
	padding: 0.38em 2em;
	box-sizing: border-box;
	border: solid #000 1px;
	border-radius: 0.5rem;
}

button > img {
	margin-right: 0.5em;
	vertical-align: -0.15em;
}
