/*
	opentime
	$Author: laury $
	$URL: svn://svn.noparking.net/usr/local/svn/opentime/medias/css/styles_futura.css $
	$Revision: 18614 $

	Copyright (C) No Parking 2010 - 2026
*/


/* General
-------------------------------------------------------------------------------------------------------*/

* {
	margin: 0;
	padding: 0;
}

.clear {
	line-height: 0;

	clear: left;

	height: 0;
}

.clearfix:before,
.clearfix:after {
	display: table;

	content: '';
}

.clearfix:after {
	clear: both;
}

.clearfix {
	zoom: 1;
}

ul, li {
	list-style: none;
}

a {
	text-decoration: none;

	color: var(--link-color);
}

a:hover {
	text-decoration: underline;
	color: var(--link-color);
}

p {
	line-height: 1em;
}

header, section, footer, aside, nav, article, figure {
	display: block;
}

body {
	font-family: Helvetica, Arial, sans-serif;
	font-size: 14px;

	line-height: 150%;
	text-align: left;

	color: var(--text-color);
	background: var(--body-background) repeat-x top left var(--background-color);
}

body.body-childless {
	background: var(--body-background-childless) var(--background-color) repeat-x left top;
}

img {
	border: none;
}

.body-accounts_mobile {
	background: var(--body-background-childless) var(--background-color) repeat-x top left var(--background-color);
}

.weekend {
	background: var(--grey);
}

small {
	font-size: 55%;
}

big {
	font-size: 175%;
}


/* Table header sticky
-------------------------------------------------------------------------------------------------------*/

.followupchargeplan tbody tr:first-child th,
.hour_table tbody#header tr:first-child th,
.hour_table_ajax tbody#header tr:first-child th,
.hour_table_ajax_detailed tbody#header tr:first-child th,
.hour_table_detailed tbody#header tr:first-child th,
.hour_table_detailed_select tbody#header tr:first-child th,
.hour_table_monthly tbody#header tr:first-child th,
.hour_table_monthly_ajax tbody#header tr:first-child th,
.hour_table_monthly_select tbody#header tr:first-child th,
.hour_table_monthly_totals tbody#header,
.hour_table_monthly_static tbody#header tr:first-child th,
.hour_table_monthly_static_annual_total tbody#header,
.hour_table_monthly_static_select tbody#header tr:first-child th,
.hour_table_monthly_static_totals tbody#header,
.hour_table_per_week tbody#header tr:first-child th,
.hour_table_select tbody#header tr:first-child th,
.hour_table_tripleselect tbody#header tr:first-child th {
	background-color: var(--background-color) !important;
	position: sticky;
	top: 0;
	z-index: 2;
}

/* Header
-------------------------------------------------------------------------------------------------------*/

.content_header {
	width: 950px;
	margin: 0 auto;
}

.content_header .outer_top,
.content_header .outer_bottom {
	display: none;
}

.content_header .outer_text a {
	text-decoration: none;

	color: var(--grey-medium-light);
}

.content_header .outer_text a:hover {
	color: var(--grey-dark);
}


/* ---- Raccourci mobile - identifiant - se deconnecter ---- */
.layout_shortcut_mobile {
	display: none;
	float: left;

	margin-top: -25px;
	padding-left: 25px;
}

.layout_shortcut_mobile a {
	font-size: 1em;

	color: var(--text-color-light);
}

.layout_shortcut_mobile a:hover {
	text-decoration: underline;
}

.layout_logged_in_as {
	font-size: 12px;

	position: absolute;
	top: -41px;
	right: 0;

	height: 13px;
	min-width: 145px;
	text-align: right;
	margin: 0;
	padding: 14px 15px 14px 0;

	cursor: pointer;

	color: var(--grey-medium-dark);
	background: url(../images/arrow_grey_bottom.png) no-repeat right center;
}

.layout_logged_in_as:hover {
	background: url(../images/arrow_grey_bottom_hover.png) no-repeat right center;
}

.layout_logged_in_as a {
	font-size: 1em;

	text-decoration: underline;

	color: var(--grey-medium-dark);
}


/* Contenu
-------------------------------------------------------------------------------------------------------*/

.content {
	width: 80%;
	margin: 0 auto;
	padding: 0;

	border-radius: 0;
	background: none;
	box-shadow: none;
}

.content_outer {
	margin: 0;
	padding-top: 41px;
}

* + html .content_outer {
	margin-top: 0;
}

.content_0 {
	position: relative;
}



/* Padding in all content */
.bottom_0,
.content_working,
.content_aside,
.content_attention,
.content_notice,
.content_todo,
.content_warning,
.content_action,
.content_views,
.content_action_filter,
.content_action_result {
	margin: 30px 0 15px 0;
	padding: 0;

	background: var(--background-color);
}

.heading {
	background: var(--background-color);
	clear: both;
	margin: 30px 0;
	padding: 0;
}

.content_action_filter {
	position: relative;

	margin: 0;
}

.body-userholidays .content_working form,
.body-absenceboard .content_working form {
	overflow-x: initial;

	min-height: 280px;
}

.body-usertime .content_working form .level1 select,
.body-usertime .content_working form .level2 select {
	padding: 6px 20px 6px 4px !important;
}

.layout_status {
	margin: 20px 0 10px 0;
	padding: 0;
}

.layout_status:empty {
	margin-top: 0;
}


/* Heading h2 */

.heading .length-top {
	position: absolute;
	right: 16px;
	bottom: 10px;

	display: inline-block;
}

.heading .length-top li {
	display: inline-block;

	min-width: 14px;
	min-height: 14px;
	margin: 0 0 0 5px;
	padding: 5px;

	text-align: center;

	color: var(--text-color-light);
	border-radius: 3px;
	background: var(--attention-color);
}

.heading .outer_text {
	position: relative;
}

.body-small h2 {
	padding-bottom: 0;

	border-bottom: none;
}

.heading h2 div.help,
.heading h2 div.help a {
	font-size: 14px;
	font-weight: normal;
}

.content_working h3 {
	font-size: 1.2em;

	margin-bottom: 10px;

	color: var(--text-color);
}

.content_working h4 {
	font-size: 1em;

	margin-bottom: 10px;

	color: var(--text-color);
}

.body-projectaccounts h4::first-letter {
	text-transform: uppercase;
}

/* Classe Typo */

blockquote {
	font-style: italic;

	padding: 10px;

	color: var(--grey-dark);
}


/*========================
	Heading - Timeline
========================*/
.timeline {
	display: block;
	float: none;

	width: auto;
}

thead.timeline {
	display: table-header-group;

	color: var(--text-color);
}

.timeline li.displayed {
	position: relative;
}

.timeline li.displayed:before {
	content: '.';
	text-indent: 50px;
	overflow: hidden;
	display: block;
	width: 27px;
	height: 3px;
	position: absolute;
	top: -6px;
	left: -2px;
	background: var(--grey);
}

.timeline li.displayed:after {
	content: '.';
	text-indent: 50px;
	overflow: hidden;
	display: block;
	width: 27px;
	height: 3px;
	position: absolute;
	bottom: -6px;
	left: -2px;
	background: var(--grey);
}

.extra {
	margin-top: 8px;
	margin-bottom: 30px;
}

/*========================
	Actions
========================*/

/* ---- Actions ---- */

.content_views_actions {
	margin: 20px 0;
}

.content_views {
	margin: 0 0 15px 0;
}

.content_views:before,
.content_views:after {
	display: table;

	content: '';
}

.content_views:after {
	clear: both;
}

.content_views .inserts_wrapper .action_new {
	background: var(--background-color);
}

.content_views .inserts_wrapper .action_new a:hover {
	text-decoration: none;
	color: var(--grey-dark);
	border-color: var(--grey-medium-dark);
}

.outer_top,
.outer_bottom {
	display: none;

	text-align: right;
}

/* ---- Action Filter ---- */

.content_toolbar_container {
	position: absolute;
	width: auto;
	top: 0;
	right: 16px;

	margin: 0 !important;
	padding: 25px !important;

	border: 1px solid var(--grey);
	border-radius: 4px;
	background: var(--grey-light);
}

.content_toolbar_container .mask {
	position: absolute;
	top: 10px;
	right: 0;

	padding: 20px 35px 20px 20px;

	border: 1px solid var(--grey) !important;
	background: var(--background-color) !important;
	box-shadow: none;
}

.content_toolbar_container form table {
	width: 348px;
	border-spacing: 0px 5px;
}

.content_toolbar_container div:empty {
	display: none;
}

.content_toolbar_container td.small {
	display: none;
}

/* Pointer */
.content_toolbar_container .outer_top {
	position: absolute;
	top: -8px;
	right: 12px;

	display: none;

	width: 16px;
	height: 8px;

	background: url(../images/futura/pointer-actionfilter.png) no-repeat top left;
}

.content_toolbar_container .outer_text {
	padding: 0;
}

.close_box {
	position: absolute;
	top: 10px;
	right: 10px;

	text-align: right;
}

.close_box a,
.close_box a:hover {
	font-size: .9em;
	font-weight: normal;

	display: inline-block;
	overflow: hidden;

	width: 15px;
	height: 15px;
	padding: 0;

	text-decoration: none;
	text-indent: 999px;

	color: var(--grey-dark);
	border: none;
	border-radius: 0;
	background: none;
	background: url(../images/genova/ico-close-small.gif) no-repeat center center;
	text-shadow: none;
}

.close_box a:hover {
	background: url(../images/ico-close-small.gif) repeat-x center center;
}

/* ---- Action result ---- */
.content_action_result {
	position: relative;
	margin: 0;
}

/* Pointer */
.content_action_result .outer_top {
	position: absolute;
	top: -7px;
	right: 22px;

	display: block;

	width: 16px;
	height: 8px;

	background: url(../images/futura/pointer-actionfilter.png) no-repeat top left;
}

.content_action_result .outer_text {
	border: 1px solid var(--grey);
	border-radius: 4px;
	background: var(--background-color);
}

.content_action_result .inner_text {
	padding: 15px;

	color: var(--grey-medium-dark);
}

/*========================
	Help, Alert, Todo, 
	Archives
========================*/
.content_todo,
.content_notice,
.content_aside,
.content_attention,
.content_warning {
	position: relative;
	clear: both;
}

.content_aside .outer_text,
.content_attention .outer_text,
.content_notice .outer_text,
.content_todo .outer_text,
.content_warning .outer_text,
.help {
	padding: 10px;

	border-radius: 4px;
}

.content_aside h3,
.content_attention h3,
.content_warning h3,
.content_notice .todo_notice,
.content_todo h3,
.content_archives {
	font-size: 1em;
	line-height: 1.4em;
	margin: 6px 0 16px 0;
}

.content_aside .outer_text,
.content_attention .outer_text,
.content_warning .outer_text {
	padding: 20px;
}

.content_aside form table,
.content_attention form table,
.content_warning form table {
	display: inline-block;
	vertical-align: top;
}

.content_aside select,
.content_attention select,
.content_warning select,
.content_aside input[type='text'],
.content_attention input[type='text'],
.content_warning input[type='text'] {
	margin-right: 5px;
}

.content_aside select[multiple="multiple"],
.content_attention select[multiple="multiple"],
.content_warning select[multiple="multiple"] {
	height: auto;
}

.content_aside button,
.content_attention button,
.content_warning button,
.content_aside input[type='submit'],
.content_attention input[type='submit'],
.content_warning input[type='submit'],
.content_aside a,
.content_attention a,
.content_warning a {
	font-family: inherit;
	font-size: 14px;
	font-weight: normal;
	line-height: 15px;

	margin: 0 5px;
	padding: 2px 6px;
	width: auto;

	cursor: pointer;

	color: var(--text-color-light);
	border: 0;
	border-radius: 5px;
	background: var(--interaction-color);
}

.content_attention button,
.content_attention input[type='submit'],
.content_attention a {
	color: var(--attention-text-color);
	background: var(--attention-color);
}

.content_aside button:hover,
.content_attention button:hover,
.content_warning button:hover,
.content_aside input[type='submit']:hover,
.content_attention input[type='submit']:hover,
.content_warning input[type='submit']:hover,
.content_aside a:hover,
.content_attention a:hover,
.content_warning a:hover {
	text-decoration: none;

	border: 0;
	background: var(--interaction-color-hover);
}

.content_attention button:hover,
.content_attention input[type='submit']:hover,
.content_attention a:hover {
	background: var(--attention-color-hover);
}

.content_aside .input-ajax-content .input-ajax-static div,
.content_attention .input-ajax-content .input-ajax-static div,
.content_warning .input-ajax-content .input-ajax-static div {
	margin-right: 10px;
	padding: 6px;

	border: 1px solid var(--grey);
	border-radius: 4px;
	background: var(--background-color);
}

.content_aside .input-ajax-content .input-ajax-static div:empty,
.content_attention .input-ajax-content .input-ajax-static div:empty,
.content_warning .input-ajax-content .input-ajax-static div:empty {
	margin-right: 0;
	padding: 0;

	border: 0;
	background: none;
}

/* ---- Help ---- */
/* ---- Help pour le calendrier des absences ---- */

/* ---- Alert---- */
.content_aside .outer_text {
	color: var(--grey-dark);
	background: var(--background-blue);
}

.content_aside form {
	display: inline;
}

.content_aside .inner_text ul li strong {
	font-weight: normal;
}

.content_aside .inner_text ul li {
	margin: 0 0 10px 0;

	list-style: none;
}

.content_aside .inner_text ul li:first-letter {
	text-transform: uppercase;
}

.content_aside .inner_text ul li:last-child {
	margin: 0;
}

/* ---- Attention---- */
.content_attention .outer_text {
	color: var(--grey-dark);
	background: var(--background-orange);
}

.content_attention form {
	display: inline;
}

.content_attention .inner_text ul li strong {
	font-weight: normal;
}

.content_attention .inner_text ul li {
	margin: 0 0 10px 0;

	list-style: none;
}

.content_attention .inner_text ul li:first-letter {
	text-transform: uppercase;
}

.content_attention .inner_text ul li:last-child {
	margin: 0;
}

.content_attention li div {
	display: initial;
	margin: 0 0 0 5px;
	padding: 5px;
}

/* ---- Warning---- */
.content_warning .outer_text {
	color: var(--delete-color);
	background: var(--background-red);
	font-weight: bold;
}

.content_warning form {
	display: inline;
}

.content_warning .inner_text ul li strong {
	font-weight: normal;
}

.content_warning .inner_text ul li {
	margin: 0 0 10px 0;

	list-style: none;
}

.content_warning .inner_text ul li:first-letter {
	text-transform: uppercase;
}

.content_warning .inner_text ul li:last-child {
	margin: 0;
}

/* ---- Todo ---- */
a.todo {
	font-size: 1em;
	font-weight: bold;
	display: inline-block;
	color: var(--link-color);
	border: 0;
}

button.todo {
	display: inline;
	width: auto;
	border: none;
	background: none;
	font-weight: bold;
	color: var(--interaction-color);
	margin: 0;
	padding: 0;
}

button.todo:hover {
	background: none;
	border: none;
	text-decoration: underline;
	color: var(--interaction-color-hover);
}

.content_todo ul li form {
	display: inline;
}

.content_todo ul li {
	display: inline;
	margin-left: 5px;
}

.todo-detail {
	color: var(--interaction-color);
	background: var(--background-blue) url(../images/link_help.png) no-repeat 15px center;
	border: 1px solid var(--interaction-color);
	padding: 10px;
	padding-left: 40px;
	border-radius: 4px;
}

.content_todo .outer_text {
	color: var(--interaction-color);
	background: var(--background-blue) url(../images/link_help.png) no-repeat 15px center;
	border: 1px solid var(--interaction-color);
	padding-left: 40px;
}

.content_notice .outer_text {
	color: var(--attention-text-color);
	border: 1px solid var(--attention-color);
	background: var(--background-orange);
}

.content_notice .inner_text {
	padding-left: 24px;
	background: url(../images/futura/ico-note.png) no-repeat left top;
}

.content_notice .inner_text ul li {
	margin-bottom: 6px;
}

.content_notice .inner_text ul li.notice_title {
	font-weight: bold;
}

.content_todo .inner_text ul li.todo_title strong {
	font-weight: normal;

	color: var(--grey-dark);
}

.content_notice,
.content_todo ol {
	margin-top: 10px;
}

.content_notice ol li,
.content_todo ol li {
	margin: 0 0 6px 20px;

	list-style-type: decimal;
}

.content_notice ol li:first-letter,
.content_todo ol li:first-letter {
	text-transform: uppercase;
}

.content_notice ol li samp,
.content_todo ol li samp {
	font-weight: normal;
	font-style: italic;

	display: block;

	margin: 4px 0 10px 0;
	padding: 10px;

	color: var(--attention-text-color);
	border-left: 4px solid var(--attention-color);
	border-radius: 4px;
	background: var(--background-orange);
}


/* ---- Archives ---- */
.content_archives {
	padding: 20px;

	border-radius: 4px;
	background-color: var(--grey-light);
}

.content_archives span:first-child {
	font-weight: bold;
	text-transform: capitalize;
	display: block;
	margin-bottom: 5px;
}

.content_archives,
.content_archives strong {
	font-weight: normal;

	color: var(--grey-dark);
}

.content_archives {
	line-height: 20px;
	margin-top: 15px;
}

.content_archived {
	margin-top: 15px;
	border-left: 1px solid var(--grey-medium-light);
	padding-left: 19px;
	color: var(--grey-medium-dark);
}

.content_archives dt {
	font-weight: bold;
	color: var(--grey-dark);

	display: block;
	float: left;

	width: 150px;
	padding: 0 20px 0 0;

	text-align: right;
}

.content_archives br {
	display: none;
}

.content_archives dd,
.content_archives dt {
	font-size: 13px;
}

.content_archives dd {
	display: block;
	float: left;
	color: var(--text-color);

	width: calc(100% - 225px);
	min-height: 20px;
	margin: 0;
}

.content_archives dd br {
	display: inline;
}

.content_archives dl,
.content_archives ul,
.content_archives .content_projects {
	margin: 5px 0 15px 0;
	zoom: 1;
	position: relative;
}

.content_archives dl:before,
.content_archives ul:before {
	content: " ";
	width: 11px;
	height: 11px;
	border-radius: 50%;
	background: var(--grey-light);
	position: absolute;
	top: -20px;
	left: -25px;
}

.content_archives .content_projects:before {
	content: " ";
	width: 11px;
	height: 11px;
	border-radius: 50%;
	background: var(--grey-light);
	position: absolute;
	top: 5px;
	left: -25px;
}

.content_archives .content_projects ul:before {
	display: none;
}

.content_archives dl:after {
	display: table;

	content: '';
	clear: both;
}

.content_archives ul {
	margin-top: 6px;
}

.content_archives ul li {
	margin-bottom: 6px;
}

.content_archives dl strong {
	font-weight: normal;

	color: var(--grey-dark);
}

.content_archives dl dd,
.content_archives dl dd strong {
	color: var(--text-color);
}


/*========================
	Pop-up
========================*/

.body-expensedetails {
	background: var(--background-color);
}

.body-expensedetails h1 {
	margin: 30px 15px 0 15px;
}

.body-expensedetails .content_details div:first-child {
	padding: 10px 0;

	text-align: center;

	color: var(--text-color-light);
	background: var(--text-color);
}

.body-expensedetails .content_details .content_working div {
	padding: 15px;

	text-align: left;

	color: var(--text-color);
	background: var(--grey-light);
}

.body-expensedetails .content_details .content_working .half_left {
	width: 250px;
	margin: 0 20px 0 0;
	padding: 0;
}

.body-expensedetails .content_details .content_working .half_right {
	width: 150px;
	margin: 0;
	padding: 0;
}

.body-expensedetails .spacer {
	clear: both;
}

/* Tableaux
-------------------------------------------------------------------------------------------------------*/

/*========================
	Rowform
========================*/
.rowform tr td,
.rowform tr th {
	min-height: 30px;
	line-height: 30px;
	padding: 0 5px 5px 5px;

	vertical-align: top;

	border-radius: 4px;
}

.rowform tr td.small {
	height: 1px;
	line-height: 1px;
	padding: 0;
}

.rowform tr > td > table > tbody > tr > td,
.rowform tr > td > table > tbody > tr > th {
	padding: 0;
}

.rowform tr th {
	text-align: right;
}

.rowform > tr td {
	text-align: left;
}

.rowform tr td.colored {
	padding: 0 3px;

	border-radius: 4px;
}


/* ----- Personal Requests ----- */

#form_absencecredits table,
#form_personalrequests table,
#form_remoterequests table {
	border-collapse: separate !important;
	border-spacing: 5px;
}

#form_absencecredits table th,
#form_absencecredits table th:hover,
#form_personalrequests table th,
#form_personalrequests table th:hover,
#form_remoterequests table th,
#form_remoterequests table th:hover {
	border-radius: 3px;
	background-color: var(--grey) !important;
	padding: 5px 10px;
	font-weight: normal;
	white-space: nowrap;
	border: 0;
	vertical-align: center;
}

#form_absencecredits table th:empty,
#form_personalrequests table th:empty,
#form_remoterequests table th:empty,
.body-projectdetails table th:empty {
	background: none !important;
}

#form_absencecredits table th.confirm,
#form_personalrequests table th.confirm,
#form_remoterequests table th.confirm {
	background: var(--grey-medium-light) !important;
	border: none;
	font-weight: bold;
}

#form_absencecredits table th:first-letter,
#form_absencecredits table td:first-letter,
#form_personalrequests table th:first-letter,
#form_personalrequests table td:first-letter,
#form_remoterequests table th:first-letter,
#form_remoterequests table td:first-letter {
	text-transform: uppercase;
}

#form_absencecredits table td,
#form_personalrequests table td,
#form_remoterequests table td {
	padding: 7px 5px;
	vertical-align: middle;
}

#form_absencecredits > table > tbody > tr > td:hover,
#form_absencecredits > table > tbody > tr > th:hover,
#form_personalrequests > table > tbody > tr > td:hover,
#form_personalrequests > table > tbody > tr > th:hover,
#form_remoterequests > table > tbody > tr > td:hover,
#form_remoterequests > table > tbody > tr > th:hover {
	background: none;
}

#form_absencecredits table td:first-child,
#form_absencecredits table td:last-child,
#form_personalrequests table td:first-child,
#form_personalrequests table td:last-child,
#form_remoterequests table td:first-child,
#form_remoterequests table td:last-child {
	width: 12px;
	border-bottom: 0;
	text-align: center;
}

#form_absencecredits table td:first-child input,
#form_personalrequests table td:first-child input,
#form_remoterequests table td:first-child input {
	margin: 0;
}

#form_absencecredits table td span,
#form_personalrequests table td span,
#form_remoterequests table td span,
#form_timetablerequests table td span {
	display: inline-block;
	margin: -2px 0 0 0;
	padding: 2px 5px;
	text-align: center;
	line-height: 1.5;
	text-align: center;
	border-radius: 2px;
}

#form_absencecredits table td span:first-letter,
#form_personalrequests table td span:first-letter,
#form_remoterequests table td span:first-letter {
	text-transform: uppercase;
}

#form_absencecredits table td button:last-child,
#form_personalrequests table td button:last-child,
#form_remoterequests table td button:last-child {
	margin-bottom: 75px;
}

/*========================
	Colform
========================*/
.colform tr th {
	padding: 8px 0;

	vertical-align: middle;
}

.colform tr th a {
	color: var(--grey-dark);
}

.colform {
	position: relative;
}

.colform-monthly {
	border-spacing:5px 10px;
	position: relative;
}

.colform-monthly tr th {
	padding: 8px 3px;
}

.colform-monthly tr td,
.colform-monthly tr td img {
	border-radius: 4px;
	max-width: 100%;
    height: auto;
}

.colform-monthly tr td.absences {
	background-image: url(../images/class_absence.png);
	background-repeat: no-repeat;
	background-position: center center;
}

.colform-monthly tr td a,
.colform-monthly tr td a:hover {
	text-decoration: none;
	display: block;
	padding: 2px;
}

/* ---- Tableau des absences ---- */
.body-absenceboard table tr th {
	padding: 5px;

	vertical-align: middle;
}

.body-absenceboard table tr th:first-child {
	display: flex;

	align-items: center;
}

.body-absenceboard table tr th:first-child .hand {
	margin: 0 10px 0 0;
}

.body-absenceboard table tr td {
	vertical-align: middle;
}

.body-absenceboard .category tr td:first-child {
	padding-right: 5px;

	text-align: right;
}

.body-absenceboard table tr td.weekempty {
	opacity: .25;
}

/*========================
	Ebauches de styles 
	génériques
========================*/

/* ---- Pour les rapports, analyse et synthèse ---- */
.detailed,
.userfeedback {
	border-spacing: 5px;
	border-collapse: separate;

	border: none;
}

.detailed tr.detailed-header th,
.detailed tr.detailed-header th:first-child,
.detailed tr.detailed-header th:last-child,
.userfeedback tr.userfeedback-header th,
.userfeedback tr.userfeedback-header th:first-child,
.userfeedback tr.userfeedback-header th:last-child {
	font-weight: normal;

	padding: 4px;

	text-align: center;

	color: var(--text-color);
	border-radius: 4px;
	background: var(--grey-medium-light);
	text-shadow: none;
}

.detailed tr.detailed-header th:empty,
.detailed tr.em td:empty,
.userfeedback tr.userfeedback-header th:empty {
	background: none;
}

.detailed tr:hover,
.detailed .hover,
.userfeedback tr:hover {
	background: var(--grey-light);
}

.detailed tr:first-child {
	border-bottom: none;
}

.detailed tr:first-child th,
.detailed tr:first-child td {
	text-align: left;

	color: var(--text-color);
	border-bottom: none;
}

.userfeedback tr {
	border-bottom: 1px solid var(--grey-medium-light);
}

.userfeedback tr th {
	text-align: left;
	vertical-align: middle;
}

.userfeedback > table tr td {
	text-align: left;
	vertical-align: top;
 }

.userfeedback tr td.period {
	color: var(--grey-medium-dark);
}

.userfeedback tr td.balance {
	background-color: var(--grey-light);
	font-weight: bold;
}

.userfeedback tr td.balance span {
	font-weight: bold;
}

.userfeedback .details strong.info {
	display: flex;
	margin-bottom: 5px;
	max-width: 105px;
}

.detailed tr td.green,
.userfeedback tr td.green,
.detailed tr td.red,
.userfeedback tr td.red {
	border-radius: 0;
}

.detailed > table tr:first-child th:first-child,
.detailed > table tr:first-child td:first-child,
.userfeedback > table tr:first-child th:first-child,
.userfeedback > table tr:first-child td:first-child {
	border-radius: 4px 0 0 0;
}

.detailed > tr:first-child th:last-child,
.detailed > tr:first-child td:last-child,
.userfeedback > tr:first-child th:last-child,
.userfeedback > tr:first-child td:last-child {
	border-radius: 0 4px 0 0;
}

.detailed tr:first-child:hover
.userfeedback tr:first-child:hover {
	background: var(--grey-light);
}

.detailed tr td,
.detailed tr th,
.userfeedback tr td,
.userfeedback tr th {
	padding: 10px;
}

.detailed tr td {
	min-height: 25px;
	padding: 5px;

	vertical-align: middle;
}

.detailed tr td span {
	display: inline-block;

	min-width: 40px;
	padding: 4px;

	text-align: center;

	border-radius: 3px;
}

.detailed tr:first-child td,
.userfeedback tr:first-child td {
	border: none;
}

.userfeedback .details {
	margin-top: 10px;
	margin-bottom: 10px;
	font-size: .9em;
}

.userfeedback .details small {
	font-size: .8em;
}

.userfeedback #userlaidout_encours p {
	line-height: 125%;
}

.detailed tr.em td {
	font-weight: bold;

	padding: 4px;

	color: var(--text-color);
	border: none;
	border-radius: 4px;
	background: var(--grey);
	text-shadow: none;
}

.report,
.synthesis {
	border-collapse: collapse;
	min-width: 50%;
}

.report tr,
.synthesis tr {
	color: var(--grey-dark);
}

.report tr:hover,
.synthesis tr:hover {
	background: var(--grey-light);
}

.synthesis tbody tr:first-child {
	background: var(--grey-light);
	color: var(--text-color);
	font-weight: bold;
}

.report tr.level1,
.synthesis tr.level1 {
	color: var(--text-color);
	background: var(--grey-light);
}

.synthesis tr td {
	border-left: 1px solid var(--grey-medium-light);
}

.synthesis tr td:last-child {
	border-right: 1px solid var(--grey-medium-light);
}

.synthesis tr:nth-last-child(2),
.synthesis tr:last-child {
	border-bottom: 1px solid var(--grey-medium-light);
}

.synthesis tr:last-child td {
	border-right: none;
	border-left: none;
	font-weight: bold;
}

.report tr td,
.synthesis tr td {
	padding: 8px;
}

.report tr.level0 td,
.synthesis tr.level0 td {
	text-align: left;

	color: var(--text-color);
	border-right: 1px solid var(--text-color-light);
	background: var(--grey-light);
}

.report tr td,
.report tr.level1 td,
.report tr.level2 td {
	border-right: 1px solid var(--text-color-light);
	border-bottom: 1px solid var(--text-color-light);
}

/* ---- Reporting > Rapport  ---- */

table.report.report-absences {
	border-spacing: 5px 10px;
	border-collapse: inherit;
}

table.report-absences tr th,
table.report-absences td {
	text-align: center;
	vertical-align: middle;
	padding: 0;
}

table.report-absences tr th {
	background-color: transparent;
}

table.report-absences tbody tr td {
	border: 1px solid transparent;
	border-radius: 4px;
	height: 22px;
	padding: 1px;
	width: 22px;
}

table.report-absences tbody tr td.day-empty {
	background-color: var(--background-color);
	border-color: var(--grey-medium-light);
}

table.report-absences tbody tr td.user-name {
	padding: 0px 5px 0px 0px;
}

/* ---- utilisateur > Saisie des temps  ---- */
table#table-userhours > thead {
	display: block;
}

table#table-userhours > tbody {
	display: block;
	overflow: auto;

	max-height: 600px;
}

table#table-userhours th,
table#table-userhours td {
	width: 100px;
}

table#table-userhours th:first-child,
table#table-userhours td:first-child {
	width: 400px;
}

#form_hours table td,
#form_hours table th {
	padding: 4px;

	border-collapse: collapse;
	border-radius: 4px;
}

#form_hours tr:first-child th {
	vertical-align: middle;
}

#form_hours tr.level0 td {
	border-collapse: collapse;

	text-align: left;

	color: var(--text-color);
	border-bottom: none;
	background: var(--grey-light);
}

#form_hours tr.level1 td:first-child,
#form_hours tr.level2 td:first-child {
	padding-left: 10px;
}

#form_hours table.hour-table #footer tr td {
	padding: 4px 0;
	text-align: center;
}

#form_hours table.hour-table tr td input[type="text"],
#form_hours table.hour-table tr td,
#form_hours table.hour-table tr th {
	text-align: center;
}

#form_hours table tr td:first-child,
#form_hours table tr th:first-child,
#form_hours table #footer tr td:first-child {
	text-align: left;
}

#form_hours #footer td.trouble {
	padding: 6px 4px;
}

#form_hours table textarea { 
	width: 100px;
}

#form_hours table textarea.delete-textearea {
	border: 1px solid var(--delete-color);
	width: 100%;
}

form#form_hours table td.total,
form#form_hours table th.total {
	text-align: center;
	font-weight: bold;
}

#form_hours table.hour_table_monthly tbody#header th.weekend,
#form_hours table.hour_table_monthly_ajax tbody#header th.weekend,
#form_hours table.hour_table_monthly_static tbody#header th.weekend,
#form_hours table.hour_table_monthly tbody#header td.weekend,
#form_hours table.hour_table_monthly_ajax tbody#header td.weekend,
#form_hours table.hour_table_monthly_static tbody#header td.weekend {
	background-color: var(--grey-medium-dark);
	color: var(--text-color-light);
}

#form_hours table.hour_table_monthly input[type='text'],
#form_hours table.hour_table_monthly_ajax input[type='text'],
#form_hours table.hour_table_monthly_static input[type='text'] {
	width: 41px;
	padding: 6px;
}

#form_hours table.hour_table_monthly_totals input[type='text'],
#form_hours table.hour_table_monthly_static_annual_total input[type='text'],
#form_hours table.hour_table_monthly_static_totals input[type='text'] {
	font-size: 11px;
	padding: 2px;
	width: 41px;
}

#form_hours table.hour_table_monthly select {
	max-width: 180px;
}

#form_hours table.hour_table_monthly td,
#form_hours table.hour_table_monthly_ajax td,
#form_hours table.hour_table_monthly_static td {
	padding: 4px 0 4px 0;
}

#form_hours table.hour_table_monthly_totals td,
#form_hours table.hour_table_monthly_static_annual_total td,
#form_hours table.hour_table_monthly_static_totals td {
	padding: 1px 0;
}

#form_hours td.hours-period-before {
	border-top: 1px solid var(--grey);
}

#form_hourdetails.ajax {
	font-size: 10px;

	z-index: 10;
	top: 200px;
	right: 200px;
	left: 200px;

	width: auto;
	height: auto;
	padding: 25px;
}

#overlay {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;

	opacity: .5;
	background: var(--text-color);
}

#form_hourdetails label + span {
	font-size: 1.2em;

	display: block;

	padding: 8px 0;
}

#form_hourdetails .itemsform-submit {
	margin: 0;
	padding: 0 10px;

	border-bottom: none;
}

.more-data {
	font-size: 150%;
	font-weight: bold;

	vertical-align: middle;
}

.hour_table .action-add {
	float: left;
    overflow: hidden;
    width: 24px;
    height: 24px;
    cursor: not-allowed;
    text-indent: 24px;
    border-radius: 4px;
	background: var(--grey-medium-dark) url(../images/ico-action-add.png) no-repeat center center;
}

#form_userhours table.userhours tr th {
	font-weight: bold !important;
}

/* ---- Utilisateur > Saisie des temps > Vue Globale hebdomadaire ---- */
.calendar-time {
	width: 100%;
	height: 100%;

	table-layout: fixed;
}

.calendar-time tr:nth-child(1) td,
.calendar-time tr:nth-child(2) td {
	height: auto;
	padding: 4px;

	text-align: center;
}

.calendar-time tr:not(:nth-child(1)) td:nth-child(1) {
	font-weight: bold;
	padding-right: 100px;
	text-align: right;
}

.calendar-time tr.calendar-header-days td:not(:nth-child(1)) {
	background: var(--grey-light);
}

.calendar-time tr td {
	border-radius: 4px;
}

.calendar-time div a {
  font-weight: bold;
}

/* ---- Utilisateur > Congé + frais ---- */
#form_personalrequest table,
#form_holiday table,
#form_expenses table {
	width: 100%;

	border-collapse: collapse;
}

#form_personalrequest select,
#form_holiday select,
#form_expenses select {
	max-width: 100px;
}

#form_personalrequest label,
#form_holiday label,
#form_expenses label {
	margin: 0;
}

#form_personalrequest tr,
#form_holiday tr,
#form_expenses tr {
	border-bottom: 1px solid var(--text-color-light);
}

#form_personalrequest tr th,
#form_holiday tr th,
#form_expenses tr th {
	padding: 8px;
}

#form_personalrequest tr td,
#form_holiday tr td,
#form_expenses tr td {
	padding: 6px 4px;
}

#form_personalrequest tr td {
	vertical-align: middle;
}

#form_personalrequest tr:first-child,
#form_holiday tr:first-child,
#form_expenses tr:first-child {
	border-bottom: none;
}

#form_personalrequest tr:first-child th,
#form_holiday tr:first-child th,
#form_expenses tr:first-child th {
	text-align: left;

	color: var(--text-color);
	border-bottom: none;
	background: var(--grey-light);
}

#form_personalrequest tr:first-child th:first-child,
#form_holiday tr:first-child th:first-child,
#form_expenses tr:first-child th:first-child {
	border-radius: 4px 0 0 0;
}


#form_personalrequest tr:first-child th:last-child,
#form_holiday tr:first-child th:last-child,
#form_expenses tr:first-child th:last-child {
	border-radius: 0 4px 0 0;
}


/* ---- Utilisateurs > plannig ---- */
.body-userplanningrequests table .small {
	height: 50px;
	padding: 0;

	border: none;
}


/* ---- Suivi > prévisionnel financier ---- */
#customerestimates .colform tr td {
	padding: 6px 2px;
}


/* ---- Absences > Détails (admin) ---- */
#holiday table tr td {
	padding: 4px;
}

#form_absenceadmin table tr th,
#form_absenceadmin table tr td {
	padding: 4px;
}

#form_absenceadmin table tr td.small {
	padding: 0;

	background: none;
}

/* ---- Absences > Décompte ---- */
.body-absencebalance .colform tr th,
.body-absencebalance .colform tr td {
	padding: 4px;
}

/***********************************************
	A trier !
***********************************************/
/* ---- Extra ---- */
.extra table {
	height: 100%;

	table-layout: auto;
}

.extra table td {
	vertical-align: top;
}

.extra table td .square {
	width: 15px;
	height: 15px;
	display: inline-block;
}

.extra table a {
	display: inline-block;

	margin: 0 0 4px 0;
	padding: 4px 4px 4px 18px;

	text-decoration: none;

	color: var(--grey-dark);
	border-radius: 4px;
	background: url(../images/futura/ico-bullet-white.png) no-repeat 2px center;
}

.extra table a:hover {
	color: var(--text-color);
	background: url(../images/futura/ico-bullet-white.png) var(--grey-light) no-repeat 2px center;
}

.extra table a.current {
	font-weight: bold;

	color: var(--text-color);
	background: url(../images/futura/ico-bullet-green.png) var(--grey-light) no-repeat 2px center;
}


/*========================
	Tableaux spéciaux
========================*/

/* ---- Utilisateur > Plan de charge ---- */
#form_chargeplan_user table {
	width: 100%;

	border-collapse: collapse;
}

#form_chargeplan_user table tr {
	border-bottom: 1px solid var(--grey-medium-light);
}

#form_chargeplan_user table tr.em {
	border-bottom: none;
}

#form_chargeplan_user table tr td {
	padding: 8px 2px;
}

#form_chargeplan_user table tr.em td {
	padding: 4px 2px;
}

#form_chargeplan_user table tr td.green,
#form_chargeplan_user table tr td.red {
	border: 1px solid var(--text-color-light);
	border-radius: 0;
}

#form_chargeplan_user table tr td input[type='checkbox'] {
	margin: 0;
	padding: 0;
}

#form_chargeplan table tr.partialtotal,
#form_chargeplan table tr.total {
	font-weight: bold;
}


/* ---- Utilisateur >  ---- */
#form_report table tr th {
	text-align: right;
}

#form_report table tr th,
#form_report table tr td {
	height: 30px;
	padding: 0 4px;
}


/* ---- Utilisateur > Dossier ---- */
#form_userprojects tr th {
	padding: 0 4px;
}


/* ---- Sous projet > previsionnel ---- */
#form_projectestimates table {
	width: 100%;

	border-collapse: collapse;
}

#form_projectestimates label {
	line-height: 1em;

	margin: 0;
}

#form_projectestimates tr th {
	padding: 8px;
}

#form_projectestimates tr td {
	padding: 4px;
}

#form_projectestimates tr:first-child {
	border-bottom: none;
}

#form_projectestimates tr:first-child th,
#form_projectestimates tr:first-child td {
	text-align: left;

	color: var(--text-color);
	border-bottom: none;
	background: var(--grey-light);
}

#form_projectestimates tr:first-child th:first-child,
#form_projectestimates tr:first-child td:first-child {
	border-radius: 4px 0 0 0;
}

#form_projectestimates tr:first-child th:last-child,
#form_projectestimates tr:first-child td:last-child {
	border-radius: 0 4px 0 0;
}

/* ---- Suivi > Planning ---- */
.planningrequests {
	width: 100%;
}

.planningrequests tr td {
	padding: 4px 2px;
}

.planningrequests tr:first-child td {
	vertical-align: middle;
}

.planningrequests tr td.level1 {
	border-top: 1px solid var(--grey);
}

.planningrequests tr td.small {
	padding: 0;
}

.planningrequests td.level1 strong {
	font-size: 1.2em;
}

/* ---- Suivi > Organization ---- */
table.followuporganization {
	table-layout: fixed;
}

table.followuporganization th,
table.followuporganization td {
	width: 12.5%;
	min-width: 12.5%;
	max-width: 12.5%;
}

.followuporganization div {
	margin-bottom: 10px;

	border-radius: 3px;
}

/* ---- Suivi > Plan de charge ---- */
.followupchargeplan {
	width: 100%;
}

.followupchargeplan tr td {
	padding: 4px 2px;
}

.followupchargeplan tr:first-child td {
	vertical-align: middle;
}

.followupchargeplan tr td.level1,
.followupchargeplan tr.level0 td {
	border-top: 1px solid var(--grey);
}

.followupchargeplan tr td.level2 {
	background: var(--grey-light);
}

.followupchargeplan tr td.small {
	padding: 0;
}

.followupchargeplan td.level1 strong {
	font-size: 1.2em;
}

.followupchargeplan tr th.total,
.followupchargeplan tr td.total {
	font-weight: bold !important;
	border-left: none;
}

.followupchargeplan-scroll tbody td:first-child,
.followupchargeplan-scroll tbody th:first-child {
	z-index: 1;
	position: sticky;
	left: 0;
	background-color: var(--background-color) !important;
}

.followupchargeplan-scroll tbody th.timeline-day {
	z-index: 2;
}

.followupchargeplan-scroll tbody td.footer {
	z-index: 1;
	position: sticky;
	left: 100px;
	background-color: var(--background-color) !important;
}

/* ---- Etat > Analyse ---- */
#form_analysis_2 tr:first-child td,
#form_analysis_2 tr:nth-child(2) td {
	text-align: left;
}

#form_analysis_2 tr td {
	text-align: right;
}

/* ---- Suivi > Facture client  ---- */
table.expenses,
#form_quotes table,
#form_invoices table,
#form_salefigures table,
#form_purchases table,
#form_timeannual table {
	width: 100%;

	border-collapse: collapse;
}

table.expenses label,
#form_quotes label,
#form_invoices label,
#form_salefigures label,
#form_purchases label,
#form_timeannual label {
	line-height: 1em;

	margin: 0;
}

table.expenses tr th,
#form_quotes tr th,
#form_invoices tr th,
#form_salefigures tr th,
#form_purchases tr th,
#form_timeannual tr th {
	padding: 8px;
}

table.expenses tr:first-child,
#form_quotes tr:first-child,
#form_invoices tr:first-child,
#form_salefigures tr:first-child,
#form_purchases tr:first-child,
#form_timeannual tr:first-child {
	border-bottom: none;
}

table.expenses tr:first-child th,
#form_quotes tr:first-child th,
#form_quotes tr:first-child td,
#form_invoices tr:first-child th,
#form_invoices tr:first-child td,
#form_salefigures tr:first-child th,
#form_salefigures tr:first-child td,
#form_purchases tr:first-child th,
#form_purchases tr:first-child td,
#form_timeannual tr:first-child th,
#form_timeannual tr:first-child td {
	text-align: left;
	color: var(--text-color);
	border-bottom: none;
	background: var(--grey-light);
}

table.expenses tr:first-child th:first-child,
#form_quotes tr:first-child th:first-child,
#form_quotes tr:first-child td:first-child,
#form_invoices tr:first-child th:first-child,
#form_invoices tr:first-child td:first-child,
#form_salefigures tr:first-child th:first-child,
#form_salefigures tr:first-child td:first-child,
#form_purchases tr:first-child th:first-child,
#form_purchases tr:first-child td:first-child,
#form_timeannual tr:first-child th:first-child,
#form_timeannual tr:first-child td:first-child {
	border-radius: 4px 0 0 0;
}


table.expenses tr:first-child th:last-child,
#form_quotes tr:first-child th:last-child,
#form_quotes tr:first-child td:last-child,
#form_invoices tr:first-child th:last-child,
#form_invoices tr:first-child td:last-child,
#form_salefigures tr:first-child th:last-child,
#form_salefigures tr:first-child td:last-child,
#form_purchases tr:first-child th:last-child,
#form_purchases tr:first-child td:last-child,
#form_timeannual tr:first-child th:last-child,
#form_timeannual tr:first-child td:last-child {
	border-radius: 0 4px 0 0;
}

table.expenses tr td,
table.expenses tr th,
#form_quotes tr td,
#form_quotes tr th,
#form_invoices tr td,
#form_invoices tr th,
#form_salefigures tr td,
#form_salefigures tr th,
#form_purchases tr td,
#form_purchases tr th,
#form_timeannual tr td,
#form_timeannual tr th {
	padding: 10px 4px;
}

/* ---- Suivi > rappel  ---- */
#form_reminded table {
	width: 100%;

	border-collapse: collapse;
}

#form_reminded label {
	line-height: 1em;

	margin: 0;
}

#form_reminded tr th {
	padding: 8px;
}

#form_reminded tr td {
	padding: 4px;
}

#form_reminded tr:first-child {
	border-bottom: none;
}

#form_reminded tr:first-child th,
#form_reminded tr:first-child td {
	text-align: left;

	color: var(--text-color);
	border-bottom: none;
	background: var(--grey-light);
}

#form_reminded tr:first-child th:first-child,
#form_reminded tr:first-child td:first-child {
	border-radius: 4px 0 0 0;
}


#form_reminded tr:first-child th:last-child,
#form_reminded tr:first-child td:last-child {
	border-radius: 0 4px 0 0;
}

/* ---- Configuration > Absences  ---- */
#form_configabsences_personalmeter table {
	width: 100%;
}

#form_configabsences_personalmeter table tr th {
	font-size: .9em;

	vertical-align: top;
}

#form_configabsences_personalmeter table tr th:first-letter {
	text-transform: uppercase;
}

#form_configabsences_personalmeter select {
	width: 80px;
}


/* ---- Configuration > Frais ---- */
#form_configratesuser table,
#form_configexpenses table,
#form_configratestask table {
	width: 100%;

	border-collapse: collapse;
}

#form_configratesuser label,
#form_configexpenses label,
#form_configratestask label {
	line-height: 1em;

	margin: 0;
}

#form_configratesuser tr th,
#form_configexpenses tr th,
#form_configratestask tr th {
	padding: 8px;
}

#form_configratesuser tr td,
#form_configexpenses tr td,
#form_configratestask tr td {
	padding: 4px;
}

#form_configratesuser tr:first-child,
#form_configexpenses tr:first-child,
#form_configratestask tr:first-child {
	border-bottom: none;
}

#form_configratesuser tr:first-child th,
#form_configratesuser tr:first-child td,
#form_configexpenses tr:first-child th,
#form_configexpenses tr:first-child td,
#form_configratestask tr:first-child th,
#form_configratestask tr:first-child td {
	text-align: left;

	color: var(--text-color);
	border-bottom: none;
	background: var(--grey-light);
}

#form_configratesuser tr:first-child th:first-child,
#form_configratesuser tr:first-child td:first-child,
#form_configexpenses tr:first-child th:first-child,
#form_configexpenses tr:first-child td:first-child,
#form_configratestask tr:first-child th:first-child,
#form_configratestask tr:first-child td:first-child {
	border-radius: 4px 0 0 0;
}

#form_configratesuser tr:first-child th:last-child,
#form_configratesuser tr:first-child td:last-child,
#form_configexpenses tr:first-child th:last-child,
#form_configexpenses tr:first-child td:last-child,
#form_configratestask tr:first-child th:last-child,
#form_configratestask tr:first-child td:last-child {
	border-radius: 0 4px 0 0;
}


/* ---- Salarié > Affectation ---- */
#assignment table {
	width: 100%;

	border-spacing: 5px;
	border-collapse: separate;
}

#assignment label {
	line-height: 1em;

	margin: 0;
}

#assignment tr th {
	padding: 5px 10px;

	color: var(--text-color);
	border-radius: 3px !important;
	background: var(--grey-light);
	text-shadow: none;
}

#assignment table tr th.secondary {
	font-weight: normal;

	color: var(--text-color);
	background: var(--grey);
	text-shadow: none;
}

#assignment table tr th a {
	color: var(--text-color);
}

#assignment table .affected td {
	background-color: var(--background-green);
}

#assignment tr td {
	padding: 5px 10px;

	white-space: nowrap;

	border-bottom: 1px solid var(--grey-medium-light);
}

#assignment tr:first-child {
	border-bottom: none;
}

#assignment tr:first-child th,
#assignment tr:first-child td {
	text-align: left;

	color: var(--text-color);
	border-bottom: none;
	background: var(--grey-light);
}

#assignment tr:first-child th:first-child,
#assignment tr:first-child td:first-child {
	border-radius: 4px 0 0 0;
}


#assignment tr:first-child th:last-child,
#assignment tr:first-child td:last-child {
	border-radius: 0 4px 0 0;
}

#assignment table tr:hover td,
#assignment table tr:hover td:last-child {
	background-color: var(--grey-light);
}

#assignment table tr.affected:hover td:last-child,
#assignment table tr:hover td:last-child {
	background: none;
}

#assignment table tr td.main {
	font-weight: bold;

	padding-left: 25px;
}

#assignment table tr td.second {
	padding-left: 50px;
}

#assignment table tr td.small {
	line-height: 100%;

	padding: 0;

	border-bottom: none;
}

#assignment table tr td a {
	color: var(--link-color);
}

#assignment table tr td:last-child {
	width: 70px;
	max-width: 70px;
	padding: 0;

	text-align: center;
	vertical-align: top;

	border-bottom: 0;
	background: none;
}

/* ---- Switch Affectation ---- */
.switch {
	line-height: 30px !important;

	position: relative;

	display: inline-block;

	width: 70px;
	height: 30px;
	margin: 0;
	padding: 0;
	border-radius: 3px;
}

.switch input {
	margin: 0;
	padding: 0;
}

.switch .slider {
	position: absolute;
	top: 1px;
	right: 0;
	bottom: 0;
	left: 0;

	width: 70px;
	height: 30px;
	margin: 0;
	padding: 0;

	cursor: pointer;
	transition: .4s;

	border-radius: 3px;
	background-color: var(--delete-color);
}

.switch .slider:before {
	line-height: 30px;

	position: absolute;
	z-index: 2;
	bottom: 0;
	left: 0;

	width: 35px;
	height: 30px;
	margin: 0;
	padding: 0;

	content: '||';
	transition: .4s;
	text-align: center;

	color: rgba(0, 0, 0, .1);
	border-radius: 3px 0 0 3px;
	background-color: var(--background-color);
	box-shadow: 0 0 0 1px rgba(0, 0, 0, .1) inset;
}

.switch .slider .on,
.switch .slider .off {
	line-height: 30px;

	position: absolute;
	z-index: 1;
	bottom: 0;
	left: 0;

	width: 35px;
	height: 30px;
	margin: 0;
	padding: 0;

	text-align: center;

	color: var(--text-color-light);
}

.switch .slider .off {
	position: absolute;
	left: 35px;
}

.switch input:checked .slider {
	background-color: var(--save-color);
}

.switch input:checked .slider:before {
	transform: translateX(35px);

	border-radius: 0 3px 3px 0;
}

/*========================
	Calendrier
========================*/
.calendar-legend {
	margin-bottom: 10px;
}

.calendar-legend strong {
	font-weight: normal;
}

.calendar-legend li {
	display: inline;

	margin-right: 10px;
}

.calendar .calendarday-user {
	box-sizing: border-box;
}

.calendar .calendarday-user div div,
.calendar .calendarday-project div div {
	padding: 10px;

	border: 1px solid var(--grey);
	border-radius: 3px;
}

.calendar .calendarday-user div a,
.calendar .calendarday-project div a {
	font-weight: bold;
	margin: 0 5px 0 0;
}

.calendar .calendarday-user div .details,
.calendar .calendarday-project div .details {
	margin: 5px 0 0 0;
	padding: 0;

	border: 0;
	border-radius: 0;
}

.calendar .calendarday-user .event,
.calendar .calendarday-project .event {
	border-left: 3px solid var(--view-color);
	background: none;
}

.calendar .calendarday-user .event a,
.calendar .calendarday-project .event a {
	color: var(--view-color);
}

.calendar .calendarday-user .request,
.calendar .calendarday-project .request {
	border-left: 3px solid var(--save-color);
	background: none;
}

.calendar .calendarday-user .request a,
.calendar .calendarday-project .request a {
	color: var(--save-color);
}

.calendar .calendarday-user .absence,
.calendar .calendarday-project .absence {
	border: 1px solid var(--grey);
	border-left: 3px solid var(--delete-color);
	background: none;
}

/* ---- Calendar Month ---- */
.calendarm,
.calendarw,
.calendar4w {
	width: 100%;
	height: 100%;

	table-layout: fixed;
	border-spacing: 5px;
}

.calendarm tr td,
.calendar4w tr td {
	height: 50px;

	vertical-align: top;
}

.calendarm tr.calendar-header-navigation td,
.calendarm tr.calendar-header-days td,
.calendar4w tr.calendar-header-navigation td,
.calendar4w tr.calendar-header-days td {
	height: auto;
	padding: 4px;

	text-align: center;
	text-transform: capitalize;
}

.calendarm tr.calendar-header-days td,
.calendar4w tr.calendar-header-days td {
	text-align: center;
	text-shadow: none;

	color: var(--text-color);
	border-radius: 4px;
	background: var(--grey-medium-light);
}

.calendarm tr.with-items td,
.calendarm tr.without-items td,
.calendar4w tr.with-items td,
.calendar4w tr.without-items td {
	height: auto;
	padding: 4px;

	text-align: right;

	border-bottom: none !important;
	border-radius: 4px;
	background: var(--grey-light);
}

.calendarm tr.with-items td a,
.calendarm tr.without-items td a,
.calendar4w tr.with-items td a,
.calendar4w tr.without-items td a {
	line-height: 1.2em;

	text-decoration: none;

	color: var(--text-color);
}

.calendarm tr.with-items td a:hover,
.calendarm tr.without-items td a:hover,
.calendar4w tr.with-items td a:hover,
.calendar4w tr.without-items td a:hover {
	text-decoration: underline;
}

/* with-weeknumber */
.calendarm tr td.with-weeknumber span,
.calendar4w tr td.with-weeknumber span {
	font-size: .8em;

	display: block;
	float: left;

	padding: 1px 4px 0 5px;

	text-align: center;

	color: var(--text-color-light);
	border-radius: 8px;
	background: var(--grey);
}


/* Outside */
.calendarm tr.with-items td.outside,
.calendarm tr.without-items td.outside,
.calendar4w tr.with-items td.outside,
.calendar4w tr.without-items td.outside {
	border: none;
	background: none;
}

.calendarm tr.with-items td.outside a,
.calendarm tr.without-items td.outside a,
.calendar4w tr.with-items td.outside a,
.calendar4w tr.without-items td.outside a {
	color: var(--grey);
}


/* ---- Calendar Week ---- */

.calendarw tr:nth-child(1) td,
.calendarw tr:nth-child(2) td,
.calendar4w tr:nth-child(1) td,
.calendar4w tr:nth-child(2) td {
	height: auto;
	padding: 4px;

	text-align: center;
}

.calendarw tr:nth-child(2) td,
.calendar4w tr:nth-child(2) td {
	text-align: center;

	border-radius: 4px;
	background: var(--grey-light);
}

.calendarw tr:nth-child(2) td a,
.calendar4w tr:nth-child(2) td a {
	text-decoration: none;

	color: var(--text-color);
}

.calendarw tr:nth-child(2) td a:hover,
.calendar4w tr:nth-child(2) td a:hover {
	text-decoration: underline;
}

.calendarw tr:nth-child(3) td,
.calendarw tr:nth-child(6) td,
.calendar4w tr:nth-child(3) td,
.calendar4w tr:nth-child(6) td {
	padding: 4px;

	border-top: 1px dotted var(--grey);
	border-bottom: 1px dotted var(--grey);
}

/* ---- Calendar Day ---- */

.calendard tr:first-child td {
	height: auto;
	padding: 4px;

	text-align: center;

	color: var(--text-color);
	border-radius: 4px;
	background: var(--grey-light);
}

.calendard .calendar-halfhour a {
	text-decoration: none;

	color: var(--text-color);
}

.calendard .calendar-halfhour a:hover {
	text-decoration: underline;
}


/*========================
	Annualisation
========================*/

.timeannual .help {
	top: unset;
	right: unset;
	padding: 20px;
}

.timeannual .details {
	border: 1px solid var(--grey);
	border-radius: 4px;
	padding: 2px 4px;
}

.timeannual .details p {
	font-size: 12px;
}

/*========================
	Titres restaurants
========================*/

#form_vouchers > table {
	border-collapse: collapse;
	width: 100%;
}


/*========================
	Imprimer
========================*/

/* ---- Notes de frais, demande de congés ---- */
.body-expensesheet,
.body-holidaysheet {
	background: var(--background-color);
}

.body-expensesheet .content_details > div:first-child,
.body-holidaysheet .content_details > div:first-child {
	padding: 10px;

	color: var(--text-color-light);
	background: var(--text-color);
}

.body-expensesheet h1,
.body-holidaysheet h1 {
	line-height: 1em;
}

.body-holidaysheet .content_details > div:nth-child(2),
.body-expensesheet .content_details > div:nth-child(2) {
	margin: 20px;
}

.body-expensesheet table,
.body-holidaysheet table {
	width: 100%;

	border-collapse: collapse;
}

.body-expensesheet table tr td,
.body-holidaysheet table tr td {
	padding: 10px;

	border: 1px solid var(--grey-medium-light);
}

.body-expensesheet table tr:first-child td,
.body-holidaysheet table tr:first-child td {
	border: none;
}

.body-expensesheet table tr td.small,
.body-holidaysheet table tr td.small {
	border: none;
}

.body-expensesheet table tr:first-child td,
.body-holidaysheet table tr:first-child td {
	text-align: left;

	color: var(--text-color);
	border-bottom: none;
	background: var(--grey-light);
}

.body-expensesheet table tr:first-child td:first-child,
.body-holidaysheet table tr:first-child td:first-child {
	border-radius: 4px 0 0 0;
}

.body-expensesheet table tr:first-child td:last-child,
.body-holidaysheet table tr:first-child td:last-child {
	border-radius: 0 4px 0 0;
}

.body-expensesheet .back,
.body-holidaysheet .back {
	margin-top: 20px;
}


/* Formulaires
-------------------------------------------------------------------------------------------------------*/
/* ---- Itemsform ---- */

.itemsform li:empty {
	display: none;
}

.itemsform .itemsform-head {
	border: none;
	background: var(--background-blue);
	padding: 10px 0;
}

.itemsform .itemsform-head:first-child {
	padding-top: 20px;
}

.itemsform .itemsform-head-bottom {
	padding-bottom: 20px;
}

.itemsform .itemsform-small {
	font-size: 80%;
}

.itemsform .itemsform-small label {
	color: var(--grey-medium-dark);
}

.itemsform label {
	line-height: 30px;
	padding: 0 20px 0 0;
}

.itemsform .itemsform-head label {
	padding: 0 20px 0 0;
	line-height: 30px;
}

.itemsform .itemsform-head input,
.itemsform .itemsform-head select {
	margin-top: -4px;
}

body:not(:-moz-handler-blocked) .itemsform .itemsform-head input {
	margin-top: 0;
}

.itemsform .itemsform-head div,
.itemsform .itemsform-head ul#ajax-autocomplete {
	margin-top: 0;
	line-height: 37px;
}

.itemsform .itemsform-head .txt_field_empty {
	padding: 0;
	line-height: 30px;
}

.itemsform .itemsform-head .input-ajax-content,
.itemsform .itemsform-head .input-ajax-static {
	margin-top: 0;
	padding-top: 0;
}

.itemsform .itemsform-head .hidden_field {
	margin: 0;
	padding-top: 0;
}

.itemsform .itemsform-head #contactcivilite_id {
	margin-top: -1px;
}

.itemsform .itemsform-complement-inline div {
	display: inline-block;
}


/* ---- content_form ---- */
.content_form input[type='text'] {
	margin: 0;
}

/* ---- Rowform ---- */
.rowform input[type='radio'],
.rowform input[type='checkbox'] {
	margin: 0;
	margin: 9px 2px 6px 0;
}

.rowform label {
	line-height: 30px;
}


/* ---- Colform ---- */
.colform input[type='checkbox'] {
	padding: 0;
}

/* ---- Suivi > Facture client  ---- */
#form_salefigures input[type='text'],
#form_purchases input[type='text'] {
	max-width: 125px;
}

/* ---- Contact ---- */

#street,
.itemsform #zip,
.itemsform #city {
	margin-bottom: 4px;
}

.itemsform .select-ajax-static label {
	font-size: 1em;
	line-height: auto;

	display: inline;
	float: none;

	width: auto;
	padding-right: 0;

	text-align: left;
}


/* ---- User navigation ---- */
.forms select {
	margin: 0;
}

/* ---- Lien multiplecombobox_all ---- */

.center-tr {
	text-align: center !important;
}

/*========================
	Calendrier (input date)
========================*/
.input-date-calendar {
	z-index: 999;

	padding: 30px 20px 20px 20px;
	text-align: center;

	border: 1px solid var(--grey-medium-light) !important;
	border-radius: 3px;
	background: var(--background-color) !important;
	box-shadow: none !important;

	user-select: none;
}

.input-date-calendar table {
	width: auto !important;

	table-layout: fixed;
	border-collapse: separate !important;
}

.input-date-calendar table td,
.input-date-calendar table th {
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;

	background: none !important;
}


.input-date-calendar table .hand {
	color: var(--grey-dark);
	line-height: 20px;
}

.input-date-calendar table .hand td {
	padding: 1px;
	font-size: 14px;

	border-radius: 4px;
}

.input-date-calendar table .hand td:hover {
	color: var(--text-color);
	background: var(--grey) !important;
}

.input-date-calendar table a {
	font-size: .9em !important;

	display: block;
	overflow: hidden;

	position: absolute;
	top: 10px;
	right: 10px;

	width: 10px !important;
	height: 10px !important;
	padding: 0px;

	text-decoration: none;

	border: none;
	background: url(../images/icon-close-removebg-preview.png) repeat-x center center;
	padding: 0px !important;
	filter: brightness(195%);

	background-size: contain !important;

}

.input-date-calendar table a:hover {
	background: url(../images/icon-close-removebg-preview.png) repeat-x center center;
	background-repeat: no-repeat center center;
	filter: contrast(150%) !important;
	width: 10px;
	height: 10px;
	background-size: contain !important;
}

.input-date-calendar table .datepicker-fillinputdate tr td[cell-selected]:hover,
.input-date-calendar table .datepicker-fillinputdate tr td[cell-selected] {
	background-color: var(--view-color) !important;
	color: var(--background-color);
	font-weight: bold;
}

.input-date-calendar table .datepicker-fillinputdate tr td[cell-selected="start"] ~ td:not(td[cell-selected="stop"]),
.input-date-calendar table .datepicker-fillinputdate tr[row-selected="start"] ~ tr td:not(td[cell-selected="stop"]) {
	background-color: var(--view-color) !important;
}

.input-date-calendar table .datepicker-fillinputdate tr td[cell-selected="stop"] ~ td:not(td[cell-selected="stop"]),
.input-date-calendar table .datepicker-fillinputdate tr[row-selected="stop"] ~ tr td:not(td[cell-selected="stop"]) {
	background-color: inherit !important;
}

.input-date-calendar-monthly a {
	left: 85px !important;
}

.input-date-calendar select {
	margin: 0 0 15px 0;
}

.input-date-calendar tbody:first-child tr:nth-child(2) {
	font-size: 10px;

	color: var(--grey-medium-dark);
}

[draggable] {
	cursor: grab;
  user-select: none;
  -khtml-user-drag: element;
  -webkit-user-drag: element;
}

.draggable-item.dragElem {
  opacity: 0.4;
}
.draggable-item.over {
  border: 2px dashed var(--text-color);
  border-top: 2px solid var(--attention-color);
}

/*========================
	Tip et Mask 
========================*/
/* ---- Tip ---- */
.tip {
	font-size: .9em;
	line-height: 1.75em;

	padding: 10px 10px 10px 14px;

	color: var(--text-color);
	border-radius: 4px;
	background: url(../images/futura/bg-tip.png) no-repeat left top;
}

/* ---- Mask ---- */
.field_complement {
	clear: left;
}

.mask {
	z-index: 9999;

	margin: 10px 0;
	padding: 10px;

	border: 1px solid var(--grey) !important;
	border-radius: 4px;
	background: var(--background-color) !important;
}

.mask:empty {
	display: none;
}

.mask a.maskable {
	font-size: .9em;
	font-weight: normal;

	position: absolute;
	top: -2px;
	right: 18px;

	display: block;

	padding: 6px 8px;

	text-decoration: none;

	color: var(--grey-dark);
	border: 1px solid var(--grey-light);
	border-radius: 0 0 4px 4px;
	background: var(--grey-light);
}

.mask a.maskable:hover {
	cursor: pointer;

	border: 1px solid var(--grey-medium-light);
	background: var(--grey-medium-light);
}


/* picker_user_id */
.mask.picker {
	position: relative;
	padding-top: 20px;
}

.modal-box .mask.picker {
	margin-left: 0;
}



/* Footer
-------------------------------------------------------------------------------------------------------*/

.logo {
	display: none;
}

.hours_slider {
	cursor: default;
}

.slider {
	position: relative;

	box-sizing: border-box;
	width: 100%;
	height: 44px;
	padding: 0;

	vertical-align: middle;
}

.slider:hover {
	background: var(--grey-light);
}

.slider.readonly {
	cursor: default;

	background-image: var(--link-hash);
	background-repeat: repeat;
}

.slider.readonly .ticks .full,
.slider.readonly .ticks .half {
	display: none;

	background: none;
}

.slider-content {
	position: absolute;
	z-index: 2;
	top: 0;
	left: 0;

	width: 100%;
}

.hidden {
	display: none;
}

#submit[disabled] {
	cursor: default;

	color: var(--grey-dark);
	border-color: var(--grey-light);
	background: var(--grey-light);
}

#form_hours .div-customer-project {
	position: absolute;
	top: 45px !important;
	left: 50% !important;
	z-index: 10;

	padding: 5px;

	border: 1px solid var(--grey);
	border-radius: 4px;
	background: var(--background-color);
}

.slider .slice {
	position: absolute;
	top: 0;

	display: inline-block;

	box-sizing: border-box;
	height: 44px;

	cursor: pointer;

	border: 1px solid var(--grey);
	border-width: 1px 9px;
	border-radius: 4px;
	background-image: url('../images/futura/bg-grey-transparent.png');
}

.slider .slice:hover .trash {
	position: absolute;
	top: 0;
	right: 0;
	display: inline-block;
	width: 24px;
	height: 24px;
	background-image: url('../images/link_delete.gif');
}

.slider .slice.readonly {
	cursor: default;

	border-color: transparent;
}

.slice.readonly .grip,
.slice.readonly .grip:hover {
	cursor: default;

	background: transparent;
}

#form_hours .slice.personnel {
	cursor: default;

	border-color: var(--confirm-color);
	background: var(--background-color);
}

#form_hours .slice.personnel .grip {
	background: transparent;
}

#form_hours .slice.personnel .grip {
	pointer-events: none;
}

#form_hours .slice.personnel.readonly {
	cursor: default;
}

#form_hours .slice.personnel {
	cursor: move;
}

#form_hours .slice.error .grip {
	background: var(--delete-color);
}

#form_hours .slice.error .grip:hover {
	background: var(--delete-color-hover);
}

#form_hours .slice.error {
	border-color: var(--delete-color);
}

.slider .grip {
	position: absolute;
	top: 0;

	display: inline-block;

	width: 8px;
	height: 100%;

	cursor: ew-resize;

	border-radius: 4px;
	background: var(--grey-medium-light);
}

.slider .grip:hover {
	background: var(--grey);
}

.slider .grip.start {
	left: -8px;
}

.slider .grip.stop {
	right: -8px;
}

.slider .label {
	line-height: 20px;

	top: 0;

	display: inline-block;

	box-sizing: border-box;
	width: 100%;
	height: 100%;

	text-align: center;
	vertical-align: middle;
	pointer-events: none;
}

.slider .label span {
	display: block;
	overflow: hidden;

	white-space: nowrap;
}

tr.scale td {
	padding: 0;
}

#scale .ticks .half {
	background: none;
}

#body .ticks .tick {
	height: 44px;
}

#body .ticks .half {
	background: var(--grey-medium-dark);
}

#body .ticks .full {
	background: var(--grey-dark);
}

#body .ticks {
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;

	width: 100%;
	pointer-events: none;
}

.ticks:after {
	display: inline-block;

	width: 100%;

	content: '';
}

.ticks,
#form_hours table td.ticks {
	padding: 0;

	text-align: justify;
}

.ticks .tick {
	display: inline-block;

	width: 1px;
	max-width: 1px;

	transform: scale(.99);

	color: transparent;
	background-color: var(--text-color);
}

.ticks .tick-label {
	font-weight: bold;

	display: inline-block;
}

#form_user_option_dated_daily_details .ticks .tick-label {
	display: inline-block;

	width: 1em;
}

form.param textarea {
	width: 250px;
	max-width: 400px;
	height: 60px;
}

/* Dashboard
-------------------------------------------------------------------------------------------------------*/
.circle {
	position: absolute;

	width: 60px;
	height: 60px;

	border-radius: 50%;
	background-color: var(--view-color);
}

.icon {
	padding: 10px;
}

.scoreboard-values > div {
	font-size: 16px;

	display: inline-block;

	width: 25%;
	height: 60px;
	padding-bottom: 80px;

	color: var(--grey-dark);
}

.scoreboard_value_name {
	font-size: 20px;

	display: inline;

	width: 260px;
	padding-top: 5px;
}

.scoreboard_value_data {
	font-size: 20px;
	font-weight: bold;

	padding-top: 5px;
}

.left {
	float: left;

	padding-left: 65px;
}

.icon img {
	width: 40px;
}

.scoreboard_list_names {
	margin-left: 70px;
}

.scoreboard_list_names h3 {
	font-size: 20px;

	white-space: pre;
}

.scoreboard-lists > div {
	display: inline-block;

	width: 32%;
	padding-top: 60px;
	padding-bottom: 60px;
	padding-left: 5px;
}

.scoreboard-lists ul li {
	font-size: 16px;

	list-style-type: circle;
}

.scoreboard-lists ul {
	overflow: auto;

	height: 100px;
	margin-top: -10px;
	padding-left: 20px;
}

#scoreboard_month {
	font-size: 50px;
	font-weight: bold;

	padding-top: 40px;
	padding-bottom: 40px;

	text-align: center;
}

.scoreboard-charts > div {
	display: inline-block;

	margin-top: 40px;
	margin-bottom: 40px;
}

.scoreboard-charts .scoreboard-element,
.scoreboard-values .scoreboard-element,
.scoreboard-lists .scoreboard-element {
	position: relative;
}

.chart-previous,
.chart-delete {
	position: absolute;
	z-index: 2;
	right: 20px;

	width: 24px;
	height: 24px;

	cursor: pointer;

	border: none;
}

.chart-delete {
	background: url('../images/link_delete.gif') no-repeat center;
}

.chart-previous {
	margin-right: 30px;

	background: url('../images/link_previous.gif') no-repeat center;
}


/* --- Paramètres --- */

.body-configparametrizing label {
	margin: 0 15px 0 8px;
}


/* ----- Project Details ----- */

.body-projectdetails table:not('.modal') {
	border-collapse: separate !important;
	border-spacing: 5px;
	border-bottom: 0;
}

.body-projectdetails table th:not('.modal') {
	background: var(--grey) !important;
	padding: 5px 10px;
	border-radius: 4px !important;
}

.body-projectdetails table td:not('.modal') {
	border: 0;
	border-bottom: 1px solid var(--grey-light);
	padding: 5px 10px;
	border-radius: 4px !important;
}

.body-projectdetails table tr td:first-letter:not('.modal'){
	text-transform: uppercase;
}

.body-projectdetails table tr.em td:not('.modal'){
	background-color: var(--grey);
	font-weight: normal;
	border-bottom: 0;
}

.body-projectdetails table .em td:empty:not('.modal'){
	border: none;
	background: none;
}

.body-projectdetails table td:first-child:not('.modal'){
	background: var(--grey-light);
	border: none;
}


/* ----- État : Analyse ----- */

.body-reportanalysis table {
	border-collapse: collapse;
}

.body-reportanalysis table td {
	padding-left: 10px;
}

.body-reportanalysis table tr:nth-child(4) td:first-letter {
	text-transform: uppercase;
}

.body-reportanalysis table td label {
	margin-left: 25px;
}

.body-reportanalysis table td input {
	margin-right: 15px !important;
}

.body-reportanalysis table td .nobr input {
	margin-right: 0 !important;
}

.body-reportanalysis table td.small {
	height: 10px;
}

.outlook-financial td {
	text-align: right;
}

.outlook-financial td:nth-child(1) {
	text-align: left;
}

.outlook-financial td.forecasted {
	font-style: italic;
}

.outlook-financial td.paid,
.outlook-financial td.total {
	font-weight: bold;
}

.hide-show-icons {
	width: 20px;
	height: 20px;
	float: right;
	margin-right: 5px;
	color: var(--text-color-light);
}

.hide-show-icons:hover {
	color: var(--grey-light);
}

.drag-icons {
	width: 20px;
	height: 20px;
	margin-right: 3px;
	color: var(--grey-light);
}

.drag-icons:hover:not([hover=false]) {
	color: var(--grey-dark);
}

/*========================
	Semaines type
========================*/

#form_useroptionsdailydetails .day-title {
	font-size: 12px;
	padding: 1px;
}

.useroptionsdated tr.useroptionsdated-total td {
	border: none;
	font-weight: bold;
	padding-top: 10px;
}

/*========================
	TImetables
========================*/
input.timetable-input {
	width: auto !important;
}

svg.timetable-details {
	display: block;
	height: 30px;
	width: 600px;
}

.timetable-hour {
	font-weight: normal;
	font-size: 10px;
}
