:root {
    --black: #1B171B;
    --white: #FFFFFF;
    --grey: #EDEDED;
    --rouge: #a12a2c;
    --fondpage: #F0E7E4;
    --gris: #CCCCCC;
}

@font-face {
    font-family: 'Plus Jakarta Sans';
    src: url('fonts/PlusJakartaSans-Bold.eot');
    src: url('fonts/PlusJakartaSans-Bold.eot?#iefix') format('embedded-opentype'),
    url('fonts/PlusJakartaSans-Bold.woff2') format('woff2'),
    url('fonts/PlusJakartaSans-Bold.woff') format('woff'),
    url('fonts/PlusJakartaSans-Bold.ttf') format('truetype');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Plus Jakarta Sans';
    src: url('fonts/PlusJakartaSans-Regular.eot');
    src: url('fonts/PlusJakartaSans-Regular.eot?#iefix') format('embedded-opentype'),
    url('fonts/PlusJakartaSans-Regular.woff2') format('woff2'),
    url('fonts/PlusJakartaSans-Regular.woff') format('woff'),
    url('fonts/PlusJakartaSans-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

.has-white-color {
    color: var(--white);
}

.has-black-color {
    color: var(--white);
}

.has-black-background-color {
    background-color: var(--black);
}

.has-white-background-color {
    background-color: var(--white);
}

.has-grey-background-color {
    background-color: var(--grey);
}

.has-rouge-background-color {
    background-color: var(--rouge);
}

html {
    font-size: 16px;

}

p {
    margin: 0.5rem 0;
}

body {
    background-color: var(--fondpage);
    background-image: url(img/bg-tree.svg);
    background-repeat: no-repeat;
    background-position: right bottom;
    color: var(--black);
    font-size: 1rem;
    font-weight: normal;
    font-family: 'Plus Jakarta Sans', sans-serif;
    margin: 0;
    text-align: center;
}

h1, h2, h3 {
    font-weight: normal;
    text-align: left;
    line-height: 1.1;
    margin: 0.75em 0;
}

img {
    height: auto;
    vertical-align: middle;
}

h1 {
    font-size: 1.5rem;
    color: var(--black);
    color: var(--rouge)
}

h1 span {
    color: var(--black);
}
h1 span.picto {
    display: inline
}

h2 {
    font-size: 1.5rem;
}

h3 {
    font-size: 1.2rem;
    line-height: 1.2;
}

.text-bold {
    font-weight: 700;
}

a {
    text-decoration: none;
    color: var(--rouge);
}

a:hover {
    color: var(--black);
}

a > span {
    display: inline-block;
    vertical-align: middle;
}

a .arrow-left {
    width: 1rem;
    height: 1rem;
    background: url(img/arrow-left.svg) no-repeat center / contain;
    margin-right: 0.5rem;
}

p.back {
    margin-bottom: 2.5em;
}

.page, .content {
    width: 90%;
    margin: 0 auto;
}

.page {
    padding-top: 2.5rem;
    padding-bottom: 100px;
    box-sizing: border-box;
    max-width: 480px;
    min-height: 60vh;
}

.page .texte {
    text-align: left;
}

.page .texte img {
    max-width: 100%;
}

.mbl-none {
    margin: 0;
    padding: 0;
    list-style: none;
}

.bloc-liens {
    border-top: 1px solid var(--gris)
}

.bloc-liens li {
    border-bottom: 1px solid var(--gris)
}

.bloc-liens li a {
    padding: 1rem 0.25rem;
    color: var(--black);
}

.bloc-liens li a:hover {
    background-color: var(--grey);
    color: var(--black);
}

.bloc-liens li a .arrow {
    width: 1rem;
    height: 1rem;
    background: url(img/arrow-blk.svg) no-repeat center / contain
}

.content {
    max-width: 1024px;
}

.relative {
    position: relative;
}

header {
    padding: 0.35rem 0;
    z-index: 999;
}

header {
    position: sticky;
    top: 0;
}

header .logo img {
    height: 60px;
    width: auto;
}

.hour-date {
    margin-bottom: 1rem;
}

.hour-date .hour {
    background-color: var(--rouge);
    color: var(--white);
    padding: 0.25rem 1rem 0.35rem 1rem;
    border-radius: 2rem;
    margin-right: 1rem;
    font-weight: bold;
}

footer {
    position: fixed;
    padding: 0;
    left: 0;
    bottom: 0;
    width: 100%;
    z-index: 999;
    border-top: 1px solid var(--black);
}

.desc-audio {
  /*position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;*/
}

.picto-dos {
    border-radius:50%;
    width:40px;
    height:40px;
    background:#fff url(/img/chevron-back-outline.svg) no-repeat 17% center;
}
.picto-dos a {
    display:block;
}

.iblockm {
    line-height: .9rem;
}
.iblockm a {
    color:var(--black);
}

@media screen and (max-width: 600px) {
    /*footer {
        position: absolute;
    }*/
    .picto-dos {
        background-position-x: 10%;
    }
}

footer .content .nav {
    margin: 0.5rem 0;
}

.nav a.bouton {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    color: var(--blanc);
    margin: 0.2rem;
    font-size: 0.85rem;
    text-align: left;
    opacity: .75
}

.nav a.bouton:hover {
    opacity: 1
}

header .nav a.bouton {
    color: var(--black);
}

.nav a.bouton .picto {
    display: inline-block;
    width: 28px;
    height: 28px;
    background-position: center;
    background-size: auto 25px;
    background-repeat: no-repeat;
}

.nav a.bouton.arret .picto {
    background-image: url(img/loupe-white.svg);
}

.nav a.bouton.propos .picto {
    background-image: url(img/infos.svg);
}

.nav a.bouton.favorite .picto {
    background-image: url(img/astuce-white.svg);
}

header .nav a.bouton {
    margin: 0.5rem 1.5rem;
}

header .nav a.bouton.arret .picto {
    background-image: url(img/loupe-h.svg);
}

header .nav a.bouton.propos .picto {
    background-image: url(img/infos-h.svg);
}

header .nav a.bouton.favorite .picto {
    background-image: url(img/astuce-black.svg);
}

.nav-mobile {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 100;
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
    -webkit-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

.nav-mobile.opened {
    -webkit-transform: translateX(0);
    transform: translateX(0);
}

.access {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: url(img/contrast.svg) no-repeat left center / auto 100%;
}

.access.actif {
    background-position: right center;
}

.recherche input, .recherche select {
    width: 100%;
    padding: 0.75rem;
    background-color: var(--white);
    border: 1px solid var(--black);
    border-radius: 0.35rem;
}

.recherche input[type=search] {
    background-image: url(img/loupe.svg);
    background-position-x: 98%;
    background-position-y: center;
    background-repeat: no-repeat;
    background-size: 20px;
    -webkit-appearance: none;
}

.recherche button {
    margin: 0;
    background: var(--gris);
    color: var(--black);
    text-transform: uppercase;
    border: 2px solid var(--gris);
    border-radius: 3rem;
    padding: 0.75rem 1.5rem;
    min-width: 100%;
    text-align: center
}

.or {
    width: 50px;
    height: 50px;
    background-color: var(--rouge);
    font-weight: bold;
    line-height: 50px;
    margin: 1rem auto;
    border-radius: 50%;
    color: var(--white);
}

.b {
    font-weight: bold;
}

label {
    text-align: left;
    border-radius: 0;
    font-weight: 500;
    display: block;
    font-weight: bold;
    padding: 0.25rem 0;
}

.separator {
    margin: 1.5rem 0;
}

.separator::before {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-color: var(--gris);
    position: absolute;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.separator::after {
    content: "";
    display: block;
    width: 40px;
    height: 28px;
    background: var(--fondpage) url(img/bus.svg) no-repeat center / 22px;
    position: relative;
    left: 50%;
    top: 0;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

.separator.relative {
    margin-bottom: 0;
}

#results {
    margin: 0.5rem 0;
    padding: 0;
    list-style: none;
    display: none;
}

#results-arret {
    margin: 0.5rem 0;
    padding: 0;
    list-style: none;
}

#results li, #results-arret li {
    display: none;
    background-color: var(--black);
    border-radius: 0.35rem;
    border: 1px solid var(--black);
    margin-bottom: 5px;
}

#results li.active {
    display: block;
}

#results li a, #results-arret a {
    color: var(--white);
    padding: 0.75rem;
}

#results li a span.arrow, #results-arret li a span.arrow {
    width: 1rem;
    height: 1rem;
    background: url(img/arrow-white.svg) no-repeat center / contain
}

button.read, button.stop {
    background: none;
    border: none;
    color: var(--rouge);
    margin: 1rem 0;
    font-weight: bold
}

.read .picto {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    flex:0 0 auto;
    margin-right: 0.5rem;
}
button.read .picto {
    background: var(--rouge) url(img/play.svg) no-repeat center / contain;
}
a.read {
    /*text-align: right;*/
    font-weight: bold;
}

a.read span {
    justify-content: end;
    padding-right: .4rem;
}
a.read .picto {
    width:30px;
    height:30px;
    background: transparent url(img/settings-outline-red.svg) no-repeat center / contain;
    /*float:right;*/
}

@media screen and (min-width: 430px) {
    h1 {
        font-size: 1.75rem;
    }
}

@media screen and (max-width: 600px) {
    .read .picto {
        width: 40px;
        height: 40px;
    }
}

@media screen and (min-width: 992px) {
    header {
        padding: 1rem 0;
    }
}

.deco-feuille {
    content: "";
    display: inline-block;
    margin: 0 3px;
    width: 20px;
    height: 20px;
    background-image: url(img/feuille-orange.svg);
    background-size: auto 100%;
    background-repeat: no-repeat;
    background-position: left bottom;
}

.deco-feuille.jaune {
    background-image: url(img/feuille-jaune.svg);

}

#readAloudBck {
    padding:0 .1rem;
    background: #fff;
    border-radius: .4rem;
}
#readAloudBck .read {
    margin:.4rem 0;
    padding:0 .4rem;
}

/*ALERT MESSAGE*/
.alert-message {
    text-align: left;
    background: #FFFFFF;
    border-radius: 4px;
    padding: 1rem;
    margin-bottom: 1.5rem;
}
