@import url("https://fonts.googleapis.com/css2?family=Nunito:wght@300;400;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto%20Sans");
* {
  box-sizing: border-box;
}

html, body {
  font-family: System-UI, Noto Sans, Nunito, sans-serif;
  margin: 0;
  padding: 0;
  font-size: 1em;
  color: #004878;
  overflow-x: hidden;
  background-color: #103654;
}

div {
  margin: 0;
  padding: 0;
}

h1, h2, h3, h4, h5, h6 {
  margin: 0;
  padding: 0;
}

a {
  text-decoration: none;
  color: inherit;
  font-weight: bold;
}

ul, ol {
  margin: 0.5em 0;
  padding-left: 1em;
  list-style: none;
}

.bouton {
  color: #ffffff;
  background-color: #294d7a;
  border-radius: 6px;
  padding: 0.6em 1em 0.6em 1em;
  display: inline-block;
}

.bouton:hover {
  background-color: #456ea0;
  text-shadow: #ffffff 0px 0px 2px;
}

.bouton:active {
  background-color: #0e304b;
  text-shadow: none;
}

ul.liste_integree {
  display: list-item;
  margin: 0;
  padding-left: 0.5em;
}

li.liste_integree {
  font-size: 0.95em;
  display: list-item;
  margin: 0.3em 0em;
  padding-left: 0;
}

.liste {
  display: list-item;
}

#nom {
  font-size: 1.6em;
  margin: 0;
  padding: 2em 0 0 1em;
  color: #3c3c4c;
  min-width: 400px;
}

#presentation {
  font-size: 1.2em;
  margin: 0 0 0 0.5em;
  color: #3c3c4c;
  padding: 0 1em 1em 1em;
}

#photo_CV {
  width: 100%;
  margin: 0 auto 15% auto;
  display: block;
}

#page {
  margin: 0 auto;
  width: 100%;
  min-width: 800px;
  max-width: 1280px;
  display: flex;
  flex-direction: row;
  position: relative;
  min-height: 100vh;
  background-color: #ffffff;
}
#page .laterale {
  display: inline-flex;
  flex-direction: column;
  color: #ffffff;
  background-color: #103654;
  border-right: #b4e5ff solid 2px;
  max-width: 286px;
  width: -moz-fit-content;
  width: fit-content;
  min-height: 100vh;
  font-size: 1.1em;
}
#page .laterale .gauche {
  left: 0;
}
#page .laterale .droite {
  right: 0;
}
#page #corps {
  display: inline-flex;
  flex-direction: column;
  flex: auto;
  padding: 0.5em 0 0 0.5em;
  min-height: 100vh;
}
#page #corps #parcours {
  display: inline-flex;
  flex-direction: column;
  flex: auto;
  width: -webkit-fill-available;
  width: -moz-available;
  padding: 0;
}
#page #corps #entete {
  width: 100%;
  display: flex;
  flex-direction: row;
}

#pied-de-page {
  width: -webkit-fill-available;
  width: -moz-available;
  text-align: center;
  justify-content: center;
  padding: 1em;
  bottom: 0;
  display: flex;
  flex-direction: row;
  position: relative;
  background-color: #141f36;
  color: #ffffff;
}

.section-1 {
  padding: 0.1em 0.4em;
  font-size: 1.15em;
}
.section-1 .titre {
  font-size: 1.1em;
  margin: 0 0 0.3em 0;
}

.section-2 {
  padding: 0.5em;
  font-size: 1.1em;
}
.section-2 .titre {
  font-size: 1.6em;
  margin: 0 0 0.3em 0;
}

.section-3 {
  padding: 0.5em;
  font-size: 1.1em;
}
.section-3 .titre {
  font-size: 1.3em;
  margin: 0 0 0.3em 0;
}

.section-4 {
  padding: 0.5em;
  font-size: 1em;
}
.section-4 .titre {
  font-size: 1.1em;
  margin: 0 0 0.3em 0;
}

.section-5 {
  padding: 0.5em;
  font-size: 1em;
}
.section-5 .titre {
  font-size: 1em;
  margin: 0 0 0.3em 0;
}

.section-6 {
  padding: 0.5em;
  font-size: 0.8em;
}
.section-6 .titre {
  font-size: 1.2em;
  margin: 0 0 0.3em 0;
}

.date {
  display: inline-flex;
  flex-direction: column;
  min-width: 110px;
  width: 20%;
  text-align: end;
  font-size: 1em;
  font-weight: bold;
  color: #004878;
  margin-right: 1.7em;
}

.texte {
  display: inline-flex;
  flex-direction: column;
  max-width: 75%;
  min-width: 250px;
  color: #000000;
}
.texte .titre {
  color: #0070c0;
}
.texte .lieu {
  font-size: 0.82em;
  font-style: italic;
  color: #80a0ab;
  display: block;
}

.barre {
  border-bottom: solid #d4edfa 2px;
  padding-top: 1px;
  width: 90%;
}

.important {
  font-size: 1.1em;
  margin: 1.1em -0.1em;
}

@media screen and (max-width: 1280px) {
  html, body {
    font-size: 0.9em;
  }
  #page {
    left: 0;
    width: 100%;
    min-width: 800px;
    max-width: 1280px;
  }
  #page .laterale {
    font-size: 1em;
    max-width: 200px;
  }
  .texte {
    max-width: 75%;
  }
  .date {
    font-size: 0.77em;
  }
  .barre {
    width: 98%;
  }
}
@media screen and (max-width: 1280px) and (max-width: 600px), screen and (max-width: 1280px) and (max-device-width: 769px) {
  * {
    -webkit-tap-highlight-color: transparent;
  }
  html, body {
    width: 100%;
    font-size: 1em;
  }
  .bouton {
    border-radius: 14px;
    font-size: 1.4em;
    padding: 0.8em 1.2em;
    margin-top: 10px;
  }
  .liste {
    display: inline;
  }
  #nom {
    color: #ffffff;
    padding: 0.3em 0.5em 0.3em 0.5em;
    min-width: 0;
  }
  #presentation {
    color: #ffffff;
  }
  #photo_CV {
    width: 100%;
    margin: -10vw auto 15% auto;
    display: block;
  }
  #page {
    display: block;
    width: 100%;
    left: 0;
    min-width: 300px;
    max-width: 100%;
  }
  #page .laterale {
    text-align: center;
    display: block;
    padding-top: 18em;
    min-width: 0;
    border-right: none;
    max-width: 100%;
  }
  #page .laterale .gauche {
    width: 100%;
  }
  #page .laterale .droite {
    width: 100%;
  }
  #page #corps {
    width: 100%;
    display: block;
    padding: 0;
  }
  #page #corps #entete {
    position: absolute;
    top: 0;
    display: block;
    text-align: center;
  }
  #page #corps #parcours {
    margin: 0;
    display: inline-block;
    width: 100%;
  }
  #pied-de-page {
    min-height: 10%;
    position: relative;
    bottom: 0;
  }
  .section-1 {
    margin: 1em 0.5em;
  }
  .section-2 {
    margin: 1em 0.5em;
  }
  .section-3 {
    margin: 1em 0.5em;
  }
  .section-4 {
    margin: 1em 0.5em;
  }
  .section-5 {
    margin: 1em 0.5em;
  }
  .section-6 {
    margin: 1em 0.5em;
  }
  .texte {
    display: block;
    max-width: -moz-max-content;
    max-width: max-content;
    min-width: none;
  }
  .texte .titre {
    display: block;
  }
  .date {
    display: block;
    width: auto;
    text-align: left;
    font-size: 1em;
  }
  .barre {
    width: 100%;
    border-width: 6px;
    border-color: #004878;
  }
}
@media screen and (max-width: 1280px) and (max-width: 600px) and (max-device-width: 600px), screen and (max-width: 1280px) and (max-device-width: 769px) and (max-device-width: 600px) {
  html, body {
    font-size: 1.5em;
  }
  #photo_CV {
    width: 100%;
  }
  #nom {
    color: #ffffff;
    padding: 0.3em 0.5em 0 0.5em;
  }
  #presentation {
    color: #ffffff;
  }
  #page {
    padding-bottom: 10em;
  }
  #page .laterale {
    padding-top: 550px;
    max-width: none;
    padding-bottom: 2em;
  }
  #pied-de-page {
    position: relative;
  }
  .section-3 {
    margin: 2em 0.5em;
  }
}
@media print {
  html, body {
    background-color: #ffffff;
    font-size: 0.86em;
    max-height: 100vh;
  }
  #photo_CV {
    width: 83%;
    margin-top: 2em;
    border: solid white 4px;
  }
  #description {
    font-size: 14px;
  }
  #description .section-5 {
    padding-left: 0;
  }
  .bouton-contact {
    display: none;
  }
  #nom {
    padding: 1.2em 0.5em 0 0.5em;
  }
  #presentation {
    font-size: 1em;
    margin: 0;
    padding: 0 1.8em 1.2em 1em;
  }
  #page .laterale {
    width: 28vw;
    padding: 0.2em 1.6em;
    max-width: 240px;
  }
  #page .laterale #description {
    padding-left: 0.2em;
  }
  #corps {
    padding-right: 1em;
  }
  .liste {
    margin-bottom: 0;
  }
  .section-3 {
    padding: 0 0.5em 0 0.5em;
  }
  .section-4 {
    padding: 0 0.5em 0 0.5em;
    margin: 0 0 0.4em 0;
  }
  .section-4 .titre {
    margin: 0;
  }
  .date {
    width: 128px;
    font-size: 0.88em;
    margin-right: 2em;
    margin-left: -14px;
  }
  .texte {
    max-width: 68%;
  }
  .description_experience {
    font-size: 0.9em;
  }
  #pied-de-page {
    display: none;
  }
}