/* Badges */
.alert-badge {
	display: inline-block;
	width: 15px;
	height: 15px;
	vertical-align: middle;
	border-radius: 100%;
}

/* Balises */
a {
	color: #003960;
}

a:hover,
a:focus {
	color: #2E4B5F;
}

/* Boutons */
.custom-btn {
	display: block;
	padding: 2.5px 7.5px;
	border: none;
	border-radius: 5px;
	color: #FFF;
}

a.custom-btn {
	display: inline-block;
}

.custom-btn:hover,
.custom-btn:focus {
	color: #FFF;
	text-decoration: none;
}

.green-btn {
	background-color: #008E4D;
}

.green-btn:hover {
	background-color: #2E9868;
}

/* Boutons images */
.add-icon {
	background-image: url('../images/icons/add.png');
	background-size: 20px;
	-webkit-background-size: 19px;
	background-repeat: no-repeat;
	width: 20px;
	height: 20px;
	display: block;
}

.archive-icon {
	background-image: url('../images/icons/archive.png');
	background-size: 20px;
	-webkit-background-size: 19px;
	background-repeat: no-repeat;
	width: 20px;
	height: 20px;
	display: block;
}

.choose-icon {
	background-image: url('../images/icons/choose.png');
	background-size: 20px;
	-webkit-background-size: 19px;
	background-repeat: no-repeat;
	width: 20px;
	height: 20px;
	display: block;
}

.chosen-icon {
	background-image: url('../images/icons/chosen.png');
	background-size: 20px;
	-webkit-background-size: 19px;
	background-repeat: no-repeat;
	width: 20px;
	height: 20px;
	display: block;
}

.delete-icon {
	background-image: url('../images/icons/delete.png');
	background-size: 20px;
	-webkit-background-size: 19px;
	background-repeat: no-repeat;
	width: 20px;
	height: 20px;
	display: block;
}

.excel-icon {
	background-image: url('../images/icons/excel.png');
	background-size: 20px;
	-webkit-background-size: 19px;
	background-repeat: no-repeat;
	width: 20px;
	height: 20px;
	display: block;
}

.filter-icon {
	background-image: url('../images/icons/filter.png');
	background-size: 20px;
	-webkit-background-size: 19px;
	background-repeat: no-repeat;
	width: 20px;
	height: 20px;
	display: block;
}

.inbox-icon {
	background-image: url('../images/icons/inbox.png');
	background-size: 20px;
	-webkit-background-size: 19px;
	background-repeat: no-repeat;
	width: 20px;
	height: 20px;
	display: block;
}

.inform-icon {
	background-image: url('../images/icons/inform.png');
	background-size: 20px;
	-webkit-background-size: 19px;
	background-repeat: no-repeat;
	width: 20px;
	height: 20px;
	display: block;
}

.modify-icon {
	background-image: url('../images/icons/modify.png');
	background-size: 20px;
	-webkit-background-size: 19px;
	background-repeat: no-repeat;
	width: 20px;
	height: 20px;
	display: block;
}

.next-icon {
	background-image: url('../images/icons/next.png');
	background-size: 20px;
	-webkit-background-size: 19px;
	background-repeat: no-repeat;
	width: 20px;
	height: 20px;
	display: block;
}

.pdf-icon {
	background-image: url('../images/icons/pdf.png');
	background-size: 20px;
	-webkit-background-size: 19px;
	background-repeat: no-repeat;
	width: 20px;
	height: 20px;
	display: block;
}

.previous-icon {
	background-image: url('../images/icons/previous.png');
	background-size: 20px;
	-webkit-background-size: 19px;
	background-repeat: no-repeat;
	width: 20px;
	height: 20px;
	display: block;
}

.resize-icon {
	background-image: url('../images/icons/resize.png');
	background-size: 20px;
	-webkit-background-size: 19px;
	background-repeat: no-repeat;
	width: 20px;
	height: 20px;
	display: block;
}

.settings-icon {
	background-image: url('../images/icons/settings.png');
	background-size: 20px;
	-webkit-background-size: 19px;
	background-repeat: no-repeat;
	width: 20px;
	height: 20px;
	display: block;
}

.verify-icon {
	background-image: url('../images/icons/verify.png');
	background-size: 16.7px;
	-webkit-background-size: 15.7px;
	background-repeat: no-repeat;
	width: 16.7px;
	height: 20px;
	display: block;
}

.warning-icon {
	background-image: url('../images/icons/warning.png');
	background-size: 16.7px;
	-webkit-background-size: 15.7px;
	background-repeat: no-repeat;
	width: 16.7px;
	height: 20px;
	display: block;
}

.word-icon {
	background-image: url('../images/icons/word.png');
	background-size: 20.5px;
	-webkit-background-size: 19.5px;
	background-repeat: no-repeat;
	width: 20.5px;
	height: 20px;
	display: block;
}

.icon-without-text {
	cursor: pointer;
}

.icon-with-text {
	display: inline;
	padding-left: 22.5px;
	color: #8A8B8D;
}

.icon-with-text:hover,
.icon-with-text:focus {
	color: #8A8B8D;
	cursor: pointer;
	text-decoration: underline;
}

.icon-with-text.iwt-c-white {
	color: #FFF;
}

.iwt-vertical-align-sm {
	padding-top: 20px;
}

@media (max-width: 767px) {
	.iwt-vertical-align-sm {
		padding-top: 0;
		padding-bottom: 20px;
	}
}

span.nt-icon {
	display: inline-block;
	line-height: 1.3;
	vertical-align: middle;
}

/* Calendriers */
.month-calendar {
	overflow: auto;
	margin-bottom: 2.5px;
}

.month-calendar > table {
	width: 100%;
	table-layout: fixed;
}

.month-calendar > table > thead {
	background-color: #003960;
	color: #FFF;
}

.month-calendar > table > thead > tr > th:not(:first-child) {
	border: solid 1px #DBDCDD;
}

.month-calendar > table > thead > tr > th {
	font-size: 8px;
	font-weight: normal;
	text-align: center;
	border: none;
	padding: 2.5px;
}

.month-calendar > table > tbody > tr > td {
	font-size: 12px;
	height: 25px;
}

.month-calendar > table > tbody > tr > td:first-child {
	text-align: center;
}

.month-calendar > table > tbody > tr {
	background-color: #FFF;
}

.mc-absence {
	background-color: #F58500;
	height: 100%;
}

/* Conteneurs */
.aw-container.panel {
	margin: 0;
	background-color: transparent;
	border: solid 2px #003960;
	border-radius: 5px;
}

.aw-container.panel > .panel-heading {
	padding: 5px 15px;
	text-align: center;
	color: #FFF;
	background-color: #003960;
	border-radius: 0;
}

.aw-container.panel > .panel-body {
	padding: 0 15px 20px 15px;
}

.aw-container > .panel-body.pb-padding {
	padding: 20px 15px;
}

.aw-container .panel-fieldset {
	color: #FFF;
	background-color: #003960;
	padding: 5px 15px;
	margin-bottom: 20px;
}

.aw-container ~ .panel-fieldset {
	padding: 0px;
}

.aw-container.panel > .panel-footer {
	padding: 5px 15px;
	background-color: #003960; 
	border: none;
	border-radius: 0;
	color: #FFF;
}

/* Contrôles */
.attribute-wrapper,
.field-wrapper {
	margin-bottom: 20px;
	position: relative;
}

.attribute-wrapper .attribute-label,
.field-wrapper .field-label {
	color: #003960;
}

.field-wrapper .field-label .fl-complement {
	font-size: 12px;
	font-style: italic;
	color: #FF0921;
}

.attribute-wrapper .attribute,
.field-wrapper .field > input[type="password"],
.field-wrapper .field input[type="text"],
.field-wrapper .field > select,
.field-wrapper .field > textarea {
	display: block;
	width: 100%;
	min-height: 25px;
	font-size: 16px;
	color: #8A8B8D;
	background-color: #FFF;
	padding: 0 5px;
	border: solid 1px #DBDCDD;
	border-radius: 0;
}

.attribute-wrapper .attribute {
	background-color: #EDEDEE;
}

.field-wrapper .field > select {
	padding: 0;
}

.field-wrapper .field > ul {
	list-style: none;
	padding-left: 0;
	border: none;
	box-shadow: none;
}

.field-wrapper .field > ul > li {
	display: inline-block;
	margin-right: 5px;
}

.field-wrapper .field > ul > li > label {
	font-weight: normal;
	color: #8A8B8D;
	margin: 0;
}

.field-wrapper .field > textarea {
	resize: vertical;
	height: 25px;
}

.field-wrapper .field input[readonly] {
	background-color: #EDEDEE;
}

.field-wrapper .field-error-message > ul {
	list-style : none; 
	padding-left: 0;
	font-weight : bold;
}

.field-wrapper .field-error-message > ul > li {
	font-size : 12px;
	position: absolute;
	bottom: -15px;
	color : #FF0921;
}

.input-group-addon {
	padding: 0 7.5px;
	font-size: 12px;
	line-height: 1.3;
	background-color: #EDEDEE;
	border: solid 1px #DBDCDD;
	border-radius: 0;
}

.if-container {
	position: relative;
}

.if-container > .field > input[type="file"] {
	position: absolute;
	top: 0;
	left: 0;
	width: 75px;
	opacity: 0;
	cursor: pointer;
}

.if-trigger {
	display: inline-block;
	padding: 2.5px 7.5px;
	border: none;
	border-radius: 5px;
	color: #FFF;
	background-color: #F58500;
}

.if-container > .field:hover + .if-trigger {
	background-color: #E6922F;
}

.if-return {
	color: #8A8B8D;
	display: inline-block;
}

.if-return > .file-infos {
	display: inline-block;
	margin-right: 5px;
	color: #8A8B8D;
	font-weight: bold;
}

.if-return > .file-infos:not(:empty):before {
	content: 'Fichier :';
	text-decoration: underline;
	font-weight: normal;
}

.if-return > .delete-file {
	display: inline-block;
}

.if-return > .delete-file > label {
	margin-bottom: 0;
	font-weight: normal;
	font-style: italic;
	color: #FF0921;
}

.if-return > .delete-file > input,
.if-return > .delete-file > label {
	cursor: pointer;
}

/* Couleurs */
.theme-color {
	color: #003960;
}

/* Datatables */
.custom-table {
	overflow: auto;
	font-size: 12px;
}

.custom-table table.dataTable {
	width: calc(100% - 2px);
}

.custom-table table.dataTable.no-footer {
	border: solid 1px #DBDCDD;
	border-collapse: collapse;
	box-shadow: none;
}

.custom-table thead {
	background-color: #003960;
	color: #FFF;

}

.custom-table thead > tr > th {
	font-weight: normal;
	font-style: italic;
	padding: 2.5px 7.5px;
	border: solid 1px #DBDCDD;
	text-align: center;
	white-space: nowrap;
}

.custom-table table.dataTable > thead .sorting,
.custom-table table.dataTable > thead .sorting_asc,
.custom-table table.dataTable > thead .sorting_desc {
	background-image: none;
}

.custom-table thead .sorting:hover,
.custom-table thead .sorting_asc,
.custom-table thead .sorting_desc {
	background-color: #2A5485;
}

.custom-table thead > tr > th.unbordered,
.custom-table tbody > tr > td.unbordered {
	border: none;
	border-bottom: solid 1px #DBDCDD;
}

.custom-table tbody > tr > td {
	color: #8A8B8D;
	text-align: justify;
	padding: 2.5px 7.5px;
}

.custom-table tbody > tr {
	background-color: #FFF;
}

.custom-table tbody > tr:nth-of-type(even) {
	background-color: #EDEDEE;
}

.custom-table .dataTables_length {
	color: #8A8B8D;
	text-align: left;
}

.custom-table .dataTables_length label {
	font-weight: normal;
}

.custom-table .dataTables_wrapper .dataTables_paginate {
	float: left;
	text-align: center;
	width: 100%; 
	padding-top: 5px;
}

@media (max-width: 767px) {
	.custom-table .dataTables_wrapper .dataTables_paginate {
		margin: 0;
	}
}

.custom-table .dataTables_wrapper .dataTables_paginate .paginate_button {
	padding: 2.5px 7.5px;
	margin-left: 5px;
	border: solid 1px transparent;
	border-radius: 0;
}

.custom-table .dataTables_wrapper .dataTables_paginate .paginate_button.current,
.custom-table .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
	color: #FFF !important;
	border: solid 1px transparent;
	background: #2A5485;
}

.custom-table .dataTables_wrapper .dataTables_paginate .paginate_button.disabled,
.custom-table .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover,
.custom-table .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:active {
	color: #8A8B8D !important;
	border: solid 1px transparent;
	background-color: transparent;
}

.custom-table .dataTables_wrapper .dataTables_paginate .paginate_button:hover {
	color: #FFF !important;
	border: solid 1px transparent;
	background: #003960;
}

.custom-table .dataTables_wrapper .dataTables_paginate .paginate_button:active {
	box-shadow: none;
}

.custom-table tbody > tr.to-highlight {
	background-color: #AAA;
}

.custom-table tbody > tr.to-highlight > td {
	color: #FFF;
}

/* Datepickers */
.datepicker {
	border-radius: 0;
	padding: 0 7.5px;
	width: 200px;
	height: 200px;
	line-height: 200px;
}

.datepicker .table-condensed {
	vertical-align: middle;
	display: inline-block;
	line-height: 1.3;
	width: 100%;
}

.datepicker .table-condensed th,
.datepicker .table-condensed td {
	width: 1%;
	padding: 0;
	font-size: 12px;
}

.datepicker .table-condensed th,
.datepicker .table-condensed td,
.datepicker .table-condensed td span {
	border-radius: 0;
}

.datepicker .table-condensed td span {
	width: 22.5%;
	height: 42.5px;
	line-height: 42.5px;
}

.datepicker table tr td.old,
.datepicker table tr td.new,
.datepicker table tr td span.old,
.datepicker table tr td span.new {
	color: #DBDCDD;
}

.datepicker .datepicker-switch:hover,
.datepicker .next:hover,
.datepicker .prev:hover,
.datepicker table tr td.day:hover,
.datepicker table tr td.day.focused,
.datepicker tfoot tr th:hover {
	background: #EDEDEE;
}

.datepicker table tr td.active,
.datepicker table tr td.active:hover,
.datepicker table tr td span.active,
.datepicker table tr td span.active:hover {
	background-color: transparent;
	background-image: none;
	color: #FFF;
	text-shadow: none;
}

.datepicker table tr td.active.active,
.datepicker table tr td.active:hover.active,
.datepicker table tr td span.active.active,
.datepicker table tr td span.active:hover.active {
	background-color: #003960;
}

/* Fenêtres modales */
.custom-modal .modal-dialog {
	width: 100%;
	margin: 20px auto;
	padding: 0 15px;
}

.custom-modal .modal-content {
	border-radius: 0;
}

.custom-modal .modal-header {
	color: #003960;
	padding: 5px 15px;
	border-color: #DBDCDD;
	text-align: center;
}

.custom-modal .modal-header > .close {
	font-size: 24px;
	color: #8A8B8D;
}

.custom-modal .modal-header > .close:hover,
.custom-modal .modal-header > .close:focus {
	color: #8A8B8D;
	filter: alpha(opacity = 100);
}

.custom-modal .modal-body {
	background-color: #CAD2D7;
	padding: 20px 15px 0 15px;
	max-height: calc(100vh - 75px);
	overflow-y: auto;
}

.custom-modal .modal-padding-bottom {
	padding-bottom: 20px;
}

/* Formulaires */
.custom-form {
	margin: 0;
	background-color: transparent;
	border: solid 2px #003960;
	border-radius: 5px;
}

.custom-form > .panel-heading {
	padding: 5px 15px;
	text-align: center;
	color: #FFF;
	background-color: #003960;
	border-radius: 0;
}

.custom-form > .panel-body {
	padding: 0 15px 20px 15px;
}

.custom-form > .panel-body.pb-padding {
	padding: 20px 15px;
}

.required-field:before {
	content: ' (requis)';
	font-size: 12px;
	font-style: italic;
	color: #FF0921;
}

.invalid-field {
	border: solid 1px #FF0921;
	-webkit-box-shadow : 0 0 5px rgba(255, 9, 33, 0.8);
	box-shadow : 0 0 5px rgba(255, 9, 33, 0.8);
}

.valid-form {
	font-weight: bold;
	text-align: center;
	color: #82C46C;
}

.custom-form .panel-fieldset {
	color: #FFF;
	background-color: #003960;
	padding: 5px 15px;
	margin-bottom: 20px;
}

.panel-body ~ .panel-fieldset {
	padding: 0px;
}

.custom-alert-danger {
	padding: 5px 15px;
	margin-top: -20px;
	margin-bottom: 20px;
	border-top: solid 1px;
	border-bottom: solid 1px;
	border-color: #FF0921;
	color: #FF0921;
	background-color: #FFCDD2;
}

/* Menu latéral */
#side-menu.panel-group {
	margin: 0;
}

#side-menu.panel-group > .panel:not(:last-child) {
	margin-bottom: 5px;
}

#side-menu > .panel {
	border: solid 1px #DBDCDD;
	border-radius: 0;
	margin: 0;
}

#side-menu > .panel > .panel-heading {
	padding: 5px;
	border: none;
	border-radius: 0;
	background-color: #003960;
	color: #FFF;
}

#side-menu > .panel > .panel-heading > .panel-title > a > img {
	height: 30px;
	margin-right: 2.5px;
}

#side-menu > .panel > .panel-heading > .panel-title > a {
	color: #FFF;
	display: block;
	line-height: 30px;
	text-decoration: none;
}

#side-menu.panel-group > .panel > .panel-heading + .panel-collapse > .panel-body {
	border-top: solid 1px #DBDCDD;
}

#side-menu .panel-body {
	padding: 0;
}

#side-menu .panel-body > table {
	width: 100%;
}

#side-menu .panel-body > table > tbody > tr:not(:first-child) {
	border-top: solid 1px #DBDCDD;
}

#side-menu .panel-body > table > tbody > tr > td > a {
	padding: 5px;
	color: #8A8B8D;
	text-decoration: none;
	display: block;
}

#side-menu .panel-body > table > tbody > tr > td > a:hover {
	background-color: #EDEDEE;
}

/* Onglets */
.custom-nav-tabs {
	border-color: #DBDCDD;
}

.custom-nav-tabs > li > a {
	font-size: 12px;
	padding: 5px 2.5px;
	line-height: 1.3;
	white-space: nowrap;
	border-radius: 0;
}

.custom-nav-tabs.nav-justified {
	border-bottom: solid 1px #DBDCDD;
}

.custom-nav-tabs.nav-justified > li > a {
	margin-bottom: 0;
	border: none;
	border-radius: 0;
}

.custom-nav-tabs > li > a:hover,
.custom-nav-tabs > li > a:focus,
.custom-nav-tabs.nav-justified > li > a:hover,
.custom-nav-tabs.nav-justified > li > a:focus {
	color: #2E4B5F;
	background-color: transparent;
}

.custom-nav-tabs > li.active > a,
.custom-nav-tabs > li.active > a:hover,
.custom-nav-tabs > li.active > a:focus,
.custom-nav-tabs.nav-justified > li.active > a,
.custom-nav-tabs.nav-justified > li.active > a:hover,
.custom-nav-tabs.nav-justified > li.active > a:focus {
	color: #FFF;
	background-color: #003960;
	border-color: transparent;
}

.tab-content > div {
	margin-top: 20px;
}

.custom-nav-tabs .nt-badge {
	display: inline-block;
	padding: 0 7.5px;
	font-size: 12px;
	text-align: center;
	line-height: 20px;
	background-color: transparent;
	border: solid 2px;
	border-radius: 10px;
}

/* Police */
.b {
	font-weight: bold;
}

.i {
	font-style: italic;
}

/* Sauts de ligne */
.br {
	display: block;
	width: 100%;
	height: 20px;
}

@media (max-width: 767px) {
	.br-sm {
		padding-top: 20px;
	}
}

/* Textes */
.hoverable:hover {
	text-decoration: underline;
	cursor: pointer;
}

/* Vignettes */
.custom-thumbnail {
	display: block;
	background-color: #FFF;
	border: 1px solid #DBDCDD;
	padding: 10px 15px;
	text-align: center;
}

.custom-thumbnail:hover {
	border-color: #2E4B5F;
	-webkit-transition: border .2s ease-in-out;
	-o-transition: border .2s ease-in-out;
	transition: border .2s ease-in-out;
}

.custom-thumbnail,
.custom-thumbnail:hover,
.custom-thumbnail:focus {
	color: #8A8B8D;
	text-decoration: none;
}

.custom-thumbnail > img {
	max-height: 120px;
	margin-bottom: 10px;
}

@media (min-width: 768px) {
	.thumbnails-row > div:not(:last-child) {
		margin-bottom: 20px;
	}
}

@media (max-width: 767px) {
	.thumbnails-row > div > div {
		margin-bottom: 20px;
	}

	.thumbnails-row {
		margin-bottom: -20px;
	}
}

.custom-thumbnail[href="#"] {
	opacity: 0.5;
}

/* Wells */
.custom-well {
	padding: 5px 15px;
	text-align: center;
	color: #FFF;
	background-color: #2E4B5F;
	border: double 1px #FFF;
	margin-bottom: 20px;
}

.custom-well.cw-c-orange {
	background-color: #003960;
}