body {
	margin: 0;
	padding: 0;
	background-color: #EAECEE;
	font-family: Verdana, sans-serif;
	/* 
	   reactive layout: use rem instead of px as font-size unit
	   --------------------------------------------------------
	   Standard browser font-size: 16 px (i.e. 100.0 %)  ==> "font-size: 62.5%;" is 10 px
	   ==> easy usage of rem in this css because 1.0rem is 10 px
	       ==> 1.2rem is 12 px (e.g. useful for font-size)
	       ==> 0.1rem is  1 px (e.g. useful for spacing)
	   (remember:  em is relative to its parent element,
	              rem is relative to the "root" element, i.e. body)
	*/
	font-size: 10px;
}

/* headings */
h1 {
    font-size: 150%;  
}
h2 {
    font-size: 130%;  
}
h3 {
    font-size: 110%;  
}

#header {
	height: 20px;
    border-top: 3px solid #c0c0c0;
    border-bottom: 3px solid #c0c0c0;
	background: #204080;
	text-align: center;
	color: #f0f0f0;
	margin: 0px;
	margin-top: 3px;
	padding: 0px;
}

#header h1 {
    /* padding-top: 3px; */
    margin: 0px;
	font-size: 150%;
}

#header a {
	color : #f0f0f0;
}

#page {
	background: #ffffff;
	/* sidebar: 180, content: rest */
	width: 1000px;
	margin-left: auto;
	margin-right: auto;
	border-right: solid 2px #a0a0a0;
	border-bottom: solid 2px #a0a0a0;
}

#sidebar {
	float: right;
	width: 180px;	
	border-left: 1px solid #d0d0d0; 
    border-right: 0px;
    border-top: 0px;
    border-bottom: 0px;
	min-height: 240px;
	padding: 4px;
	padding-top: 2px;
	margin: 2px;
}

#sidebar h1 {
	display: block;
	font-size: 120%;
	border-bottom: 1px solid #d0d0d0;
	padding-bottom: 2px;
}

#container {
	padding: 2px;
}

#content {
	border: 1px;
	border-color: Transparent;
    /* font-size: 120%; */
    font-size: 100%;
    min-height: 240px;
    padding-top: 0px;
    padding-left: 4px;
	width: 780px;
}

#footer {
	text-align: center;
	padding: 8px;
	margin: 8px;
	border-top: 1px solid #c0c0c0;
	clear : both;
}

.panel {
	border: 1px solid #d0d0d0;
	padding: 8px;
	margin: 8px 4px 16px 4px;
	background: #fafafa;
}

.panel h1 {
	font-size: 120%;
	display: block;
	background: #f0f0f0;
	padding: 6px;
	margin: -8px;
	border-bottom: 1px solid #d0d0d0;
	margin-bottom: 8px;
}

.odd {
	background: #f0f0f0;
}

.even {
	background: #ffffff;
}

.dataTable {
	border-collapse: collapse;;
	width: 100%;
}

.dataTable th {
	background: #204080;
	color: #f0f0f0;
	padding: 3px;
	border: 1px solid #f0f0f0;
}

.dataTable td {
	border: 1px solid #d0d0d0;
	padding: 1px;
}

.caption {
	float: left;
	width: 100px;
}

.formCaption {
	float: left;
	width: 100px;
	padding-top: 4px;
}

.value {	
	margin-right: 8px;
}

.errorMessage {
    /* red */
    color: #ff0000;
    font-weight: bold;
    font-size: 120%;
    /* font-size: 20px; */
    /* border: 1px solid #ff0000; */
}

.warningMessage {
    /* yellow */
    color: #ffcc33;
    font-weight: bold;
    font-size: 120%;
}

.correctMessage {
    /* green */
    color: #20A020;
    font-weight: bold;
    font-size: 120%;
}

.property {
	margin-bottom: 12px;
}

/* Debugging: make text fields visible
   ATTENTION: this name is used by class DebugModus!!! */
.debugFont_ON {
	color: black;
	font-size: 10px;
}

/* Debugging: make text fields invisible
   ATTENTION: this name is used by class DebugModus!!! */
.debugFont_OFF {
	color: white;
	font-size: 10px;
}

.stdAppFont {
	color: blue;
	font-size: 10px;
}

.input_form_string_30 {
    width:26px;
    border: 2px solid #d0d0d0;
    padding: 0px;
    font-size: 10px;
}

.input_form_string_30_mandatory {
    width:26px;
    border: 2px solid #d0d0d0;
    padding: 0px;
    font-size: 10px;
    background-color: silver;
}

.input_form_string_100 {
    width:96px;
    border: 2px solid #d0d0d0;
    padding: 0px;
    font-size: 10px;
}

.input_form_string_100_mandatory {
    width:96px;
    border: 2px solid #d0d0d0;
    padding: 0px;
    font-size: 10px;
    background-color: silver;
}

.input_form_string {
    width:196px;
    border: 2px solid #d0d0d0;
    padding: 0px;
    font-size: 10px;
}

.input_form_string_mandatory {
    width:196px;
    border: 2px solid #d0d0d0;
    padding: 0px;
    font-size: 10px;
    /* #C0C0C0 */
    background-color: silver;
}

.divInput {
    margin-top: 12px;
    padding-top: 12px;  
}

ul {
    /* 1 line */
    margin-top: 0.5em;
    margin-bottom: 0.5em;
}

li {
    /* 1 line */
    /* margin-bottom: 1em; */
    margin-bottom: 0.5em;
}

img {
	 border-width: 0px;
}

.buttonSeparator {
    height: 1px;
    color: #d0d0d0;
    background-color: #d0d0d0;
    border:1px solid #d0d0d0;
}

.button_mandatory {
    /* border: 2px solid #d0d0d0; */
    padding: 1px;
    font-size: 12px;
    /* #C0C0C0 */
    background-color: silver;
}

.selectBox_course_status {
    border: 2px solid #d0d0d0;
    width:70px;
    font-size: 10px;
}

.selectBox_course_status_mandatory {
    width:70px;
    font-size: 10px;
    background-color: silver;
}

.selectBox_small {
    border: 2px solid #d0d0d0;
    width:100px;
    font-size: 10px;
}

.selectBox_small_mandatory {
    width:100px;
    font-size: 10px;
    background-color: silver;
}

.verticalChechbox {
    border: 2px solid #d0d0d0;
    /* width:300px; */
    font-size: 10px;
}

.selectBox {
    border: 2px solid #d0d0d0;
    width:200px;
    font-size: 10px;
}

.selectBox_mandatory {
    width:200px;
    font-size: 10px;
    background-color: silver;
}

.label {
    /* width:100px; */
    /* padding: 0px; */
    font-size: 10px;
}

.photo {
    /* width: 70px; */
    height: 70px;
}

.photo_small {
    height: 25px;
}

.signature {
    /* width: 70px; */
    height: 30px;
}

/* new dataTable styles*/
/* see http://www.mkyong.com/jsf2/jsf-2-datatable-example/*/
.tableStyle {
    border-collapse: collapse;;
    width: 100%;
}

.tableStyle-header {
    background: #204080;
    color: #f0f0f0;
    padding: 3px;
    border: 1px solid #f0f0f0;
}

.tableStyle-oddRow {
    border: 1px solid #d0d0d0;
    padding: 1px;
}

.tableStyle-evenRow {
    border: 1px solid #d0d0d0;
    padding: 1px;
    /* background-color: silver; */
    /* background-color: #EAECEE; */
    /* background-color: #D3D4D6; */
    background-color: #A9AAAB;
}

.tableStyle-column-left {
    text-align: left;
}

.tableStyle-column-right {
    text-align: right;
}

.tableStyle-column-center {
    text-align: center;
}

