@font-face {
  font-family: "Source Sans Pro Black";
  src: url("../font/SourceSansPro/SourceSansPro-Black.otf") format("opentype");
}

@font-face {
  font-family: "Source Sans Pro Bold";
  src: url("../font/SourceSansPro/SourceSansPro-Bold.otf") format("opentype");
}

@font-face {
  font-family: "Source Sans Pro Italic";
  src: url("../font/SourceSansPro/SourceSansPro-It.otf") format("opentype");
}

@font-face {
  font-family: "Source Sans Pro Light";
  src: url("../font/SourceSansPro/SourceSansPro-Light.otf") format("opentype");
}

@font-face {
  font-family: "Source Sans Pro Regular";
  src: url("../font/SourceSansPro/SourceSansPro-Regular.otf") format("opentype");
}

@font-face {
  font-family: "Comfortaa Bold";
  src: url("../font/Comfortaa/Comfortaa-Bold.ttf") format("opentype");
}

@font-face {
  font-family: "Comfortaa Light";
  src: url("../font/Comfortaa/Comfortaa-Light.ttf") format("opentype");
}

@font-face {
  font-family: "Comfortaa Regular";
  src: url("../font/Comfortaa/Comfortaa-Regular.ttf") format("opentype");
}


html{
  font-family: "Source Sans Pro Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
  margin: 0;
  padding: 0;
  height: 100%;
}

body {
  position: relative;
  margin: 0;
  font-family: "Helvetica Neue", Arial, sans-serif;
  padding-bottom: 20px;
}

h1{
  font-family: "Source Sans Pro Black", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 35px;
  line-height: 42px;
  color: black;
}

h2{
  font-family: "Source Sans Pro Bold", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 25px;
  line-height: 35px;
  color: black;
}

h3{
  font-family: "Source Sans Pro Italic", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 18px;
  line-height: 21px;
  color: black;
}

h4,label{
  font-family: "Source Sans Pro Bold", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 18px;
  color: black;
}

h5,p{
  font-family: "Source Sans Pro Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 18px;
  color: black;
  text-align: justify;
  margin: 0px;
  margin-bottom: 20px;
}

h6,legend {
  font-family: "Source Sans Pro Regular", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 10px;
  font-weight: 18px;
  color: #666666;
}

.orange {
  color: #ee7202;
}

.white {
  color: white;
}

.black {
  color: black;
}

.dark-grey {
  color: #333333;
}

.light-grey {
  color: #D3D3D3;
}

.green {
  color: #63ad00;
}

ul.custom-list {
  list-style: none;
  padding: 0;
  margin: 0;
  text-align: justify;
}

.custom-list li {
    padding-left: 16px;
    margin-bottom: 1em;
}

.custom-list li:before {
    content: '\0336';
    padding-right: 8px;
}

.custom-list li ul li:before {
    content: '\00B0';
    padding-right: 8px;
}

ul.toc{
  list-style-type: square;
}

ul.toc > li > a {
  color: black;
}

.space-up-down {
  margin-top: 20px;
  margin-bottom: 20px;
}

a {
  font-family: "Source Sans Pro Regular", "Helvetica Neue", Helvetica, Arial, sans-serif;
  text-decoration: none;
}

a.lbbe:visited, a.lbbe:hover{
  color:inherit;
  background-color: transparent;
}

a:hover,
.button:hover {
  color: #ee7202;
  background-color: white;
}

a:visited,
.button:visited {
  /* color: #ee7202;
  background-color: #d3d3d3; */
}

a:active,
.button:active {
  color: #ee7202;
  background-color: white;
}

a.menu
{
  width : 60px;
  height : 60px;
  display : block;
  background-repeat: no-repeat;
  background-size:cover;
}

a.lkpart:hover {
  background-color: transparent;
}

a.lkpart > img:hover {
  border: 2px solid white;
  border-radius: 5px;
}

a.linkInfoBtn:hover {
  background-color: transparent;
}

.examplelink {
  border-radius: 3px;
  border: 1px solid #D3D3D3;
  margin-bottom: 1em;
  padding: 1em;
  cursor: pointer;
}

.examplelink:hover {
  border: 2px solid #ee7202;;
}

.button {
  cursor: pointer;
  font-family: "Source Sans Pro Bold", "Helvetica Neue", Helvetica, Arial, sans-serif;
  background-color: #ee7202;
  border: solid 2px #ee7202;
  color: white;
  padding: 10px 32px;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  border-radius: 8px;
}

input[type="text"]  {
  font-family: "Source Sans Pro Regular", "Helvetica Neue", Helvetica, Arial, sans-serif;
  width : 20em;
}
textarea{
  font-family: "Source Sans Pro Regular", "Helvetica Neue", Helvetica, Arial, sans-serif;
  width: 20em;
}

.select-style {
    border: 1px solid #ccc;
    width: 120px;
    border-radius: 3px;
    overflow: hidden;
    background: #ffffff;
}

.select-style select {
    font-family: "Source Sans Pro Regular", "Helvetica Neue", Helvetica, Arial, sans-serif;
    padding: 5px 8px;
    width: 100%;
    border: none;
    box-shadow: none;
    background: transparent;
    background-image: none;
    -webkit-appearance: none;
    cursor: pointer;
}

.select-style select:focus {
    outline: none;
}

#header-logo {
  padding: 5px;
}

#header-logo img {
  width: 190px;
}

footer {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: #333333;
  text-align: center;
  padding: 5px;
  font-size: 11px;
  z-index: 3;
}

a#menu-surv-a{
    background-image: url("../img/surv-logo.png");
}
a#menu-repro-a{
    background-image: url("../img/repro-logo.png");
}
a#menu-ssd-a{
    background-image: url("../img/ssd-logo.png");
}
a#menu-growth-a{
    background-image: url("../img/growth-logo.png");
}
a#menu-bioacc-a{
    background-image: url("../img/bioacc-logo.png");
}

/*
a.menu:hover
{
    background : url("../img/surv-logo-hover.png") no-repeat;
}*/
#small_screen {
  display: none;
}
nav > #large_screen {
  margin: 0px;
  padding: 0px;
  padding: 5px;
}

/*Voir si c'est utile ? https://youtu.be/cWrmoGwQ1iE?t=14m48s*/
nav > #large_screen::after{
  content:"";
  display: block;
  clear:both;
}

nav > #large_screen > li {
  float: left;
  position: relative;
  margin-right: 5px;
}

nav li {
  list-style: none;
}

.alert{
  display: flex;
  border: solid 2px #ee7202;
  border-radius: 8px;
  margin-top: 1em;
  margin-bottom: 1em;
  padding: 1em;
}

.table {
  padding: 10px;
  background-color: #d3d3d3;
  border-radius: 10px;
}

.table td {
  padding-left: 20px;
  padding-right: 20px;
}

fieldset {
  border: none;
}

pre {
  white-space: pre-wrap;
  word-wrap: break-word;
  border: outset #d3d3d3 1px;
  border-radius: 5px;
}

#large_screen li:hover .submenu{
  display: inline-block;
  position: absolute;
  top:100%;
  left:0px;
  padding: 0px;
  z-index: 1000;
}

#large_screen li a div {
  text-align: center;
  margin-top: -7px;
  font-family: "Comfortaa Regular";
  color: black;
}

.submenu {
  display: none;
}

.submenu li a{
  margin-top: 8px;
  padding: 5px;
  font-size: 20px;
  color: white;
  background-color: #ee7202;
  display: inline-block;
  white-space:nowrap;
  width: 100%;
  font-family: "Comfortaa Bold", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

.submenu li a:hover{
  color: #ee7202;
  background-color: white ;
}

/*Hamburger menu*/
.icon {
    display: none;
}

.centered-container {
  display: flex;
  justify-content: center;
  padding-bottom: 20px;
}

.centered-children {
  width: 100%;
}

#block-1{
  background-color: white;
  height: 73px;
  width: 100%;
}

.container-header{
  display: flex;
  justify-content: space-between;
}

#block-1bis [data-control],
#block-1bis a {
  color: white;
  font-size: 16px;
}

#block-1bis a:hover {
  background-color: transparent;
}

.accordion {
  cursor: pointer;
}

#block-1bis .accordion>div {
  padding: 10px;
  background: #ee7202;
  border-bottom: 1px solid white;
}

#block-1bis .accordion [data-content] {
  padding: 0;
  border-bottom: none;
}

#block-1bis .accordion [data-content] div {
  border-bottom: 1px solid white;
}

#block-1bis .accordion [data-content] div a {
  padding-left: 15px;
}

#block-2{
  height: 270px;
  width: 100%;
}

.container-main{
  display: flex;
  flex-wrap: wrap-reverse;
  justify-content: center;
  margin-left: 12px;
  margin-right: 12px;
}

#block-banniere{
  max-height: 200px;
  width: 100%;
}

.index-banniere {
  width: 100%;
  max-height: 270px;
  filter:none;
  object-fit:cover;
}

img.banniere{
  width: 100%;
  max-height: 200px;
  filter:none;
  object-fit:cover;
}

.over-banner {
  color: white;
  font-size: 42px;
  padding-left: 100px;
  margin-top: -160px;
  margin-bottom: 120px;
}

/*carrousel slick*/
.slick-dots {
  width: auto;
  top: 20%;
  left: 20%;
}

.slick-dots li button:before
{
    font-size: 20px;
    opacity: 1;
    color: white;
}

.slick-dots li.slick-active button:before
{
    opacity: 1;
    color: #ee7202;
}

#banner_title {
  color: white;
  display: flex;
  justify-content: center;
  margin-top: -200px;
  position: relative;
  z-index: 2;
  font-weight: bold;
}

#banner_container {
  width: 824px;
}

#banner_accro {
  font-size: 70px;
}

#banner_expl {
  font-size: 32px;
}

img#poisson{
  width: 100%;
  max-height: 270px;
  object-fit:cover;
}

#block-title-poisson{
  height: 84px;
  width: 412px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

#block-sibling-title-poisson{
  width: 412px;
}

#block-A{
  width: 412px;
  height: 270px;
}
#block-3bis{
  width: 400px;
  padding-left: 12px;
}

#block-B{
  height: 135px;
  overflow-y: auto;
  font-size: 1.2em;
}

#block-C{
  height: 135px;
}

.container-shortcuts{
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  align-items: flex-start;
}

.element-shortcut:nth-child(2n-1){
  align-self: flex-end;
}

#block-4{
  margin-top: 64px;
  background-color: #ee7202;
  width: 100%;
}

.container-partenaires{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-left: 12px;
  margin-right: 12px;
}

.container-partenaires h4 {
  font-size: 16px;
  margin: 10px;
  margin-left: 0;
}

#block-institutions,
#block-financial-support{
  width: 412px;
  height: 200px;
  display: flex;
  flex-direction: column;
}

#block-logos-institutions,
#block-logos-financial-support{
  display: flex;
  flex-direction: row;
  justify-content: space-around;
  flex-wrap: wrap;
}

.column{
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  flex-wrap: wrap;
  height: 145px;
  width: 137px;
}

.column > img {
  display: block;
  height: auto;
}

#block-5{
  background-color: #333333;
  width: 100%;
}

.container-footer{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-left: 12px;
  margin-right: 12px;
  padding-bottom: 20px;
}

#block-lbbe-acceuil{
  width: 412px;
  height: 90px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  align-items: center;
}

p.contact-footer{
  color: white;
  font-size: 11px;
  line-height: 14px;
  padding: 8px;
  max-width: 214px;
  margin: 0;
}

#block-contact-acceuil {
  width: 412px;
  height: 90px;
  display: flex;
  flex-direction: column;
}

#block-contact-acceuil>div {
  align-items: center;
  padding: 5px;
}

#contactLink {
  margin-top: 2px;
  color: white;
  font-size: 1em;
  position: absolute;
}

@media screen and (max-width: 960px)
{

}

@media screen and (max-width: 848px)
{
  #block-3bis{
    width: 412px;
    padding-left: 0px;
  }

  #block-B {
    height: auto;
  }

  #block-C {
    padding-bottom: 15px;
    height: auto;
  }

  #block-4 {
    margin-top: 32px;
  }

  .container-shortcuts {
    justify-content: center;
  }

  .element-shortcut {
    padding: 5px;
  }

  #banner_container {
    width: 600px;
    padding-left: 15px;
  }
  .container-footer {
    padding-bottom: 40px;
  }

  h1, h2 {
    padding-left: 10px;
  }
}

nav a.icon {
  color: #ee7202;
  font-size: 48px;
  padding-right: 15px;
}

@media screen and (max-width: 700px)
{
  nav #large_screen {
    display: none;
  }
  nav a.icon {
    float: right;
    display: block;
  }
  #block-1bis {

  }

  footer {
    padding: 0px;
  }
}

@media screen and (min-width: 701px)
{
  #block-1bis {
    display: none;
  }
}

@media screen and (max-width: 500px)
{
  .over-banner {
    text-align: center;
    padding: 0;
  }

  #banner_expl {
    font-size: 24px;
  }

  #block-2{

  }

  #block-A{
    background-color: white;
    height: auto;
  }

  #block-B{
    height: auto;
  }

  #block-C{
    height: auto;
  }

  #block-institutions,
  #block-financial-support{
    height: auto;
  }

  #block-lbbe-acceuil{
    height: auto;
  }
}

@media screen and (max-width: 350px)
{
  body {
    padding-bottom: 30px;
  }

  input[type="text"]{
    min-width: none;
    width: 100%;
  }

  textarea{
    min-width: none;
    width: 100%;
  }

  .block-presentation-tool{
    width: 100%;
    padding: 0px;
  }

}

.headerFormContainer{
  display: flex;
}

.smallbutton{
  padding: 0px;
  padding-left: 10px;
  padding-right: 10px;
  padding-top: 4px;
  margin: 4px;
}

#tabs ul
{
  list-style-type: none;
  margin: 0px;
  padding: 0px;
}

#tabs ul li
{
  display: inline;
}

#tabs ul li.selected
{
  background-color: #D3D3D3;
}

#tabs ul li a
{
  float: left;
  color: white;
  text-decoration: none;
  padding: 8px;
  text-align:center;
  background-color:#ee7202;
  padding-left: 20px;
  padding-right: 20px;
  cursor : pointer;
}

#tabs ul li a.selected
{
  color: #000000;
  background-color: #D3D3D3;
}

#tabs ul li a:hover
{
  color: #ee7202;
  background-color: white;
}

.block-container {
  max-width: 80%;
  margin: auto;
  margin-top: 2em;
  display: flex;
}

#app-block2 {
  padding-bottom: 40px;
}

@media screen and (max-width: 500px)
{
  .block-container {
    flex-wrap: wrap;
  }

  .block-logo-tool {
    width: 100%;
    text-align: center;
  }
  .block-presentation-tool{
    padding-top: 20px;
  }
}

.block-presentation-tool{
  margin-left: 20px;
}

#resetForm {
  line-height: 14px;
}

.formContainer
{
  background: #D3D3D3;
  border-top: none;
  padding: 1em;
  padding-bottom: 0.2em;
  margin-top: 1em;
}

.formContainer label {
  display: block;
  float: left;
  min-width: 200px;
}

.label {
  display: inline-block;
  min-width: 200px;
}

.applicationFormContainer{
  display: block;
  width: 100%;
}

.formGroup{
  margin-top: 1em;
  margin-bottom: 1em;
}

.formSubmit {
  display: flex;
  justify-content: flex-end;
  background-color: #D3D3D3;
  padding-right: 1em;
  padding-bottom: 1em;
}

.extraForm{
    background-color: #D3D3D3;
    padding-right: 1em;
    padding-bottom: 1em;
    padding-left: 1em;
}

.error {
  margin-left: 2em;
  color: #ee7202;
  font-family: "Source Sans Pro Bold";
  border: solid 2px #ee7202;
  border-radius: 5px;
  padding: 2px;
  position: absolute;
}

@media screen and (max-width: 412px) /* Screw the form layout */
{
  #resetForm {
    height: 20px;
  }
  #tabs li a {
    width: 70%;
  }
}

/*************** TEAM PAGE *****************/

.team-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
}

.team-children {
  padding: 10px;
  width: 150px;
}

.team-children img {
  max-width: 200px;
}

@media screen and (max-width: 660px)
{
  /*.team-container {
    justify-content: space-around;
  }*/
}

/************** CONTACT PAGE ******************/

.map {
  width: 100%;
}

.map iframe {
  width: 100%;
  height: 350px;
}

#contact-blocks {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.contact-block {
  width: 412px;
}

.contact-block.networks {
  display: flex;
  flex-direction: row;
  align-items: center;
}

.networks img {
  padding: 10px;
}

@media screen and (max-width: 824px)
{
  #contact-blocks>div {
    padding-bottom: 40px;
  }
}

/*************** RELATE COURSES PAGE *****************/

.courses-container {
  display: flex;
  flex-wrap: wrap;
  justify-content:  space-around;
}

.courses-children {
  padding: 10px;
  width: 200px;
}

.courses-children img {
  max-width: 200px;
}

.courses-children a {
  font-size: 16px;
}

@media screen and (max-width: 660px)
{
  /*.courses-container {
    justify-content: space-around;
  }*/

}

/*************** TUTORIAL PAGE ***************/
/*************** RESULTS  PAGE ***************/

#waiting-block img,
#tuto-block img,
#results-block img {
  max-width: 500px;
  width: 100%;
}

#result-header{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}


#print-button {
  margin-top: 25px;
}

#result-header img{
  height: 100%;
}

#result-header-info{
  padding-top: 7px;
}

.row{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 3em;
}

.row > div{
  min-width: 300px;
  flex:1;
  vertical-align: space-between;
  margin-right:1em;  /* and that, will result in a 10px gap */
}

.column {
  flex : 1;
}

.img-responsive {
  max-width: 100%;
  cursor: pointer;
  border: outset #d3d3d3 1px;
  border-radius: 5px;
}

.infoBtn {
  height: 20px;
  position: relative;
  top: 4px;
  left: 6px;
  cursor: help;
}

/**** Modal ****/
.modal {
    display: none; /* Hidden by default */
    position: fixed; /* Stay in place */
    z-index: 1; /* Sit on top */
    left: 0;
    top: 0;
    width: 100%; /* Full width */
    height: 100%; /* Full height */
    overflow: auto; /* Enable scroll if needed */
    background-color: rgb(0,0,0); /* Fallback color */
    background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
}

/* Modal Content/Box */
.modal-content {
    background-color: #fefefe;
    padding: 20px;
    border: 1px solid #888;
    overflow-y: auto;
}

.small-modal {
  margin: 8% auto; /* 15% from the top and centered */
  width: 80%; /* Could be more or less, depending on screen size */
  max-height: 400px;
}

.big-modal {
  margin: 3% auto; /* 15% from the top and centered */
  width: 95%; /* Could be more or less, depending on screen size */
}

.big-modal  > .modal-body > img {
  margin-left: auto;
  margin-right: auto;
  display: block;
}

/* The Close Button */
.close {
    color: #aaa;
    float: right;
    font-size: 28px;
    font-weight: bold;
    position: relative;
}

.close:hover,
.close:focus {
    color: black;
    text-decoration: none;
    cursor: pointer;
}

.modal-help{
  display: inline;
}

#printTitle{
  display: none;
}


@media screen and (max-width: 660px)
{
  .big-modal {
    margin: 3% auto; /* 15% from the top and centered */
    width: 80%; /* Could be more or less, depending on screen size */
  }
}


#report-table {
    overflow: hidden ;
    text-overflow: ellipsis;
    white-space: nowrap;
}

#report-table .modal {
    overflow: none ;
    text-overflow: none;
    white-space: wrap;
}

#report-table.table-striped > tbody > tr {
    background-color: #fff;
}

#report-table.table-striped > thead > tr th {
    text-align: center;
}

#report-table.table-striped > tbody > tr:nth-of-type(odd) {
    background-color: #efefef;
}

#report-table .tr-hidden {
    display: none
}

.cmd {
    border: 1px solid lightgrey ;
    border-radius: 5px ;
    padding : 5px ;
    margin-bottom: 10px ;
}

.cmd .form-group {
    padding-top : 20px ;
    padding-bottom : 20px ;
}

#mod-chart-id, #country-chart-id {
    height: 500px ;
    border-bottom: 1px solid lightgrey ;
}

#mod-chart-id {
    border-right: 1px solid lightgrey ;
}

.stats {
    text-align : center ;
    border-bottom: 1px solid lightgrey ;
}

.sum-stats {
    padding-bottom: 15px ;
}

.sum-stats span {
    font-size: xx-large ;
    font-weight: bolder ;
}
