/*************************************************************************
*
*        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: calc(100% - 60px);
    min-width: 1360px;
    max-width: 1360px;
    margin: 0 auto;*/
	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,
.spalteKontext,
.webServiceBereichDiv,
.displayNoPrint { display: none; }



/**************************************
    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; }


/**************************************
    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; }

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 -5px -1px -41px;
    padding: 10px 10px 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; }

/* 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;
}



/**************************************
    navigation buttons
/*************************************/

.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;
}



/**************************************
    content
/*************************************/

#CCcontent { min-height: 640px; margin-top: 20px; }
#divNavUp,
#WrapperTable,
#CCcontent { margin-bottom: 20px; }
#CCspalteContent { margin: 0; padding: 0 25px 0 270px; }



/**************************************
    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;
}
.checkbox-centered{
	margin-left: 2.5%;
}

/**************************************
    input styling override
    CD-BUND inspired
/*************************************/

select,
.Input,
.InputInt,
.Input.ui-widget { padding: .4em .3076em; font-size: 14px; }
select,
.Input,
.InputInt {
    line-height: 1.2;
    color: #555;
    border: 1px solid #757575;
    box-sizing: border-box;
    border-radius: 4px;
	/*width: 100%;*/
	/*min-width: 150px;*/
}
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%;
}

.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 {}

.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 }

/**************************************
    information box
/*************************************/

.info-box {
    overflow: hidden;
	margin: 0 0 25px;
	background: #f2f2f2;
	border-radius: 5px;
	box-shadow: 0 0 0 1px rgba(0,0,0,0.1) inset;
	padding: 15px;
}
.info-box .title-cell { color: inherit; }
.info-box td { padding: 15px; }
.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.special { font-style: italic; color: #757575; background-color: #D8E8EF; }
.info-box.special td { padding-top: 10px; padding-bottom: 10px; }


/**************************************
    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 > 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-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-input > tbody > tr { transition: background 100ms linear; }
.table-input > tbody > tr:hover { background: rgba(0,0,0,0.1);}

.table-info-img { position: relative; }
.table-info-img.warning-block td:first-child { position: absolute; left: -33px; top: 28px; }
.page-intro .table-info-img.warning-block td:first-child,
#P0S1T12 td:first-child { top: 5px; }

.table-indent > tbody > tr > td:first-child { padding-left: 30px; }
.table-indent > tbody > tr > td.no-padding { padding-left: 0; }

.table-phone {
    text-align: center;
    border: 1px solid #757575;
    border-collapse: separate;
    border-radius: 4px;
}
.table-phone .input-phone {
    width: 50px;
    text-align: center;
    border: none;
}

.table-repeat {
    background: #f5f5f5;
    border: 1px solid #ccc;
    border-collapse: separate;
    border-radius: 4px;
}
.table-repeat td { padding: 0 5px 5px; }
.table-repeat td:first-child { width: 200px; }
.table-repeat tr:first-child td { padding-top: 5px; padding-bottom: 15px; }
.table-repeat tr:last-child td { padding-top: 15px; }
.table-repeat input + input { margin-left: 10px; }
.table-repeat select,
.table-repeat .Input { width: 60px; }
.table-repeat td:first-child .Input,
.table-repeat td:first-child .ui-combobox { width: 100%; }

/* hide last-column properly */
.table-repeat.repQuestB1 td:last-child { display: none; }
.table-repeat.repQuestB1 tr:last-child td:last-child { display: table-cell; }


/*
.block-area .table-input .Input { width: 60px; }
.block-area .table-input td:last-child,
.block-area .table-input td:first-child + td { white-space: nowrap; }
*/
.page-8 .table-input td:first-child { width: 35%; }
.page-8 .table-input td:first-child + td { width: 1%; }



/**************************************
    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; }
}


/* customization to solve issue from BUILD-7103 */
#Q1L1Pg4 table.table-repeat input[type=number] {
	width: 120px;
}

#Q1L1Pg4 #C730xx, #C732_Title {
	margin-bottom: 0px;
    border: 0;
}

#Q1L1Pg4 #C730xRepeater, #C732_Repeater{
    border: 0;
}