html {
	height: 100%;
}

body {
	background: url('../images/bg.png') repeat;
	color: #444;
	font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
	font-size: 15px;
	line-height: 0.0em;
	margin: 0;
	padding: 0;
	border: 0;
	width: 100%;
}

/* -------------------------- En tête -------------------------- */

.page_header {
	background-image: url('../images/bg-header.png');
	background-repeat: repeat;
	border-bottom: 1px solid #d4d4d4;
	height: 35px;
	padding: 18px 0;
	text-shadow: 0px 1px 0px rgba(255, 255, 255, 0.8);
	display: block;
	margin: 0;
	border-left: 0;
	border-right: 0;
	border-top: 0;
	box-sizing: content-box;
}

.wrapper {
    margin: 0 auto;
	padding: 0;
	border: 0;
	vertical-align: baseline;
}

a {
    color: #76a033;
}

#logo {
    float: left;
    width: 120px;
	margin: 0;
	padding: 0;
	border: 0;
	vertical-align: baseline;
}

#logo img {
    height: 36px;
    margin-left: 200px;
	margin-bottom: 0;
	margin-right: 0;
	margin-top : 0;
    width: 120px;
	padding: 0;
	border: 0;
	vertical-align: baseline;
}

#lang_selector {
	float: right;
	margin-right: 20px;
}

.lang_button {
	border: none;
	background-color: transparent;
}

/* -------------------------- Pied de page -------------------------- */

footer {
	background: url('../images/bg-footer.png') repeat;
	background-size: 3px 3px, 100% 100%;
	-moz-background-size: 3px 3px, 100% 100%;
	border-top: 1px solid #d8d8d8;
	color: #999;
	font-size: 0.75em;
	line-height: 0em;
	display: block;
	margin: 0;
	padding: 0;
	border-bottom: 0;
	border-left: 0;
	border-right: 0;
	width: 100%;
}

footer .wrapper {
	background: url('../images/shadow-separator.png') top no-repeat;
	background-size: 999px 6px;
	min-height: 62px;
	padding: 35px 0;
	max-width: 1000px;
}

footer .left {
    float: left;
	margin: 0;
	padding: 0;
	border: 0;
	vertical-align: baseline;
}

#logo-lis {
    background: url('../images/logo-lis-footer.png') top no-repeat;
    background-size: 138px 124px;
    display: block;
    float: left;
    height: 62px;
    text-indent: -9999px;
    width: 138px;
	margin: 0;
	padding: 0;
	border: 0;
}

footer .left .address {
    margin-left: 160px;
    max-width: 265px;
    padding-top: 15px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 0px;
	border: 0;
	line-height: normal;
}

.r {
	margin: 0;
	padding: 0;
	border: 0;
	vertical-align: baseline;
}

#logo-upmc {
	background: url('../images/logo_4.svg') no-repeat;
	background-size: 153px 62px;
	display: block;
	float: left;
	height: 62px;
	text-indent: -9999px;
	width: 153px;
	padding: 0 20px 0 20px;
	margin: 0 0 0 15px;
	border: 0;
}

#logo-mnhn {
    background: url('../images/logo-mnhn.png') no-repeat;
    background-size: 54px 62px;
    display: block;
    float: left;
    height: 62px;
    text-indent: -9999px;
    width: 54px;
    padding: 0 20px 0 20px;
	margin: 0;
	border: 0;
}

#logo-cnrs {
    background: url('../images/logo-cnrs.png') no-repeat;
	background-size: auto;
    background-size: 62px 62px;
    display: block;
    float: left;
    height: 62px;
    text-indent: -9999px;
    width: 62px;
    padding: 0 20px 0 20px;
	margin: 0;
	border: 0;
}

footer .right {
    float: right;
    padding-top: 55px;
    text-align: center;
	margin: 0;
	padding-right: 0;
	padding-bottom: 0;
	padding-left: 0;
	border: 0;
	vertical-align: baseline;
}

footer .right a {
	padding-right: 70px;
	font-size: 13px;
	font-weight: bold;
	text-decoration: none;
}

#logo-etaminstudio {
    background: url('../images/logo-etaminstudio-footer.png') top no-repeat;
    background-size: 125px 32px;
    display: block;
    height: 16px;
    margin: 5px 0;
    text-indent: -9999px;
    width: 125px;
	border: 0;
	padding: 0;
}

/* -------------------------- Main -------------------------- */

#main{
	position: relative;
	margin: 0;
	padding: 10px;
	line-height: normal;
}

/* -------------------------- Onglets -------------------------- */


#onglets {
	position: relative;
	margin: 0;
	height: 100px;
	padding-left: 8%;
	padding-right: 8%;
	padding-top: 2%;
}

#back_home {
	position: absolute;
	top: 8px;
	left: 15px;
	margin-top: 8px;
}

#back_home_icon {
	position: relative;
	margin: 0;
	padding: 0;
	width: 39px;
	height: 39px;
}

#advanced_search_icon{
	position: relative;
	margin: 0;
	padding: 0;
	width: 34px;
	height: 34px;
}

#geographic_search_icon {
	position: relative;
	margin: 0;
	padding: 0;
	width: 35px;
	height: 35px;
}

#taxonomic_search_icon {
	position: relative;
	margin: 0;
	padding: 0;
	height: 34px;
	width: 34px;
}

#all_contents_icon {
	position: relative;
	margin: 0;
	padding: 0;
	width: 32px;
	height: 32px;
}

#statistics_icon {
	position: relative;
	margin: 0;
	padding: 0;
	width: 36px;
	height: 36px;
}

.onglet {
	background-color: #8dc32f;
	position: relative;
	width: 12%;
	height: 60px;
	display: inline-block;
	text-align: center;
	border-radius: 10px;
	color: black;
	box-shadow: 0 8px 16px 0 rgba(0,0,0,0.2), 0 6px 20px 0 rgba(0,0,0,0.19);
	margin-right: 2%;
	margin-left: 2%;
}

a.onglet {
	text-decoration: none;
}

.onglet:hover {
	background-color: #48bca2;
}

.onglet_table {
	position: relative;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	color: black;
}

.onglet_icon_td {
	width: 30%;
	text-align: center;
	padding-left: 2%;
}

.onglet_text_td {
	font-size: 16px;
    text-align: left;
    padding-left: 2px;
    padding-right: 5px;
}

/* -------------------------- Accueil -------------------------- */

#home_vertical_spacer {
	height: 270px;
}

/* -------------------------- Recherche étendue -------------------------- */

#home_presentation_div {
	width: 70%;
	height: 60px;
	margin: auto;
	margin-top: 20px;
}

#home_presentation {
	word-wrap: break-word;
	text-align: justify;
	line-height: 1.3;
	font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
	font-size: 12pt;
}

#largeSearchDiv {
	position: relative;
	width: 70%;
	padding : 10px;
	margin: auto;
	left: 15px;
	top: 5px;
	margin-top: 50px;
	text-align: center;
}

#allContentsLargeSearchDiv {
	position: relative;
	width: 70%;
	margin: auto;
}

#allContentsLargeSearchDivTable {
	width: 100%;
	margin: auto;
	text-align: center;
}

#searchFieldTd {
	text-align: right;
}

#resetSearchButton {
	width: 200px;
	margin-bottom: 10px;
	margin-left: 10px;
	margin-right: 10px;
	background-color: #8dc32f;
	height: 27px;
	padding: 2px;
	border-radius: 5px;
	font: Arial;
}

#resetSearchButtonTd {
	width: 200px;
	text-align: left;
	padding-top: 10px;
}

#largeSearchInput {
	position: relative;
	width: 80%;
	margin: auto;
	border: 2px solid #ccc;
	border-radius: 30px;
	background-color: white;
	background-image: url('../images/searchIcon.png');
	background-position: 10px 5px; 
	background-repeat: no-repeat;
	padding: 12px 20px 12px 45px;
}

.searchArrowInput {
	position: relative;
	right: 40px;
	top: 6px;
	border-radius: 0.3rem;
	justify-content: center;
	align-items: center;
	margin: 0;
	padding: 0;
}

#home_chart {
	position: relative;
	width: 650px;
	height: 350px;
	text-align: center;
	margin: 30px auto 0 auto;
	margin-top: 50px;
	background-color: white;
}

.titre {
	font-family : Arial;
	font-size : 14pt;
	fill : black;
	font-weight : bolder;
}

#homeContainer {
	margin: auto;
	padding: 0px;
}

.homeSpeech {
	height: 200px;
	width: 300px;
	padding-top: 20px;
	padding-left: 10px;
	padding-right: 10px;
	margin-top: 0px;
}

.homeTableSpeech {
	width : 100%;
	height: 150px;
	word-wrap: break-word;
	font-family: Arial;
	font-size: 12pt;
	padding: 10px;
	line-height: normal;
	margin-top: 0px;
	text-align: justify;
}

#homeSpeechDiv {
	display : inline-block;
	margin-top : 0px;
	padding : 0px;
}
.homeLegend {
    margin-bottom: 10px;
    display: inline-block;
    border-collapse: collapse;
    border-spacing: 0px;
	margin-left : 0px;
	font-family : Arial;
	font-size : 11pt;
}

.homeLegend td {
	padding: 4px;
    text-align: left;
}

.legendFreq, .legendPerc {
    text-align: right;
}

.axis path,
.axis line {
	fill: none;
	stroke: #000;
}

.x.axis path {
	display: none;
}

.arc path {
	stroke: #fff;
}

path {
	stroke: #fff;
}

/* -------------------------- Recherche avancée -------------------------- */

#advancedSearchDiv {
	text-align: left;
	width: 72%;
    min-width: 1200px;
	height: 200px;
	margin: auto;
	margin-top: 30px;
	padding: 10px;
	background-color: #fff;
	border : 1px solid #e0e0e0;
	border-radius: 10px;
}

#advancedSearchDiv select {
	border-radius : 5px;
	border: 1px solid grey;
	width: 180px;
	height: 25px;
	line-height: 1;
	word-wrap: break-word;
}

#advancedSearchDiv label {
	font-size: 12pt;
	font-weight: bold;
}

.advancedSearchField > span[class~="select2"] {
    width : 210px !important;
}

.advancedSearchFieldMedium > span[class~="select2"] {
    width : 240px !important;
}

.advancedSearchFieldLong > span[class~="select2"]{
    width : 340px !important;
}

#advancedSearchPlaceholder {
    height: 24px;
}

#advancedSearchSubmit {
	width : 160px;
	margin-right: 40px;
}

#advancedSearchSubmitDiv {
	position: relative;
	width: 72%;
	margin: auto;
	margin-top: 10px;
	padding : 0px;
	text-align: center;
}

#reinitAdvancedSearch {
	width: 140px;
	margin-left: 40px;
}

#id_location_group {
    width: 200px;
}

#id_location {
    color: #999;
    line-height: 28px;
    width: 200px;
    white-space: nowrap;
    cursor: pointer;
    text-align: left;
}

#id_location + span[class~="select2"]{
	width : 240px !important;
}

.select2-results > ul > li {
	white-space: nowrap;
	max-width: 200px;
	text-overflow: ellipsis;
}

input[type='radio'] {
    accent-color: #e264af;
}

/* -------------------------- Recherche géographique -------------------------- */

#geo_presentation_div {
	text-align: center;
	width: 70%;
	margin: 0 auto;
	line-height: 1.3;
	font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
	font-size: 12pt;
}

#geo_presentation_begin {
	word-wrap: break-word;
	text-align: justify;
	margin: 0;
}

#geo_selectors_list {
	text-align: left;
	margin: 5px;
}

#geo_selectors_list > li {
	margin: 5px;
}

#geo_presentation_end {
	word-wrap: break-word;
	text-align: justify;
	margin: 0;
}

#map{
	position: relative;
	background: url('../images/bg.png') repeat;
	height: 750px;
	width: 65%;
	margin: auto;
	z-index:2;
	margin-top: 40px;
	margin-bottom: 20px;
}

#layer_select{
	position:absolute;
}

.info {
    padding: 6px 8px;
    font: 14px/16px Arial, Helvetica, sans-serif;
    background: white;
    background: rgba(255,255,255,0.8);
    box-shadow: 0 0 15px rgba(0,0,0,0.2);
    border-radius: 5px;
	width: 65x;
}

.info h4 {
    margin: 0 0 5px;
    color: #777;
}

.legend {
    line-height: 18px;
    color: #555;
}

.legend i {
    width: 18px;
    height: 18px;
    float: left;
    margin-right: 8px;
    opacity: 0.7;
}


/* -------------------------- Recherche taxonomique -------------------------- */

#taxonomy_presentation_div {
	text-align: center;
	width: 70%;
	margin: 0 auto;
	line-height: 1.3;
	font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
	font-size: 12pt;
}

#taxonomy_presentation {
	word-wrap: break-word;
	text-align: justify;
	margin: 0;
}

#chartWrapper{
	display: inline-block;
	text-align: center;
	width: 70%;
}

#chart {
	position: relative;
	width: 700px;
	margin: 40px auto;
}

#chart path {
  	stroke: #fff;
}

#explanation {
  	position: absolute;
  	top: 265px;
  	left: 280px;
  	width: 140px;
  	height: 170px;
  	text-align: center;
  	color: #666;
  	font-size: 10px;
  	z-index: -1;
}

#tbl_explanation{
	font-size: 10pt;
	width: 140px;
  	height: 170px;
	margin: 0;
	padding: 0;
	border-collapse: collapse;
}

#tbl_explanation td{
	padding: 8px;
	text-align: center;
}

#percentage {
	font-size: 15pt;
	margin-bottom: 2px;
}

#taxa_name{
	font-size: 13pt;
	font-weight: bolder;
	font-variant: small-caps;
	margin-bottom: 2px;
}

#default_explanation{
	font-size: 15px;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	border-collapse: collapse;
	text-align: center;
}

#taxoTable{
	display: inline-block;
	vertical-align: top;
	margin-top: 40px;
}

#taxoTableTitle{
	font-size: 22px;
	font-weight: bold;
}

.taxo_elt{
	font-weight: bold;
	cursor: pointer;
}

.taxo_lvl1{
	font-size: 18px;
	margin-top: 10px;
	margin-left: 20px;
}

.taxo_lvl2{
	font-size: 16px;
	margin-top: 4px;
	margin-left: 40px;
}

.taxo_lvl3{
	font-size: 15px;
	margin-top: 2px;
	margin-left: 60px;
}

.taxo_nb{
	font-size: 12px;
	font-weight: normal;
	padding-left: 5px;
	vertical-align: 2px;
}

/* -------------------------- Statistiques -------------------------- */

#stats{
	position: relative; 
	width: 70%;
	margin: auto;
}

#statsContainer1{
	background-color: white;
	width: 49%;
	float: left;
	margin-top: 15px;
	height: 338px;
}

#statsContainer2{
	position: relative;
	background-color: white;
	margin-top: 15px;
	padding: 0px;
	width: 49%;
	float: left;
	height: 338px
}

#statSpeechDiv{
	display: inline-block;
	margin-top: 0px;
	padding: 0px;
}

.statsTableSpeech{
	width: 200px;
	height: 90px;
	word-wrap: break-word;
	font-family: Arial;
	font-size: 12pt;
	padding-left : 5px;
	padding-right: 5px;
	padding-bottom: 5px;
	border-left: 2px solid grey;
	margin-bottom: 60px;
	margin-left: 5px;
}

.statLegend{
    margin-bottom: 16px;
    display: inline-block;
    border-collapse: collapse;
    border-spacing: 0px;
	margin-left: 0px;
	font-family: Arial;
	font-size: 10pt;
}

.statLegend td{
	padding: 4px;
    text-align: left;
}

.legendFreq, .legendPerc{
    text-align: right; 
}

.axis path,
.axis line {
	fill: none;
	stroke: #000;
}

.x.axis path {
	display: none;
}

.arc path {
  stroke: #fff;
}

path {  stroke: #fff; }

#statsContainer3{
	margin-left: 15px;
	background-color: white;
	margin-top: 15px;
	padding: 0px;
	width: 49%;
	display: inline-block;
	height: 338px
}

#statsContainer4{
	margin-left: 15px;
	background-color: white;
	margin-top: 15px;
	padding: 0px;
	width: 49%;
	display: inline-block;
	height: 338px
}
.statLegend2{
    margin-bottom: 16px;
    display: inline-block;
    border-collapse: collapse;
    border-spacing: 0px;
	margin-left: 0px;
	font-family: Arial;
	font-size: 10pt;
}

.statLegend2 td{
	padding: 4px;
    text-align: left;
}

#statSpeechDiv2{
	display: inline-block;
	margin-top: 0px;
	padding: 0px;
}

.statsTableSpeech2{
	width: 200px;
	height: 90px;
	word-wrap: break-word;
	font-family : Arial;
	font-size : 12pt;
	padding-left : 5px;
	padding-right: 5px;
	padding-bottom: 5px;
	border-left: 2px solid grey;
	margin-bottom: 60px;
	margin-left: 5px;
}

#statSpeechDiv3{
	display: inline-block;
	margin-top: 0px;
	padding: 0px;
}

.statsTableSpeech3{
	width: 200px;
	height: 90px;
	word-wrap: break-word;
	font-family: Arial;
	font-size: 12pt;
	padding-left: 5px;
	padding-right: 5px;
	padding-bottom: 5px;
	border-left: 2px solid grey;
	margin-bottom: 60px;
	margin-left: 5px;
}

.statLegend3{
    margin-bottom: 16px;
    display: inline-block;
    border-collapse: collapse;
    border-spacing: 0px;
	margin-left: 0px;
	font-family: Arial;
	font-size: 10pt;
}

.statLegend3 td{
	padding: 4px;
    text-align: left;
}

.line{
	fill: none;
	stroke: #8ebf42;
	stroke-width: 2px;
}

.overlay {
	fill: none;
	pointer-events: all;
}

.focus circle {
	fill: white;
	stroke: #8ebf42;
	stroke-width: 3px;
}

.focus text {
    font-size: 14px;
} 

.hover-line {
	stroke: #D4D8DA;
	stroke-width: 2px;
	stroke-dasharray: 3,3;
}

.axes line, .axes path{
	fill: none;
	stroke: #D4D8DA;
	stroke-width: 2px;
	shape-rendering: crispEdges;
}

.axes{
	font-family: Arial;
	font-size: 10pt;
}

#stats_vertical_spacer {
	height: 50px;
}


/* -------------------------- Résultats -------------------------- */

#results{
	position: relative;
	margin: 0;
	width: 100%;
	margin-top: 20px;
}

#filter_div {
	position: relative;
	width: 80%;
	margin: auto;
	margin-top: 5px;
}

.filter {
	margin-bottom: 10px;
	margin-left: 10px;
	margin-right: 10px;
	width: 120px;
	height: 30px;
	padding: 2px;
	border-radius: 5px;
	border: 2px solid #8dc32f;
	font: Arial;
}

.button {
	margin-bottom: 10px;
	margin-left: 10px;
	margin-right: 10px;
	background-color: #8dc32f;
	width: 110px;
	height: 27px;
	padding: 2px;
	border-radius: 5px;
	font: Arial;	
}

.button:hover {
	background-color: #48bca2;
}

.button:active {
	background-color: #8dc32f;
}

#results_per_page {
	float: right;
	width: 75px;
	font-size: 8pt;
}

#language_filter {
	margin-left: 75px;
}

#message {
	font-size: 18pt;
	margin-bottom: 0px;
}

#message2 {
	font-size: 18pt;
	margin-bottom: 0px;
}

.message_div {
	position: relative;
	width: 80%; 
	margin: auto;
	padding: 5px;
	margin-top: 20px;
	margin-bottom: 40px;
	text-align: center;
}

.base_div {
	position: relative;
	background-color: #fff;
	width: 80%;
	margin:auto;
	padding: 5px;
	margin-top: 10px;
	border: 1px solid #e0e0e0;
}

.tbl_base {
	position: relative;
	margin: 0;
	border-collapse: collapse;
	width: 100%;	
}

.tbl_base td {
	margin: 0;
	padding: 2px;
	padding-left: 5px;	
}

.tbl_base h3 {
	margin-bottom: 2px;
}

.tbl_base .detail {
	margin: 0;
	margin-bottom: 4px;
	font-size: 10pt;
	padding: 0;
	color: #2b882c;
}

.descriptif {
	vertical-align: top;
	border-left: 2px solid #e0e0e0;
}

.td_icon {
	width: 60px;
}

.www_td {
	text-align: left;
	padding: 0;
	width: 35px;
}

.base_td {
	text-align: left;
	padding: 0;
	width: 35px;
}

.key_td {
	text-align: left;
	padding: 0;
	width: 35px;
}

.camera_td {
	text-align: right;
	padding: 0;
	width: 40px;
}

.entryIcon {
	height: 60px;
	width: 60px;
	padding-top: 4px;
	margin-right: 5px;
}

#wwwIcon {
	height: 40px;
	width: 40px;
	margin: 0px;
}

#baseIcon {
	height: 40px;
	width: 40px;
	margin: 0px;
}

#keyIcon {
	height: 40px;
	width: 40px;
	margin: 0px;
}

#cameraIcon {
	height: 40px;
	width: 40px;
}

.descriptif a {
	text-decoration: none;
}

.pagination {
	display:inline-block;
	margin-top: 20px;
}

.pagination a {
	color: black;
	float: left;
	padding: 20px;
	text-decoration: none;
	border: 1px solid #ddd;
	border-radius: 10px;
	background-color: white;
	margin-left: 3px;
	margin-right: 3px;
}

.pagination a:hover:not(.active) {
	background-color: #ddd;
}

#popup {
	height: 200px;
	width: 200px;
}

/* -------------------------- Crédits -------------------------- */

.credits_title {
	text-align: center;
	padding-top: 30px;
}

.credits {
	text-align: center;
	height: 400px;
	padding: 20px;
	font-size: 18px;
}

.credits a {
	display: block;
	padding-bottom: 5px;
}

/* -------------------------- Présentation -------------------------- */

.breathe_r_12c {
    margin-right: 70px
}

.input_long {
    display: inline-block;
    width: 500px;
}

/* -------------------------- Classes multi-usage -------------------------- */

.bold {
	font-weight: bold;
}

.center {
	text-align: center;
}

.black {
	color: black;
}