/* ################ Generell ################ */
* {
	--orange: #f57323; 
	--blau: #1F4E79;
	--weiss: #f2f2f2;
	--schwarz: #404040;
	--grau: #a1a1a1;
	--hellgrau: #dfdfdf;
	--dunkelgrau: #343434;
	--altweiss: #fff;
	--rot: darkred;	
	--positiv: darkgreen;
	--negativ: darkred;	
	--gridmenu: 1.8rem;	
	--error-background: #FFE6F1;
	--darkblue: #00437a;
	box-sizing: border-box;
}

html, body { 
	height: 100%; 
	/*min-width: 1000px; */
}
body { 
	height: 100%; 
	padding: 0px; 
	margin: 0px; 
	font-family: verdana,arial,helvetica; 
	font-size: 14px;
	color: var(--schwarz); 
	background-color: var(--weiss); 
	letter-spacing: -0.5px;
}

/* entfernt bunten Border Chrome */
input:focus, select:focus, textarea:focus, input:hover, select:hover, textarea:hover, button:hover {
	outline: none;
}
/* entfernt gepunkteten Border Firefox */
input::-moz-focus-inner, select::-moz-focus-inner, textarea::-moz-focus-inner, button::-moz-focus-inner {
	border: 0;
}

input[type=submit] {
	color: var(--schwarz); 
	cursor: pointer;
}
#container {
	position: relative;
	margin: 0 auto;
	background: var(--hell);
	height: 100%;
}
#content {
	margin: 0px;
	padding: 5px 6px; 
	width: 100%; 
	/* Höhe minus Header + Footer */
	height: calc( 100% - 120px );
	min-height: 400px;
	overflow-x: hidden;
	overflow-y: auto; 
	background: #dddddd;
	/*
	background: -moz-linear-gradient(top,  #dddddd 0%, #FFFFFF  50%);
	background: -webkit-linear-gradient(top,  #dddddd 0%,#FFFFFF  50%);
	background: linear-gradient(to bottom,  #dddddd 0%,#FFFFFF  50%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#dddddd', endColorstr='#FFFFFF ',GradientType=0 );
	*/
}
#wrapper { 	
	position: relative;
	margin: 0 auto; 
	width: 90%;
	/* Höhe minus #content padding */
	height: calc( 100% - 12px );
	overflow-y: auto;
}
h1 {
	font-size: 2em;
	color: var(--blau);
	margin: 0px 0px 20px;
	line-height: 80px;
	text-align: center;
	font-weight: bold;
}
a, a:link, a:active, a:visited { 
	text-decoration: none; 
	color: var(--blau); 
	cursor: pointer;
}
a:hover {
	text-decoration: none;
	color: var(--orange); 
}
#header { 
	background: var(--altweiss); 
	color: var(--blau);
	border-bottom: 3px solid var(--blau); 
	padding: 0px;
	height: 60px;
}
#logo {
	height: 42px;
	width: 80px;
	border: 0px none;
	background-image: url("/style/img/logo_partneroffice.png"); 
	background-size: contain;
	background-repeat: no-repeat;
	margin-left: 60px;
	margin-top: 8px;
	display: inline-block;
}
#menu_mobile {
	display: inline-block;
	width: calc(95% - 150px);
	margin-right: 5%;
}
#submenu {
	width: max-content;
	height: 100%;
	padding: 0.5rem;
	float: left;
}
#subcontent {
	float: left;
	width: inherit;
}
#smenu {
	margin: 0px;
	padding: 0px;
}
#smenu li {
	padding: 0.5rem;
	border: 1px solid #CCC;
}
#menu {
	padding: 0px;
	margin: 0px;
	text-align: right;
}
#menu li {
	display: inline-block;
	margin-right: 1%;
	font-weight: bold;
}
#menu a {
	color: var(--blau);
}
#menu a:hover, #menu a:active  {
	color: var(--orange); 
}

#pwforgotten {
	cursor: pointer;
}
.positiv {
	color: var(--positiv);
}
.negativ {
	color: var(--negativ);
}
div#head_wrapper {
    position: relative;
    margin: 0 auto;
    width: 90%;
}
/* ################ Footer ################ */
#footer {
	height: 60px;
	padding-left: 60px;
	padding-right: 2px;
	position: fixed;
	bottom: 0px;
	left: 0px;
	width: 100%;
	background-color: var(--dunkelgrau);
	border-top: 2px solid var(--grau);
	color: var(--weiss);
}
#footertitle {
	font-size:1.2em;
	letter-spacing: 2px;
	color:  var(--blau);
	padding: 5px 0px
}
a.footerlink { 
	color:  var(--schwarz);
	margin-right: 20px;
}	
#footercopyright {
	float:right;
	font-size: 0.9em;
}
/* ################ ... ################ */
ul {
	list-style-type: none;
}
.clearfix {
	display: inline-block;
	display: block
}
.clearfix:after {
	content: "";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden
}
.error {
	color: red;
	font-size: 120%;
}
.nosel {
	-webkit-touch-callout: none; /* iOS Safari */
	-webkit-user-select: none; /* Safari */
	-khtml-user-select: none; /* Konqueror HTML */
	-moz-user-select: none; /* Firefox */
	-ms-user-select: none; /* Internet Explorer/Edge */
	user-select: none; /* Non-prefixed version, currently supported by Chrome and Opera */
}
.hidden {
	display: none;
}
.inline {
  display: inline-block;
}

/* Checkbox Design */
label.newdesign_checkbox {
	display: block;
	position: relative;
	padding-left: 22px;
	height: 25px;
	line-height: 23px;
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}
label.newdesign_checkbox input[type="checkbox"], label.newdesign_checkbox input[type="radio"] { 
	display:none;
}
.newdesign_checkbox_span {
	position: absolute;
	top: 5px;
	left: 0px;
	height: 16px;
	width: 16px;
	border-radius: 1em;
	background-color: var(--hellgrau);
}
label.newdesign_checkbox:hover input ~ .newdesign_checkbox_span {
	box-shadow: 0px 0px 6px -2px var(--blau);
	outline: none;
}
label.newdesign_checkbox input:checked ~ .newdesign_checkbox_span {
	background-color: var(--blau);
}
label.newdesign_checkbox :after {
	content: "";
	position: absolute;
	display: none;
}
label.newdesign_checkbox input:checked ~ .newdesign_checkbox_span:after {
	display: block;
}
label.newdesign_checkbox .newdesign_checkbox_span:after {
	left: 6px;
	top: 3px;
	width: 3px;
	height: 6px;
	border: solid white;
	border-width: 0 3px 3px 0;
	-webkit-transform: rotate(40deg);
	-ms-transform: rotate(40deg);
	transform: rotate(40deg);
}
.indrag {
	color: red;
}

/* ENDE Checkbox Design */
/********* MOBILE MENÜ **********/
	#menuToggle input {
		width: 0px;
		height: 0px;
		
	}
	#menuToggle span {
		display: none;
	}
	#menu {
		color: var(--blau);
		position: absolute;		
		left: 170px;
		margin: 0px 0 0 -55px;
		padding: 40px 10px 10px;
		background: var(--altweiss);
		list-style-type: none;
		-webkit-font-smoothing: antialiased;
		transform-origin: 0% 0%;
		transform: translate(0%, -100%);
		transition: transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0);
		width: 90%;
	}
	#menu h4 {
		color: var(--altweiss) !important;
	}
	#menu li {
		padding-right: 10px;
		display: inline-block;
	}
	#menu li a {
		color: var(--blau);
	}
	#menuToggle input:checked ~ ul {
		transform: none;
	}

	.menulist, .mlzeile, .atsave {
		cursor: pointer;
	}

	.menuTablet {
		display: inline-block;
		padding-left: 4px;
		font-size:1.3em;
	}

	.formTablet {
		position: inherit !important;
		opacity: initial !important;
		background: transparent !important;
		width: auto !important;
		color: #1c4e88 !important;
		font-weight: normal !important;
	}
	
#menu_mobile img { display:none; }
/********* ENDE MOBILE MENÜ **********/
#submenu {
	width: max-content;
	height: 100%;
	padding: 0.5rem;
	float: left;
}
#subcontent {
	float: left;
	width: inherit;
}
#smenu {
	margin: 0px;
	padding: 0px;
}
#smenu li {
	padding: 0.5rem;
	border: 1px solid #CCC;
}
/************ RESPONSIVE: Uebergrosse Monitore ************/
@media all and (min-width: 1600px) {	
	body{
		font-size: 16px;
	}
}
/************ RESPONSIVE: Mobile-Menü ************/
@media all and (max-width: 1200px) {
	#menu { 
		width: 300px; 
		left: 0px;
		margin: -40px 0 0 -55px; 
	}
	#menu li {
		padding: 5px; 
		display: inherit; 
		text-align: left;
		margin-left: 20px;
		}	
	#menuToggle {
		display: block;
		
		position: absolute;
		top: 15px;
		left: 15px;
		z-index: 9999;
		-webkit-user-select: none;
		user-select: none;
	}
		#menuToggle input {
		display: block;
		width: 40px;
		height: 32px;
		position: absolute;
		top: -7px;
		left: -5px;
		cursor: pointer;
		opacity: 0; 
		z-index: 2;
		-webkit-touch-callout: none;
	}
	#menuToggle span {
		display: block;
		width: 30px;
		height: 4px;
		margin-bottom: 4px;
		position: relative;  
		background: var(--blau);
		border-radius: 3px; 
		z-index: 1; 
		transform-origin: 4px 0px;  
		transition: transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0),
								background 0.5s cubic-bezier(0.77,0.2,0.05,1.0),
								opacity 0.55s ease;
	}

	#menuToggle span:first-child {
		transform-origin: 0% 0%;
	}

	#menuToggle span:nth-last-child(2) {
		transform-origin: 0% 100%;
	}

	#menuToggle input:checked ~ span {
		opacity: 1;
		transform: rotate(45deg) translate(-2px, -1px);
		background: var(--blau);
	}

	#menuToggle input:checked ~ span:nth-last-child(3) {
		opacity: 0;
		transform: rotate(0deg) scale(0.2, 0.2);
	}

	#menuToggle input:checked ~ span:nth-last-child(2) {
		transform: rotate(-45deg) translate(0, -1px);
	}
}
/************ RESPONSIVE: Mobile ************/
@media all and (max-width: 800px) {	
	body{ font-size: 16px; }
	#header { height: auto; }
	#wrapper { height:auto; }
}
/************ PRINT ************/
@media print {
	#menu_mobile {
		display:none;
	}
	.wrapper {
		width:100%;
	}
	.noprint {
		display: none;
	}
	#tabelle {
		font-size: 0.9em;
	}
	#footertitle, .footerlink{
		display: none;
	}
}