@import url(https://fonts.googleapis.com/css?family=Nunito:300,400,700&display=swap);

body {
  margin: 0
}

details,
main {
  display: block
}

h1 {
  font-size: 2em;
  margin: .67em 0
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em
}

a {
  background-color: transparent
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline dotted
}

b,
strong {
  font-weight: bolder
}

small {
  font-size: 80%
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline
}

sub {
  bottom: -.25em
}

sup {
  top: -.5em
}

img {
  border-style: none
}

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0
}

button,
input {
  overflow: visible
}

button,
select {
  text-transform: none
}

[type=button],
[type=reset],
[type=submit],
button {
  -webkit-appearance: button
}

[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button::-moz-focus-inner {
  border-style: none;
  padding: 0
}

[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring,
button:-moz-focusring {
  outline: 1px dotted ButtonText
}

fieldset {
  padding: .35em .75em .625em
}

legend {
  color: inherit;
  display: table;
  max-width: 100%;
  white-space: normal
}

progress {
  vertical-align: baseline
}

textarea {
  overflow: auto
}

[type=checkbox],
[type=radio],
legend {
  box-sizing: border-box;
  padding: 0
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit
}

summary {
  display: list-item
}

[hidden],
template {
  display: none
}

.title--logomin {
  width: 87px;
  height: 65px;
  margin: 0;
  z-index: 3
}

.title--logowhite {
  background-image: url(../assets/images/kuwhite.svg)
}

.menu__btn {
  color: #1c3b4f
}

.menu__btn--on {
  color: #fff
}

.menu__el .link {
  color: #fff;
  text-decoration: none;
  font-size: 1.414em;
  font-weight: 300
}

.body--black {
  color: #1c3b4f
}

.section--blue .title {
  font-size: 1.999em;
  color: #fff
}

.section--blue p {
  color: #fff
}

.earthMoongraph {
  width: 100vw;
  height: 100vh;
  color: #fff;
  display: grid;
  grid-template-columns: 1fr minmax(700px, 1fr);
  grid-column-gap: 80px;
  grid-template-rows: 300vh;
  position: relative;
  align-items: center;
  -moz-osx-font-smoothing: grayscale
}

.earthMoongraph p {
  max-width: 368px;
  margin-top: 2em
}

.graph {
  width: 600px;
  height: 600px;
  background-image: url(../assets/images/espace.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  position: relative;
  box-sizing: border-box;
  padding: 10px;
  grid-area: 1/2/2/3;
  transform: scale(1);
  transition: transform 300ms ease
}

.graph__pq {
  width: 0%;
  height: 2px;
  background-color: #d6d7ed;
  border: 2px solid #1c3a4e;
  border-radius: 2px;
  transform: rotate(-45deg);
  transform-origin: left;
  position: absolute;
  bottom: 220px;
  left: 220px
}

.graph__pq:after {
  content: "";
  display: block;
  width: 30px;
  height: 30px;
  background-image: url(../assets/images/rouleau.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  bottom: -2px;
  right: -15px
}

.graph__pq--rolled {
  animation: roll cubic-bezier(0, .55, .45, 1) forwards
}

.graph__astre {
  width: 255px;
  height: 255px;
  background-image: url(../assets/images/earth.svg);
  position: absolute;
  bottom: 0;
  left: 100;
  z-index: 1
}

.graph__astre--lune {
  width: 140px;
  height: 140px;
  background-image: url(../assets/images/lune.svg);
  left: inherit;
  right: 0;
  top: 0;
  z-index: 0
}

.timer {
  font-size: 120px;
  color: #fff;
  line-height: 120px;
  text-align: right;
  overflow: hidden;
  position: relative;
  top: -5%;
  left: -20%;
  width: 360px;
  height: 250px;
  display: grid;
  grid-template-rows: 2, 1fr
}

.timer--heure {
  font-size: 100px
}

.timer--jour {
  font-size: 90px
}

.timer--show span {
  animation: clock 680ms cubic-bezier(0, .55, .45, 1) forwards;
  transform-origin: right;
  display: block;
  transform: translateY(-120%) rotate(-10deg);
  opacity: 0
}

.timer--show span:first-of-type {
  animation-delay: 320ms
}

.infoText {
  grid-area: 1/1/2/2
}

.infoText__text {
  overflow: hidden;
  height: 86.4px
}

.infoText__form {
  position: relative
}

.infoText__value {
  color: #de7169;
  position: relative;
  overflow: hidden;
  transition: transform 600ms;
  opacity: 0
}

.infoText__value--anime {
  animation: pop 200ms ease-in forwards
}

.slider {
  height: auto;
  display: flex;
  align-items: center
}

.slider__range {
  -webkit-appearance: none;
  outline: 0;
  padding: 0;
  margin: 0;
  width: 100%;
  height: 2px;
  border-radius: 5px;
  background: #fff
}

.slider__range::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #dd8e90;
  cursor: pointer;
  -webkit-transition: background .15s ease-in-out;
  transition: background .15s ease-in-out
}

.slider__range::-webkit-slider-thumb:hover {
  background: #de7169
}

.slider__range:active::-webkit-slider-thumb {
  background: #de7169
}

.slider__range::-moz-range-thumb {
  width: 20px;
  height: 20px;
  border: 0;
  border-radius: 50%;
  background: #969fd0;
  cursor: pointer;
  -moz-transition: background .15s ease-in-out;
  transition: background .15s ease-in-out
}

.slider__range::-moz-range-thumb:hover {
  background: #de7169
}

.slider__range:active::-moz-range-thumb {
  background: #de7169
}

.slider__range:focus::-webkit-slider-thumb {
  box-shadow: 0 0 0 3px #fff, 0 0 0 6px #de7169
}

.slider__value {
  display: inline-block;
  width: auto;
  position: relative;
  color: #fff;
  margin-left: 18px;
  font-size: 3em;
  line-height: 1
}

::-moz-range-track {
  background: #fff;
  border: 0
}

input::-moz-focus-inner,
input::-moz-focus-outer {
  border: 0
}

.choice {
  position: relative
}

.choice__value {
  display: block;
  width: calc(100% + 11px);
  height: 100%;
  display: flex;
  align-items: center;
  background-image: url(../assets/images/drop.svg);
  background-position: center right;
  background-repeat: no-repeat;
  background-size: 10px;
  cursor: pointer;
  font-size: 3.4em;
  line-height: 1;
  margin-bottom: .4em;
  box-sizing: border-box;
  padding: 5px 11px 5px 0;
  transition: padding 150ms ease-in-out
}

.choice__value:hover {
  padding: 5px 11px 5px 5px
}

.choice__value--open {
  padding: 5px 11px 5px 5px
}

.choice__list {
  width: calc(100% + 11px);
  position: absolute;
  top: 100%;
  left: 0;
  margin: 0;
  padding: 0;
  color: #fff;
  background-color: #1c2424;
  z-index: 1;
  transform: scaleY(1) skewY(0);
  transform-origin: top;
  opacity: 1;
  transition: transform 350ms ease, opacity 200ms ease
}

.choice__list--hidden {
  opacity: 0;
  transform: scaleY(0) skewY(4deg)
}

.choice__option {
  display: flex;
  box-sizing: border-box;
  padding: 5px 11px;
  min-height: 30px;
  transition: background-color 150ms ease-in-out, color 150ms ease-in-out;
  border-bottom: dashed rgba(255, 255, 255, .1)
}

.choice__option:last-of-type {
  border-bottom: inherit
}

.choice__option:hover,
.choice__option .choice__option:focus {
  background-color: #de716a;
  cursor: pointer
}

.choice__option:active {
  background-color: #6faebd
}

.choice__option--selected {
  background-color: #dd8e91;
  color: #1c3b4f;
  cursor: initial
}

.choice__option--selected:hover {
  background-color: #dd8e91
}

@keyframes roll {
  0% {
    width: 0
  }

  to {
    width: 65%
  }
}

@keyframes pop {
  0% {
    opacity: .6
  }

  to {
    opacity: 1
  }
}

@keyframes clock {
  0% {
    transform: translateY(-120%) rotate(-10deg);
    opacity: 0
  }

  70% {
    transform: rotate(5deg)
  }

  80% {
    opacity: 1;
    transform: translateY(0)
  }

  85% {
    transform: rotate(-1deg)
  }

  to {
    transform: rotate(0);
    opacity: 1
  }
}

.link--btn {
  display: block;
  justify-content: center;
  text-align: center;
  color: #1c3b4f;
  text-decoration: none;
  border: 4px solid #1c3b4f;
  border-radius: 15px;
  width: 154px;
  padding: 6.5px 0;
  margin: 0 auto;
  margin-bottom: 48px
}

.link--btn:hover {
  background-color: #e5eff3
}

.menu__btn {
  border: 0;
  background-color: transparent;
  position: relative;
  z-index: 3
}

.menu__btn:focus {
  outline: 0
}

.logo {
  width: 261px;
  height: 196px;
  font-size: 7.993em;
  color: #1c3b4f;
  font-weight: 900;
  margin: auto;
  white-space: nowrap;
  text-indent: 100%;
  overflow: hidden;
  background-image: url(../assets/images/ku.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain
}

.logo--min {
  width: 131px;
  height: 98px;
  margin: 0
}

.logo--title {
  height: 85px;
  width: 67px;
  margin: 0
}

.img {
  display: block
}

.img--mockup {
  width: 100%;
  margin-bottom: 48px
}

.img--left {
  width: 300px;
  height: 300px;
  margin: 0;
  transform: translateX(-60px) translateY(60px)
}

.img--right {
  width: auto;
  height: 300px;
  margin: 0 auto;
  transform: translateX(100px)
}

.img--center {
  width: auto;
  height: 300px;
  margin: 0 auto
}

.img--piscine {
  margin-top: 128px
}

.img--arbre {
  height: 300px;
  margin: 0 auto;
  margin-top: 128px
}

.img--roman {
  height: 300px;
  margin: 0 auto
}

.img--momie {
  height: 300px;
  margin: 0 auto;
  margin-top: 128px
}

.img--tank {
  width: 300px;
  height: auto;
  margin: 0 auto;
  margin-top: 128px
}

.img--david {
  height: 300px;
  margin: 0 auto;
  margin-top: 128px
}

.graphique {
  position: relative;
  margin: 64px 0;
  width: 100%
}

.section2 {
  background: #7099c9;
  background: linear-gradient(0deg, #7099c9 0, #040c0c 25%, #040c0c 70%, #7099c9 100%);
  color: #fff;
  padding: 128px 24px;
  margin-bottom: 128px
}

.planette__graph {
  height: 300vh
}

.earthMoongraph {
  position: relative;
  top: 100vh;
  width: 100%;
  height: 300vh;
  display: flex;
  flex-direction: column
}

@media (min-width:800px) {
  .earthMoongraph {
    display: grid;
    flex-direction: unset;
    top: unset
  }
}

.infoText {
  width: 100%
}

.infoText__text {
  overflow: unset
}

@media (min-width:600px) {
  .infoText p {
    margin-left: 0
  }
}

.choice__value {
  max-width: 450px
}

.choice__list {
  max-width: 450px
}

.slider {
  flex-direction: column-reverse;
  align-items: start
}

.slider__value {
  margin: 0;
  margin-bottom: 24px
}

.graph {
  transform: scale(.7)
}

@media (min-width:1000px) {
  .graph {
    transform: scale(1);
    justify-self: end
  }
}

.timer {
  left: -10%
}

.revenus__graph {
  height: 80vh
}

header {
  display: flex;
  height: 140px;
  justify-content: space-between;
  align-items: center;
  padding: 0 24px
}

@media (min-width:1000px) {
  .menu__btn {
    display: none
  }
}

.menu__fond {
  background-color: #7099c9;
  position: absolute;
  top: -100vh;
  left: 0;
  width: 100vw;
  height: 100vh;
  box-sizing: border-box;
  padding-top: 30vw;
  padding-left: 10vw;
  margin: 0;
  z-index: 1;
  opacity: 0;
  list-style: none;
  transition-duration: .2s
}

@media (min-width:1000px) {
  .menu__fond {
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    top: 0;
    width: 65vw;
    height: 140px;
    left: unset;
    right: 0;
    background-color: transparent;
    color: #1c3b4f;
    opacity: 1;
    list-style: none;
    padding: 0
  }
}

.menu__fond--on {
  top: 0;
  opacity: 1
}

.menu__fond .menu__el {
  position: relative;
  margin: 48px 0;
  text-align: left
}

@media (min-width:1000px) {
  .menu__fond .menu__el {
    display: inline-block;
    margin: 0
  }

  .menu__fond .menu__el::after {
    content: "";
    display: block;
    background-color: #1c3b4f;
    width: 20px;
    height: 3px;
    position: relative;
    top: 0;
    left: 0;
    transition-duration: .5s;
    transition-timing-function: cubic-bezier(1, 0, 0, 1)
  }

  .menu__fond .menu__el:hover::after {
    width: 100%
  }
}

@media (min-width:1000px) {
  .menu__fond .menu__el .link {
    color: #1c3b4f;
    font-size: 1em
  }
}

.scroll--off {
  overflow: hidden
}

footer {
  margin-top: 128px
}

footer p {
  color: #fff
}

@media (min-width:1000px) {
  .section1 {
    display: grid;
    grid-template-columns: 19.68% 68px 39px 68px 145px 64px 145px 68px 39px 68px 19.68%;
    justify-content: center;
    overflow: hidden;
    padding-top: 128px;
    margin-bottom: 128px
  }

  .section1 p {
    margin: 0
  }

  .section1 .economie {
    grid-area: 1/1/2/5;
    width: 255px;
    justify-self: end
  }

  .section1 .economie .title {
    position: relative;
    left: -65%;
    margin: 0;
    margin-bottom: 48px
  }

  .section1 .revenus__graph {
    grid-area: 1/6/2/12;
    height: 50vh
  }

  .section1 .course__graph {
    grid-area: 2/1/3/12
  }

  .section1 .text__course {
    grid-area: 3/5/4/8;
    margin-top: 44px
  }

  .section2 {
    display: grid;
    grid-template-columns: 19.68% 68px 39px 68px 145px 64px 145px 68px 39px 68px 19.68%;
    grid-template-rows: auto;
    justify-content: center;
    overflow: hidden;
    grid-column-gap: 0;
    grid-row-gap: 0
  }

  .section2 p {
    margin: 0
  }

  .section2 .title {
    grid-area: 1/1/2/5;
    justify-self: end;
    margin: 0
  }

  .section2 .img--piscine {
    grid-area: 2/1/3/12;
    margin-top: 128px
  }

  .section2 .text__piscine {
    margin-top: 48px;
    grid-area: 3/7/4/11
  }

  .section2 .planette__graph {
    justify-self: center;
    grid-area: 4/1/5/12;
    height: 300vh
  }

  .section2 .img--arbre {
    grid-area: 5/2/6/6;
    margin: 0;
    place-self: end
  }

  .section2 .text__arbre {
    grid-area: 5/7/6/11;
    place-self: center
  }

  .section3 {
    display: grid;
    grid-template-columns: 19.68% 68px 39px 68px 145px 64px 145px 68px 39px 68px 19.68%;
    justify-content: center;
    overflow: hidden;
    grid-column-gap: 0;
    grid-row-gap: 44px;
    margin-top: 64px
  }

  .section3 p {
    margin: 0
  }

  .section3 .img {
    margin: 0
  }

  .section3 .title {
    grid-area: 1/1/2/5;
    margin: 0;
    margin-bottom: 48px
  }

  .section3 .img--roman {
    grid-area: 2/2/3/6;
    justify-self: center
  }

  .section3 .img--momie {
    grid-area: 2/7/3/11;
    justify-self: center
  }

  .section3 .text--roman {
    grid-area: 3/2/4/6;
    margin-bottom: 64px
  }

  .section3 .text--momie {
    grid-area: 3/7/4/11;
    margin-bottom: 64px
  }

  .section3 .img--david {
    grid-area: 4/2/5/6;
    justify-self: end
  }

  .section3 .text--david {
    grid-area: 4/7/5/11;
    align-self: center
  }

  .section3 .img--tank {
    grid-area: 5/7/7/11;
    justify-self: flex-start;
    width: 400px;
    margin-top: 64px
  }

  .section3 .text--tank {
    grid-area: 5/2/7/6;
    justify-self: flex-start;
    width: 335px;
    align-self: center
  }
}

.reveal {
  opacity: 0;
  transform: translateY(-30px)
}

[class*=reveal-] {
  opacity: 0;
  transform: translateY(-50px) rotate(1deg)
}

.reveal--on {
  opacity: 1;
  transform: translateY(0);
  transition-duration: 1s;
  transition-timing-function: cubic-bezier(.645, .045, .355, 1)
}

.reveal-2 {
  transition-delay: .2s
}

.reveal-3 {
  transition-delay: .3s
}

.reveal-4 {
  transition-delay: .4s
}

body {
  font-family: "Nunito", sans-serif;
  font-weight: 400px;
  font-size: 1em;
  line-height: 1.4;
  color: #1c3b4f
}

@media (min-width:1000px) {
  body {
    font-size: 18px;
    line-height: 1.6
  }
}

section {
  overflow-x: hidden
}

.home {
  min-height: 90vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 90%;
  margin: auto;
  max-width: 375px
}

@media (min-width:600px) {
  .home {
    max-width: inherit
  }
}

.home__img {
  width: 100%;
  margin-bottom: 48px
}

.home__img--wide {
  display: none
}

@media (min-width:600px) {
  .home__img--wide {
    display: initial
  }
}

@media (min-width:600px) {
  .home__img--phone {
    display: none
  }
}

@media (min-width:1000px) {
  .home {
    display: grid;
    grid-template-columns: .3fr 1fr;
    grid-column-gap: 100px;
    margin: 75px
  }
}

.slogan {
  color: #1c3b4f;
  font-size: 1.414em;
  text-align: center;
  font-weight: 300;
  margin: 0;
  margin-bottom: 0;
  margin-bottom: 24px
}

section {
  padding: 0 24px;
  position: relative
}

.section--last {
  min-height: 80vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center
}

@media (min-width:600px) {
  .section--last {
    min-height: 40vh
  }
}

.section--blue {
  background-color: #7099c9;
  color: #fff
}

.section--blue .title {
  font-size: 1.999em;
  color: #fff
}

@media (min-width:600px) {
  .section--blue p {
    margin: 16px 110px
  }
}

@media (min-width:1000px) {
  .section--blue p {
    margin: 22px 60px
  }
}

.title {
  font-size: 2.827em;
  margin: 24px 0 16px
}

@media (min-width:600px) {
  .title {
    margin: 0 110px
  }
}

@media (min-width:1000px) {
  .title {
    margin: 0 60px 48px
  }
}

.title--right {
  text-align: right
}

.gridtext--2 {
  margin-bottom: 64px
}

footer {
  background-color: #1c3b4f;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px;
  color: #fff
}

footer small {
  font-size: 1em
}

.dwm {
  white-space: nowrap;
  text-indent: 100%;
  overflow: hidden;
  background-image: url(../assets/images/logo_dwm.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: 56px;
  height: 25px;
  position: relative;
  bottom: -2px
}

.illuMomieTank {
  height: 300px;
  width: 100%;
  background-image: url(../assets/images/momie.svg);
  background-repeat: no-repeat;
  background-position: center
}

@media (min-width:600px) {
  .illuMomieTank {
    background-image: url(../assets/images/tank.svg)
  }
}

@media (min-width:1000px) {
  .section--blue {
    width: 100%;
    margin-top: 75;
    padding: 64px 0;
    padding-top: 128px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(3, 1fr);
    grid-column-gap: 112px;
    grid-row-gap: 112px;
    justify-content: left
  }

  .img--left {
    grid-area: 1/1/2/2;
    justify-self: end;
    transform: scale(1.3)
  }

  .gridtext--1 {
    grid-area: 1/2/2/3;
    width: 395px;
    justify-self: start
  }

  .gridtext--2 {
    grid-area: 2/1/3/2;
    width: 395px;
    justify-self: end
  }

  .img--right {
    grid-area: 2/2/3/3;
    justify-self: start;
    transform: scale(1.1)
  }

  .img--center {
    grid-area: 3/1/4/2;
    margin: 0;
    justify-self: end;
    transform: translateY(-50px)
  }

  .gridtext--3 {
    grid-area: 3/2/4/3;
    width: 395px;
    justify-self: start
  }
}

.modificateurVitesse {
  -webkit-appearance: none;
  width: 400px;
  height: 15px;
  border-radius: 5px;
  background: #000;
  outline: 0;
  opacity: .7;
  -webkit-transition: .2s;
  transition: opacity .2s
}

.modificateurVitesse::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 64px;
  height: 64px;
  background-image: url(../assets/images/toilet-paper.png);
  background-repeat: no-repeat;
  cursor: pointer;
  margin-top: -10px
}

text {
  font-size: 14px;
  font-family: Open Sans, sans-serif
}

text.title {
  font-size: 24px;
  font-weight: 500
}

text.subTitle {
  font-weight: 500;
  fill: #777
}

text.caption {
  font-weight: 400;
  font-size: 14px;
  fill: #777
}

text.label {
  font-weight: 600
}

text.valueLabel {
  font-weight: 300
}

text.yearText {
  font-size: 64px;
  font-weight: 700;
  opacity: .25
}

.tick text {
  fill: #777
}

.xAxis .tick:nth-child(2) text {
  text-anchor: start
}

.tick line {
  shape-rendering: CrispEdges;
  stroke: #ddd
}

.tick line.origin {
  stroke: #aaa
}

path.domain {
  display: none
}

#slider {
  width: 435px
}