:root {
    --loader-size: 24px;
    --loader-width: 2.5px;
}

* {
    padding: 0;
    margin: 0;
    outline: 0;
    overflow: hidden;
}
html, body {
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
}
#stop-button{
    position: absolute;
    height: 50px;
    width: 50px;
    color: aliceblue;
    border-radius: 100%;
    background: #8c1a1a;
    z-index: 3;
    cursor: pointer;
    margin: 5%;
    font-size: 12px;
    padding: 0%;
    box-sizing: content-box;
}
#stop-button:hover{
    background: #600b0b;
}

#stop-button.active{
    background: #11750d;
}

#zoom {
    width: 100%;
    height: 100%;
    transform-origin: 0px 0px;
    transform: scale(1) translate(0px, 0px);
    cursor: grab;
    position: relative;
}
div#zoom > object,
div#zoom > img {
    width: 2245px;
    height: 1588px;

}

#zoomable-surface{
    height: 100%;
    width: 100%;

    position: absolute;
    left: 0;
    top: 0;

}


.listening-spot{
    position: absolute;
    top:0;
    left:0;
}
.loader {
    width: var(--loader-size);
    height: var(--loader-size);
    border: var(--loader-width) solid #8c1a1a;
    border-radius: 50%;
    display: inline-block;
    box-sizing: border-box;
    position: relative;
    animation: pulse 1s linear infinite;
    font-size: 20px;
    
}
.loader:after {
    content: '';
    position: absolute;
    width: var(--loader-size);
    height: var(--loader-size);
    border: var(--loader-width) solid #1f1f1f;
    border-radius: 50%;
    display: inline-block;
    box-sizing: border-box;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    animation: scaleUp 1s linear infinite;
}

.number{
    position: absolute;
    left: 9px;
    top: 6px;
    font-size: 12px;
    color: white;
}
.number.red{
    color:red;
}


/** ne pas supprimer **/
.listening .loader{ border: var(--loader-width) solid #1cd90f;}

/** Modif Olivier pour garder les élements synchrones lors du redimenssionement */

.zoom_outer {
    display: inline-block;
}

/**
 Pour créer une nouvelle couleur il suffit de dupliquer un bloc, de le renommer et
 de choisir la couleur de ton choix. Cela va surcharger la priopriété de la classe .loader
 */
.loader.Chantier {
    border: var(--loader-width) solid #5b3000;
    background-color: #F5CB5C;
}
.loader.Chauffage {
    border: var(--loader-width) solid #5b3000;
    background-color: forestgreen;
}
.loader.Cour {
    border: var(--loader-width) solid #96E6B3;
    background-color: #F5CB5C;
}
.loader.Demolition {
    border: var(--loader-width) solid #F17300;
    background-color: #F5CB5C;
}
.loader.Elections {
    border: var(--loader-width) solid #82a6b1;
    background-color: #F5CB5C;
}
.loader.Espagnol {
    border: var(--loader-width) solid #C52233;
    background-color: #F5CB5C;
}
.loader.Grue {
    border: var(--loader-width) solid #F5CB5C;
    background-color: forestgreen;
}
.loader.Phrases {
    border: var(--loader-width) solid #DA667B;
    background-color: #DA667B;
}
.loader.Phrases-Seches {
    border: var(--loader-width) solid #8c1a1a;
    background-color: #dcd3d4;
}
.loader.Rentree {
    border: var(--loader-width) solid #797596;
    background-color: #F5CB5C;
}


@keyframes scaleUp {
    0% { transform: translate(-50%, -50%) scale(0) }
    60% , 100% { transform: translate(-50%, -50%)  scale(1)}
}
@keyframes pulse {
    0% , 60% , 100%{ transform:  scale(.8) }
    80% { transform:  scale(1)}
}

#Chantier-01{
    left: 33%;
    top: 50%;
}
#Chantier-02{
    left: 35%;
    top: 50%;
}
#Chantier-03{
    left: 37%;
    top: 50%;
}


#Chauffage-01{
    left: 45.5%;
    top: 29%;
}
#Chauffage-02{
    left: 47.5%;
    top: 29%;
}


#Cour-01{
    left: 38%;
    top: 35%;
}
#Cour-02{
    left: 39.5%;
    top: 35%;
}
#Cour-03{
    left: 38%;
    top: 37%;
}
#Cour-04{
    left: 39.5%;
    top: 37%;
}

#Demolition-01{
    left: 2%;
    top: 40%;
}
#Demolition-02{
    left: 2%;
    top: 42%;
}
#Demolition-03{
    left: 2%;
    top: 44%;
}
#Demolition-04{
    left: 2%;
    top: 46%;
}


#Elections-01{
    left: 35%;
    top: 19%;
}
#Elections-02{
    left: 36.5%;
    top: 19%;
}

#Espagnol-01{
    left: 20%;
    top: 30.3%;
}
#Espagnol-02{
    left: 21%;
    top: 30.3%;
}

#Grue-01{
    left: 32%;
    top: 43%;
}
#Grue-02{
    left: 32%;
    top: 45%;
}

#Rentree-01{
    left: 35%;
    top: 32%;
}
#Rentree-02{
    left: 37%;
    top: 32%;
}

#Phrases-03{
    left: 29.6%;
    top: 27.9%;
}
#Phrases-04{
    left: 31.2%;
    top: 25.9%;
}
#Phrases-06{
    left: 37.2%;
    top: 27.3%;
}
#Phrases-07{
    left: 39.5%;
    top: 27.3%;
}
#Phrases-09{
    left: 38.3%;
    top: 25.8%;
}
#Phrases-10{
    left: 35.8%;
    top: 22%;
}
#Phrases-14{
    left: 36.5%;
    top: 15.7%;
}
#Phrases-16{
    left: 28%;
    top: 13.2%;
}
#Phrases-18{
    left: 18%;
    top: 48%;
}
#Phrases-20{
    left: 18%;
    top: 42%;
}

#Phrases-03-seche{
    left: 30.7%;
    top: 27.9%;
}
#Phrases-04-seche{
    left: 32.4%;
    top: 25.9%;
}
#Phrases-06-seche{
    left: 37.2%;
    top: 28.7%;
}
#Phrases-07-seche{
    left: 39.5%;
    top: 28.7%;
}
#Phrases-09-seche{
    left: 39.3%;
    top: 25.8%;
}
#Phrases-10-seche{
    left: 36.9%;
    top: 22%;
}
#Phrases-14-seche{
    left: 37.5%;
    top: 15.7%;
}
#Phrases-16-seche{
    left: 29%;
    top: 13.2%;
}
#Phrases-18-seche{
    left: 19%;
    top: 48%;
}
#Phrases-20-seche{
    left: 19%;
    top: 42%;
}

#Legende-Point1{
    left: 11.59%;
    top: 28.4%;
}
#Legende-Point1b{
    left: 12.99%;
    top: 28.4%;
}
#Legende-Point2{
    left: 11.575%;
    top: 30.91%;
}
#Legende-Point3{
    left: 11.56%;
    top: 26.2%;
}