.timeline {
  position: relative;
  max-width: 600px;
  margin: 0 auto;
  /* DOTS */
  /* Place the container to the right */
  /* Add arrows to the right container (pointing left) */
  /* Fix the circle for containers on the right side */
  /* The actual content */
}
.timeline::after {
  content: "";
  position: absolute;
  width: 6px;
  background-color: white;
  top: 0;
  bottom: 0;
  left: 50%;
  margin-left: -3px;
}
.timeline .container {
  padding: 10px 40px;
  position: relative;
  background-color: inherit;
  width: 50%;
}
.timeline .container::after {
  content: "";
  position: absolute;
  width: 25px;
  height: 25px;
  right: -17px;
  background-color: #dd5f94;
  border: 4px solid white;
  top: 15px;
  border-radius: 50%;
  z-index: 1;
}
.timeline .left {
  left: 0;
  text-align: right;
}
.timeline .right {
  left: 50%;
}
.timeline .left::before {
  content: " ";
  height: 0;
  position: absolute;
  top: 22px;
  width: 0;
  z-index: 1;
  right: 30px;
  border: medium solid white;
  border-width: 10px 0 10px 10px;
  border-color: transparent transparent transparent white;
}
.timeline .right::before {
  content: " ";
  height: 0;
  position: absolute;
  top: 22px;
  width: 0;
  z-index: 1;
  left: 30px;
  border: medium solid white;
  border-width: 10px 10px 10px 0;
  border-color: transparent white transparent transparent;
}
.timeline .right::after {
  left: -16px;
  background-color: #BADA55;
}
.timeline .content {
  padding: 10px 10px;
  background-color: white;
  position: relative;
  border-radius: 6px;
}
.timeline .content h3 {
  padding: 0px;
  margin: 0px;
}
.timeline .content p {
  margin: 0px;
  padding: 0px;
}

/* Media queries - Responsive timeline on screens less than 600px wide */
@media all and (max-width: 600px) {
  .timeline {
    /* Place the timelime to the left */
    /* Full-width containers */
    /* Make sure that all arrows are pointing leftwards */
    /* Make sure all circles are at the same spot */
    /* Make all right containers behave like the left ones */
  }
  .timeline::after {
    left: 31px;
  }
  .timeline .container {
    width: 100%;
    padding-left: 70px;
    padding-right: 25px;
  }
  .timeline .container::before {
    left: 60px;
    border: medium solid white;
    border-width: 10px 10px 10px 0;
    border-color: transparent white transparent transparent;
  }
  .timeline .left::after, .timeline .right::after {
    left: 15px;
  }
  .timeline .right {
    left: 0%;
  }
  .timeline .left {
    text-align: left;
  }
}
body {
  font-family: "Source Sans Pro", sans-serif;
  padding: 0px;
  margin: 0px;
}

h2 {
  color: black;
  text-align: center;
  width: 100%;
  font-size: 60px;
  font-family: "Kanit", sans-serif;
  padding-bottom: 20px;
  padding-top: 20px;
  margin: 0px;
}

.light {
  background-image: url("../images/backgrounds/kindajean.png");
  background-attachment: fixed;
  background-position: center;
  color: black;
}

.dark {
  background-image: url("../images/backgrounds/dark-triangles.png");
  background-attachment: fixed;
  background-position: center;
  color: white;
}

.bouton, #inscrivezvous, .complementaire a {
  padding: 5px 10px 5px 10px;
  border-radius: 4px;
}
.bouton a, #inscrivezvous a, .complementaire a a {
  text-decoration: none;
  color: white;
}

.bt-dark, #inscrivezvous, .complementaire a {
  background-color: #808080;
  color: white;
}
.bt-dark:hover, #inscrivezvous:hover, .complementaire a:hover {
  background: #BADA55;
  color: black;
}
.bt-dark:hover a, #inscrivezvous:hover a, .complementaire a:hover a {
  color: black;
}

.bt-dark-envol {
  background-color: #808080;
  color: white;
}
.bt-dark-envol:hover {
  background: #dd5f94;
}

.bt-external a {
  padding-right: 5px;
}

.bouton svg, #inscrivezvous svg, .complementaire a svg {
  margin-right: 5px;
}

/*HEADER*******************************************************************/
@keyframes fly {
  from {
    top: 2vh;
  }
  to {
    top: 0vh;
  }
}
@keyframes fly_logo {
  from {
    top: -20px;
  }
  to {
    top: -30px;
  }
}
header {
  background-image: url("../images/uploads/header.jpg");
  background-position: center;
  background-size: cover;
  background-attachment: local;
  height: 500px;
}
header #fb {
  position: fixed;
  right: 10px;
  top: 10px;
  transform: rotate(10deg);
  z-index: 200;
}
header #fb img {
  width: 50px;
}
header #fb.top-corner {
  display: none;
  top: 40px;
}
header #fb.top-corner img {
  width: 40px;
}
header #instagram {
  position: fixed;
  right: 10px;
  top: 55px;
  transform: rotate(-15deg);
  z-index: 150;
}
header #instagram img {
  width: 50px;
}
header #instagram.top-corner {
  display: none;
  top: 40px;
}
header #instagram.top-corner img {
  width: 40px;
}
header #logo {
  padding-top: 100px;
  text-align: center;
}
header #logo img {
  filter: drop-shadow(3px 3px 1px rgba(0, 0, 0, 0.8));
  width: 50vw;
  max-height: 200px;
}
header p {
  font-family: "Kanit", sans-serif;
  font-size: 5vw;
  text-align: center;
  color: white;
  text-shadow: 2px 2px 5px black;
  padding: 0px;
  margin: 0px;
}
header #date {
  display: flex;
  justify-content: center;
}
header #date p {
  background: rgba(0, 0, 0, 0.8);
  padding-left: 2vw;
  padding-right: 2vw;
  border-radius: 2vw;
}

/*NAVBAR*******************************************************************/
/* Style the navbar */
#navbar {
  overflow: hidden;
  background-color: #333;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  /* align horizontal */
}
#navbar .facebook {
  display: none;
  padding: 0px;
  padding-top: 5px;
}
#navbar .facebook img {
  width: 40px;
}
#navbar.sticky .facebook {
  display: block;
}
#navbar .instagram {
  display: none;
  padding: 0px;
  padding-top: 5px;
}
#navbar .instagram img {
  width: 40px;
}
#navbar.sticky .instagram {
  display: block;
}

.pdf svg {
  margin-right: 5px;
}

/* Navbar links */
#navbar a {
  float: left;
  display: block;
  color: #f2f2f2;
  text-align: center;
  padding: 14px;
  text-decoration: none;
  font-weight: bold;
  text-transform: uppercase;
}

#navbar a:hover,
#navbar .active {
  background: #555;
}

/* Page content */
.content {
  padding: 16px;
}

/* The sticky class is added to the navbar with JS when it reaches its scroll position */
.sticky {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 1000;
  box-shadow: 0px -8px 10px 10px black;
}
.sticky .facebook {
  display: block;
}

/* Add some top padding to the page content to prevent sudden quick movement (as the navigation bar gets a new position at the top of the page (position:fixed and top:0) */
.sticky + .content {
  padding-top: 60px;
}

/*COUNTDOWN****************************************************************/
#inscription {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
  /* align horizontal */
  padding-top: 20px;
}

.complementaire {
  margin-bottom: 20px;
}

.complementaire a {
  text-decoration: none;
  color: white;
}

.attention {
  color: red;
  text-align: center;
  margin-top: 0px;
  margin-bottom: 20px;
}
.attention p {
  margin: 0px;
}

#clock {
  margin-top: 40px;
  width: initial;
}

#covid {
  padding: 1em;
  text-align: center;
  background: white;
}
#covid p {
  margin: 0px;
}
#covid .title {
  font-size: larger;
  color: red;
  font-weight: bold;
}
#covid .bouton, #covid #inscrivezvous, #covid .complementaire a, .complementaire #covid a {
  margin-top: 1em;
  display: block;
}

#inscrivezvous {
  font-family: "Kanit", sans-serif;
  background-color: #dd5f94;
  font-size: 50px;
  padding-left: 30px;
  padding-right: 30px;
  margin-top: 40px;
  margin-bottom: 10px;
  text-transform: uppercase;
}

#inscrivezvous.inactif {
  background-color: #555;
  cursor: not-allowed;
}
#inscrivezvous.inactif:hover {
  color: white !important;
}

#benefices {
  margin-bottom: 20px;
  font-style: italic;
  text-align: center;
}

#infos_dossards {
  text-align: center;
  font-weight: bold;
  background: #BADA55;
  padding: 5px;
  border-radius: 5px;
  max-width: 90vw;
  margin-bottom: 20px;
}
#infos_dossards a {
  color: black;
  text-decoration: none;
}

/*ASSOCIATIONS*************************************************************/
#associations,
#enfants,
#montgolfiere_details {
  display: flex;
  justify-content: space-around;
  align-items: center;
  padding: 30px;
  flex-wrap: wrap;
  text-align: justify;
}

#associations {
  box-shadow: 0px 10px 10px -5px black inset;
}

.colonne {
  display: table;
  max-width: 500px;
}
.colonne .logo {
  display: table-cell;
  float: left;
  padding-right: 20px;
}
.colonne .texte {
  display: table-cell;
  vertical-align: middle;
  text-align: justify;
  color: #808080;
}

/*PARCOURS*****************************************************************/
#parcours {
  background-image: url("../images/backgrounds/topography.png");
  color: #808080;
}
#parcours #description .distances {
  display: flex;
  justify-content: space-around;
}
#parcours .infosGenerales {
  width: 100%;
  text-align: center;
}
#parcours .circuits {
  display: flex;
  justify-content: space-around;
  align-items: center;
  flex-wrap: wrap;
}
#parcours .circuit {
  width: 350px;
  margin-top: 30px;
}
#parcours .pousseur {
  max-width: 350px;
  text-align: center;
  background: white;
  padding: 1em;
}
#parcours .pousseur .code {
  background: white;
  border-radius: 3px;
  padding: 3px 6px 3px 6px;
  font-weight: bold;
}
#parcours .distance {
  font-size: 70px;
  font-family: "Kanit", sans-serif;
  font-weight: 900;
  border-radius: 5px 20px 5px;
  padding-bottom: 10px;
  background-color: #BADA55;
  background-image: url("../images/backgrounds/topography.png");
  background-attachment: fixed;
  background-position: center;
  background-repeat: repeat;
  width: 100px;
  margin: auto;
  text-align: center;
  color: black;
  background-blend-mode: multiply;
  margin-left: 10px;
  padding-left: 30px;
  padding-right: 30px;
  margin-bottom: 0px;
  float: left;
}
#parcours .distance .unite {
  font-size: 25px;
  margin-left: -11px;
}
#parcours .distance .complement {
  font-size: 20px;
  margin-top: -25px;
  font-weight: normal;
}
#parcours .depart {
  padding-top: 0px;
  text-align: center;
  font-size: 40px;
  color: black;
  font-weight: bold;
  padding-bottom: 20px;
}
#parcours .depart .heure {
  margin-top: 0px;
  margin-bottom: 0px;
}
#parcours .depart .tarif {
  margin: 0px;
  padding: 0px;
}
#parcours .depart .hausse {
  font-size: 12px;
  margin: 0px;
  padding: 0px;
}
#parcours .informations {
  text-align: center;
}
#parcours .handicourses {
  margin-top: 30px;
  text-align: justify;
}
#parcours .handicourses .logo {
  font-size: 50px;
  float: left;
  margin-right: 20px;
}
#parcours #enfants .texte p:first-of-type {
  padding: 0px;
  margin: 0px;
}
#parcours #montgolfiere_details .texte p:first-of-type {
  padding: 0px;
  margin: 0px;
}
#parcours #montgolfiere_details .logo {
  width: 150px;
  position: relative;
}
#parcours #montgolfiere_details .logo img {
  left: 25px;
  position: absolute;
  animation-duration: 2s;
  animation-name: fly_logo;
  animation-iteration-count: infinite;
  animation-direction: alternate;
  animation-timing-function: ease-in-out;
}
#parcours #montgolfiere_details .texte {
  margin-left: 150px;
}
/*PROGRAMME****************************************************************/
#programme {
  background-image: url("../images/backgrounds/stressed_linen.png");
  background-attachment: fixed;
  background-position: center;
  background-repeat: repeat;
  box-shadow: 0px 10px 10px -5px black inset;
  padding-bottom: 40px;
}
#programme * {
  box-sizing: border-box;
}
#programme h2 {
  color: white;
}

/*SPONSORS*****************************************************************/
#sponsors {
  background-image: url("../images/backgrounds/confectionary.png");
  background-attachment: fixed;
  background-position: center;
  background-repeat: repeat;
  padding-top: 15px;
  padding-bottom: 30px;
}
#sponsors .ligne {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
#sponsors .ligne img {
  max-height: 125px;
}
#sponsors .ligne a {
  padding: 15px 20px 0px 20px;
}
#sponsors .ligne a:first-of-type {
  padding-left: 0px;
  padding-right: 0px;
}
#sponsors .ligne a:last-of-type {
  padding-right: 0px;
}
#sponsors .ligne #decathlon {
  max-width: 90%;
  height: auto;
}
#sponsors .ligne.derniere a {
  padding-right: 5px;
  padding-left: 5px;
}
#sponsors .ligne.derniere img {
  height: 100px;
}

/*CONTACT*****************************************************************/
#contact {
  padding-top: 10px;
  padding-bottom: 10px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
}
#contact span {
  min-width: 15%;
  text-align: center;
}

@media screen and (max-width: 600px) {
  header {
    height: 200px;
  }

  header #logo {
    padding-top: 50px;
  }

  header p {
    padding-top: 0px;
    margin-top: 0px;
  }

  header #fb img {
    width: 30px;
  }

  header #instagram {
    top: 37px;
  }
  header #instagram img {
    width: 30px;
  }

  .colonne {
    display: initial;
    padding-bottom: 40px;
  }

  .colonne .logo {
    display: initial;
    width: 100%;
    padding-right: 0px;
    text-align: center;
    padding-bottom: 10px;
  }

  #navbar {
    font-size: 15px;
  }
  #navbar a {
    padding: 10px 5px 10px 5px;
  }
  #navbar .facebook {
    display: none;
    padding: 0px;
    padding-top: 7px;
  }
  #navbar .facebook img {
    width: 25px;
  }

  #inscrivezvous {
    margin-top: 0px;
    font-size: 30px;
    margin-bottom: 5px;
  }

  #clock {
    display: none;
  }

  #parcours #description {
    width: 100%;
  }

  #associations .texte {
    text-align: center;
  }
  #associations .texte p {
    text-align: justify;
  }

  #parcours .general {
    font-size: 50px;
  }
}
.grid {
  margin: auto;
}

.grid-item {
  display: block;
  margin-bottom: 10px;
}

.grid-item img,
.grid-sizer {
  max-width: 20vw;
  max-height: 20vw;
}

.important img {
  max-width: 40vw;
  max-height: 40vw;
}

.very-important img {
  max-width: 60vw;
  max-height: 60vw;
}

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