/*************************************************************************
*
*        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);
}

img { vertical-align: baseline; }

/* hide some undesired items */
#divNavUp br,
#divNavDown br,
#CCcontent > br.clearBoth,
#CCcontent + br.clearBoth,
#CCspalteNavigation br,
/*.parentBreadcrumb,*/
.spalteKontext,
.webServiceBereichDiv,
.displayNoPrint { display: none; }

/*Taille minimun des textarea à l'impression*/
.PrintDiv { min-height:50px; }
/* Elements invisibles */
.invisible { display: none; color: transparent; background: transparent; border: 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: 5px 0 5px 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; }


/* disabled links */
.navLevel1div a.linkButDisabled { color: #bbb; }
.navLevel1div a.linkButDisabled:before {
	content: " ";
	position: absolute;
	left: 15px; top: 50%;
	width: 20px; height: 20px;
	margin: -10px 0 0;
	background: white;
	opacity: 0.7;
}

/* 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;
}



/**************************************
    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;
}



/**************************************
    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;
}




/**************************************
    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 { background-color: #FFFF99; }
img.error { vertical-align: middle; }
.Input + .error,
.ui-combobox + .error {
	position: relative; z-index: 5;
	margin-left: -20px;
	pointer-events: none;
}
.InputInt + .error { margin-left: 5px; }

.InputIntReadonly + .error { margin-left: 5px; }

/* 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
/*************************************/

input,
select,
textarea { margin: 2px; vertical-align: baseline; }

select,
textarea,
.Input,
.InputInt,
.Input.ui-widget { padding: .4em .3076em; font-size: 14px; }
select,
textarea,
.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 */
textarea { display: block; }
.Input:focus,
.InputInt:focus {
	position: relative; z-index: 1;
    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,
.InputIntReadonly { text-align: right; }
.inputInfo {}
.textarea-large {}
.Input.readOnlyField,
.InputInt.readOnlyField,
.InputIntReadonly,
.Input[readonly] {
    color: #757575;
    background-color: #f5f5f5;
    cursor: default;
	min-width: 50px;
	pointer-events: none; 
}

.Input.readOnlyField:focus,
.InputInt.readOnlyField:focus,
.InputIntReadonly:focus,
.Input[readonly]:focus {
    border-color: #757575;
    box-shadow: none;
}
textarea.Input {
	width: 100%;
	height: 200px;
	min-width: 100%;
	max-width: 100%;
}
.input-large { width: 100%; }

input[type=checkbox],
input[type=radio] {
	vertical-align: baseline;
}

.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
/*************************************/

.surveyName,
.title-cell {
    margin: 0;
    padding: 11px 0;
    font-weight: 400;
    line-height: 1.2;
    color: black;
}
.title-1{
    font-size: 2.5rem;
    font-weight: 100;
}
.surveyName,
.title-2 {
    font-size: 1.7rem;
}
.title-3 {
    font-size: 1.2rem;
}
.title-4 {
    font-size: 1.1rem;
}

.title-cell small {
	display: block;
	font-style: italic;
	color: #757575;
}

.title-cell 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;
}

.title-table { position: relative; margin: 11px 0; }

.title-table .title-cell { padding-top: 0; padding-bottom: 0; }

.title-table .title-cell em {
    position: absolute;
    right: 100%;
	top: 0;
}

/* Tables */
/*
.table_level_1 { background-color: #3B92C5; }
.table_level_2 { background-color: #84C6ED; }
.table_level_3 { background-color: #B2DEF8; }
*/
.table_level_3,
.table_level_3.table-type-1 tr:hover,
.table_level_3.table-type-2 tr:hover { background-color: #e3e6e9; }

.title-with-data {}

.surveyName { display: block; }

.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; }
.emphasized { font-style: italic; }
.small { font-size: 0.8em; }
.big { font-size: 1.1em; }
.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-spaced > tbody > tr > td { padding-left: 10px; padding-right: 10px; }
.table-spaced > tbody > tr > td:first-child { padding-left: 0; }
.table-spaced > tbody > tr > td:last-child { padding-right: 0; }

.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; }

.table-underline { margin: 15px 0 10px; border-bottom: 1px solid #ccc; }

.table-type-1 tr { transition: background-color linear 200ms; }
.table-type-1 tr:hover,
.table-type-1-special tr:hover,
.table-type-2 tr:hover,
.table-type-3 tr:hover,
.table-type-3-special tr:hover,
.table-type-4 tr:hover { background-color: #f2f2f2; }
.table-underline tr:hover,
.no-hover tr:hover { background-color: transparent; }
 
.table-type-1 td,
.table-type-1-special td,
.table-type-2 td,
.table-type-3 td,
.table-type-3-special td,
.table-type-4 td { padding: 5px 0; vertical-align: top; }

.table-type-1 td:first-child,
.table-type-1-special td:first-child{ width: 40px; }
.table-type-1 td:first-child + td + td { width: 100px; text-align: right; }
.table-type-1-special td:first-child + td + td { width: 143px; text-align: left; }
.table-type-1 td:first-child + td + td + td,
.table-type-1-special td:first-child + td + td + td,
.table-type-1.alt-b td:first-child + td + td { width: 16px; padding-left: 10px; }
.table-type-1.alt td:first-child { width: 0; }
.table-type-1.alt td:first-child + td + td,
.table-type-1.alt-b td:first-child { width: auto; }
.table-type-1.alt-b td:first-child + td { text-align: right; }
.table-type-1.alt-c td:first-child { padding-left: 40px; }

.table-type-2 td:first-child,
.table-type-2 td:first-child + td,
.table-type-2-special td:first-child { width: 40px; }
.table-type-2 td:first-child + td + td + td,
.table-type-2 td:first-child + td + td + td + td + td { width: 157.59px; }
.table-type-2 td:first-child + td + td + td,
.table-type-2 td:first-child + td + td + td + td { text-align: right; }
.table-type-2 td:first-child + td + td + td + td { width: 150px; padding-right: 20px; }
.table-type-2 td:first-child + td + td + td + td + td + td,
.table-type-2.alt td:first-child + td + td + td + td + td,
.table-type-2.alt-b td:first-child + td + td + td + td,
.table-type-2-special td:first-child + td + td + td + td,
.table-type-2-title td:first-child + td + td + td { width: 16px; padding-left: 10px; }
.table-type-2.alt td:first-child + td + td + td + td { width: 250px; }
.table-type-2.alt-b td:first-child + td + td + td { width: auto; }
.table-type-2.alt-b td:first-child + td + td + td + td { padding-right: 0; }
.table-type-2.alt-c td:first-child { width: 0; }

.table-type-2-title td:first-child + td { padding-left: 40px; }
.table-type-2-title td:first-child + td + td { width: 200px; text-align: right; }
.table-type-2-title.alt td:first-child + td + td { padding-right: 270px; }

.table-type-2-special td:first-child + td + td,
.table-type-2-special td:first-child + td + td + td { text-align: right; }
.table-type-2-special td:first-child + td + td + td { width: 250px; padding-left: 20px; }


.table-type-3 td:first-child { width: 40px; }
.table-type-3 td:first-child + td + td,
.table-type-3 td:first-child + td + td + td { width: 143px; }

.table-type-3-special td:first-child { width: 40px; }
.table-type-3-special td:first-child + td + td { width: 140px; text-align: right; padding-right: 30px; }
.table-type-3-special td:first-child + td + td + td { width: 143px; padding-right: 20px;}


.table-type-4 td:first-child { width: 40px; }
.table-type-4 td:first-child + td + td,
.table-type-4 td:first-child + td + td + td,
.table-type-4 td:first-child + td + td + td + td,
.table-type-4 td:first-child + td + td + td + td + td,
.table-type-4 td:first-child + td + td + td + td + td + td { width: 90px; }
.table-type-4 td:first-child + td + td + td + td + td + td + td { width: 16px; padding-left: 10px; }

.table-type-1 input,
.table-type-2 input { margin: 0; }
.table-type-1 .Input,
.table-type-2 .Input { margin: -4px 0; }
.table-type-1 img,
.table-type-2 img,
.table-type-3 img { vertical-align: middle; }

.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; }

.space-before { margin-top: 20px; }
.space-after { margin-bottom: 20px; }

td.space-before { margin-top: 0; padding-top: 20px; }
td.space-after { margin-bottom: 0; padding-bottom: 20px; }

td.paragraph-ish { padding-bottom: 10px; }



/**************************************
    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; }



/**************************************
    special cases
/*************************************/

/*Longueur des listes déroulantes*/
.dropDown500{ width:500px; }
.dropDown100{ width:100px; }
.dropDown50{ width:50px; }

#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; }

.table-info > tbody > tr:first-child > td { vertical-align: bottom; }
.table-info > tbody > tr:first-child + tr > td { vertical-align: top; }

.respondent-info .Input {
	margin: -1px 0 0;
	border-radius : 0;
	border-top-style: dotted;
	border-bottom-style: dotted;
}
.respondent-info tr:first-child .Input {
	border-top-style: solid;
	border-top-left-radius: 4px;
	border-top-right-radius: 4px;
}
.respondent-info tr:last-child .Input {
	border-bottom-style: solid;
	border-bottom-left-radius: 4px;
	border-bottom-right-radius: 4px;
}

/********************************************************************

    BUTTON GROUPS WANABE

********************************************************************/

.table-radio-btn { display: inline-table; vertical-align: middle; }
.table-radio-btn input { position: absolute; left: -9999px; /* hidden but focusable */ }
.table-radio-btn label {
    display: block;
    margin: 0 0 0 -1px;
    padding: 6px 12px;
    line-height: 16px;
    vertical-align: baseline;
    text-align: center;
    white-space: nowrap;
    background: #e3e6e9;
    background: linear-gradient(to bottom, #f3f6f9 0%, #e8ebee 50%, #dde0e3 50%, #d3d6d9 100%);
    border: 1px solid #ccc;
    text-shadow: 0 1px 0 #fff;
    cursor: pointer;
}
.table-radio-btn label:hover,
.table-radio-btn label:focus,
.table-radio-btn label:active { box-shadow: 0 0 8px rgba(255,255,255,0.75) inset; }
.table-radio-btn input:focus + label,
.table-radio-btn input:checked + label { position: relative; z-index: 5; }
.table-radio-btn input:focus + label { box-shadow: 0 0 0 2px #66AFE9; }
.table-radio-btn input:checked + label {
    color: white;
    background: #069;
    border-color: #046;
    text-shadow: 0 -1px 0 #000;
}
.table-radio-btn td:first-child label { border-top-left-radius: 4px; border-bottom-left-radius: 4px; }
.table-radio-btn td:last-child label { border-top-right-radius: 4px; border-bottom-right-radius: 4px; }
.table-radio-btn.full-width { width: 100%; }
.table-radio-btn.half-width { width: 50%; }
.table-radio-btn.third-width { width: 33.33%; }
.table-radio-btn.width-50 td { width: 50px; }
.table-radio-btn.equal-2 td { width: 50%; }
.table-radio-btn.equal-3 td { width: 33.33%; }
.table-radio-btn.equal-4 td { width: 25%; }
.table-radio-btn.equal-5 td { width: 20%; }
.table-radio-btn.equal-6 td { width: 16.66%; }

.table-radio-btn.equal-2 label,
.table-radio-btn.equal-3 label,
.table-radio-btn.equal-4 label,
.table-radio-btn.equal-5 label,
.table-radio-btn.equal-6 label { padding-left: 6px; padding-right: 6px; }

/**************************************
    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; }
}


