
/* ==========================================================================
   STRUCTURE
   ========================================================================== */

html, body {
   height: 100%;
   width: 100%;
   overflow: hidden;
   /* margin: 0; */
   /* padding: 0; */
}

* {
  /* overscroll-behavior: none; */
  overscroll-behavior: contain;
}

html { font-size: 0.69vw; }
/*
@media (orientation: portrait) {
   html {font-size: 4px;}
}
*/
@media (min-aspect-ratio: 18/9) {
  html { 
    font-size: 1.35vh;
  }
}

body {
   font-size: 1.8rem;
   -webkit-font-smoothing: antialiased;
   -moz-osx-font-smoothing: grayscale;
   font-smoothing: antialiased;
   font-family: "Avenir LT Std", Helvetica, Verdana, Arial, sans-serif;
   color: #1A1A1A;
   background-color: #F3F3F3;
   transition: background-color 708ms;
   transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
   /* border: 5px dashed green; */
}

/* STRUCTURE Mobile */
@media only screen and (max-width: 768px) {
  * { 
    /* box-sizing: border-box; */
  }
  html {
    font-size: 2.5vw;
  }
  body {

  }
}


#header {
  position: fixed;
  width: calc(100% - 3rem);
  height: 4.5rem;
  top: 3rem;
  left: 3rem;
  z-index: 100;
}

#header .logo {
  width: 16rem;
  height: 4.5rem;
  position: absolute;
  background-image: url(img/logo_white.svg);
  background-size: contain;
  background-repeat: no-repeat;
  transition: all 350ms;
}

#header.red-black .logo {
  background-image: url(img/logo_red.svg);
}

#header.black-black .logo {
  background-image: url(img/logo_black.svg);
}

#header .title {
  position: absolute;
  left: 19rem;
  height: 4.5rem;
  padding-top: 1.5rem;
  font-size: 2.4rem;
  font-weight: 900;
}

#header.white-white .title {
  color: #FFF;
}

#header .title .parts {
  display: inline-block;
  border-left-width: 2px;
  border-left-style: solid;
  border-left-color: #1A1A1A;
  font-weight: 600;
  font-size: 1.8rem;
  padding-left: 1rem;
  margin-left: 1rem;
}

#header.white-white .title .parts {
  border-left-color: #FFF;
}

#header .title .parts .item {
  display: none;
}

#header .title .parts .item.active {
  display: inline;
}

#header .partindicator {
  position: absolute;
  top: 2rem;
  right: 5rem;
  width: 3rem;
  /* height: 3rem; */
}

#header .partindicator .count:after {
  content: '';
  width: 140%;
  height: 2px;
  top: 50%;
  background-color: #FFFFFF;
  position: absolute;
  transform: rotate(-55deg);
  left: 0;
}

#header.red-black .partindicator .count:after {
  background-color: #CECECE;
}

#header.black-black .partindicator .count:after {
  background-color: #1A1A1A;
}

#header .partindicator .count {
  width: 3rem;
  height: 3rem;
  position: relative;
  font-size: 2rem;
  font-weight: 800;
  margin-bottom: 4rem;
}

#header .partindicator .count .current {
  position: absolute;
  top: -0.4rem;
  left: 0.5rem;
}

#header.white-white .partindicator .count .current {
  color: #FFDC3C;
}

#header .partindicator .count .total {
  position: absolute;
  bottom: -1.1rem;
  right: -0.7rem;
  color: #FFFFFF;
}

#header.red-black .partindicator .count .total {
  color: #CECECE;
}


#header.black-black .partindicator .count .total {
  color: #1A1A1A;
}

#header .partindicator .bullets .bullet {
  display: block;
  width: 1.6rem;
  height: 1.6rem;
  border-radius: 50%;
  border: 1px solid #1A1A1A;
  margin: 1rem;
  position: relative;
}

#header .partindicator .bullets .bullet.active {
  background-color: #1A1A1A;
  cursor: pointer;
}

#header.white-white .partindicator .bullets .bullet {
  border: 1px solid #FFF;
}

#header.white-white .partindicator .bullets .bullet.active {
  background-color: #FFF;
}

#header .partindicator .bullets .bullet span {
  position: absolute;
  white-space: nowrap;
  right: 2rem;
  top: -0.4rem;
  height: 0rem;
  overflow: hidden;
  transition: all 350ms;
}

#header.white-white .partindicator .bullets .bullet span {
  color: #FFF;
}

#header .partindicator .bullets .bullet:hover span {
  height: 2rem;
}

/* Mobile Header */
@media only screen and (max-width: 768px) {
  #header {
    width: 100%;
    background-color: #FF463C;
    height: auto;
    /* position: static; */
    /* height: 8rem; */
    top: 0;
    left: 0;
    padding-top: 1rem;
    box-shadow: 0 0 2rem 0 rgba(0,0,0,.1);
  }
  #header.red-black {
    background-color: #FAFAF1;
  }
  #header.black-black {
    background-color: #FFDC3C;
  }
  #header.green-black {
    background-color: #00BEA0;
  }
  #header.white-white {
    background-color: #323488;
  }

  #header .title__main,
  #header .partindicator {
    display: none;
  }
  #header .logo {
    position: static;
    margin-right: auto;
    margin-left: auto;
    /* margin-top: 1rem; */
    margin-bottom: 1rem;
    background-position: center;
    width: 100%;
    height: 3.5rem;
  }

  #header .title {
    position: static;
    background-color: #FAFAF1;
    height: auto;
    padding-top: 0;
    line-height: 100%;
    height: 2.5rem;
  }
  #header.red-black .title {
    background-color: #FF463C;
    color: white;
  }
  #header.white-white .title {
    background-color: #FFDC3C;
    color: #1A1A1A;
  }

  #header .title .parts {
    display: block;
    margin-left: auto;
    margin-right: auto;
    border: none;
    padding-left: 0;
    width: 100%;
    text-align: center;
  }
  #header .title .parts .item {
    line-height: 2.7rem;
  }
  
}


#wrapper {
  display: flex;
}

#wrapper .container{
  flex-basis: 100%;
  max-height: 100vh;
  overflow-y: scroll;
  scroll-behavior: smooth; 
  -ms-scroll-snap-type: y mandatory;
  scroll-snap-type: y mandatory;
}
@media only screen and (max-width: 768px) {
  #wrapper {
    height: 100%;
  }
  #wrapper .container {
    max-height: 100%;
    scroll-behavior: auto;
    scroll-snap-type: none;
    -ms-scroll-snap-type: none;
  }
}


/*

  TOOLS

*/

/* Hide Mobile / Desk */
@media only screen and (max-width: 768px) {
  .mobile-hide { display: none !important; }
}
@media only screen and (min-width: 768px) {
  .desk-hide { display: none !important; }
}

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

.mb20 { margin-bottom: 2rem ;}

.txt-red { color: #FF463C !important; }
.txt-beige { color: #FAFAF1 !important; }
.txt-yellow { color: #FFDC3C !important; }
.txt-green { color: #00BEA0!important; }
.txt-blue { color: #323488 !important; }
.txt-black { color: #1A1A1A !important; }

em { font-style: italic; }

/*

  PARTS

*/

.part {
  /* border:5px dashed yellow; */
}

.part.red{
  background-color: #FF463C;
}

.part.beige {
  background-color: #FAFAF1;
}

.part.yellow {
  background-color: #FFDC3C;
}

.part.green {
  background-color: #00BEA0;
}

.part.blue {
  background-color: #323488;
}

/* Parts Mobile */
@media only screen and (max-width: 768px) {
  .part > .page:first-child {
    padding-top: 8rem;
  }
}


.page {
  width: 100%;
  min-height: 100vh;
  position: relative;
  scroll-snap-align: start;
  display: flex;
  flex-flow: column;
  display: none;
}

.page .button_next,
.page .button_next.play {
  position: fixed;
  bottom: 3rem;
  width: 6rem;
  height: 6rem;
  left: calc(50% - 3rem);
  background-color: #fff;
  border-radius: 50%;
  border: none;
  /* background-image: url(img/icon/suivant.svg); */
  background-repeat: no-repeat;
  background-size: contain;
  cursor: pointer;
  transition: all 350ms;
  transition-delay: 0ms;
  opacity: 0;
  visibility: hidden;
  transform: translateY(6rem);
  z-index: 99;
}

.page.active.done .button_next,
.page.active.done .button_next.play {
  opacity: 1;
  visibility: visible;
  transition-delay: 350ms;
  transform: translateY(0rem);
}

.page.before .button_next,
.page.before .button_next.play {
  transform: translateY(-6rem);
  transition-delay: 0ms;
}

.page .content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.page .content p {
  margin-bottom: 1rem;
}

/* Pages Mobile */
@media only screen and (max-width: 768px) {
  .page {
    overflow: hidden;
    scroll-snap-align: none;
    /* box-shadow: inset 0 0 20px 20px rgba(0,0,0,0.33); */
    padding-bottom: 10rem;
    min-height: calc(100vh - 8.2rem);
    position: relative;
    padding-top: 2rem;
  }
  .page:last-child {
    padding-bottom: 0;
  }
  .page .button_next,
  .page .button_next.play {
    position: absolute;
    bottom: 2rem;
    margin-left: auto;
    margin-right: auto;
  }
  .page.text .button_next,
  .page.textalt .button_next,
  .page.video .button_next,
  .page.text .button_next.play,
  .page.textalt .button_next.play,
  .page.video .button_next.play {
    position: fixed;
  }
  .page .content {
    position: relative;
    top:0;
    left:0;
    transform: none;
  }
}

/*

  VALIDATE Button states

*/

.part .page .validate {
  width: 18rem;
  height: 18rem;
  background: transparent;
  border: solid 2px #FFF;
  border-radius: 50%;
  color: #FFF;
  position: absolute;
  /* right: 0; */
  /* top: calc(50% - 9rem); */
  font-size: 2.4rem;
  font-weight: 600;
  opacity: .7;
  transition: all 350ms;
  pointer-events: none;
}
.part.red .page .validate { border-color: #FFF; color: #FFF; }
.part.beige .page .validate { border-color: #1A1A1A; color: #1A1A1A; }
.part.yellow .page .validate { border-color: #1A1A1A; color: #1A1A1A; }
.part.green .page .validate { border-color: #1A1A1A; color: #1A1A1A; }
.part.blue .page .validate { border-color: #FFF; color: #FFF; }

.part .page .tovalidate .validate {
  opacity: 1;
  pointer-events: visible;
  cursor: pointer;
}

.part .page .validated .validate {
  opacity: 0;
}

.part .page .validate:hover {
  color: #1A1A1A;
}
.part.red .page .validate:hover { border-color: #FFF; color: #1A1A1A; }
.part.beige .page .validate:hover { border-color: #FF463C; color: #FFF; }
.part.yellow .page .validate:hover { border-color: #323488; color: #FFF; }
.part.green .page .validate:hover { border-color: #FFDC3C; color: #1A1A1A; }
.part.blue .page .validate:hover { border-color: #FFF; color: #1A1A1A; }

.part .page .validate::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  transition: all 0.33s ease;
  border-radius: 50%;
}

.part .page .validate::after {
  z-index: -1;
  box-shadow: inset 0 0 0 .1rem #FFF;
  position: absolute;
}

.part .page .validate::before {
  background: #FFF;
  z-index: -1;
  box-shadow: inset 0 0 0 9rem transparent;
}
.part.red .page .validate::before { background: #FFF; box-shadow: inset 0 0 0 9rem #FF463C; }
.part.beige .page .validate::before {background: #FF463C;box-shadow: inset 0 0 0 9rem #FAFAF1;}
.part.yellow .page .validate::before { background:#323488; box-shadow: inset 0 0 0 9rem #FFDC3C; }
.part.green .page .validate::before { background: #FFDC3C; box-shadow: inset 0 0 0 9rem #00BEA0; }
.part.blue .page .validate::before { background: #FFF; box-shadow: inset 0 0 0 9rem #323488; }

.part .page .validate:hover::before {
  box-shadow: inset 0 0 0 0rem transparent;
}
.part.red .page .validate:hover::before { box-shadow: inset 0 0 0 0rem #FF463C; }
.part.beige .page.validate:hover::before { box-shadow: inset 0 0 0 0rem #FAFAF1;}
.part.yellow .page .validate:hover::before { box-shadow: inset 0 0 0 0rem #FFDC3C; }
.part.green .page .validate:hover::before { box-shadow: inset 0 0 0 0rem #00BEA0; }
.part.blue .page .validate:hover::before { box-shadow: inset 0 0 0 0rem #323488; }

/* 

  TTILE Page

*/

.part .page.title .content {
  width: 52rem;
  left: 50%;
  top: 50%;
  transform: translate(0, -50%);
  font-size: 1.8rem;
}
.part.red .page.title .content,
.part.blue .page.title .content {
  color: #FFF;
}
.part.beige .page.title .content,
.part.yellow .page.title .content,
.part.green .page.title .cotent {
  color: #1A1A1A;
}

.part .page.title .content h2 {
  font-family: 'Butler';
  font-size: 6rem;
  font-weight: 800;
}

.part .page.title .duration {
  position: relative;
  margin-top: 4rem;
}

.part .page.title .duration:after {
  content: '';
  top: -2rem;
  left: 0rem;
  width: 7rem;
  height: 2px;
  position: absolute;
}
.part.red .page.title .duration:after,
.part.blue .page.title .duration:after { 
  background-color: #FFF;
}
.part.beige .page.title .duration:after,
.part.yellow .page.title .duration:after,
.part.green .page.title .duration:after {
  background-color: #1A1A1A;
}

.part.red .page.title .duration em,
.part.blue .page.title .duration em { 
  color: #FFDC3C; 
}
.part.beige .page.title .duration em,
.part.yellow .page.title .duration em,
.part.green .page.title .duration em {
  color: #323488;
}

/* Page Title Mobile */
@media only screen and (max-width: 768px) {
  .part .page.title .duration:after {
    left: 50%;
    transform: translateX(-3.5rem);
  }

  .part .page.title .content {
    width:100%;
    height: auto;
    padding-left: 3rem;
    padding-right: 3rem;
    padding-top: 3rem;
    padding-bottom: 0rem;
    text-align: center;
    transform: none;
    position: static;
    /* border: 5px solid aqua; */
  }
}

/*

  INTRO Page

*/

.part .page.intro .content {
  width: 91rem;
  background-color: #FFF;
  font-size: 1.8rem;
  padding: 8rem 10rem 4rem 11rem;
  border: #1A1A1A solid 2px;
  text-align: center;
  left: calc(50% + 0rem);
}

.part .page.intro .content:after {
  content: '';
  width: 100%;
  height: 4rem;
  border-bottom: #1A1A1A solid 2px;
  position: absolute;
  top: 0;
  left: 0;
  text-align: left;
  background-image: url(img/points.svg);
  background-repeat: no-repeat;
  background-size: auto 2rem;
  background-position: 1rem 1rem;
}

.part .page.intro .content h2 {
  font-family: 'Butler';
  color: #323488;
  font-size: 3.6rem;
  font-weight: 900;
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.part .page.intro .content h3 {
  color: #323488;
  font-weight: 600;
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.part .page.intro .content ul {
  text-align: left;
  list-style: square;
  margin-top: 1rem;
  margin-bottom: 1rem;
}

/* Page Title Mobile */
@media only screen and (max-width: 768px) {
  .part .page.title {
    padding-bottom: 10rem;
  }
  .part .page.intro {
    padding: 3rem 3rem 16rem 3rem;
  }
  .part .page.intro .content {
    width: 100%;
    transform: none;
    position: relative;
    left:0;
    padding: 5rem 2rem 10rem 2rem;
  }
  .part .page.intro .content::after {
    content:'';
    display: block;
    background-image: url(../img/part1/m_fg2.svg);
    background-size: contain;
    width: 13.1rem;
    height: 25.7rem;
    position: absolute;
    top: auto;
    bottom: -141px;
    left: -50px;
    border: none;
  }
}

/*

  PODCAST Page

*/

.part .page.podcast .content {
  width: 69rem;
  height: 69rem;
  font-size: 1.8rem;
  padding: 12rem 5rem 4rem 5rem;
  text-align: center;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  left: calc(50% + 0rem);
}
.part.red .page.podcast .content { background-image: url(img/bubble_yellow.svg); }
.part.beige .page.podcast .content { background-image: url(img/bubble_red.svg); }
.part.yellow .page.podcast .content { background-image: url(img/bubble_blue.svg); }
.part.green .page.podcast .content { background-image: url(img/bubble_yellow.svg); }
.part.blue .page.podcast .content { background-image: url(img/bubble_yellow.svg); }

.part .page.podcast .content.large {
  background-image: none;
  background: #FAFAF1 !important;
  border: .5rem solid #FFDC3C;
  box-shadow: .8rem .8rem 0 0 #FFDC3C;
  border-radius: 1rem;
  width: 90rem;
  height: 57rem;
  padding: 3rem 5rem 3rem 5rem;
}
.part.red .page.podcast .content.large { border: .5rem solid #FFDC3C; box-shadow: .8rem .8rem 0 0 #FFDC3C; }
.part.beige .page.podcast .content.large { background: #fff !important; border: .5rem solid #FF463C; box-shadow: .8rem .8rem 0 0 #FF463C; }
.part.yellow .page.podcast .content.large { border: .5rem solid #323488; box-shadow: .8rem .8rem 0 0 #323488; }
.part.green .page.podcast .content.large { border: .5rem solid #FFDC3C; box-shadow: .8rem .8rem 0 0 #FFDC3C; }
.part.blue .page.podcast .content.large { border: .5rem solid #FFDC3C; box-shadow: .8rem .8rem 0 0 #FFDC3C; }


.part .page.podcast .content h2 {
  font-family: 'Butler';
  color: #323488;
  font-size: 3.6rem;
  font-weight: 900;
  margin-top: 1rem;
  margin-bottom: 1rem;
  padding: 1rem 5rem 4rem 5rem;
  background-image: url(img/quote_yellow.svg);
  background-repeat: no-repeat;
  background-size: 3.5rem 3.5rem;
  background-position: bottom center; 
}
.part.red .page.podcast .content h2 { background-image: url(img/quote_yellow.svg); }
.part.beige .page.podcast .content h2 { background-image: url(img/quote_red.svg); }
.part.yellow .page.podcast .content h2 { background-image: url(img/quote_blue.svg); }
.part.green .page.podcast .content h2 { background-image: url(img/quote_yellow.svg); }
.part.blue .page.podcast .content { background-image: url(img/bubble_yellow.svg); }


.part .page.podcast .content .play {
  width: 6rem;
  height: 6rem;
  border-radius: 50%;
  border: none;
  background-image: url(img/icon/play.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-color: #FFF;
  cursor: pointer;
  position: relative;
}

.part .page.podcast .content #svg {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

.part .page.podcast .content #svg circle {
  stroke-dashoffset: 0;
  stroke: transparent;
  stroke-width: 2rem;
  width: 100%;
  height: 100%;
}

.part .page.podcast .content #svg #bar {
  stroke: #323488;
}

.part .page.podcast .content .play.playing {
  background-image: url(img/icon/pause.svg);
}

.part .page.podcast .content.large p {
  text-align: left;
  margin-bottom: 1rem;
}

/* Quiz low heigth desktop  */
@media (min-aspect-ratio: 24/13) {
  .part .page.podcast .content {
    transform: translate(-50%, -50%) scale(.9);
  }
}

/* Podcast Mobile */
@media only screen and (max-width: 768px) {
  .part .page.podcast .content {
    width: auto;
    background-size: cover;
    left: 0;
    padding: 5rem 2rem 6rem 2rem;
  }
  .part .page.podcast .content.large {
    width: calc(100% - 3rem);
    margin-left: auto;
    margin-right: auto;
    height: auto;
    padding: 5rem 1.5rem 3rem 1.5rem;
  }
  .part .page.podcast .content h2 {
    padding: 1rem 1rem 4rem 1rem;
  }
}

/*

  QUIZ Page

*/

.part .page.quiz .content {
  width: 78rem;
  font-size: 1.8rem;
  left: auto;
  right: 15rem;
  transform: translate(0, -50%);
}

.part .page.quiz .content h2 {
  color:#1A1A1A;
  font-size: 3.6rem;
  font-weight: 900;
  margin-top: 1rem;
  margin-bottom: 1rem;
}
.part.red .page.quiz .content h2 { color:#1A1A1A; }
.part.beige .page.quiz .content h2 { color:#1A1A1A; }
.part.yellow .page.quiz .content h2 { color:#1A1A1A; }
.part.green .page.quiz .content h2 { color:#1A1A1A; }
.part.blue .page.quiz .content h2 { color:#FFF; }

.part .page.quiz .content .instruction {
  color:#FFF;
  font-weight: 900;
  margin-top: 2rem;
  margin-bottom: 2rem;
}
.part.red .page.quiz .content .instruction { color: #FFF; }
.part.beige .page.quiz .content .instruction { color:#1A1A1A; }
.part.yellow .page.quiz .content .instruction { color:#1A1A1A; }
.part.green .page.quiz .content .instruction { color:#FFF; }
.part.blue .page.quiz .content .instruction { color:#FFF; }

.part .page.quiz:not(.alt) .content.validated .instruction {
  display: none;
}

.part .page.quiz .content .already {
  font-weight: 900;
  margin-top: 2rem;
  margin-bottom: 2rem;
  display: none;
}
.part.red .page.quiz .content .already { color:#1A1A1A; }
.part.beige .page.quiz .content .already { color:#1A1A1A; }
.part.yellow .page.quiz .content .already { color:#1A1A1A; }
.part.green .page.quiz .content .already { color:#1A1A1A; }
.part.blue .page.quiz .content .already { color:#FFF; }

.part .page.quiz .content.validated .already {
  display: block;
}

.part .page.quiz .content .answers {
  position: relative;
}

.part .page.quiz .content label {
  display: block;
  width: 50rem;
  height: 11rem;
  border-radius: 5.5rem;
  background-color: #FFF;
  border: solid 2px #1A1A1A;
  position: relative;
  background-image: url(img/radio_off.svg);
  background-repeat: no-repeat;
  background-size: 5rem 5rem;
  background-position: left 2rem center;
  margin-top: 1rem;
  text-align: left;
  cursor: pointer;
  transition: all 350ms;
  overflow: hidden;
  opacity: 1;
  visibility: visible;
}
.part .page.quiz .content .answers.five label {
  width: 50rem;
  height: 7rem;
  background-position: left 1rem center;
}

.part .page.quiz .content label span {
  position: absolute;
  top: 50%;
  left: 9rem;
  transform: translateY(-50%);
  width: calc(100% - 11rem);
}
.part .page.quiz .content .answers.five label span {
  left: 7rem;
}

.part .page.quiz .content  input {
  visibility: hidden;
  position: absolute;
}

.part .page.quiz .content input:checked + label {
  background-image: url(img/radio_on.svg);
}

.part .page.quiz .content.validated input:checked + label {
  background-image: url(img/radio_on_blue.svg);
  border-color: #323488;
}
.part.beige .page.quiz .content.validated input:checked + label { background-image: url(img/radio_on_yellow.svg); border-color: #FFDC3C;}


.part .page.quiz.content.validated input:disabled + label {
  cursor: default;
}

.part .page.quiz:not(.alt) .content.validated input:not(:checked) + label {
  opacity: .5;
}

/* good / bad */

.part .page.quiz .content input:checked + label {
  background-image: url(img/radio_on.svg);
}

.part .page.quiz  .content.validated input.good:checked + label {
  background-image: url(img/radio_on_good.svg);
  border-color: #00BEA0;
}

.part .page.quiz  .content.validated input.good:not(:checked) + label {
  background-image: url(img/radio_on_green.svg);
  border-color: #00BEA0;
}

.part .page.quiz  .content.validated input.bad:checked + label {
  background-image: url(img/radio_on_bad.svg);
  border-color: #FF463C;
}

.part .page.quiz  .content.validated input.bad:not(:checked) + label {
  background-image: url(img/radio_on_red.svg);
  border-color: #FF463C;
}

/* Validate */

.part .page.quiz .validate {
  right: 0;
  top: calc(50% - 9rem);
}

.part .page.quiz .content .retry {
  display: block;
  color: #323488;
  font-size: 2.4rem;
  font-weight: bold;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  right: 9rem;
  transform: translateX(50%);
  bottom: 6rem;
}
.part.red .page.quiz .content .retry :hover::before { color: #FFF; }
.part.beige .page.quiz .content .retry :hover::before { color: #323488; }
.part.yellow .page.quiz .content .retry :hover::before { color: #323488; }
.part.green .page.quiz .content .retry :hover::before { color: #FFF; }
.part.blue .page.quiz .content .retry :hover::before { color: #FFF; }

.part .page.quiz .content.validated .retry {
  opacity: 1;
  pointer-events: visible;
}

.part .page.quiz .content .continue {
  width: 18rem;
  height: 18rem;
  background-color: #323488;
  /* background-image: url(img/questionmark_red.svg); */
  background-repeat: no-repeat;
  background-size: 40%;
  background-position: center;
  border: none;
  border-radius: 50%;
  color: #FFF;
  position: absolute;
  right: 0;
  top: calc(50% - 9rem);
  font-size: 2.4rem;
  font-weight: 600;
  opacity: 0;
  visibility: hidden;
  cursor: pointer;
}
.part.red .page.quiz .content .continue {color: #FFF;background-color: #323488; /* background-image: url(img/questionmark_red.svg); */}
.part.beige .page.quiz .content .continue { color: #1A1A1A; background-color: #FFDC3C; /* background-image: url(img/questionmark_white.svg); */ }
.part.yellow .page.quiz .content .continue { color: #FFDC3C; background-color: #323488; /* background-image: url(img/questionmark_white.svg); */ }
.part.green .page.quiz .content .continue { color: #FFF; background-color: #323488; /* background-image: url(img/questionmark_white.svg); */ }
.part.blue .page.quiz .content .continue { color: #1A1A1A; background-color: #FFDC3C; /* background-image: url(img/questionmark_white.svg); */ }

.part .page.quiz .content.validated .continue {
  opacity: 1;
  visibility: visible;
}

.part .page.quiz .button_next {
  display: none;
}

/* Feedback */

.part .page.quiz .content .feedback {
  width: 18rem;
  height: 18rem;
  background-color: transparent;
  border: none;
  border-radius: 50%;
  color: #FFDC3C;
  position: absolute;
  right: 0;
  top: calc(50% - 9rem);
  font-size: 2.4rem;
  font-weight: 600;
  opacity: 0;
  visibility: hidden;
  cursor: pointer;
}

.part .page.quiz .content.validated .feedback {
  opacity: 1;
  visibility: visible;
}

.part .page.quiz .content .feedback:hover {
  color: #1A1A1A;
  border: solid 2px #323488;
}

.part .page.quiz .content .feedback::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  transition: all 0.25s ease;
  border-radius: 50%;
}

.part .page.quiz .content .feedback::after {
  z-index: -1;
  box-shadow: inset 0 0 0 0rem #FFF;
  position: absolute;
}

.part .page.quiz .content .feedback::before {
  background: #FFF;
  z-index: -1;
  box-shadow: inset 0 0 0 9rem #323488;
}

.part .page.quiz .content .feedback:hover::before {
  box-shadow: inset 0 0 0 0rem #323488;
}

/* Quiz low heigth desktop  */
@media (min-aspect-ratio: 24/13) {
  .part .page.quiz .content {
    transform: translate(0, -50%) scale(.9);
  }
}

/* Quiz Mobile */
@media only screen and (max-width: 768px) {
  .part .page.quiz .content {
    width: 100%;
    font-size: 1.8rem;
    left: auto;
    right: auto;
    transform: none;
    text-align: center;
    padding-left: 2rem;
    padding-right: 2rem;
  }
  .part .page.quiz .content label {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    height: 15rem;
  }
  .part .page.quiz .content .answers.five label {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    height: 15rem;
  }
  .part .page.quiz .content label.last {
    margin-bottom: 2rem;
  }
  .part .page.quiz .validate {
    position: relative;
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
  .part .page.quiz .validated .validate {
    display: none;
  }
  .part .page.quiz .content .continue {
    position: relative;
    display: block;
    margin-left: auto;
    margin-right: auto;
    display: none;
  }
  .part .page.quiz .validated .continue {
    display: block;
    margin-bottom: 2rem;
  }
  .part .page.quiz .content .retry {
    position: static;
    display: block;
    margin-left: auto;
    margin-right: auto;
    transform: none;
  }
  .part .page.quiz .content .feedback {
    position: relative;
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
  .part .page.quiz .content .feedback {
    display: none;
    z-index: 1;
  }
  .part .page.quiz .content.validated .feedback {
    display: block;
  }
}

/*

  TEXT Page  

*/

.part .page.text .content {
  position: fixed;
  width: 50rem;
  font-family: 'Butler';
  font-size: 5rem;
  font-weight: 800;
  color: #FFF;
  text-align: center;
  opacity: 0;
  visibility: hidden;
  transition-property: all;
  transition-duration: 250ms;
  transition-delay: 0ms;
  top: 60%;
  pointer-events: none;
}


.part .page.w25 .content { width: 25%; }
.part .page.w31 .content { width: 31%; }
.part .page.w35 .content { width: 31%; }
.part .page.w50 .content { width: 50%; }
.part .page.w60 .content { width: 60%; }
.part .page.w70 .content { width: 70%; }

.part .page.text .content {
  top: 40%;
}

.part .page.active.text .content {
  opacity: 1;
  visibility: visible;
  top: 50%;
}

.part .page.text .content h2 {
  font-size: 3.5rem;
  color: #1A1A1A;
}

.part .page.text .content p {
  font-size: 3.5rem;
}


.part.red .page.text .content h2 { color: #1A1A1A; }
.part.beige .page.text .content h2 { color: #1A1A1A; }
.part.yellow .page.text .content h2 { color: #1A1A1A; }
.part.green .page.text .content h2 { color: #FFF; }
.part.blue .page.text .content h2 { color: #FFF; }

.part.red .page.text .content p { color: #FFF; }
.part.beige .page.text .content p { color: #FF463C; }
.part.yellow .page.text .content p { color: #323488; }
.part.green .page.text .content p { color: #1A1A1A; }
.part.blue .page.text .content p { color: #FFDC3C; }

.part.red .page.text .content h2.color-alt { color: #FFF; }
.part.beige .page.text .content h2.color-alt { color: #FF463C; }
.part.yellow .page.text .content h2.color-alt { color: #323488; }
.part.green .page.text .content h2.color-alt { color: #1A1A1A; }
.part.blue .page.text .content h2.color-alt { color: #FFDC3C; }

.part.red .page.text .content p.color-alt { color: #1A1A1A; }
.part.beige .page.text .content p.color-alt { color: #1A1A1A; }
.part.yellow .page.text .content p.color-alt { color: #1A1A1A; }
.part.green .page.text .content p.color-alt { color: #FFF; }
.part.blue .page.text .content p.color-alt { color: #FFF; }

/* PART Mobile */
@media only screen and (max-width: 768px) {
  .part .page.w25 .content { width: 100%; }
  .part .page.w31 .content { width: 100%; }
  .part .page.w35 .content { width: 100%; }
  .part .page.w50 .content { width: 100%; }
  .part .page.w60 .content { width: 100%; }
  .part .page.w70 .content { width: 100%; }

  .part .page.text .content {
    width: 100%;
    padding-left: 4rem;
    padding-right: 4rem;
    /* padding-top: 4rem; */
    /* top: 0; */
  }
  .part .page.active.text .content {
    top: 11rem;
  }
}

/*

  VIDEO Page

*/

.part .page.video .content {
  font-family: 'Butler';
  font-size: 3.6rem;
  font-weight: 800;
  color: #FFF;
  text-align: center;
}
.part.red .page.video .content { color: #FFF; }
.part.beige .page.video .content { color: #1A1A1A; }
.part.yellow .page.video .content { color: #1A1A1A; }
.part.green .page.video .content { color: #1A1A1A; }
.part.blue .page.video .content { color: #FFF; }

.part .page.video .content h2 {
  display: inline-block;
  height: 9rem;
  line-height: 9rem;
  padding-left: 12rem;
  background-image: url(img/icon/video.svg);
  background-size: contain;
  background-position: left center;
  background-repeat: no-repeat;
  margin-bottom: 1rem;
}
.part .page.video .content h2.two_line {
  line-height: 120%;
}
.part.red .page.video .content h2 { background-image: url(img/icon/video.svg); }
.part.beige .page.video .content h2 { background-image: url(img/icon/video.svg); }
.part.yellow .page.video .content h2 { background-image: url(img/icon/video_red.svg); }
.part.green .page.video .content h2 { background-image: url(img/icon/video.svg); }
.part.blue .page.video .content h2 { background-image: url(img/icon/video.svg); }

.part .page.video .content video {
  width: 77rem;
  /* height: 43rem; */
}

.part .page.active.video .content {
  opacity: 1;
  visibility: visible;
  top: 50%;
}

/* VIDEO Page Mobile */
@media only screen and (max-width: 768px) {
  .part .page.video .content {
    padding-left: 2rem;
    padding-right: 2rem;
    top: 12rem;
    bottom: 0;
    transform: translateY(10%);
  }
  .part .page.active.video .content {
    transform: none;
  }
  .part .page.video .content video {
    width: 100%;
    height: auto;
  }
  .part .page.video .content h2 {
    line-height: 4rem;
    text-align: left;
  }
}



/*

  QUIZNEXT Page

*/

.part .page.quiznext .content {
  width: 78rem;
  font-size: 1.8rem;
  left: auto;
  right: 15rem;
  transform: translate(0, -50%);
  top: 40%;
}

.part .page.quiznext .content h2 {
  font-size: 4.2rem;
  font-weight: 900;
  margin-top: 1rem;
  margin-bottom: 1rem;
}
.part.red .page.quiznext .content h2 { color: #1A1A1A; }
.part.beige .page.quiznext .content h2 { color: #1A1A1A; }
.part.yellow .page.quiznext .content h2 { color: #1A1A1A; }
.part.green .page.quiznext .content h2 { color: #1A1A1A; }
.part.blue .page.quiznext .content h2 { color: #FFF; }

.part .page.quiznext .content .instruction {
  color:#FFF;
  font-weight: 900;
  margin-top: 2rem;
  margin-bottom: 2rem;
}
.part.red .page.quiznext .content .instruction { color:#FFF; }
.part.beige .page.quiznext .content .instruction { color:#1A1A1A; }
.part.yellow .page.quiznext .content .instruction { color:#1A1A1A; }
.part.green .page.quiznext .content .instruction { color:#1A1A1A; }
.part.blue .page.quiznext .content .instruction { color:#FFF; }

.part .page.quiznext .content .answers {
  position: relative;
}

.part .page.quiznext .content label {
  display: inline-block;
  width: 35rem;
  height: 9rem;
  border-radius: 4.5rem;
  background-color: #FFF;
  border: solid 2px #1A1A1A;
  font-size: 2.4rem;
  font-weight: 600;
  position: relative;
  background-image: url(img/radio_off.svg);
  background-repeat: no-repeat;
  background-size: 5rem 5rem;
  background-position: left 2rem center;
  margin-top: 2rem;
  margin-right: 2rem;
  text-align: left;
  cursor: pointer;
}

.part .page.quiznext .content label span {
  position: absolute;
  top: 50%;
  left: 9rem;
  transform: translateY(-50%);
  width: calc(100% - 11rem);
} 

.part .page.quiznext .content  input {
  visibility: hidden;
  position: absolute;
}

.part .page.quiznext .content input:checked + label {
  background-image: url(img/radio_on.svg);
}

.part .page.quiznext .content .validate {
  right: calc(50% - 7rem);
  bottom: -22rem;
}

/* QUIZNext Page Mobile */
@media only screen and (max-width: 768px) {
  .part .page.quiznext .content {
    width: 100%;
    padding-left: 2rem;
    padding-right: 2rem;
    transform: none;
    top: auto;
    right: auto;
  }
  .part .page.quiznext .content label {
    width: 100%;
    display: block;
  }
  .part .page.quiznext .content label.last {
    margin-bottom: 2rem;
  }
  .part .page.quiznext .content h2 {
    font-size: 3rem;
    text-align: center;
  }
  .part .page.quiznext .content .validate {
    position: relative;
    right: auto;
    bottom: auto;
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
}



/*

  TEXTALT Page

*/

.part .page.textalt .content {
  position: fixed;
  font-size: 5rem;
  font-weight: 900;
  text-align: left;
  left: calc(50% + 10rem);
  opacity: 0;
  visibility: hidden;
  transition-property: all;
  transition-duration: 250ms;
  transition-delay: 0ms;
  top: 60%;
  pointer-events: none;
}
.part.red .page.textalt .content { color: #FFF; }
.part.beige .page.textalt .content { color: #1A1A1A; }
.part.yellow .page.textalt .content { color: #1A1A1A; }
.part.green .page.textalt .content { color: #FFF; }
.part.blue .page.textalt .content { color: #FFF; }

.part .page.textalt.before .content {
  top: 40%;
}

.part .page.textalt.active .content {
  opacity: 1;
  visibility: visible;
  top: 50%;
}

.part .page.textalt .content h2 {
  color: #FF463C;
}
.part.red .page.textalt .content h2 { color: #1A1A1A; }
.part.beige .page.textalt .content h2 { color: #FF463C; }
.part.yellow .page.textalt .content h2 { color: #323488; }
.part.green .page.textalt .content h2 { color: #1A1A1A; }
.part.blue .page.textalt .content h2 { color: #FFDC3C; }

/* QUIZNext Page Mobile */
@media only screen and (max-width: 768px) {
  .part .page.textalt .content {
    top: 12rem;
    bottom: auto;
    left: auto;
    transform: translateY(10%);
    padding-left: 3rem;
    padding-right: 3rem;
  }
  .part .page.textalt.active .content {
    top: 12rem;
    transform: none;
  }
  .part .page.textalt .content h2 {
    font-size: 3.5rem;
  }
  .part .page.textalt .content p {
    font-size: 3.5rem;
  }
}


/*

  REVEAL Page

*/

.part .page.reveal .content {
  width: 121rem;
  font-size: 1.8rem;
  text-align: center;
  perspective: 1000px;
}

.part .page.reveal .content h2 {
  font-size: 3.6rem;
  font-weight: 900;
  margin-top: 1rem;
  margin-bottom: 1rem;
}
.part.red .page.reveal .content h2 { color: #1A1A1A; }
.part.beige .page.reveal .content h2 { color: #1A1A1A; }
.part.yellow .page.reveal .content h2 { color: #1A1A1A; }
.part.green .page.reveal .content h2 { color: #1A1A1A; }
.part.blue .page.reveal .content h2 { color: #FFF; }

.part .page.reveal .content .instruction {
  color:#383841;
  font-weight: 900;
  margin-top: 2rem;
  margin-bottom: 2rem;
}
.part.red .page.reveal .content .instruction { color: #FFF; }
.part.beige .page.reveal .content .instruction { color: #323488; }
.part.yellow .page.reveal .content .instruction { color: #383841; }
.part.green .page.reveal .content .instruction { color: #FFF; }
.part.blue .page.reveal .content .instruction { color: #FFF; }

.part .page.reveal .cards {
  width: 100%;
}

.part .page.reveal .cards li {
  display: none;
  width: 35rem;
  height: 45rem;
  margin: 2rem;
  position: relative;
  transition: transform 350ms;
  transform-style: preserve-3d;
  cursor: pointer;
}
.part .page.reveal .cards.four li {
  width: 27rem;
  margin: 1rem;
}


.part .page.active .cards li:not(.hide) {
  display: inline-flex;
}

.part .page.reveal .cards li.active {
  transform: rotateY(180deg);
}

.part .page.reveal .cards li .recto {
  background-color: #323488;
  border-radius: 2rem;
  padding: 8rem 2rem;
  color: #FFF;
  font-family: 'Butler';
  font-weight: 900;
  font-size: 2.4rem;
  background-image: url(img/quote_yellow.svg);
  background-repeat: no-repeat;
  background-size: 3.7rem 3.7rem;
  background-position: center 2rem;
  position: absolute;
  width: 100%;
  height: 100%;
  -webkit-backface-visibility: hidden; /* Safari */
  backface-visibility: hidden;
}
.part.red .page.reveal .cards li .recto { background-color: #323488; color: #FFF; }
.part.beige .page.reveal .cards li .recto { background-color: #323488; color: #FFF; }
.part.yellow .page.reveal .cards li .recto { background-color: #323488; color: #FFF; }
.part.green .page.reveal .cards li .recto { background-color: #323488; color: #FFF; }
.part.blue .page.reveal .cards li .recto { background-color: #FFDC3C; color: #1A1A1A; }

.part .page.reveal .cards li .recto:after {
  content: '';
  position: absolute;
  width: 6.2rem;
  height: 6.2rem;
  border-radius: 50%;
  background-color: #FFF;
  bottom: 4rem;
  left: calc(50% - 3.1rem);
  background-image: url(img/icon/click.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 70% 70%;
  -webkit-backface-visibility: hidden; /* Safari */
  backface-visibility: hidden;
}

.part .page.reveal .cards li .recto > span {
  position: absolute;
  top: calc(50% - 2rem);
  left: 2rem;
  width: calc(100% - 4rem);
  transform: translateY(-50%);
}

.part .page.reveal .cards li .verso {
  position: absolute;
  top: 0;
  border: solid #323488 2px;
  width: 32rem;
  height: 37rem;
  border-radius: 2rem;
  box-shadow: .8rem .8rem #323488;
  padding: 2rem;
  background: #FFF;
  text-align: center;
  font-size: 1.8rem;
  position: absolute;
  width: 100%;
  height: 100%;
  -webkit-backface-visibility: hidden; /* Safari */
  backface-visibility: hidden;
  transform: rotateY(180deg);
}
.part.red .page.reveal .cards li .verso { border: solid #323488 2px; background: #fff; box-shadow: .8rem .8rem #323488; }
.part.beige .page.reveal .cards li .verso { border: solid #323488 2px; background: #fff; box-shadow: .8rem .8rem #323488; }
.part.yellow .page.reveal .cards li .verso { border: solid #323488 2px; background: #fff; box-shadow: .8rem .8rem #323488; }
.part.green .page.reveal .cards li .verso { border: solid #323488 2px; background: #fff; box-shadow: .8rem .8rem #323488; }
.part.blue .page.reveal .cards li .verso { border: solid #FFDC3C 2px; background: #fff; box-shadow: .8rem .8rem #FFDC3C;  }

.part .page.reveal .cards li .verso span {
  position: absolute;
  top: 50%;
  left: 1rem;
  width: calc(100% - 2rem);
  transform: translateY(-50%);
}
.part .page.reveal .cards li .verso span p {
  margin-bottom: 1rem;
}

/* Quiz low heigth desktop  */
@media (min-aspect-ratio: 24/13) {
  .part .page.reveal .content {
    transform: translate(-50%, -50%) scale(.9);
  }
}

/* Mobile */
@media only screen and (max-width: 768px) {
  .part .page.reveal .content {
    width: 100%;
    padding-left: 2rem;
    padding-right: 2rem;
  }
  .part .page.reveal .cards {
    min-height: 129rem; /* A gérer en JS ?*/
  }
  .part .page.reveal .cards li,
  .part .page.reveal .cards.four li {
    margin: 0 auto;
    width: 100%;
    height: 100vw;
    margin-bottom: 2rem;
  }
}



/*

  DEBRIEF Page

*/

.part .page.debriefquiz li {
  display: none;
}

.part .page.debriefquiz li.active {
  display: block;
}

.part .page.debriefquiz .button_next {
  display: block;
}

.part .page.debriefquiz .content {
  width: 91rem;
  background-color: #FFF;
  font-size: 1.8rem;
  padding: 8rem 10rem 11rem 11rem;
  border: #1A1A1A solid 2px;
  text-align: center;
  left: calc(50% + 0rem);
  top: calc(50% - 1rem);
  /* text-align: center; */
}

.part .page.debriefquiz .content:after {
  content: '';
  width: 100%;
  height: 4rem;
  border-bottom: #1A1A1A solid 2px;
  position: absolute;
  top: 0;
  left: 0;
  text-align: left;
  background-image: url(img/points.svg);
  background-repeat: no-repeat;
  background-size: auto 2rem;
  background-position: 1rem 1rem;
}

.part .page.debriefquiz .content h2 {
  font-family: 'Butler';
  color: #323488;
  font-size: 2.6rem;
  font-weight: 900;
  margin-top: 1rem;
  margin-bottom: 3rem;
  position: relative;
  display: block;
}

.part .page.debriefquiz .content h2:after {
  content: '';
  width: 3rem;
  height: 2px;
  bottom: -1rem;
  left: calc(50% - 1.5rem);
  background-color: #323488;
  position: absolute;
}

.part .page.debriefquiz .content ul {
  text-align: left;
  list-style: square;
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.part .page.debriefquiz .content .next {
  width: 18rem;
  height: 18rem;
  background-color: transparent;
  border: none;
  border-radius: 50%;
  color: #FFDC3C;
  position: absolute;
  left: calc(50% - 9rem);
  bottom: -9rem;
  font-size: 2.4rem;
  font-weight: 600;
  opacity: 1;
  visibility: visible;
  cursor: pointer;
}

.part .page.debriefquiz .content .next:hover {
  color: #1A1A1A;
  border: solid 2px #323488;
}

.part .page.debriefquiz .content .next::before, 
.part .page.debriefquiz .content .next::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  transition: all 0.25s ease;
  border-radius: 50%;
}

.part .page.debriefquiz .content .next::after {
  z-index: -1;
  box-shadow: inset 0 0 0 .1rem #323488;
  position: absolute;
}

.part .page.debriefquiz .content .next::before {
  background: #FFF;
  z-index: -1;
  box-shadow: inset 0 0 0 9rem #323488;
}

.part .page.debriefquiz .content .next:hover::before {
  box-shadow: inset 0 0 0 .1rem #323488;
}

/* Quiz low heigth desktop  */
@media (min-aspect-ratio: 24/13) {
  .part .page.debriefquiz .content {
    transform: translate(-50%, -50%) scale(.9);
  }
}

/* Mobile */
@media only screen and (max-width: 768px) {
  .part .page.debriefquiz {
    padding-bottom: 20rem;
  }
  .part .page.debriefquiz .content {
    width: calc(100% - 2rem);
    left: 0;
    top: 0;
    margin-left: auto;
    margin-right: auto;
    padding: 8rem 2rem 11rem 2rem;
    margin-top: 1rem;
  }
  .part .page.debriefquiz .content h2 {
    text-align: center;
  }
  .part .page.debriefquiz .content p {
    text-align: center;
  }
  .part .page.debriefquiz .content .next {
    z-index: 1;
  }

  .part .page.debriefquiz--synthese .content {
    padding-bottom: 4rem;
  }
  .part .page.debriefquiz--synthese {
    padding-bottom: 10rem;
  }
}




/*

  QUIZEND Page

*/

.part .page.quizend .questions {
  position: absolute;
  width: 78rem;
  font-size: 1.8rem;
  top: 50%;
  left: auto;
  right: 15rem;
  transform: translate(0, -50%);
}

.part .page.quizend .questions .question {
  display: none;
}

.part .page.quizend .questions .question.active {
  display: block;
}

.part .page.quizend .questions .question h2 {
  color: #FFF;
  font-size: 3.1rem;
  font-weight: 900;
  margin-top: 1rem;
  margin-bottom: 4rem;
}

.part .page.quizend .questions .question .answers {
  position: relative;
}

.part .page.quizend .questions .question label {
  display: block;
  width: 50rem;
  height: 9rem;
  border-radius: 4.5rem;
  background-color: #FFF;
  border: solid 2px #1A1A1A;
  position: relative;
  background-image: url(img/radio_off.svg);
  background-repeat: no-repeat;
  background-size: 5rem 5rem;
  background-position: left 2rem center;
  margin-top: 1rem;
  text-align: left;
  cursor: pointer;
  transition: all 350ms;
  overflow: hidden;
  opacity: 1;
  visibility: visible;
}

.part .page.quizend .questions .question label span {
  position: absolute;
  top: 50%;
  left: 9rem;
  transform: translateY(-50%);
  width: calc(100% - 11rem);
} 

.part .page.quizend .questions .question  input {
  visibility: hidden;
  position: absolute;
}

.part .page.quizend .questions .question input:checked + label {
  background-image: url(img/radio_on.svg);
}

.part .page.quizend .validate {
  right: 0;
  top: calc(50% - 9rem);
}

.part .page.quizend .debriefs {
  position: absolute;
  width: 91rem;
  background-color: #FFF;
  font-size: 1.8rem;
  padding: 8rem 10rem 12rem 11rem;
  border: #1A1A1A solid 2px;
  text-align: center;
  left: calc(50% + 0rem);
  top: calc(50% - 4rem);
  transform: translate(-50%,-50%);
  display: none;
}

.part .page.quizend .debriefs:after {
  content: '';
  width: 100%;
  height: 4rem;
  border-bottom: #1A1A1A solid 2px;
  position: absolute;
  top: 0;
  left: 0;
  text-align: left;
  background-image: url(img/points.svg);
  background-repeat: no-repeat;
  background-size: auto 2rem;
  background-position: 1rem 1rem;
}

.part .page.quizend .debriefs h2 {
  font-family: 'Butler';
  color: #323488;
  font-size: 6rem;
  font-weight: 900;
  margin-top: 3rem;
  margin-bottom: 3rem;
  position: relative;
  display: block;
}

.part .page.quizend .debriefs .next {
  width: 18rem;
  height: 18rem;
  background-color: #FFDC3C;
  border: none;
  border-radius: 50%;
  color: #323488;
  position: absolute;
  left: calc(50% - 9rem);
  bottom: -9rem;
  font-size: 2.4rem;
  font-weight: 600;
  opacity: 1;
  visibility: visible;
  cursor: pointer;
  padding: 2rem;
}

.part .page.quizend .button_next {
  display: none;
}

/* Quiz low heigth desktop  */
@media (min-aspect-ratio: 24/13) {
  .part .page.quizend .debriefs {
    transform: translate(-50%, -50%) scale(.9);
  }
}

/* Quiz End MOBILE */
@media only screen and (max-width: 768px) {
  .part .page.quizend {
    width: 100%;
  }
  .part .page.quizend .questions {
    width: calc(100% - 6rem);
    margin-left: auto;
    margin-right: auto;
    top: auto;
    right: auto;
    left: auto;
    transform: none;
    position: relative;
  }
  .part .page.quizend .questions .question label {
    width: 100%;
    height: 15rem;
  }
  .part .page.quizend .validate {
    position: relative;
    margin-left: auto;
    margin-right: auto;
    right: auto;
    left: auto;
    /* top: 0; */
    display: block;
  }
  .part .page.quizend .button_next {
    position: relative;
    left: 0;
    transform: none;
  }
  .part .page.quizend .answers label.last {
    margin-bottom: 2rem;
  }

  .part .page.quizend .debriefs {
    width: calc(100% - 2rem);
    position: relative;
    left: auto;
    right: auto;
    transform: none;
    margin-left: auto;
    margin-right: auto;
    margin-top: 1rem;
    margin-bottom: 11rem;
    padding: 8rem 2rem 12rem 2rem;
  }
}


/*

  FURTHER Page

*/

.part .page.further .content {
  position: absolute;
  font-family: 'Butler';
  font-size: 5rem;
  font-weight: 900;
  text-align: center;
  color: #FFFFFF;
  top: auto;
  bottom: 0;
  pointer-events: none;
  width: 35%;
  transform: translate(-50%, 0);
  padding-bottom: 0;
  margin-bottom: 0;
}
.part.red .page.further .content h2 { color: #FFF; }
.part.beige .page.further .content h2 { color: #1A1A1A; }
.part.yellow .page.further .content h2 { color: #1A1A1A; }
.part.green .page.further .content h2 { color: #FFF; }
.part.blue .page.further .content h2 { color: #FFF; }

.part .page.further .content h2 {
  color: #FFDC3C;
  font-size: 5rem;
}
.part.red .page.further .content h2 { color: #FFDC3C; }
.part.beige .page.further .content h2 { color: #FF463C; }
.part.yellow .page.further .content h2 { color: #323488; }
.part.green .page.further .content h2 { color: #1A1A1A; }
.part.blue .page.further .content h2 { color: #FFDC3C; }


.part .page.further .content img {
  margin-top: 4rem;
  margin-bottom: 0;
  width: 100%;
  height: auto;
}

/* Further MOBILE */
@media only screen and (max-width: 768px) {
  .part .page.further .content {
    position: relative;
    width: calc(100% - 2rem);
    transform: none;
    margin-left: auto;
    margin-right: auto;
  }
  .part .page.further .content h2 {
    font-size: 3.5rem;
  }
  .part .page.further .content p {
    font-size: 3.5rem;
  }
}


/*

  FURTHER-DL Page

*/

.part .page.further-dl .content {
  font-family: 'Butler';
  font-size: 5rem;
  font-weight: 900;
  text-align: center;
  color: #1A1A1A;
  width: 100%;
}
.part.red .page.further-dl .content { color: #1A1A1A; }
.part.beige .page.further-dl .content { color: #1A1A1A; }
.part.yellow .page.further-dl .content { color: #1A1A1A; }
.part.green .page.further-dl .content { color: #FFF; }
.part.blue .page.further-dl .content { color: #FFF; }

.part .page.further-dl .content h2 {
  color: #FF463C;
  font-size: 5rem;
}
.part.red .page.further-dl .content h2 { color: #FFDC3C; }
.part.beige .page.further-dl .content h2 { color: #FF463C; }
.part.yellow .page.further-dl .content h2 { color: #323488; }
.part.green .page.further-dl .content h2 { color: #1A1A1A; }
.part.blue .page.further-dl .content h2 { color: #FFDC3C; }

.part .page.further-dl .interactives {
  padding: 15rem 0 0 0;
}

.part .page.further-dl .interactives button {
  width: 30rem;
  height: 17rem;
  background-color: #323488;
  border: none;
  color: #FFFFFF;
  font-size: 1.8rem;
  font-weight: 400;
  opacity: 1;
  visibility: visible;
  cursor: pointer;
  margin: 0 5rem;
  position: relative;
}
.part.red .page.further-dl .interactives button { background-color: #323488; color: #FFFFFF; }
.part.beige .page.further-dl .interactives button { background-color: #323488; color: #FFFFFF; }
.part.yellow .page.further-dl .interactives button { background-color: #323488; color: #FFFFFF; }
.part.green .page.further-dl .interactives button { background-color: #323488; color: #FFFFFF; }
.part.blue .page.further-dl .interactives button { background-color: #FFDC3C; color: #1A1A1A; }


.part .page.further-dl .interactives button.alt {
  background-color: #FFDC3C;
  color: #1A1A1A;
  font-weight: 600;
}
.part.red .page.further-dl .interactives button.alt { background-color: #FFDC3C; color: #1A1A1A; }
.part.beige .page.further-dl .interactives button.alt { background-color: #FFDC3C; color: #1A1A1A; }
.part.yellow .page.further-dl .interactives button.alt { background-color: #FFDC3C; color: #1A1A1A; }
.part.green .page.further-dl .interactives button.alt { background-color: #FFDC3C; color: #1A1A1A; }
.part.blue .page.further-dl .interactives button.alt { background-color: #FFF; color: #1A1A1A; }

.part .page.further-dl .interactives button b {
  color: #FFDC3C;
}
.part.red .page.further-dl .interactives button b { color: #FFDC3C; }
.part.beige .page.further-dl .interactives button b { color: #FFDC3C; }
.part.yellow .page.further-dl .interactives button b { color: #FFDC3C; }
.part.green .page.further-dl .interactives button b { color: #FFDC3C; }
.part.blue .page.further-dl .interactives button b { color: #323488; }


.part .page.further-dl .interactives button span {
  position: absolute;
  display: block;
  width: 60%;
  text-align: left;
  left: 2rem;
  bottom: 2rem;
}

.part .page.further-dl .interactives button img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: -11rem;
  left: 5rem;
}

.part .page.further-dl .interactives button img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: -11rem;
  left: 5rem;
}

.part .page.further-dl .interactives button:nth-child(2) img {
  top: -9rem;
  left: 50%;
  transform: translateX(-50%);
}

.part .page.further-dl .interactives button:nth-child(3) img {
  right: 5rem;
  left: auto;
}

.part .page.further-dl .button_next {
  display: none;
}

/* Further MOBILE */
@media only screen and (max-width: 768px) {
  .part .page.further-dl .content h2 {
    font-size: 3.5rem;
  }
  .part .page.further-dl .content p {
    font-size: 3.5rem;
  }
  .part .page.further-dl .interactives button {
    width: calc(100% - 10rem);
    height: auto;
    margin: 0;
    margin-bottom: 14rem;
    padding: 0;
  }
  .part .page.further-dl .interactives button:last-child {
    margin-bottom: 0;
  }
  .part .page.further-dl .interactives button img {
    position: relative;
    top: -10rem;
    display: block;
    height: auto;
    width: 100%;
  }
  .part .page.further-dl .interactives button.video.right {
    transform: translateX(-2.5rem);
  }
  .part .page.further-dl .interactives button.download img {
    width: 50%;
  }
  .part .page.further-dl .interactives button.video.left {
    transform: translateX(2.5rem);
  }
}

/*

  ListQ (added with javascript) 

*/



.part .page .listQ {
  position: fixed;
  display: inline-table;
  bottom: 1rem;
  left: 50%;
  transform: translateX(-50%);
  right: 3rem;
  transition: all 200ms;
  transition-delay: 0ms;
  opacity: 0;
  visibility: hidden;
}
.part .page.active .listQ {
  opacity: 1;
  visibility: visible;
  transition-delay: 350ms;
}

.part .page .listQ > div {
  display: inline-block;
  width: 4rem;
  height: 5rem;
  margin: 0 0.5rem;
  background-image: url(img/icon/q_todo.svg);
  background-repeat: no-repeat;
  background-size: 98%;
  background-position: center;
}
.part.red .page .listQ > div { background-image: url(img/icon/q_todo.svg); }
.part.beige .page .listQ > div { background-image: url(img/icon/q_todo.svg); }
.part.yellow .page .listQ > div { background-image: url(img/icon/q_todo.svg); }
.part.green .page .listQ > div { background-image: url(img/icon/q_todo.svg); }
.part.blue .page .listQ > div { background-image: url(img/icon/q_todo_white.svg); }


.part .page .listQ > div.success {
  background-image: url(img/icon/q_check.svg);
}
.part.red .page .listQ > div.success { background-image: url(img/ico/q_check.svg); }
.part.beige .page .listQ > div.success { background-image: url(img/icon/q_check.svg); }
.part.yellow .page .listQ > div.success { background-image: url(img/icon/q_check.svg); }
.part.green .page .listQ > div.success { background-image: url(img/icon/q_check.svg); }
.part.blue .page .listQ > div.success { background-image: url(img/icon/q_check_white.svg); }

.part .page.quiz .listQ > div.failed {
  background-image: url(img/icon/q_check.svg);
}
.part.red .page .listQ > div.failed { background-image: url(img/ico/q_check.svg); }
.part.beige .page .listQ > div.failed { background-image: url(img/icon/q_check.svg); }
.part.yellow .page .listQ > div.failed { background-image: url(img/icon/q_check.svg); }
.part.green .page .listQ > div.failed { background-image: url(img/icon/q_check.svg); }
.part.blue .page .listQ > div.failed { background-image: url(img/icon/q_check_white.svg); }

/* QUIZNext Page Mobile */
@media only screen and (max-width: 768px) {
  .part .page .listQ {
    display: block;
    position: relative;
    left: auto;
    right: auto;
    bottom: auto;
    transform: none;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    margin-top: 2rem;
  }
  .part .page .listQ > div {
    
  }
}

/*

  POP VIDEO / DEMO

*/

.popupvideo {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba(0,0,0,.5);
  opacity: 0;
  visibility: hidden;
  transition: all 350ms;
}

.popupvideo.active {
  opacity: 1;
  visibility: visible;
  z-index: 999;
}

.popupvideo video {
  position: absolute;
  height: 50%;
  top: 25%;
  left: 50%;
  transform: translateX(-50%);
}

.popupvideo .close {
  position: absolute;
  top: calc(25% - 6rem);
  width: 4rem;
  height: 4rem;
  left: 75%;
  border-radius: 50%;
  border: none;
  background-image: url(img/icon/close.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-color: transparent;
  cursor: pointer;
  transition: all 350ms;
  transition-delay: 0ms;
}

/* POP VIDEO Mobile */
@media only screen and (max-width: 768px) {
  .popupvideo,
  .popupdemo {
    position: fixed;
    width: 100%;
    height: 100vh;
  }
  .popupvideo video {
    left: 0;
    top: 50%;
    height: calc(100vw * 0.565);
    width: 100vw;
    transform: translateY(-50%);
  }
  .popupvideo .close {
    left:85%;
  }
}

/* 
  
  Popup DEMO
  
*/

.popupdemo {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba(0,0,0,.5);
  opacity: 0;
  visibility: hidden;
  transition: all 350ms;
  z-index: 101;
}

.popupdemo.active {
  opacity: 1;
  visibility: visible;
}

.popupdemo .content {
  position: absolute;
  top: calc(50% - 29rem / 2);
  left: calc(50% - 57rem / 2);
  width: 57rem;
  height: 29rem;
  border: .1rem solid #000;
  background: #fff url('img/bg_demo.svg') left center no-repeat;
  background-size: 32rem;
  text-align: center;
  padding-top: 4rem;
}

.popupdemo .content h2 {
  color: #FF463C;
  font-size: 4rem;
  font-family: 'Butler';
  font-weight: 900;
  line-height: 120%;
  margin-bottom: 1.5rem;
}

.popupdemo .content p {
  font-size: 2rem;
  font-weight: 500;
  line-height: 120%;
  margin-bottom: 2rem;
}

.popupdemo .content a {
  background-color: #FF463C;
  font-size: 2rem;
  font-weight: 500;
  color: #fff;
  border: none;
  padding: 1.5rem 6rem;
  line-height: 100%;
  border-radius: 10rem;
  cursor: pointer;
  text-decoration: none;
  display: inline-block;
}

@media only screen and (max-width: 768px) {
  .popupdemo {
    position: fixed;
    width: 100%;
    height: 100vh;
  }
}




.debriefquiz .button_next {
  display: none;
}

/*

  DECORATION

*/


.decoration {
  position: fixed;
  width: 100%;
  height: 100vh;
  z-index: 50;
  pointer-events:none;
}

.decoration .fg {
  transition-duration: 350ms;
  transition-property: all;
  transition-delay: 0ms;
  transform: scale(1.1,1.1);
  opacity: 0;
  pointer-events: none;
}

.decoration .fg.before {
  transform: scale(.9,.9);
}

.decoration .fg.active {
  transition-delay: 350ms;
  opacity: 1;
  transform: scale(1,1);
}

/* Decoration Mobile */
@media only screen and (max-width: 768px) {
  .decoration.desktop {
    display: none;
  }
  .decoration.mobile {
    display: block;
  }
  .decoration .fg {
    display: none;
    pointer-events: none;
  }
}



.ico.play {
  margin: 0 auto;
  text-align: center;
  width: 6rem;
  height: 6rem;
  position: relative;
  /* top: 50%; */
  transform: translateY(-50%);
  filter: url("#goo");
}
.ico.play .circle {
  background: #fff;
  border-radius: 50%;
  display: inline-block;
  height: 6rem;
  width: 6rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  transform-origin: 0%;
}
.ico.play .circle.circle-top {
  height: 2rem;
  width: 2.4rem;
  -webkit-animation: blob-1-anim 3s cubic-bezier(0.77, 0, 0.175, 1) infinite;
  animation: blob-1-anim 3s cubic-bezier(0.77, 0, 0.175, 1) infinite;
  z-index: 0;
  top: 0;
}
.ico.play .circle.circle-bottom {
  height: 2rem;
  width: 2.4rem;
  -webkit-animation: blob-2-anim 3s cubic-bezier(0.77, 0, 0.175, 1) infinite;
  animation: blob-2-anim 3s cubic-bezier(0.77, 0, 0.175, 1) infinite;
  z-index: 9;
  bottom: 0px;
}
.ico.play .st-arrow {
  fill: #1A1A1A;
  -webkit-animation: scrolly 3s cubic-bezier(0.77, 0, 0.175, 1) forwards infinite;
          animation: scrolly 3s cubic-bezier(0.77, 0, 0.175, 1) forwards infinite;
  perspective: 9000px;
  transform: translateZ(0);
  transform-origin: bottom;
}

.svg {
  z-index: 9;
  position: relative;
}

@-webkit-keyframes blob-1-anim {
  0% {
    transform: translateX(-50%) translateY(0);
  }
  14% {
    transform: translateX(-50%) translateY(-.8rem);
  }
  24% {
    transform: translateX(-50%) translateY(0);
  }
  100% {
    transform: translateX(-50%) translateY(0);
  }
}

@keyframes blob-1-anim {
  0% {
    transform: translateX(-50%) translateY(0);
  }
  14% {
    transform: translateX(-50%) translateY(-.8rem);
  }
  24% {
    transform: translateX(-50%) translateY(0);
  }
  100% {
    transform: translateX(-50%) translateY(0);
  }
}
@-webkit-keyframes blob-2-anim {
  0% {
    transform: scale(1) translate(-50%, 10px);
  }
  30% {
    transform: scale(1) translate(-50%, 1rem);
  }
  70% {
    transform: scale(1) translate(-50%, 1rem);
  }
  95% {
    transform: scale(1) translate(-50%, 2.6rem);
  }
  100% {
    transform: scale(1) translate(-50%, 1rem);
  }
}
@keyframes blob-2-anim {
  0% {
    transform: scale(1) translate(-50%, 1rem);
  }
  30% {
    transform: scale(1) translate(-50%, 1rem);
  }
  70% {
    transform: scale(1) translate(-50%, 1rem);
  }
  95% {
    transform: scale(1) translate(-50%, 2.6rem);
  }
  100% {
    transform: scale(1) translate(-50%, 1rem);
  }
}
@-webkit-keyframes scrolly {
  0% {
    transform: translate3d(0, -150%, 0) rotateX(90deg) scale(0.5) skewX(3deg);
  }
  30% {
    transform: translate3d(0, 0, 0) rotateX(0deg) scale(1) skewX(0deg);
  }
  70% {
    transform: translate3d(0, 0, 0) rotateX(0deg) scale(1) skewX(0deg);
  }
  95% {
    transform: translate3d(0, 50%, 0) rotateX(-90deg) scale(0.5) skewX(-3deg);
  }
  100% {
    transform: translate3d(0, 50%, 0) rotateX(-90deg) scale(0.5) skewX(-3deg);
  }
}
@keyframes scrolly {
  0% {
    transform: translate3d(0, -150%, 0) rotateX(90deg) scale(0.5) skewX(3deg);
  }
  30% {
    transform: translate3d(0, 0, 0) rotateX(0deg) scale(1) skewX(0deg);
  }
  70% {
    transform: translate3d(0, 0, 0) rotateX(0deg) scale(1) skewX(0deg);
  }
  95% {
    transform: translate3d(0, 50%, 0) rotateX(-90deg) scale(0.5) skewX(-3deg);
  }
  100% {
    transform: translate3d(0, 50%, 0) rotateX(-90deg) scale(0.5) skewX(-3deg);
  }
}

#debug {
  position: fixed;
  background-color: white;
  color: black;
  padding: .5rem 1rem;
  right: 0;
  top: 0;
  min-width: 5rem;
  z-index: 999;
}
