

/* ============= General ============= */
html,body{
	margin:0;
	padding:0;
	outline: 0px;
}

body {
	font: var(--main-font, .9rem "Poppins", Verdana, Helvetica, sans-serif);
	color: var(--main-edit-color, #333333);
    min-height:100vh;
}

a {
	text-decoration: none;
	color: var(--main-color, #3a94e2);
}

a:hover {
	color: var(--secondary-color, #171717);
	text-decoration: underline;
}

a img {
	border-width: 0px;
}

ul,
ol {
	margin: 5px 0 0 0;
	padding: 0 0 0 20px;
	list-style-position: outside;
}

p {
	text-align: left;
	margin: 2px 0 5px 0;
	line-height: 1.3em;
}

table {
	border-collapse: collapse;
	width: 100%;
}

q:before,
q:after {
	content: "";
}

h2,
h3,
h4,
h5,
h6 {
	color: var(--main-color, #3a94e2);
    margin-bottom: 0.5em;
}

.hidden{
	position: absolute;
	width:1px;
	height:1px;
	visibility: hidden;
	top:-10000px;
	left:-10000px;
}

a.rootLnk {
	color: #fff;
}

a.rootLnk:hover {
	opacity: 0.7;
}

/* ============= Accessibility menu ============= */
#accessibility {
	list-style-image: none;
	list-style-position: outside;
	list-style-type: none;
	margin: 0;
	padding: 0;
	position: absolute;
	right: 0;
	width: auto;
	z-index: 90;
	font-size: 0.8em;
	top: 5px;
}

#accessibility li {
	float: left;
	margin-right: 10px;
}

#accessibility a {
	opacity: 0;
}

#accessibility a:hover {
	text-decoration: none;
}

#accessibility a:hover,
#accessibility a:focus {
	opacity: 1;
}

/* ============= Structure / Content ============= */
div#root {
    background-color: var(--main-bg-color, #f0eeef);
    display:flex;
    flex-direction:column;
	min-height: 100vh;
}

#header {
	background: var(--secondary-color, #171717);
    position: fixed;
    z-index: 999;
    width: 100%;
}

.page_scrolled_yes header {
    height: 3rem;
}

.cid #header {
	height: 3rem;
}

.cid #search {
	position: absolute;
    top: 2px;
    width: 98%;
}

#header h1 {
	font-size: 1.7em;
	margin: 0;
	padding: 0.2em 1em;
}

#search {
	padding: 0.5em 0 1em;
}

.page_scrolled_yes #search {
	position: relative;
	top: -2.9rem;
}

#main {
	max-width: 1100px;
    margin: 6.3rem auto 0px;
    flex: 2 1 auto;
    width: 100%;
}

.cid #main {
	margin-top: 3rem ;
}

.intro {
    margin: 1rem;
    padding: 1rem;
}

.resultSheet {
    flex: 2 1 auto;
    padding: 1em;
}

#footer {
    flex: 0 0 auto;
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    padding: 0 1rem;
}

.copyright {
	font-style: italic;
}

#footer a {
	margin-right: 5px;
}

#footer img {
	vertical-align: middle;
}

div.tplFootBanner {
	text-align: right;
	padding: 2px 0;
	color: var(--main-color, #3a94e2);
	font-size: 0.8em;
	cursor: default;
}

/* TODO A faire */
div.tplFootBanner span.copyright {
	display: block;
	padding: 2px 0 0 5px;
	float: left;
}

.responsiveButton {
	display: none;
	position: absolute;
    top: 0;
    color: #fff;
    font-size: 1.5rem;
}

/* ============= Texts ============= */
.txt_tb {
	margin: auto;
	border: 2px solid var(--main-color, #3a94e2);
}

.txt_tb caption {
	color: #737373;
	font-style: italic;
}

.txt_tb td,
.txt_tb th {
	border: 1px solid #708a9b;
}

.txt_tb thead {
	border-bottom: 2px solid var(--main-color, #3a94e2);
}

.txt_tb tfoot {
	border-top: 2px solid var(--main-color, #3a94e2);
}

.txt_tb p {
	margin: 1px 0;
}

.txt_t_tbcl,
.txt_t_tbtr {
	background-color: #d8d8d8;
}

.txt_n_tbtd p {
	text-align: right;
}

.txt_w_tbtd p {
	text-align: center;
}

/* .txt_emphasis_is,
.txt_quote_ph,
.txt_special_ph {
	color: var(--main-color, #3a94e2);
} */

/* ============= Cookie warn bar ============= */
.cookieWarnBar {
	position: fixed;
    border-bottom: 2px solid #e0dcd8;
    background-color: #FFF;
    padding: 6px 10px;
    margin: -5px -7px 3px -7px;
    opacity: 1;
    height: 15px;
    top: 0;
    z-index: 1000;
    left: 0;
	right: 0;
}

.cookieWarnBar.acknowledged {
	opacity: 0;
	height: 0px !important;
	padding: 0px 10px;
	margin: 0px -7px 0px -7px;
	border-bottom: 0px;
	transition-property: opacity, display, padding, margin;
	transition-duration: 0.5s;
	-moz-transition-property: opacity, height, padding, margin;
	-moz-transition-duration: 0.5s;
	-webkit-transition-property: opacity, height, padding, margin;
	-webkit-transition-duration: 0.5s;
}

.cookieWarnBtn {
	display: block;
	width: 14px;
	height: 14px;
	position: absolute;
	top: 5px;
	right: 5px;
}

.cookieWarnBtn::before {
	content: "x";
}

.cookieWarnBtn span {
	display: none;
}

/* ========== START - ELASTIC SEARCH ========== */
/* TEMPLATE */
#content {
	display: flex;
}

.hasIntro #content {
    display: block;
}

.searchParent {
    display: flex;
}

.facets {
	flex: 0 0 300px;
}

/* FONT */
@font-face {
	font-family: 'search';
	src: url('font/search.eot');
	src: url('font/search.eot') format('embedded-opentype'),
		url('font/search.woff') format('woff'),
		url('font/search.ttf') format('truetype'),
		url('font/search.svg') format('svg');
	font-weight: normal;
	font-style: normal;
}

/* BASIC */
label {
	display: block;
	cursor: pointer;
	margin: 0.2em 0;
	position: relative;
	padding-left: 1.4em;
}

label.empty {
	opacity: 0.5;
	cursor: default;
	pointer-events: none;
}

label input[type="number"] {
	margin-left: 5px;
}

label input[type="checkbox"] {
	position: absolute;
	left: -9999px;
}

label input[type="checkbox"]:checked+span {
	font-weight: bold;
}

label input[type="checkbox"]:checked+span::before {
	content: "\e80b";
	font-weight: normal;
	color: var(--main-color, #3a94e2);
}

label input[type="checkbox"]+span::before {
	font-family: "search";
	content: "\f096";
	position: absolute;
	left: 0;
	top: 0;
	font-size: 1.2em;
}

button {
	background-color: transparent;
	border: none;
	color:var(--main-color, #3a94e2);
	cursor: pointer;
	transition: 0.2s all;
	padding: 0.2em 0.5em;
	font-size: 1em;
}

select {
	cursor: pointer;
	width: 100%;
}

fieldset legend {
	font-weight: bold;
}

mark {
	background-color: transparent;
	color: #4b86fa;
}

.highlight {
	margin: 0 0.5rem 1rem;
	font-style: italic;
	order: 4;
}

span.highlight::before,
span.highlight::after {
	content: "...";
}

.isVisible_false,
.empty {
	display: none !important;
}

/* SEARCHBAR */
.schCmds {
	display: flex;
	justify-content: center;
	align-items: center;
	max-width: 550px;
	margin: 0 auto;
	box-sizing: border-box;
	position: relative;
}

.schCmds button.schBtnLaunch {
	font-size: 1.5em;
	overflow: hidden;
	height: 29px;
	width: 25px;
	padding: 0;
	position: absolute;
	right: 0.2em;
	top: 2px;
}

.schCmds button.schBtnLaunch:hover {
	color: var(--main-color, #3a94e2);
}

.schCmds button.schBtnLaunch::before {
	font-family: "search";
	content: "\e809";
	margin-right: 100px;
	margin-left: 2px;
	position: relative;
    top: 2px
}

#rechercher {
	width: 100%;
	padding: 5px 3em 5px 5px;
	border: 1px solid #8d8d8d;
	box-sizing: content-box;
	border-radius: 3px;
    box-shadow: inset 0px 0px 3px #bbb;
    font-size: 0.9em;
    height: 20px;
}

#rechercher:focus {
	box-shadow: 0px 1px 4px 0px rgba(168, 168, 168, 0.6) inset;
}

.backHome>a {
	font-size: 1.5em;
	margin-right: 0.5em;
	display: inherit;
	color: #000;
}

.backHome>a:hover {
	text-decoration: none;
}

.backHome>a::before {
	font-family: "search";
	content: "\e902";
}

.backHome>a span {
	position: absolute;
	left: -9999px;
}

/* SUGGEST */
.suggestBk {
	position: absolute;
	border: 1px solid #CDCDCD;
	background-color: #fff;
	left: 0;
	right: 0;
	padding: 0;
	top: 2.4em;
}

.suggestEntry_a {
	display: block;
	padding: 0.2em;
	color: var(--main-edit-color, #333333) !important;
}

.suggestEntry_a:hover,
.suggestEntry_a:focus {
	background-color: #d2d2d2;
	cursor: pointer;
	text-decoration: none;
}

.suggestList > ul {
	margin: 0;
	padding: 0;
	list-style: none;
}


/* FACETS */
.facets {
	padding: 0.3rem;
    margin-top: 0.5rem;
    height: min-content;
    position: sticky;
    top: 2.5rem;
}

.block .facets {
	top: 5rem;
	margin-top: 3rem;
}

.image_search .facets {
	display: none;
}

.facet {
	margin: 0;
	padding: 1em 0.5em;
	border-bottom: 1px solid #cbcaca;
}

.deployDate label {
	padding: 0;
}

select.facet {
	display: block;
	margin: 0.5em 0;
}

.facet .title,
.tree>span {
	display: block;
	font-weight: bold;
}

.facet .header {
	position: relative;
    text-transform: uppercase;
    font-size: 1.1em;
    font-family: 'Poppins', Arial, Helvetica, sans-serif;
    display: flex;
    align-items: center;
}

.facet .header button {
	position: absolute;
	top: 0;
	right: 0;
	background-color: transparent;
	padding: 0;
	font-size: 1.2em;
}

.facet .header button span {
	position: absolute;
	left: -9999px;
}

.facet .header button:hover {
	color: rgb(89, 174, 208);
	opacity: 0.7;
}

.facet .header button.open::before {
	font-family: "search";
	content: "\e80a";
}

.facet .header button.close::before {
	font-family: "search";
	content: "\e808";
}

.facet button.more,
.facet button.less {
	background-color: transparent;
	padding: 0;
	width: 100%;
	font-size: 0.9em;
	text-align: center;
	margin: 0.5em 0;
	color: var(--main-color, #3a94e2);
}

.facet button.more:hover,
.facet button.less:hover {
	text-decoration: underline;
}

.facet label>span {
	min-width: 2rem;
	display: inline-block;
}


.aggCount::before {
	content: "(";
}

.aggCount::after {
	content: ")";
}

.aggCount {
	margin: 0 0.5em;
	color: #999;
}

.errorFilter {
	color: #ec0a2f;
	font-style: italic;
}

/* GRAPHICAL DATE */
.hlines {
	stroke: #888;
	shape-rendering: crispEdges;
	stroke-width: 1px;
	stroke-opacity: 0.3;
}

.bar {
	fill: var(--main-color, #3a94e2);
}

.dateform {
	display: flex;
	align-items: center;
	justify-content: space-around;
}

.dateform label {
	padding-left: 0;
	display: block;
	cursor: pointer;
	margin: 0.3em 0;
	position: relative;
	padding-left: 1.6em;
	margin-left: 0.5em;
	font-size: 0.9em;
}

.dateform label span {
	color: grey;
	min-width: unset;
}

.dateform input {
	margin-left: 0.2em;
	border-radius: 3px;
	border: 1px solid #e9e9e9;
	padding: 0.2em 0.5em;
	text-align: center;
	max-width: 50px;
	background-color: #f8f8f8;
}

/* TREE */
.tree {
	position: relative;
}

.tree .addFilter {
	color: #fff;
	padding: 2px 10px;
	display: block;
	text-align: center;
	margin: 0.5em 0.3em;
	background-color: var(--main-color, #3a94e2);
}

.tree .addFilter:hover {
	text-decoration: none;
	opacity: 0.7;
}

.tree .addFilter span::before {
	font-family: "search";
	content: "\e802";
	margin-right: 5px;
}

.tree ul {
	list-style: none;
	padding: 0;
	margin: 0;
	background: #fff;
	text-align: left;
	z-index: 1;
}

.tree>ul,
.category>ul {
	position: absolute;
	left: 0.8em;
	right: 0.8em;
	top: auto;
	box-shadow: 0 0 3px;
	border-radius: 2px;
}

.tree ul li a {
	position: relative;
	padding: 0.3em 1.3em 0.3em 0.3em;
	display: block;
}

.tree ul li.subList ul li.entry a {
	font-size: 0.9em;
	padding-left: 1.5em;
}

.tree ul li.subList>a::after {
	font-family: "search";
	content: "\e800";
	position: absolute;
	font-size: 2em;
	right: 0.2em;
	top: 0;
}

.tree ul li.subList_open>a::after {
	content: "\e806";
}

.tree ul li a:hover {
	background-color: #d2d2d2;
	text-decoration: none;
}

.tree .selected {
	display: none;
}

.tree .filter {
	padding: 0.2em;
	position: relative;
	background: #E6E6E6;
	margin: 0.3em;
}

a.removeFilter {
	position: absolute;
	right: 3px;
	overflow: hidden;
	height: 16px;
	width: 17px;
}

a.removeFilter:hover {
	text-decoration: none;
	opacity: 0.7;
}

a.removeFilter::before {
	font-family: "search";
	content: "\e803";
	display: block;
	line-height: 16px;
}

/* MILLESIME */
.millesime label.interval {
	padding-left: 0;
}

/* UPDATE DATE */
.facet.updateDate label {
	padding-left: 0;
}

.facet.updateDate label span {
	display: inline-block;
	width: 30px;
}

/* SORT */
#docorder {
	margin: 0.5em 0 0rem;
}

#docorder>* {
	border-right: 1px solid #e4e5ec;
	padding: 0 0.5em 0 0;
	color: #898ea2;
}

#docorder a,
#docorder button {
	margin: 0 0.5em;
	padding: 0 1.8em 0 0;
	background: transparent url("img/sort.svg") no-repeat right 0.5em top -40px / 12px auto;
	height: 1rem;
}

#docorder ._score {
	margin: 0 0.5em;
	padding: 0 0.5em 0 0;
	background: none;
}

#docorder ._score.selected.desc {
	font-weight: bold;
}

#docorder button:hover {
	color: var(--main-color, #3a94e2);
	opacity: 0.7;
}

#docorder a.selected.asc,
#docorder button.selected.asc {
	background-position: right 0.5em top -20px;
	color: var(--main-color, #3a94e2);
}

#docorder a.selected.desc,
#docorder button.selected.desc {
	background-position: right 0.5em top 0;
	color: var(--main-color, #3a94e2);
}

/* PAGINATION */
.pagingLnks {
	background-color: #eeeeee;
	height: 28px;
	text-align: center;
	margin: 0.5em 0;
	display: flex;
	align-items: center;
	justify-content: space-around;
}

span.nbPage {
	display: flex;
	width: 20%;
	justify-content: space-around;
}

span.currentPage {
	font-weight: bold;
}

.pagingLnks .noResult {
	opacity: 0.2;
}

.previous span.icon,
.next span.icon {
	color: inherit;
}

.icon.prev:before {
	font-family: "search";
	content: "\e801"" ";
}

.icon.next:before {
	font-family: "search";
	content: " \e800";
}

/* RESULTS */
.headerBk {
	float: left;
    font-size: 1.2em;
	color: #333;
	font-weight: bold;
	margin-top: 0.7rem;
	position: sticky;
    top: 3.7rem;
    z-index: 11;
}

.cid .headerBk {
	top: 7.7rem;
}

.image_search .resultsTitle {
	display: none;
}

.resultsTools {
	text-align: right;
    position: sticky;
    top: 3rem;
    z-index: 10;
    padding: 0.5em 0 1rem;
}

.cid .resultsTools {
	top: 7rem;
}

.page_scrolled_yes .resultsTools {
	background: var(--main-bg-color, #f0eeef);
}

ul.searchResult_ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.block ul.searchResult_ul {
	display: flex;
	flex-flow: wrap;
	margin: 0 -.5em;
}

li.searchResult_li {
	padding: .5rem;
    list-style-type: none;
    position: relative;
	margin-bottom: 1em;
	border-bottom: 1px solid hsl(208deg 74% 56% / 17%);
    padding-bottom: 1em;
    padding-right: 2em;
	display: flex;
    flex-direction: column;
}

.cid li.searchResult_li {
	display: block;
}

li.searchResult_li:last-child {
    border-bottom: none;
}

.block li.searchResult_li {
	margin:.5rem;
    background-color: #fff;
	border-radius: 0.3rem;
	width: calc(50% - 1rem);
	box-sizing: border-box;
	border: none;
}

li.searchResult_li > span {
	display: flex;
    flex-direction: column;
    height: 100%;
}

.image_search li.searchResult_li{
	width:auto;
	border: 1px solid #fff;
}

.image_search li.searchResult_li .image {
    width: 170px;
    height: 170px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.views {
    border-left: 1px dotted;
    margin-left: 0.5em;
    padding-left: 0.5em;
	order: 3;
}

.block .views {
    margin: 0;
	border: none;
}

li.searchResult_li > span > .views {
	flex: 1;
	order: 3;
}

a.view {
    display: block;
}

.block a.view {
    font-size: 1.1rem;
    flex: 0 0 1.5em;
    text-align: center;
}

li.searchResult_li .title {
	font-size: 1.1em;
    font-weight: bold;
	color: #333;
	order:1;
}

.block li.searchResult_li .title {
	order: 2;
}

li.searchResult_li .content {
	display: flex;
	font-size: 0.8rem;
	order:1;
	flex-flow: wrap;
}

li.searchResult_li .content>* {
	color: #A0A0A0;
}
.image_search li.searchResult_li .content> .deployDate {
    display: none;
}

li.searchResult_li .content>*::after {
	content: "•";
	padding: 0 0.3rem;
}

li.searchResult_li .content>*:last-child::after {
	content: "";
}

.infos>.illustration {
	position: absolute;
	left: 0;
	top: 0;
}

.infos>.illustration>.contentInfos>img {
	max-width: 110px;
	max-height: 110px;
}

.infos>.logo {
	position: absolute;
	right: 0;
	top: 0;
}

.infos>.logo>.contentInfos>img {
	max-width: 50px;
}

.infos .label {
	margin-right: 0.3em;
}

.infos .label,
.infos .contentInfos {
	color: #666;
	font-weight: bold;
	display: inline-block;
}

.infos .contentInfos>span::after,
.infos .contentInfos>a::after {
	content: " - ";
}

.infos .contentInfos>span:last-child::after,
.infos .contentInfos>a:last-child::after {
	content: "";
}

.loadMore {
	visibility: hidden;
}

/* VIEWS */

a.view.selected {
	font-weight: bold;
}

.previewCidButton>a {
	position: absolute;
    right: 0.5rem;
    top: 0.3rem;
    font-size: 1.1rem;
}

.previewCidButton>a:hover {
	text-decoration: none;
	opacity: 0.7;
}

.previewCidButton>a::before {
	font-family: "search";
	content: "\e805";
}

.previewCidButton>a span {
	position: absolute;
	left: -9999px;
}

.previewCidButton>a.disabled {
	color: silver;
	opacity: 0.8;
	pointer-events: none;
}

/* CID */

.cid li.searchResult_li::before {
	font-family: "search";
	content: "\f096";
	position: relative;
    font-size: 1rem;
    top: 4px;
	padding: 0 0.3rem 0 0;
	float: left;
}

.cid li.searchResult_li.selected::before {
	font-family: "search";
	content: "\e80b";
}

.cid li.searchResult_li.selected {
	border-color: var(--secondary-color, #171717);
}

.cidTools {
	position: sticky;
	top: 3rem;
	left: 0;
	right: 0;
	background-color: #f0eeef;
	z-index: 2;
	text-align: center;
	padding: 0 0.5em;
}

.cidTools button {
	padding: 0.5em;
	border-radius: 3px;
	margin: 0.5em;
	background-color: var(--main-color, #3a94e2);
	color: #fff;
}

.cidTools button:hover {
	opacity: 0.7;
}

.cidTools button[disabled="true"] {
	cursor: default;
	opacity: 0.5;
}

.cidTools button[disabled="true"]:hover {
	color: var(--main-edit-color, #333333);
	background-color: #f4f5fa;
	opacity: 0.5;
}

.cidToolsInfos {
	height: 1.5em;
	font-style: italic;
}

.search_type .cidToolsInfos {
	display: none;
}

/* DISCONNECT */
.cid .disconnect {
	display: none;
}

.disconnect {
	position: absolute;
    right: 0.5em;
    top: .5em;
    display: flex;
	align-items: center;
	justify-content: flex-end;
}

.disconnect button {
	font-size:1.3rem;
	font-weight: normal;
}

.disconnect button:hover {
	opacity: 0.7;
}

.disconnect button::before {
	font-family: "search";
	content: "\e804";
	margin-right: 5px;
}

.disconnect button span {
	display: none;
}

.disconnect div#userAccount {
	color: #fff;
	padding: 0.2em 0;
}

.disconnect div#userAccount:before {
	content: "Connecté en tant que ";
}

/* PREVIEW */
.preview {
	position: fixed;
	z-index: 999;
	top: 0;
	right: 0;
	bottom: 45px;
	left: 0;
	background-color: rgba(0, 0, 0, 0.7);
	overflow: hidden;
	padding: 2vh 4vh;
	display: flex;
	flex-direction: column;
}

.preview .title {
	display: flex;
	padding: 0 0 0.5em 0.5em;
	color: var(--main-color, #3a94e2);
	font-weight: bold;
	font-size: 1.3em;
}

.preview .title>span:first-child {
	flex: 2 1 auto;
}

.preview .title>span.close {
	overflow: hidden;
	cursor: pointer;
	width: 25px;
}

.preview .title>span.close:hover {
	opacity: 0.7;
}

.preview .title>span.close::before {
	font-family: "search";
	content: "\e803";
	font-size: 25px;
	margin-right: 3px;
}

.preview .content {
	flex: 2 1 auto;
	position: relative;
	box-shadow: 0 0 4px #fff;
}

.preview .content iframe {
	width: 100%;
	height: 100%;
	position: absolute;
	border: none;
	background: #fff;
}

/* RESPONSIVE DESIGN */
@media (max-width: 900px) {
	#content,
	.searchParent {
		flex-direction: column;
	}

	.resultSheet {
		order: 1;
	}

	.responsiveButton {
		display: block;
	}

	.facets {
		display: none;
		position: static;
	}

	.responsiveMenuActive .facets {
		display: block;
	}

    #accessibility,
	#userAccount,
	#header h1 {
		display:none;
	}

	.page_scrolled_yes #search {
		position: static;
	}

	#header {
		height: 3rem;
	}

	.disconnect button {
		max-width: 2rem;
	}
}

@media (max-width:600px) {
	.infos>.illustration {
		display: none;
	}
	li.searchResult_li {
		width:calc(100% - 1rem);
	}
	.schCmds {
		max-width: 290px;
	}

	.facets {
		display: none;
		position: fixed;
		background: var(--main-bg-color, #f0eeef);
		z-index: 15;
		left: 0;
		right: 0;
		height: 100%;
	}

}

/* ========== STOP - ELASTIC SEARCH ========== */
