@charset "utf-8";
/* CSS for perath.at */


/****************************************************
 Basic Layout and Positioning
****************************************************/
img {
	border: none;
}
acronym, abbr, span.caps {
	cursor: help;
}
* {
	font-style: normal;
	list-style: none;
	margin: 0;
	outline: none;
	padding: 0;
	text-decoration: none;
}
html, body {
	font: small/150% Arial, Helvetica, Verdana, sans-serif;
	text-align: center;
	width: 100%;
	min-height: 100%;
	height: 100%;
	margin: 0px auto;
	color: #000000;
}
body {
	background-color: #E1E1E1;
}
.topHolder, .middleHolder, .bottomHolder {
	max-width: 1100px;
	margin: 0px auto;
}
body.menu-calendar .topHolder, body.menu-calendar .middleHolder, body.menu-calendar .bottomHolder {
	max-width: 100%;
}
.topHolder {
	/*height: 195px;*/
	overflow: hidden;
}
.topHolder .space {
	max-width: 1100px;
	height: 15px;
	margin: 0px auto;
}
.topHolder .header {
	max-width: 1100px;
	margin: 0px auto;
	border-top: 20px solid var(--color-main, #fff);
	background-color: #fff;
	position: relative;
}
body.menu-calendar .topHolder .space, body.menu-calendar .topHolder .header {
	max-width: 100%;
}
.bottomHolder {
	clear:both;
	height: 35px;
	background-color: #fff;
}
.pagebody {
	margin: 0px auto;
}
.pagebody .center {
	text-align: left;
	float: left;
	overflow: visible;
	width: 100%;
	background: #fff;
}
.pagebody .center .content {
	float: left;
	position: relative;
	box-sizing: border-box;
	max-width: 100%;
	min-height: 400px;
}
body.menu-calendar .pagebody .center .content {
	width: 100%;
}
.pagebody .center .content.leftbar, .pagebody .center .content.leftbar.wide {
	width: calc(100% - 200px);
}
.pagebody .center .content .section {
	padding: 10px 10px 10px 10px;
}
.pagebody .center .content.leftbar {
	margin-left: 0px;
}
.bottomHolder .footer {
	max-width: 750px;
	margin: 0px auto;
}
.leftbar {
	float: left;
	width: 160px;
	margin-left: 10px;
}


/****************************************************
 Header
****************************************************/
.header h1 {
	overflow: hidden;
	padding: 0;
	position: absolute;
	right: 170px;
	margin-top: 10px;
	background: none;
	text-align: right;
}


/****************************************************
 Navigation (ul, li)
****************************************************/

ul {
	list-style: none;
}
li {
	list-style: none;
}

/****************************************************
 Navigation: Main Menu, Sub Menu
****************************************************/
ul.navigation, ul.navigation2 {
	margin-top: 110px;
	position: relative;
	height: 45px;
	background-color: var(--color-main);
	text-align: center;
}
ul.navigation2 {
	margin-top: 0px;
	background-color: #696969;
}
ul.navigation li, ul.navigation2 li {
	float: left;
	height: 30px;
	text-align: left;
	padding-left: 12px;
	padding-right: 5px;
	padding-top: 15px;
}
ul.navigation li a, ul.navigation2 li a {
	color: #ffffff;
	overflow: hidden;
	position: relative;
	text-decoration: underline;
	font-size: 110%;
	line-height: 100%;
}
ul.navigation .selected a, ul.navigation2 .selected a, ul.submenu .selected a {
	text-decoration: none;
}

/* Submenu */
ul.submenu {
	position: relative;
	margin-top: 25px;
}
ul.submenu li {
	text-align: left;
}
ul.submenu li div {
	padding: 4px 5px 0px 12px;
}
ul.submenu li.dotted {
	background: transparent url(../img/bg_submenudotted_repx.gif) repeat-x 1px bottom;
}
ul.submenu li.dotted.overview div {
	background: transparent url(../img/icon_project_overview.gif) no-repeat right 9px;
	margin-right: 10px;
}


/****************************************************
 Basic Styles
****************************************************/
a {
	text-decoration: none;
	color: var(--color-main);
}
a:hover {
	color: var(--color-main);
	text-decoration: underline;
}
h1, h2, h3, h4, h5, h6 {
	font-family: "Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, Verdana, sans-serif;
	font-weight: normal;
	color: #a5a5a5;
}
h1 { /* Main headline of each main page */
	font-size: 200%;
	line-height: 100%;
	color: #444;
	padding-top: 23px;
	padding-left: 10px;
}
.content.homepage h1 {
	padding-top: 15px;
	clear: both;
}
h2, h3, h4 {
	font-size: 130%;
	line-height: 130%;
	color: #444;
	padding-top: 15px;
	padding-bottom: 2px;
}
h3 {
	line-height: 140%;
	color: #444;
}
h4 {
	padding: 0;
	padding-top: 10px;
	font-size: 100%;
}
.txt_info, .txt_updatetime {
	color: #999; 
	font-size: 90%;
	font-weight: normal;
}
.txt_updatetime {
	margin-top: 0px;
	margin-bottom: 5px;
	line-height: 130%;
}
.txt_link {
	color: #999; 
	font-size: 120%;
	font-weight: normal;
}
.txt_info2 {
	color: #000; 
	font-size: 12s0%;
	font-weight: normal;
	padding-left: 10px;
}

p {
	padding-bottom: 10px;	
}

/****************************************************
 Content
****************************************************/

.pagebody .section .recording {
	background-color: #f8f8f8;
	border: 1px solid #ccc;
	width: 100%;
	max-width: 570px;
}
.pagebody .section .ext-area {
	max-width: 570px;
}
.recording.edit {
	background: transparent url(../img/bg_editrecording.png) 0 0;
	border: 1px solid #efc85c !important;
}

/* Downloads */
.pagebody ul.download {
	padding-bottom: 10px;
}
.pagebody ul.download li {
	background: transparent url(../img/download.gif) no-repeat 0 0;
	padding: 4px 0px 5px 30px;
}
.pagebody a.pdfdownload {
	background: transparent url(../img/pdf.gif) no-repeat 0 0;
	padding: 4px 0px 5px 30px;
}

.pagebody #toggleRecordings,
.pagebody #toggleVersions {
	cursor: pointer;
	padding-left: 14px;
	background: transparent url(../img/arrow_collapsed.gif) no-repeat 0px 3px;
	clear: both;
}
.pagebody #toggleRecordings.expandedIcon,
.pagebody #toggleVersions.expandedIcon {
	background: transparent url(../img/arrow_expanded.gif) no-repeat 0px 3px;
}

#budget_graph {
	background-color: #F8F8F8;
	border: 1px solid #ccc;
	height: 30px;
}
#budget_graph .line {
	float: left;
	height: 14px;
	margin-top: 8px;
}
#budget_graph .label {
	color: #333; 
	font-size: 85%;
	font-weight: normal;
	text-align: right;
	margin-top: -3px;
	padding-right: 3px;
}
#budget_x .start {
	float: left;
}
#budget_x .end {
	float: right;
	text-align: right
}
.passwordarea {
	display: none;
	font-weight: bold;
	padding-left: 20px;
}

/* user administration - type of day */

.section .days {
	clear: both;
	margin-top: -10px;
}
.section .days div {
	float: left;
	width: 70px;
}
.section .times {
	clear: both;
}
.section .times div {
	float: left;
	width: 70px;
}



/****************************************************
 Footer
****************************************************/
.bottomHolder .footer {
	text-align: center;
	color: #696969;
	font-size: 12px;
	padding-top: 6px;
}
.bottomHolder .footer .contact {
	text-align: center;
	padding: 0px;
}


/****************************************************
 Messages
****************************************************/
.message_warning, .message_ok, .message_info {
	background: transparent url(../img/icon_warning.gif) no-repeat 15px 0px;
	min-height: 20px;
	line-height: 20px;
	padding-left: 50px;
	padding-right: 15px;
	padding-top: 5px;
}
.message_ok {
	background: transparent url(../img/icon_ok.gif) no-repeat 15px 0px;
}
.message_info {
	background: transparent url(../img/icon_info.gif) no-repeat 15px 0px;
}

.message_warning.top, .message_ok.top, .message_info.top {
	background-position: 15px 15px;
	padding-top: 25px;
	position: relative;
	margin-left: 0px;
}
.message_info.top {
	padding-top: 22px;
}

.notification {
	background: transparent url(../img/icon_info.gif) no-repeat 0px 0px;
	padding: 0px 10px 10px 35px;
	color: #999;
	font-size: 90%;
}


/****************************************************
 Grid
****************************************************/

table.grid {
	border: 1px solid #ccc;
	border-bottom: none;
	min-width: 100%;
}
table.grid thead {
	background-color: #f8f8f8;	
}
table.grid th, table.grid td {
	padding: 2px;
	padding-right: 20px;
	border-bottom: 1px solid #ccc;
	text-align: left;
}
table.grid td.options {
	text-align: right;
	padding-right: 5px;
	min-width: 45px;
}
table.grid td.options img {
	padding-left: 5px;
}
table.grid td.number {
	width: 10px;
}
table.grid td.order {
	width: 32px;
}
table.grid td.hours, table.grid th.hours {
	text-align: right;
	min-width: 70px;
}
table.grid td.duration, table.grid th.duration {
	width: 80px;
}
table.grid td.status0 {
	color: #999;
}
table.grid td.edit {
	background: transparent url(../img/bg_editrecording.png) 0 0;
}
table.grid td.is-overlap {
	background-color: #f0977c;
}
table.grid tr.orderhighlight {
	background-color: #efefef;
}
table.grid td.nopadding, table.grid th.nopadding {
	padding-right: 0px;
}
table.grid td.saturday, table.grid th.saturday {
	background-color: #fef0c8;
	color: #7c5b00;
}
table.grid td.sunday, table.grid th.sunday, table.grid td.holiday, table.grid th.holiday {
	background-color: #ffde83;
	color: #7c5b00;
}



/****************************************************
 Forms
****************************************************/
input, textarea, select, button.button {
	border: 1px solid #444;
	padding: 0.3em;
	font: 12px/16px verdana, helvetica, arial, sans-serif;
	color: #000000;
	margin-bottom: 3px;
}
select:not(:disabled) {
	background: white;
}
input.button, div.button, button.button {
	background: var(--color-main,black);
	color: #fff;
	border-bottom: 1px solid #174b77;
	border-top: 1px solid #4595da;
	border-left: none;
	border-right: none;
	cursor: pointer;
}
input.button.red, div.button.red, button.button.red {
	background: red;
	border-color: red;
}
input.button[disabled], div.button[disabled], button.button[disabled] {
	opacity: 0.7;
	cursor: not-allowed;
}
input:not(.button)[disabled], textarea[disabled], select[disabled] {
	background: lightgray;
	cursor: not-allowed;
}
div.button {
	height: 22px;
	text-align: center;
	cursor: pointer;
}
div.button div {
	padding: 3px 0px 0px 0px;
	cursor: pointer;
}
select {
	padding: 0.2em;
}
.checkbox {
	border: none;
	background: none;
	vertical-align: middle;
}
.textarea_middle_3lines {
	width: 450px;
	height: 50px;
}
.textarea_shorter_5lines {
	width: 404px;
	height: 82px;
}
.textarea_shorter_8lines {
	width: 404px;
	height: 150px;
}
.textarea_middle_6lines {
	width: 450px;
	height: 100px;
}
.textarea_middle_11lines {
	width: 450px;
	height: 176px;
}
.textarea_long_13lines {
	width: 560px;
	height: 200px;
}
.input_longer {
	width: 404px;
}
.input_middle {
	width: 200px;
}
.input_time {
	width: 50px;
}
.input_short {
	width: 80px;
}
.input_long {
	width: 540px;
}
.select_middle {
	width: 210px;
}
textarea:focus, input:focus {
	border: 1px solid var(--color-main, black);
}
span.button_input input:focus {
	border: none;
}
input[readonly="readonly"] {
	border: 1px solid #999999;
    background-color:#F8F8F8;
}

.sticky-footer {
	position: sticky;
	bottom: 0;
	padding: 0.5em 0;
	background-color: #fff;
}

.table-wrapper {
	overflow-x: auto;
	max-width: 100%;
	padding-left: 0 !important;
	padding-right: 0 !important;
	box-sizing: border-box;
}
.table-wrapper table {
	width: unset;
	box-sizing: border-box;
}
table .rotated {
	writing-mode: vertical-rl;
	height: auto;
}
table td.slim, table th.slim {
	padding-right: 2px;
}

table.grid tr.me {
	font-weight: bold;
	background-color: lightgray;
}
table.holiday-table td {
	min-width: 35px;
	white-space: nowrap;
}
table.holiday-table {
	border-left-style: none;
	min-width: unset;
}
table.holiday-table .past, table.holiday-table td.past.sunday, table.holiday-table td.past.saturday, table.holiday-table td.past.holiday {
	opacity: 0.4;
	background-color: #ececec;
}
table.grid .calendar-select.status {
	max-width: 35px;
}
table.holiday-table th:first-child, table.holiday-table td:first-child {
	background-color: white;
	position: sticky;
	left: 0;
	z-index: 1;
	border-left: 1px solid #ccc;
	border-right: 2px double #ccc;
}
table.holiday-table th.me:first-child, table.holiday-table td.me:first-child {
	background-color: lightgray;
}
