/** END FONCTIONS **/
#carte {
  position: relative;
}
#carte .france,
#carte .afrique {
  position: relative;
  left: 50%;
}
#carte .france * {
  max-width: 360px;
  transform: translateX(-100px);
}
#carte .afrique * {
  margin-top: -80px;
  max-width: 260px;
  transform: translateX(-230px);
}
#carte .villes {
  margin-top: 30px;
  padding: 0 25px;
  counter-reset: nombre;
}
#carte .villes li {
  padding-left: 35px;
  position: relative;
  margin-bottom: 20px;
}
#carte .villes li .nom {
  font-size: 19px;
  font-weight: bold;
  line-height: 1;
  letter-spacing: -0.5px;
  text-transform: uppercase;
}
#carte .villes li .description {
  font-size: 10px;
  line-height: 1.5;
  letter-spacing: -0.5px;
}
#carte .villes li .siege {
  font-size: 10px;
  text-transform: uppercase;
  line-height: 16px;
  color: #F8AE00;
  letter-spacing: -0.5px;
  font-weight: bold;
}
#carte .villes li:after {
  content: counter(nombre);
  counter-increment: nombre;
  position: absolute;
  top: -6px;
  left: 0;
  font-size: 15px;
  font-weight: bold;
  line-height: 30px;
  width: 30px;
  text-align: center;
}
#carte .villes li:before {
  content: "";
  position: absolute;
  top: -6px;
  left: 0;
  width: 30px;
  height: 39px;
  background-image: url(../images/marker.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
#form {
  margin-top: 50px;
  padding: 0 25px;
}
#form .titre {
  font-size: 30px;
  line-height: 1;
  font-weight: 300;
  text-transform: uppercase;
  margin-bottom: 30px;
}
@media (min-width: 768px) {
  #carte {
    max-width: 660px;
    width: 660px;
    margin-right: auto;
    margin-left: auto;
  }
  #carte .france {
    left: 185px;
  }
  #carte .france * {
    max-width: 475px;
    transform: none;
  }
  #carte .afrique {
    left: 0;
  }
  #carte .afrique * {
    margin-top: 0px;
    max-width: 350px;
    transform: none;
  }
  #carte .villes {
    position: absolute;
    top: 0;
    margin-top: 0;
    padding: 0;
    width: 250px;
  }
  #form {
    max-width: 480px;
    width: 480px;
    margin-right: auto;
    margin-left: auto;
    padding: 0;
    margin-top: 0;
  }
}
@media (min-width: 1200px) {
  #primary {
    display: flex;
  }
  #main {
    background-image: url(../images/triangle_vert_gauche.png);
    background-size: 1920px;
    background-repeat: no-repeat;
    background-position: center 485px;
  }
  #form {
    padding-left: 10px;
  }
}
