/*************************************************************************
*
*        CUSTOM STYLE OVERRIDE
*
*************************************************************************/

html { font-size: 87.5%; }

html body { /* avoid using !important by using a more specific selector */
    font-size: inherit;
    line-height: 1.6;
    color: #454545;
    cursor: default;
}

body > form {
    width: 80%;
    min-width: 1024px;
    max-width: 1160px;
    margin: 0 auto;
}
#CCconteneur { min-width: 0; }

table input[type=radio],
table input[type=checkbox] {
    width: 20px;
    height: 20px;
    vertical-align: middle;
    cursor: pointer;
}
table input + label {
    padding-left: 10px;
    cursor: pointer;
}

.intro-img {
	height: auto;
	width: 100%;
	box-shadow: 0px 0px 10px 5px rgba(0, 0, 0, 0.2);
}

/* hide some undesired items */
#divNavUp br,
#divNavDown br,
#CCcontent > br.clearBoth,
#CCcontent + br.clearBoth,
#CCspalteNavigation br,
/*.parentBreadcrumb,*/
.webServiceBereichDiv,
.displayNoPrint { display: none; }



/**************************************
    navigation
/*************************************/

#divNavUp .nav-buttons { display: inline-block; margin: 0; }
#divHeader { position: relative; z-index: 10; }

#CCspalteNavigation {
    top: 143px; /* header height */
    padding-top: 20px;
    padding-left: 15px;
    box-sizing: border-box;
}

#navPageList_DataListPg { border-top: 1px solid #ccc !important; }
#navPageList_DataListPg + table > tbody > tr { display: none; }
#navPageList_DataListPg + table > tbody > tr:nth-last-child(2) { display: table-row; }

td.navLevel1div,
td.navLevel1divActive { display: table-cell; } /* correct issue causing unwanted borders to appear on the nav items */

.navLevel1div,
.navLevel1divActive { padding: 0; border-top: 1px solid #ccc; }
.navLevel1divActive { background: transparent; }

.navLevel1div table,
.navLevel1divActive table { width: 100%; }
.navLevel1div td,
.navLevel1divActive td { padding: 0; }
.navLevel1div td:first-child,
.navLevel1divActive td:first-child { width: 20px; }
.navLevel1div a,
.navLevel1divActive a {
    position: relative;
    z-index: 5;
    display: block;
    /* make nav link zone cover the whole row rather than just the word... */
    margin: -1px 0 -1px -41px;
    padding: 10px 0 10px 41px;
}
.navLevel1divActive a {
    padding-left: 35px;
    border-left: 5px solid #dc0018;
}
.navLevel1div a.navLevel1,
.navLevel1divActive a.navLevel1Active,
.navLevel1div a.navLevel1:hover,
.navLevel1divActive a.navLevel1Active:hover,
.navLevel1div a.navLevel1:focus,
.navLevel1divActive a.navLevel1Active:focus { background: transparent; }

/* arg! */
.navLevel1divActive  a.navLevel1Active:active,
.navLevel1divActive  a.navLevel1Active:hover,
.navLevel1divActive  a.navLevel1Active:focus,
.navLevel1div  a.navLevel1:active,
.navLevel1div  a.navLevel1:hover,
.navLevel1div  a.navLevel1:focus { text-decoration: none !important; }
.navLevel1divActive  a.navLevel1Active:active span,
.navLevel1divActive  a.navLevel1Active:hover span,
.navLevel1divActive  a.navLevel1Active:focus span,
.navLevel1div  a.navLevel1:active span,
.navLevel1div  a.navLevel1:hover span,
.navLevel1div  a.navLevel1:focus span { text-decoration: underline; }

/* small list bold letters */
#CCspalteNavigation i {
    display: inline-block;
    min-width: 1.2em;
	line-height: 1.2em;
	font-style: normal;
	font-weight: bold;
    text-align: center;
	color: white;
	background: #454545;
	border-radius: 2px;
}

#divNavUp { position: relative; }

div.spalteKontext {
    position: absolute;
    right: -15px; top: 0;
    float: none;
    display: block;
    margin: 0; padding: 0 0 0 15px;
    width: auto; height: auto;
    background: white;
}

div.spalteKontext a,
div.spalteKontext a:link,
div.spalteKontext a:active,
div.spalteKontext a:focus,
div.spalteKontext a:hover,
div.spalteKontext a:visited{
    display: block;
    padding: 0 10px 0 30px;
    line-height: 32px;
    background: #ddd url('../../images/icons/logout.png') 10px 45% no-repeat;
    border-radius: 4px;
}



/**************************************
    header
/*************************************/

#bundLogo { margin-top: 10px; }
#bundLogo h1 { margin: -3px 0 0; font-size: 1rem; }
#bundLogo img { width: 239px; margin-right: 25px; padding-right: 25px; } /* correct logo quality issue... */

#webHeaderLinks a,
#webHeaderLinks a:link,
#webHeaderLinks a:visited { padding-top: .5em; padding-bottom: .5em; }

div.parentBreadcrumb { width: auto; float: none; }
div.breadcrumb {
    height: auto;
    margin: 0 -15px 15px;
    padding: 5px 15px;
    font-weight: normal;
    color: inherit;
	background: #f2f2f2;
}
.breadcrumbs { min-height: 17px; }



/**************************************
    navigation buttons
/*************************************/

#divNavDown { clear: both; }
.Parent_linkbuttonNav,
.linkbuttonNav { font-size: 0; } /* content is only images, remove unwanted spacing between inlined items*/
.linkbuttonNav { display: inline-block; }
.linkbuttonNav input {
    display: block;
    margin: 0 10px;
    cursor: pointer;
}
.linkbuttonNav input:hover,
.linkbuttonNav input:focus { opacity: 0.8; }

.nav-btn, .toolbar a { font-size: 1rem; }
#navUp_fileUploadLabel {
	position: absolute;
	right: 100%;
	margin-right: 90px;
	white-space: nowrap;
	border-radius: 4px;
}
#navUp_fileUploadLabel:before {
	float: none;
	display: inline-block;
	vertical-align: text-top;
}




/**************************************
    tooltip
/*************************************/

body .ui-tooltip {
    padding: .25em .75em;
    color: #454545;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-shadow: 0 0 0 1px rgba(255,255,255,0.5), 0 0 15px rgba(0,0,0,0.2);
}



/**************************************
    content
/*************************************/

#CCcontent { min-height: 640px; margin-top: 20px; }
#divNavUp,
#WrapperTable,
#CCcontent { margin-bottom: 20px; }
#CCspalteContent { margin: 0; padding: 0 25px 0 280px; }



/**************************************
    error table
/*************************************/
#TableError {
	display: none;
    margin: 0 0 20px;
    color: #a94442;
    vertical-align: middle;
    border: 1px solid #f2dede;
    box-sizing: border-box;
    border-radius: 5px;
    border-collapse: separate;
}
#TableError td {
    border: none;
}
#TableError table {
    margin: 0 0 10px;
    background-color: transparent !important;
    border: none;
}
#TableError table tr {
    cursor: pointer;
    transition: background-color 300ms ease-out;
}
#TableError table tr:hover {
    background-color: #f2dede;
}
#TableError table td {
    padding: 7px 15px;
    text-align: left;
}
#TableError table td:first-child {
    width: 1% !important;
}
#TableError table tr:first-child {
    cursor: default;
    background-color: #f2dede;
    border-bottom: 10px solid white;
}
#TableError table tr:first-child td {
    padding-top: 15px;
    padding-bottom: 15px;
    font-weight: bold;
    color: inherit !important;
    background-color: transparent !important;
}

#TableError img { vertical-align: middle; }
#TableError .error { background-color: transparent; }

input.error { background-color: #FFFF99; }
img.error { vertical-align: middle; }
.Input + .error,
.ui-combobox + .error,
.Input + .error-marker,
.ui-combobox + .error-marker {
	margin-left: 5px;
}
.has-error,
.has-warning {
	position: relative;
	display: inline-block;
	padding-right: 20px;
}
.has-error img.error,
.has-error .error-marker,
.has-error .warning-marker,
.has-warning img.error,
.has-warning .error-marker,
.has-warning .warning-marker {
	position: absolute;
	right: 0;
	top: 50%;
	margin-top: -8px;
}

/* place date picker above errors */
.ui-datepicker { z-index: 10 !important; }



/**************************************
    error images
/*************************************/

img.warning { pointer-events: none; vertical-align: middle; }
input + img.warning { margin-left: 5px; }
.ui-combobox + img.warning {
	position: relative;
	z-index: 1;
	margin-left: -21px;
}
.checkbox + img.warning {
	position: relative; top: -18px;
	margin-left: -18px;
}


/**************************************
    input styling override
    CD-BUND inspired
/*************************************/

select,
.Input,
.InputInt,
.Input.ui-widget { padding: .4em .3076em; font-size: 14px; }
select,
.Input,
.InputInt {
	display: inline-block;
    line-height: 1.2;
    color: #555;
    border: 1px solid #757575;
    box-sizing: border-box;
    border-radius: 4px;
}
select { max-height: 29px; } /* avoid height flickering when loading page */
.Input:focus,
.InputInt:focus {
    outline: none;
    border-color: #66afe9;
    box-shadow: 0 1px 1px rgba(0,0,0,0.075) inset,
        0 0 8px rgba(102,175,233,0.6);
}
.InputInt { text-align: right; }
.inputInfo {}
.textarea-large {}
.Input.readOnlyField,
.InputInt.readOnlyField {
    color: #757575;
    background-color: #f5f5f5;
    cursor: default;
	min-width: 50px;
	pointer-events: none; 
}
.InputInt.TotalField {
	float: left;
}
.Input.readOnlyField:focus,
.InputInt.readOnlyField:focus {
    border-color: #757575;
    box-shadow: none;
}
textarea.Input {
	width: 100%;
	height: 200px;
	min-width: 100%;
	max-width: 100%;
}
.input-large { width: 100%; }

label.disabled { opacity: 0.6; }

.camo-input,
.camo-input.Input {
	width: 50px;
	text-align: center;
	background: transparent;
	border: none;
	cursor: default;
}
.camo-input:focus,
.camo-input.Input:focus { outline: none; }

.ui-combobox { margin-right: 0; padding-right: 1.8em; box-sizing: border-box; }
.ui-combobox-input { border-top-right-radius: 0; border-bottom-right-radius: 0; }
.ui-combobox-button { border-color: #757575; }
/* set max combobox height */
.ui-combobox-menu ul.ui-autocomplete { max-width: 500px; max-height: 20em; }
.ui-combobox-menu .ui-menu-item { display: block; width: auto; padding: 0.35em; }
.ui-combobox-menu .ui-menu-item a { line-height: 1.2; }
.ui-combobox-menu .ui-menu-item:nth-child(even) { background: rgba(0,0,0,0.075); }



/**************************************
    titles and text
/*************************************/

.title,
.title-2,
.title-3,
.text_title_1,
.text_title_2,
.text_title_3,
.surveyName {
    margin: 0;
    padding: 11px 0;
    font-weight: 400;
    line-height: 1.2;
    color: black;
}
.title,
.text_title_1 {
    font-size: 2.5rem;
    font-weight: 100;
}
.title-2,
.text_title_2,
.surveyName {
    font-size: 1.7rem;
}
.title-3,
.text_title_3 {
    font-size: 1.2rem;
}

.text_title_1 small,
.text_title_2 small,
.text_title_3 small {
	display: block;
	font-style: italic;
	color: #757575;
}

.text_title_1 em,
.text_title_2 em,
.text_title_3 em {
    margin: .1em 5px 0 0;
    padding: .1em .2em;
    font-size: 0.8em;
    color: white;
    background: #069;
    font-style: normal;
    font-weight: 100;
    min-width: 1.1em;
    text-align: center;
    border-radius: 4px;
}

.table_level_1,
.table_level_2,
.table_level_3 { position: relative; margin: 11px 0; }

.table_level_1 .text_title_1,
.table_level_2 .text_title_2,
.table_level_3 .text_title_3 { padding-top: 0; padding-bottom: 0; }

.table_level_1 .text_title_1 em,
.table_level_2 .text_title_2 em,
.table_level_3 .text_title_3 em {
    position: absolute;
    right: 100%;
	top: 0;
}

.table_level_1 {}
.table_level_2 {}
.table_level_3 {}

/* hairline below titles... unsure about this one
td.title,
td.title-2,
td.title-3 { position: relative; }
td.title:after,
td.title-2:after,
td.title-3:after {
    content: "\0020";
    position: absolute;
    left: 0; bottom: .75em;
    width: 100%;
    border-bottom: 1px solid #ccc;
}
*/

.surveyName { display: block; }

.title-with-data {}

.details { font-size: 0.8em; font-style: italic; }

.columns {
    column-count: 2;
    column-gap: 20px;
    margin-bottom: 1.6em;
}

p { margin: 0 0 20px; }

.strong { font-weight: bold; }
.warning { font-weight: bold; color: #a30; }
.warning-text { font-size: 1.2em; font-weight: bold }

/**************************************
    pseudo col system... o_o
/*************************************/

.two-col-l,
.two-col-r { float: left; max-width: 50%; }
.two-col-r:after {
	content: "\0020"; /* space character */
	display: table;
	clear: both;
}
.two-col-l > tbody > tr > td { padding-right: 10px; }
.two-col-r > tbody > tr > td { padding-left: 10px; }
.clear-l { clear: left; }
.clear-r { clear: right; }


/**************************************
    tables everywhere... T_T
/*************************************/

.table-input,
.table-radio,
.table-radio-h,
.table-checkbox,
.table-repeat { margin-bottom: 20px; }

.table-input .table-radio { margin-bottom: 0; }
.table-input.full-width input,
.table-input.full-width .Input { width: 100%; }

.table-input > tbody > tr > td,
.table-radio > tbody > tr > td,
.table-radio-h > tbody > tr > td,
.table-checkbox > tbody > tr > td { padding-top: 2px; padding-bottom: 3px; }
.table-input > tbody > tr > td + td,
.table-radio > tbody > tr > td + td,
.table-checkbox > tbody > tr > td + td { padding-left: 10px; }
.table-radio-h > tbody > tr > td + td { padding-left: 20px; }

.table-radio input { float: left; }
.table-radio input + label { display: block; padding-left: 30px; }
.table-checkbox td:first-child { width: 1px; }

.table-half { max-width: 50%; }
.table-3-4 { max-width: 75%; }
.table-auto { width: auto !important; max-width: 100%; }

.table-col-2 > tbody > tr > td { width: 50%; }
.table-col-3 > tbody > tr > td { width: 33.33%; }
.table-col-4 > tbody > tr > td { width: 25%; }

.table-info-img { position: relative; }
.table-info-img td:first-child { position: absolute; left: -33px; bottom: 5px; }
.table-info-img td:first-child img { vertical-align: bottom; }

.table-indent > tbody > tr > td:first-child { padding-left: 30px; }
.table-indent > tbody > tr > td.no-padding { padding-left: 0; }

.page-quest .table-col-2 > tbody > tr > td:first-child { padding-right: 10px; text-align: right; }
.page-quest .table-col-2 > tbody > tr > td:first-child + td { padding-left: 10px; }

.page-quest .table-col-2 table label { padding-left: 5px; }
.page-quest .table-col-2 table td + td { padding-left: 15px; }

.page-quest .table-col-2.table-input td:first-child { vertical-align: top; }



/**************************************
    select2
/*************************************/

#s2id_FBUR { min-width: 120px; }

.combo-item {}
.combo-item strong,
.combo-item span,
.combo-item i { display: block; }

.select2-drop.select2-drop-above.select2-drop-active { border-bottom: 1px solid #999; }

/**************************************
    information box
/*************************************/

.info-box {
    overflow: hidden;
	margin: 15px 0;
	background: #f2f2f2;
	border: 1px dotted #666;
    border-collapse: separate;
    border-radius: 15px;
}
.info-box td { padding: 30px; }
.info-box h4 { margin-bottom: 5px; }
.info-box h4:first-child { margin-top: 0; }
.info-box ul { margin-bottom: 20px; }
.info-box li { margin-bottom: 10px; }
.info-box p { position: relative; }
.info-box p .note { position: absolute; right: 100%; margin-right: 5px; }
.info-box p:last-child { margin-bottom: 0; }

.info-box.info-box-small {
    width: calc(100% + 20px) !important;
    margin: -5px -10px 15px;
    color: #006699;
    background: #D8E8EF;
    border: 1px dotted #006699;
    border-radius: 4px;
}
.info-box.info-box-small td { padding: 5px 10px; }



/**************************************
    special cases
/*************************************/

#P4S1T2 > tbody > tr > td + td { vertical-align: top; }
#P4S1T2 .table-tooltip td { padding-bottom: 8px; }

.employees {
	position: relative;
	margin: 15px 0;
	background: #f2f2f2;
	border: 1px solid #ccc;
	border-collapse: separate;
	border-radius: 4px;
}
.employees tr:first-child td,
.employees tr:first-child + tr td{ padding-top: 10px; }
.employees tr:last-child { position: absolute; right: 0; margin: 11px -3px 0 0; }
.employees td:first-child { width: 85px; padding-left: 15px; }
.employees tr:last-child td { border: 0; }
.employees tr:last-child td,
.employees td:first-child + td { padding: 0; }
.employees td:last-child { padding-right: 15px; text-align: right; }
.employees tr + tr td { border-top: 1px dotted #ccc; }

.employees tr:first-child td:first-child + td { position: absolute; left: 15px; top: 10px; }

.employees td:first-child .ui-button {
	height: 24px !important;
    width: 24px !important;
    margin: 0;
    padding: 0;
	font-size: 1rem !important;
    line-height: 1;
}

.table-input.employees td:last-child .readOnlyField { border: none; }

/* hide column add buttons and footer remove button */
#action_rptEmploye_Del_Bottom,
input[id^='action_rptEmploye_Insert_'] { display: none; }

.employee-info {
	width: auto !important;
	margin: -15px -15px 15px;
	background: #f2f2f2;
}
.employee-info td { padding: 1px 15px 1px 0; }
.employee-info td:first-child { padding-left: 15px; }
.employee-name { font-weight: bold; }
.employee-number { opacity: 0.6; }

.employer-info {
    overflow: hidden;
	background: #f2f2f2;
    border-radius: 4px;
}
.employer-info td:first-child { padding-left: 15px; }
.employer-info td:last-child { padding-right: 15px; }
.employer-info tr:first-child td { padding-top: 10px; }
.employer-info tr:last-child td { padding-bottom: 10px; }
.employer-info .Input {
	display: block;
	font-weight: bold;
	background-color: white;
	border: none;
}

.sub-quest .table-input { border-collapse: separate; }
.sub-quest .table-input > tbody > tr > td { padding-top: 5px; padding-bottom: 5px; }
.sub-quest .table-input-next { margin-top: -20px; }
.sub-quest .table-input tr + tr td,
.sub-quest .table-input-next tr:first-child td { border-top: 1px dotted #ccc; }

#btnSendData {
	margin: 0 0 20px;
	color: white;
	background: #dc0018;
	border: 1px solid #b00;
}
#btnSendData:hover { background-color: #e03; }

.ui-autocomplete.ui-menu { z-index: 10 !important; }

.checkmark {
    display: inline-block;
    width: 20px;
    height: 20px;
    text-align: center;
    color: white;
    background: #5cb85c;
    border-radius: 4px;
}

.remark {
	display: block;
	font-size: .8em;
	color: #dc0018;
}



/**************************************
    visualisation settings
/*************************************/

/* horrible selector nominee... >_< */
div[aria-describedby=ViewFormular] {
	left: 50% !important;
	top: 5% !important;
	min-width: 960px;
    min-height: 90%;
    margin: 0px 0px 0px -480px;
}

#ViewFormular {
    position: absolute;
	left: 0;
	top: 0;
    height: 100% !important;
	padding: 10px 10px 10px 55px;
    border-top: 44px solid transparent;
    border-bottom: 62px solid transparent;
    box-sizing: border-box;
}

#ViewFormular + .ui-widget-content {
	position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    background: transparent;
    box-sizing: border-box;
}


/**************************************
    last page
/*************************************/

#PrintPage .nav-btn-save,
#PrintPage .nav-btn-upload,
#PrintPage .nav-btn-validate,
/* hide dialog message when not in use, avoid FOUC */
#CCspalteContent > #dialog-message,
#CCspalteContent > #dialog-sendData { display: none; }

#dialog-message,
#dialog-sendData { overflow: hidden; height: auto !important; }

#PrintPage .toolbar .nav-btn,
#PrintPage .nav-buttons .nav-btn { border-radius: 4px; }

#btnSendData {
	margin: 0 0 20px;
	color: white;
	background: #069;
	border: 1px solid #058;
}
#btnSendData:hover { background-color: #004b70; }
#btnSendData:active { background-color: #00334d; }


/**************************************
    print settings
/*************************************/

.print-only { display: none; }

/* page breaks */
.page-break { page-break-after: always; }
.block-remarks,
.repeater-item { page-break-inside: avoid; }
.page-container { page-break-before: always; clear: both; }
.page-container:first-child { page-break-before: avoid; }
.block-transport-header { page-break-after: avoid; }

/* final page print */
form > #WrapperTable > tbody > tr > td > div { padding-left: 60px; }
body.print-page { zoom: normal !important; width: 1024px; }
.print-page > form { width: 100%; min-width: 0; max-width: none; }
.print-page .quest-container { padding: 0 10px; }
.page-container:after { content: " "; display: table; clear: both; }

#web_PrintHeader { display: block; padding-left: 30px; }
#web_PrintHeader img { width: 100%; }

div.printBreadcrumb {
    height: auto;
    padding: 5px 10px;
    border-left: 50px solid white;
    border-right: 20px solid white;
    box-sizing: border-box;
}

div.PdfPrint { width: 1024px !important; }
div.PdfPrint .ui-combobox-input { border-top-right-radius: 4px; border-bottom-right-radius: 4px; }
div.PdfPrint .ui-combobox-button { display: none; }
div.PdfPrint .print-only { display: block; }
div.PdfPrint .page-container + .page-container { margin-top: 500px; } /* force page break with silly PDF creator */
div.PdfPrint .page-container:last-child { margin-top: 28cm; } /* force page break with silly PDF creator, for last page */
div.PdfPrint .page-container:first-child:last-child { margin-top: 0; } /* avoid excessive margin with a single page */
div.PdfPrint .page.day > table:first-child { clear:both; }
div.PdfPrint .page.day > table:first-child:before,
div.PdfPrint .page.day > table:first-child:after { content: " "; display: table; clear: both; }

/* direct page print */
@media print {
	html { font-size: 10pt; }
	body { zoom: normal !important; }
	body > form { width: 100%; min-width: 0; max-width: none; }
	#CCconteneur { min-width: 0; }
	#CCspalteNavigation { display: none; }
	#CCspalteContent { padding-left: 60px; }
	#webHeaderLeft { width: 450px; }
	#bundLogo { width: 450px; }
	#webServiceBereichDiv { width: auto; }
	#webHeaderLinks,
	#divNavDown { display: none; }
}


