@charset "UTF-8";
@font-face {
  font-family: "icomoon";
  src: url(../static/3c6c3d50113b449f20a9.ttf) format("truetype"), url(../static/2a0c7122f55d30c97e54.woff) format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
[class^=icon-],
[class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "icomoon" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-home:before {
  content: "\e907";
}

.icon-left:before {
  content: "\e90f";
}

.icon-right:before {
  content: "\e910";
}

.icon-abc:before {
  content: "\e903";
}

.icon-list:before {
  content: "\e906";
}

.icon-work:before {
  content: "\e905";
}

.icon-book:before {
  content: "\e904";
}

.icon-locked:before {
  content: "\e902";
}

.icon-question:before {
  content: "\e901";
}

.icon-user:before {
  content: "\e900";
}

/* ==========================================================================
   >>RESET FORMS
   ========================================================================== */
/* --------------------------------------------------------------------------
  ->Reset et normalisation
  -------------------------------------------------------------------------- */
/* Général Reset */
button,
input,
textarea,
select,
optgroup {
  margin: 0;
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  background-color: transparent;
  outline-style: none;
  /* Supr bordure bleu chrome et safari */
  text-transform: none;
  letter-spacing: inherit;
  border: none;
}

/* Remove border radius safari */
input,
textarea,
select {
  -webkit-border-radius: 0px;
}

/* Boutons */
button {
  padding: 0;
  overflow: visible;
  /* IE 8/9/10/11 overflow hidden */
}

button,
html input[type=button],
input[type=reset],
input[type=submit] {
  -webkit-appearance: none;
}

/* Remove inner padding and border in Firefox 4+ */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/* Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet */
input {
  line-height: normal;
}

/* Normalize checkbox and radio button */
input[type=checkbox],
input[type=radio] {
  box-sizing: border-box;
  padding: 0;
}

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome.
 */
input[type=search] {
  -webkit-appearance: textfield;
  /* 1 */
  box-sizing: border-box;
}

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/* legend normalize */
legend {
  white-space: normal;
}

/* select normalize */
/* if select styling bugs on WebKit */
/* select { -webkit-appearance: none; } */
select {
  -webkit-appearance: menulist-button;
}

/* --------------------------------------------------------------------------
   ->Styles Généreaux
   -------------------------------------------------------------------------- */
/* Curseur */
label,
.label,
button,
input[type=submit],
input[type=button],
input[type=reset] {
  cursor: pointer;
}

/* Alignement */
label,
.label,
button,
input,
select {
  vertical-align: middle;
}

/* Désactivé */
button[disabled],
input[disabled] {
  cursor: not-allowed;
}

/* Textarea */
textarea {
  overflow: auto;
  vertical-align: top;
  resize: vertical;
}

/* optgroup */
optgroup {
  font-weight: 700;
}

/* ==========================================================================
   >>RESET GENERAL
   ========================================================================== */
/* --------------------------------------------------------------------------
   ->Hard reset
   -------------------------------------------------------------------------- */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dialog, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 1em;
  font: inherit;
  vertical-align: baseline;
  text-decoration: none;
  outline: none;
  outline-style: none;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

/* --------------------------------------------------------------------------
   ->HTML5
   -------------------------------------------------------------------------- */
article, aside, datagrid, datalist, details, dialog, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block;
}

audio, canvas, progress, video {
  display: inline-block;
  vertical-align: baseline;
}

abbr, eventsource, mark, meter, time, output, bb {
  display: inline;
}

/* --------------------------------------------------------------------------
   ->Images, iframes
   -------------------------------------------------------------------------- */
img,
iframe {
  border: 0;
  vertical-align: middle;
}

img {
  -ms-interpolation-mode: bicubic;
  width: auto;
}

img {
  height: auto;
}

a {
  text-decoration: none;
}

a img {
  border: 0;
}

svg:not(:root) {
  overflow: hidden;
}

/* --------------------------------------------------------------------------
   ->Autres éléments
   -------------------------------------------------------------------------- */
/* Tables */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* Audio */
audio:not([controls]) {
  display: none;
  height: 0;
}

/* Links (Remove the gray background color from active links in IE 10) */
a {
  background-color: transparent;
}

/* --------------------------------------------------------------------------
   ->Modèle de boite
   -------------------------------------------------------------------------- */
html {
  box-sizing: border-box;
}

*,
*:before,
*:after {
  box-sizing: inherit;
}

.pilier1:root {
  --pilier_clr1:#009688;
  --pilier_clr2:#004D3F;
}

.pilier2:root {
  --pilier_clr1:#9C27B0;
  --pilier_clr2:#4A138B;
}

.pilier3:root {
  --pilier_clr1:#02A9F4;
  --pilier_clr2:#0D47A1;
}

.pilier4:root {
  --pilier_clr1:#FFC107;
  --pilier_clr2:#FF6F00;
}

.loading-screen {
  background: white;
  position: relative;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}
.loading-screen img {
  position: absolute;
  top: 40%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 60%;
}
.loading-screen p {
  display: none;
  position: absolute;
  top: 73%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 1.5em;
  color: #29AFA0;
  width: 100%;
  text-align: center;
}

#mySVG {
  width: 100%;
  height: 100%;
}

#logoSVG {
  width: 100%;
  height: 100%;
}
#logoSVG path {
  mix-blend-mode: multiply;
}

.version {
  position: absolute;
  bottom: 5%;
  text-align: center;
  left: 0;
  right: 0;
  color: #ccc;
}

.homescreen {
  position: absolute;
  background: white;
  top: 0;
  left: 0;
  flex-direction: column;
  align-items: center;
  justify-content: space-around;
  height: 100%;
  width: 100%;
}

.modal-input.home-modal input {
  color: var(--pilier_clr1, #009688);
}

.form-container {
  position: absolute;
  top: 70%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
}

#formulaire {
  display: flex;
  width: 80%;
  margin-left: auto;
  margin-right: auto;
  font-size: 1.875em;
  height: 3.6666666667em;
}
#formulaire .forms {
  color: #29AFA0;
  font-weight: bold;
  width: 75%;
}
#formulaire .forms .formtext {
  text-align: left;
  display: flex;
  align-items: center;
  justify-content: space-around;
}
#formulaire .forms .formtext:first-child {
  margin-bottom: 0.55em;
}
#formulaire .forms p {
  display: inline-block;
  width: 30%;
}
#formulaire .forms .field {
  line-height: 1.5166666667em;
  display: inline-block;
  width: 60%;
  background-color: #EDEDED;
  border: none;
  border-radius: 0.6666666667em;
  height: 1.5166666667em;
  padding: 0 0.25em;
  text-transform: uppercase;
}
#formulaire .forms .field.invalidinput {
  border: 0.1666666667em solid red;
}
#formulaire button {
  font-size: 1.6666666667em;
  width: 2.15em;
  height: 2.15em;
  color: white;
  background-color: #29AFA0;
  border-radius: 25px;
}

.icon-user {
  position: absolute;
  top: 25.6%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #29AFA0;
  font-size: 4.5em;
  text-align: center;
  width: 50%;
  margin-left: auto;
  margin-right: auto;
}

.field.validinput {
  border: none;
  font-size: 1em;
  margin-left: 0.2em;
  width: 50%;
  border-radius: 0.6666666667em;
  color: #29AFA0;
  transition-duration: 0.3s;
}

.field.invalidinput {
  border: 0.1333333333em solid red;
  font-size: 1em;
  margin-left: 0.2em;
  width: 50%;
  border-radius: 25px;
  color: #29AFA0;
  transition-property: border;
  transition-duration: 0.3s;
}

#formerror {
  color: red;
}

.menu {
  position: absolute;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100vw;
  display: flex;
  justify-content: space-evenly;
  background: white;
  align-items: center;
}
.menu .pilier {
  position: relative;
  background-color: red;
  width: 17.6vw;
  height: 17.6vw;
  border-radius: 1.25em;
}
.menu .pilier::before {
  font-family: "icomoon";
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: white;
  font-size: 13vw;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.menu .pilier.locked::before {
  color: #474747;
}
.menu .pilier.locked::after {
  font-family: "icomoon";
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e902";
  font-size: 6vw;
  position: absolute;
  color: white;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

#pilier1 {
  background-color: #009688;
}
#pilier1::before {
  content: "\e903";
}
#pilier1.locked {
  background-color: #002a26;
}

#pilier2 {
  background-color: #9C27B0;
}
#pilier2::before {
  content: "\e904";
}
#pilier2.locked {
  background-color: #2c0b31;
}

#pilier3 {
  background-color: #02A9F4;
}
#pilier3::before {
  content: "\e905";
}
#pilier3.locked {
  background-color: #012f44;
}

#pilier4 {
  background-color: #FFC107;
}
#pilier4::before {
  content: "\e906";
}
#pilier4.locked {
  background-color: #473602;
}

.help {
  font-size: 7.5vw;
  position: absolute;
  top: 0;
  right: 0;
  color: #5D5D5D;
  margin: 0.5777777778em;
}

.loader-pilier {
  z-index: 500;
  width: 100%;
  height: 100%;
  position: fixed;
}
.loader-pilier::before {
  font-family: "icomoon";
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: white;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 13.75em;
}
.loader-pilier.pilier1 {
  background-color: #009688;
}
.loader-pilier.pilier1::before {
  content: "\e903";
}
.loader-pilier.pilier2 {
  background-color: #9C27B0;
}
.loader-pilier.pilier2::before {
  content: "\e904";
}
.loader-pilier.pilier3 {
  background-color: #02A9F4;
}
.loader-pilier.pilier3::before {
  content: "\e905";
}
.loader-pilier.pilier4 {
  background-color: #FFC107;
}
.loader-pilier.pilier4::before {
  content: "\e906";
}

li {
  list-style: none;
}

.topnav {
  position: relative;
  z-index: 900;
}

.pillarnav {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--pilier_clr1, #009688);
}

.modulelist {
  white-space: nowrap;
  display: flex;
  width: auto;
  flex-wrap: nowrap;
  align-items: flex-end;
  overflow-x: auto;
  height: 100%;
}

.module {
  position: relative;
  margin-bottom: 8%;
  margin-right: 5%;
  width: 35%;
  height: 40%;
  background-size: 30%;
  border-radius: 3.6vw;
  flex: 0 0 auto;
  padding: auto;
}
.module:first-child {
  margin-left: 5%;
}
.module p {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 1.875em;
  color: var(--pilier_clr1, #009688);
  font-weight: bold;
}
.module:last-child::after {
  content: "";
  width: 12.5%;
  height: 1px;
  position: absolute;
  left: 100%;
  top: 0;
}
.module.locked {
  background: var(--pilier_clr2, #004D3F);
}
.module.locked::before {
  font-family: "icomoon";
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e902";
  color: var(--pilier_clr1, #009688);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 3.125em;
}
.module.locked progress,
.module.locked p {
  display: none;
}

.progress-container {
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 3.6vw;
  overflow: hidden;
  width: 100%;
  height: 100%;
}
.progress-container progress {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: white;
}
.progress-container progress::-webkit-progress-bar {
  background: white;
}
.progress-container progress::-webkit-progress-value {
  background: #02FF63;
}
.progress-container progress::-moz-progress-bar {
  background: #02FF63;
}

.topnav_back {
  font-size: 2.8125em;
  position: absolute;
  top: 0;
  left: 0;
  color: white;
  margin: 0.1em;
  padding: 0.15em 0.35em;
}

.topnav_home {
  font-size: 2.8125em;
  position: absolute;
  top: 0;
  right: 0;
  color: white;
  margin: 0.1em;
  padding: 0.15em 0.35em;
}

.menu-modules {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--pilier_clr1, #009688);
}

.titre {
  position: absolute;
  top: 30%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: white;
  font-size: 4.5em;
  font-weight: bold;
  z-index: 1;
  white-space: pre;
}

.modulesnav {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.exolist {
  display: flex;
  width: auto;
  flex-wrap: nowrap;
  align-items: flex-end;
  overflow-x: auto;
  height: 100%;
}

.exo {
  background: white;
  position: relative;
  margin-bottom: 8%;
  margin-left: 5%;
  width: 30%;
  height: 40%;
  background-size: 30%;
  border-radius: 3.6vw;
  flex: 0 0 auto;
  padding: auto;
}
.exo.fini {
  background: #02FF63;
}
.exo p {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 4.375em;
  letter-spacing: 0;
  color: var(--pilier_clr1, #009688);
  font-weight: bold;
}
.exo:last-child::after {
  content: "";
  width: 16.6666666667%;
  height: 1px;
  position: absolute;
  left: 100%;
  top: 0;
}
.exo.locked {
  background: var(--pilier_clr2, #004D3F);
}
.exo.locked::before {
  font-family: "icomoon";
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e902";
  color: var(--pilier_clr1, #009688);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 3.125em;
}
.exo.locked progress,
.exo.locked p {
  display: none;
}

.progress-container {
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 3.6vw;
  overflow: hidden;
  width: 100%;
  height: 100%;
}
.progress-container progress {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: white;
}
.progress-container progress::-webkit-progress-bar {
  background: white;
}
.progress-container progress::-webkit-progress-value {
  background: #02FF63;
}
.progress-container progress::-moz-progress-bar {
  background: #02FF63;
}

.loader-exercice {
  display: none;
  width: 100%;
  height: 100%;
  z-index: 1000;
  background-color: white;
  position: fixed;
}
.loader-exercice p {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #666666;
  font-size: 4.5em;
  width: 100%;
  text-align: center;
  font-weight: bold;
}

.show-loader {
  display: block;
  z-index: 2000;
}

.progress-top {
  z-index: 1000;
  border-radius: 10vw;
  overflow: hidden;
  position: absolute;
  top: 1.5em;
  left: 15%;
  width: 70%;
  height: 1.25em;
  background-image: linear-gradient(white 50%, transparent 50%);
  background-size: 1px 6px;
  background-position: 0 calc(50% + 1.5px);
  background-repeat: repeat-x;
}
.progress-top::before {
  z-index: 0;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 1.25em;
  height: 1.25em;
  border-radius: 50%;
  background-color: #02FF63;
}
.progress-top::after {
  z-index: -1;
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 1.25em;
  height: 1.25em;
  border-radius: 50%;
  background-color: white;
}
.progress-top progress {
  z-index: 1;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 100%;
  height: 100%;
  background: transparent;
  border: none;
}
.progress-top progress::-webkit-progress-bar {
  background: transparent;
}
.progress-top progress::-webkit-progress-value {
  background: #02FF63;
  -webkit-transition: width 0.5s;
  transition: width 0.5s;
}
.progress-top progress::-moz-progress-bar {
  background: #02FF63;
}

.mainexo {
  width: 100%;
  height: 100%;
  background: var(--pilier_clr1, #009688);
  position: absolute;
  top: 0;
  left: 0;
}
.rouge .mainexo {
  background: red;
}

.exosimple {
  margin: 2%;
  width: 96%;
  height: 78vh;
  background: white;
  border-radius: 3.15vw;
  position: absolute;
  left: 0;
  bottom: 0;
}
.exosimple .consigne {
  position: absolute;
  top: 26%;
  left: 50%;
  width: 41.5%;
  transform: translate(-50%, -50%);
  display: flex;
  font-weight: bold;
  font-size: 3em;
  color: var(--pilier_clr1, #009688);
  align-items: center;
  justify-content: space-around;
  text-align: center;
}
.exosimple .consigne > * {
  width: 50%;
}
.exosimple .reponses {
  position: absolute;
  top: 70%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 83%;
  display: flex;
  font-weight: bold;
  font-size: 3em;
  color: var(--pilier_clr1, #009688);
  align-items: center;
  justify-content: space-around;
}
.exosimple .reponses .lettre {
  border-radius: 17%;
  border: 0.1041666667em solid transparent;
  box-sizing: border-box;
  width: 2.2916666667em;
  height: 2.2916666667em;
  text-align: center;
}
.exosimple .reponses .lettre:last-child {
  margin-right: 0;
}
.exosimple .reponses p {
  line-height: 2.0833333333em;
  background: #EDEDED;
  border-radius: calc(17% - 0.1041666667em);
  text-align: center;
}
.exosimple .reponses p:last-child {
  margin-right: 0;
}
.exosimple .reponses p.draggable-mirror {
  background: rgba(237, 237, 237, 0.7);
}
.exosimple .help {
  margin: 0.2222222222em;
}

.hearing::before {
  font-family: "icomoon";
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e908";
  color: white;
  font-size: 1.5em;
  padding: 0.24em;
  background-color: var(--pilier_clr1, #009688);
  border-radius: 50%;
}

.consigne .dragdropzone {
  border: 0.125em solid var(--pilier_clr1, #009688);
  box-sizing: border-box;
  border-radius: 0.4166666667em;
  width: 2.2916666667em;
}

.type10 > .consigne {
  transform: none;
  top: 8%;
  left: 29.25%;
}

.reponses.dragdropzone {
  transform: none;
  top: calc(70% - 1.1458333334em);
  left: 8.5%;
}

.reponses .dropzone {
  position: relative;
}
.reponses .dropzone.draggable-container--is-dragging {
  background: transparent;
}

.dropreponse {
  min-width: 2.0416666667em;
  min-height: 2.0416666667em;
  text-align: center;
}
.dropreponse .item {
  border-radius: 0.2916666667em;
  line-height: 2.0416666667em;
  width: 2.0416666667em;
  height: 2.0416666667em;
}

.reponses .dropzone .item.draggable-source--is-dragging {
  color: transparent;
  background: transparent;
}

.item {
  background: #EDEDED;
  border-radius: 0.4166666667em;
  color: var(--pilier_clr1, #009688);
  text-align: center;
}
.item:last-child {
  margin-right: 0;
}
.item.draggable-mirror {
  background: rgba(237, 237, 237, 0.7);
  min-width: 2.0416666667em;
}

.modal-input {
  position: fixed;
  z-index: 3000;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
}
.modal-input input {
  font-weight: bold;
  font-size: 3em;
  width: 80%;
  height: 1.7708333333em;
  padding: 0 0.4166666667em;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: var(--pilier_clr1, #009688);
  background: white;
  border-radius: 1.7vw;
}
.modal-input.hidden {
  display: none;
}

.consigneonly {
  width: 100%;
  height: 100%;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  font-weight: bold;
  font-size: 5.625em;
  color: var(--pilier_clr1, #009688);
  align-items: center;
  justify-content: center;
  margin-bottom: 10%;
  text-align: center;
}

.exotext {
  margin-left: 5%;
  background: #EDEDED;
  border: 0.0666666667em solid transparent;
  border-radius: 1.7vw;
  min-height: 1.1444444444em;
  min-width: 2em;
  text-align: center;
  padding: 0.2em 0.2em;
}
.exotext.false {
  border: 0.0582524272em solid red;
  box-sizing: border-box;
  line-height: 1em;
}

.consigneonly.type11a {
  justify-content: space-around;
}
.consigneonly.type11a .exotext {
  width: 30%;
  margin: 0 5%;
}

.consigneonly .hearing {
  font-size: 0.5156em;
}

.consigneonly.type12a .exotext {
  min-width: 2.7777777778em;
}

.consigneonly.type13 {
  justify-content: space-between;
  margin-left: 0.5333333333em;
  margin-right: 0.9444444444em;
  width: auto;
}
.consigneonly.type13 .hearing, .consigneonly.type13 p {
  margin-right: 0.3333333333em;
}
.consigneonly .hearing {
  font-size: 0.5156em;
}
.consigneonly .image-hearing {
  width: 30%;
}
.consigneonly .image-hearing .image-container {
  background-size: cover;
  margin-bottom: 0.3333333333em;
  position: relative;
  border: 0.0666666667em solid var(--pilier_clr1, #009688);
  border-radius: 17%;
  box-sizing: border-box;
  overflow: hidden;
}
.consigneonly .image-hearing .image-container::before {
  padding-top: 100%;
  content: "";
  display: block;
}
.consigneonly .image-hearing .image-container img {
  position: absolute;
  top: 0;
  left: 0;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
.consigneonly .image-hearing .hearing {
  font-size: 0.2777777778em;
}

.consigneonly.type13 {
  justify-content: space-around;
}
.consigneonly.type14 {
  justify-content: space-around;
}
.consigneonly.type14 .image-hearing {
  width: 25%;
}
.consigneonly.type14.type14a span {
  padding: 0;
  margin: 0;
  background: none;
  color: var(--pilier_clr2, #004D3F);
  min-width: auto;
}

.motlettre {
  width: 65%;
  font-size: 0.5333333333em;
}
.motlettre p {
  vertical-align: middle;
  white-space: nowrap;
}
.motlettre span {
  display: inline-block;
  min-width: 1.1em;
  min-height: 1.1em;
  padding: 0 0.15em;
  margin-left: 0.1em;
  margin-right: 0.1em;
  vertical-align: baseline;
  background: #EDEDED;
  border: 0.0833333333em solid transparent;
  border-radius: 0.17em;
}
.motlettre span.false {
  border: solid red 0.0833333333em;
}
.motlettre span.span-syllabe {
  min-width: 2em;
}
.motlettre .clicklettre {
  align-items: center;
  display: flex;
  margin-top: 5%;
  font-size: 1em;
  justify-content: center;
}
.motlettre .clicklettre .lettre {
  text-align: center;
  font-size: 0.625em;
  background: #EDEDED;
  border-radius: 2.7vw;
  min-height: 2.3333333333em;
  line-height: 2.3333333333em;
  min-width: 2.5333333333em;
  margin-right: 4%;
}

.consigneonly.type13 {
  justify-content: space-around;
}
.consigneonly.type14 {
  justify-content: space-around;
}
.consigneonly.type14 .image-hearing {
  width: 25%;
}
.consigneonly.type14.type14a span {
  padding: 0;
  margin: 0;
  background: none;
  color: var(--pilier_clr2, #004D3F);
  min-width: auto;
}

.motlettre {
  width: 65%;
  font-size: 0.5333333333em;
}
.motlettre p {
  vertical-align: middle;
  white-space: nowrap;
}
.motlettre span {
  display: inline-block;
  min-width: 1.1em;
  min-height: 1.1em;
  padding: 0 0.15em;
  margin-left: 0.1em;
  margin-right: 0.1em;
  vertical-align: baseline;
  background: #EDEDED;
  border: 0.0833333333em solid transparent;
  border-radius: 0.17em;
}
.motlettre span.false {
  border: solid red 0.0833333333em;
}
.motlettre span.span-syllabe {
  min-width: 2em;
}
.motlettre .clicklettre {
  align-items: center;
  display: flex;
  margin-top: 5%;
  font-size: 1em;
  justify-content: center;
}
.motlettre .clicklettre .lettre {
  text-align: center;
  font-size: 0.625em;
  background: #EDEDED;
  border-radius: 2.7vw;
  min-height: 2.3333333333em;
  line-height: 2.3333333333em;
  min-width: 2.5333333333em;
  margin-right: 4%;
}

.consigne.type16 {
  transform: none;
  top: 8%;
  left: 8.5%;
  justify-content: space-around;
  width: 83%;
  margin-left: 0;
  margin-right: 0;
}
.consigne.type16 .hearing {
  width: 25%;
  font-size: 0.6875em;
}
.consigne.type16::before {
  content: "";
  width: 25%;
}
.consigne.type16 .dragdropzone {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-width: 4.375em;
  border-radius: 0.4166666667em;
  border: 0.125em solid var(--pilier_clr1, #009688);
  box-sizing: border-box;
}
.consigne.type16 .dragdropzone .dropreponse {
  display: inline-block;
  border: none;
  background: transparent;
  position: relative;
}
.consigne.type16 .dragdropzone .dropreponse p {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.consigne.type16a {
  transform: none;
  top: 8%;
  left: 8.5%;
  justify-content: start;
  width: 83%;
  margin-left: 0;
  margin-right: 0;
}
.consigne.type16a .hearing {
  width: 25%;
  font-size: 0.6875em;
}
.consigne.type16a .text {
  width: 25%;
}
.consigne.type16a .dragdropzone {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-width: 4.375em;
  border-radius: 0.4166666667em;
  border: 0.125em solid var(--pilier_clr1, #009688);
  box-sizing: border-box;
}
.consigne.type16a .dragdropzone .dropreponse {
  display: inline-block;
  border: none;
  background: transparent;
  position: relative;
}
.consigne.type16a .dragdropzone .dropreponse p {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.consigne.type17 {
  font-size: 4.5em;
  margin-bottom: 5%;
}
.consigne.type17 p {
  position: relative;
  width: auto;
  color: #CCCCCC;
}
.consigne.type17 p:after {
  content: attr(data-text);
  position: absolute;
  left: 0;
  top: 0;
  overflow: hidden;
  width: 100%;
}

.reponses.type17 {
  position: relative;
  text-align: center;
}
.reponses.type17 .hearing {
  font-size: 0.625em;
}
.reponses.type17 .next {
  position: absolute;
  top: 50%;
  left: 85%;
  transform: translate(-50%, -50%);
  width: 25%;
}
.reponses.type17 .next::before {
  font-size: 1.375em;
  font-family: "icomoon";
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e910";
  color: white;
  background: var(--pilier_clr1, #009688);
  border-radius: 50%;
  padding-left: 0.05em 0 0.05em 0.05em;
}

.karaoke:after {
  color: var(--pilier_clr1, #009688);
  -webkit-animation: 0.5s linear 1 both run-text;
          animation: 0.5s linear 1 both run-text;
}

@-webkit-keyframes run-text {
  from {
    width: 0;
  }
  to {
    width: 100%;
  }
}

@keyframes run-text {
  from {
    width: 0;
  }
  to {
    width: 100%;
  }
}
.consigne.type19 {
  margin-bottom: 5%;
  margin-top: 3%;
}
.consigne.type19 p {
  width: 100%;
}

.reponses.type19 {
  justify-content: center;
}
.reponses.type19 p {
  margin-right: 4%;
  font-size: 0.5em;
  border-radius: 0.8333333333em;
  min-height: 2.0833333333em;
  line-height: 2.0833333333em;
  padding: 0 1em;
  border: 0.1666666667em solid transparent;
}

.consigneonly.type21 .exotext {
  min-height: 1.5em;
  text-transform: none;
  font-size: 0.5333333333em;
  min-width: 5.2083333333em;
}
.consigneonly.type21 .exotext.exotext-peigne u {
  position: relative;
  min-width: 1em;
  display: inline-block;
  line-height: 1.1em;
}
.consigneonly.type21 .exotext.exotext-peigne u:first-child::after {
  border-left: 5px solid var(--pilier_clr2, #004D3F);
}
.consigneonly.type21 .exotext.exotext-peigne u::after {
  content: "";
  border: 5px solid var(--pilier_clr2, #004D3F);
  border-left: none;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  top: 60%;
  border-top: none;
}
.consigneonly.type21 .exotext.exotext-cases i {
  position: relative;
  min-width: 1em;
  display: inline-block;
  line-height: 1.1em;
}
.consigneonly.type21 .exotext.exotext-cases i:first-child::after {
  border-left: 5px solid var(--pilier_clr2, #004D3F);
}
.consigneonly.type21 .exotext.exotext-cases i::after {
  content: "";
  border: 5px solid var(--pilier_clr2, #004D3F);
  border-left: none;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  top: 0;
}

.consigneonly.type21 input, .modal-input input {
  text-transform: none;
}

.consigne.type22.type19 > * {
  width: auto;
}
.consigne.type22.type19 p {
  padding-right: 0.3em;
}

.consigneonly.type23 {
  justify-content: space-around;
  align-items: center;
  padding: 0 8% 0 6%;
}
.consigneonly.type23 .hearing {
  width: 20%;
}
.consigneonly.type23 .forms {
  width: 100%;
  font-size: 0.3333333333em;
  padding-left: 2%;
}
.consigneonly.type23 .forms .formtext {
  border: 0.2em solid transparent;
  border-radius: 0.6666666667em;
  margin-bottom: 4%;
  height: 33%;
  text-align: left;
  display: flex;
  align-items: center;
  justify-content: space-around;
}
.consigneonly.type23 .forms p {
  display: inline-block;
  width: 50%;
}
.consigneonly.type23 .forms .field {
  border: 0.2em solid transparent;
  display: inline-block;
  width: 50%;
  border-radius: 0.6666666667em;
  height: 1.5em;
  padding: 0 0.25em;
}
.consigneonly.type23 .forms .field.field-cadre {
  background: #EDEDED;
  text-transform: uppercase;
}
.consigneonly.type23 .forms .field.field-peigne {
  overflow: hidden;
}
.consigneonly.type23 .forms .field.field-peigne u {
  position: relative;
  min-width: 1em;
  display: inline-block;
  line-height: 1.1em;
}
.consigneonly.type23 .forms .field.field-peigne u:first-child::after {
  border-left: 0.1041666667em solid var(--pilier_clr2, #004D3F);
}
.consigneonly.type23 .forms .field.field-peigne u::after {
  content: "";
  border: 0.1041666667em solid var(--pilier_clr2, #004D3F);
  border-left: none;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  top: 60%;
  border-top: none;
}
.consigneonly.type23 .forms .field.field-cases {
  overflow: hidden;
}
.consigneonly.type23 .forms .field.field-cases i {
  position: relative;
  min-width: 1em;
  display: inline-block;
  line-height: 1.1em;
}
.consigneonly.type23 .forms .field.field-cases i:first-child {
  min-width: calc(1em + 5px);
}
.consigneonly.type23 .forms .field.field-cases i:first-child::after {
  border-left: 0.1041666667em solid var(--pilier_clr2, #004D3F);
}
.consigneonly.type23 .forms .field.field-cases i::after {
  content: "";
  border: 0.1041666667em solid var(--pilier_clr2, #004D3F);
  border-left: none;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  top: 0;
}
.consigneonly.type23 .forms .field.false {
  border: 0.1666666667em solid red;
}

.consigneonly.type24 .forms p {
  width: auto;
}

.mainexo.type25 {
  padding: 0;
}
.mainexo.type25 .exosimple {
  margin: 3.5%;
  width: 93%;
  height: calc(93vh - 7%);
  display: flex;
  justify-content: space-around;
  align-items: center;
  text-align: center;
  padding: 8% 10%;
  border-radius: 0.3125em;
}
.mainexo.type25 .exosimple div {
  display: flex;
  flex-wrap: wrap;
  width: 50%;
  height: 9em;
}
.mainexo.type25 .exosimple div > * {
  width: 100%;
}
.mainexo.type25 .exosimple div .icon {
  line-height: 1em;
  font-size: 4.5em;
}
.mainexo.type25 .exosimple div .icon::before {
  font-family: "icomoon";
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.mainexo.type25 .exosimple div .text {
  line-height: 1em;
  font-size: 2.1875em;
  font-weight: bold;
  color: #3C3C3C;
}
.mainexo.type25 .exosimple div.fini_success .icon {
  color: #02FF63;
}
.mainexo.type25 .exosimple div.fini_success .icon::before {
  content: "\e909";
}
.mainexo.type25 .exosimple div.fini_success .text::before {
  content: "Bravo !";
}
.mainexo.type25 .exosimple div.fini_failure .icon {
  color: red;
}
.mainexo.type25 .exosimple div.fini_failure .icon::before {
  content: "\e90a";
}
.mainexo.type25 .exosimple div.fini_failure .text::before {
  content: "Réessaie !";
}

.fini_next {
  padding: 0.8em;
  color: white;
  background: var(--pilier_clr1, #009688);
  border-radius: 1.25em;
}
.fini_next::before {
  font-size: 3em;
  font-family: "icomoon";
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e907";
}

.fini_success + .fini_next::before {
  content: "\e910";
}

.fini_failure + .fini_next::before {
  content: "\e90b";
}

.fini_home {
  padding: 0.8em;
  color: white;
  background: #666666;
  border-radius: 1.25em;
}
.fini_home::before {
  font-size: 3em;
  font-family: "icomoon";
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e907";
}

.accueil {
  width: 100vw;
  height: 100vh;
  background: white;
}

.buttonlist {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 30%;
}

.homebutton {
  display: block;
  color: white;
  background: #00A79F;
  border-radius: 20px;
  height: 2.5em;
  padding: 0 0.5em;
  line-height: 2.5em;
  text-align: center;
  margin-bottom: 0.5em;
}

.modal-install {
  z-index: 3000;
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
}
.modal-install p {
  text-align: center;
  background: white;
  width: 80%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #00A79F;
  font-size: 2em;
  border-radius: 1.7vw;
  padding: 0.5em;
}

@media (orientation: landscape) {
  .orientation {
    display: none;
    z-index: 0;
  }
}
@media (orientation: portrait) {
  .orientation {
    display: block;
    z-index: 3000;
  }
}
.orientation {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background: white;
}
.orientation .icon-turn {
  font-family: "icomoon";
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 9em;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #29AFA0;
}
.orientation .icon-turn::before {
  content: "\e90c";
}
.orientation .orientation-text {
  color: #29AFA0;
  font-size: 3em;
  position: absolute;
  top: 65%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  text-align: center;
}

@-webkit-keyframes right_show {
  0% {
    transform: translateX(100%);
  }
  100% {
    transform: translateX(0%);
  }
}

@keyframes right_show {
  0% {
    transform: translateX(100%);
  }
  100% {
    transform: translateX(0%);
  }
}
.right_show {
  z-index: 800;
  -webkit-animation: right_show 1s cubic-bezier(0.465, 0.183, 0.153, 0.946);
          animation: right_show 1s cubic-bezier(0.465, 0.183, 0.153, 0.946);
}
.right_show.topnav {
  z-index: 900;
}
.right_show.progress-top {
  z-index: 900;
}

@-webkit-keyframes right_hide {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(-50%);
  }
}

@keyframes right_hide {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(-50%);
  }
}
@-webkit-keyframes hide_after {
  20% {
    opacity: 0;
  }
  100% {
    opacity: 0.5;
  }
}
@keyframes hide_after {
  20% {
    opacity: 0;
  }
  100% {
    opacity: 0.5;
  }
}
.right_hide {
  z-index: 400;
  -webkit-animation: right_hide 1s cubic-bezier(0.465, 0.183, 0.153, 0.946);
          animation: right_hide 1s cubic-bezier(0.465, 0.183, 0.153, 0.946);
}
.right_hide.topnav {
  z-index: 600;
}
.right_hide.progress-top {
  z-index: 600;
}
.right_hide:not(.progress-top):after {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  content: "";
  background: #000000;
  opacity: 0;
  -webkit-animation: hide_after 1s;
          animation: hide_after 1s;
}

@-webkit-keyframes left_hide {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(50%);
  }
}

@keyframes left_hide {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(50%);
  }
}
.left_hide {
  z-index: 400;
  -webkit-animation: left_hide 1s cubic-bezier(0.465, 0.183, 0.153, 0.946);
          animation: left_hide 1s cubic-bezier(0.465, 0.183, 0.153, 0.946);
}
.left_hide.topnav {
  z-index: 600;
}
.left_hide.progress-top {
  z-index: 600;
}
.left_hide:after {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  content: "";
  background: #000000;
  opacity: 0;
  -webkit-animation: hide_after 1s;
          animation: hide_after 1s;
}

@-webkit-keyframes left_show {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(0%);
  }
}

@keyframes left_show {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(0%);
  }
}
.left_show {
  z-index: 800;
  -webkit-animation: left_show 1s cubic-bezier(0.465, 0.183, 0.153, 0.946);
          animation: left_show 1s cubic-bezier(0.465, 0.183, 0.153, 0.946);
}
.left_show.topnav {
  z-index: 900;
}
.left_show.progress-top {
  z-index: 900;
}

.hidden {
  display: none;
}

.success {
  -webkit-animation: borderSuccess 0.5s ease-in 1;
          animation: borderSuccess 0.5s ease-in 1;
}

@-webkit-keyframes borderSuccess {
  0% {
    border-color: #02ff63;
  }
  100% {
    border-color: var(--pilier_clr1, #009688);
  }
}

@keyframes borderSuccess {
  0% {
    border-color: #02ff63;
  }
  100% {
    border-color: var(--pilier_clr1, #009688);
  }
}
@-webkit-keyframes borderFail {
  0% {
    border-color: red;
  }
  100% {
    border-color: var(--pilier_clr1, #009688);
  }
}
@keyframes borderFail {
  0% {
    border-color: red;
  }
  100% {
    border-color: var(--pilier_clr1, #009688);
  }
}
.anim {
  -webkit-animation: animation 1000ms cubic-bezier(0.465, 0.183, 0.153, 0.946);
          animation: animation 1000ms cubic-bezier(0.465, 0.183, 0.153, 0.946);
}
.anim.draggable-mirror, .anim.draggable--original, .anim.draggable-source--is-dragging {
  -webkit-animation: none;
          animation: none;
}
.anim.icon-question {
  -webkit-animation: animcons 700ms cubic-bezier(0.465, 0.183, 0.153, 0.946);
          animation: animcons 700ms cubic-bezier(0.465, 0.183, 0.153, 0.946);
}
.anim.mot {
  -webkit-animation: animation-mot 1000ms cubic-bezier(0.465, 0.183, 0.153, 0.946);
          animation: animation-mot 1000ms cubic-bezier(0.465, 0.183, 0.153, 0.946);
}
.anim.formtext {
  -webkit-animation: animation-formtext 1000ms cubic-bezier(0.465, 0.183, 0.153, 0.946);
          animation: animation-formtext 1000ms cubic-bezier(0.465, 0.183, 0.153, 0.946);
}

@-webkit-keyframes animation {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.35);
  }
  100% {
    transform: scale(1);
  }
}

@keyframes animation {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.35);
  }
  100% {
    transform: scale(1);
  }
}
@-webkit-keyframes animation-mot {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.15);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes animation-mot {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.15);
  }
  100% {
    transform: scale(1);
  }
}
@-webkit-keyframes animation-formtext {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes animation-formtext {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(1);
  }
}
@-webkit-keyframes animcons {
  0% {
    transform: scale(1);
  }
  25% {
    transform: scale(1.35);
  }
  50% {
    transform: scale(1);
  }
  75% {
    transform: scale(1.35);
  }
  50% {
    transform: scale(1);
  }
}
@keyframes animcons {
  0% {
    transform: scale(1);
  }
  25% {
    transform: scale(1.35);
  }
  50% {
    transform: scale(1);
  }
  75% {
    transform: scale(1.35);
  }
  50% {
    transform: scale(1);
  }
}
html,
body {
  font-size: 2.39vw;
  font-family: Arial;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

html {
  position: relative;
}

body {
  position: fixed;
}

.exolist::-webkit-scrollbar {
  display: none;
}

@media screen and (min-aspect-ratio: 17/9) {
  body {
    font-size: 1.8vw;
  }
}
main {
  width: 100%;
  height: 100%;
}

/*# sourceMappingURL=style.css.map*/