body {
  font-family: 'Source Sans Pro', sans-serif;
}

#classement, #finales, #compCours, #compVenir {
  margin: 20px;
  width: 100%;
  left: 0;
  padding-bottom: 40px;
}

@media only screen and (min-width:980px) {
    #section1 {
      position: absolute;
      top: 0;
      left: 0;
      width: 60%;
      transition: left 300ms;
    }

    #section2 {
      position: absolute;
      top: 0;
      left: 60%;
      width: 40%;
      transition: left 300ms;
    }
}

@media only screen and (max-width:980px) {
  body {
    width: 100%;
    overflow-x: hidden;
  }

  #section1 {
    position: absolute;
    width: 100%;
  }

  #section2 {
    position: absolute;
    width: 300%;
    min-height: 100%;
    left: 100%;
    top: 0;
  }

  #finales, #compCours, #compVenir {
    position: absolute;
    width: 33.33%;
    min-height: 100%;
  }

  #finales {
    left: 0%;
  }

  #compCours {
    left: 33.33%;
  }

  #compVenir {
    left: 66.66%;
  }
}


.skew {
  transform: skewX(-25deg);
}

.unskew {
  transform: skewX(25deg);
}

/*Couleurs*/
.blue#selectDiscipline, .blue .logo, .blue .title, .blue.selector, .blue.titleResultat , .blue.ligneClassement{
  background-color: #2196f3;
  transition: background-color 300ms linear;
}

.orange#selectDiscipline, .orange .logo, .orange .title, .orange.selector, .orange.titleResultat, .orange.ligneClassement {
  background-color: #ff9800;
  transition: background-color 300ms linear;
}

.purple#selectDiscipline, .purple .logo, .purple .title, .purple.selector, .purple.titleResultat, .purple.ligneClassement {
  background-color: #9c27b0;
  transition: background-color 300ms linear;
}

.red#selectDiscipline, .red .logo, .red .title, .red.selector, .red.titleResultat, .red.ligneClassement {
  background-color: #f44336;
  transition: background-color 300ms linear;
}

.green#selectDiscipline, .green .logo, .green .title, .green.selector, .green.titleResultat, .green.ligneClassement {
  background-color: #4caf50;
  transition: background-color 300ms linear;
}

.ice#selectDiscipline, .ice .logo, .ice .title, .ice.selector, .ice.titleResultat, .ice.ligneClassement {
  background-color: #4fc3f7;
  transition: background-color 300ms linear;
}

.snow#selectDiscipline, .snow .logo, .snow .title, .snow.selector, .snow.titleResultat, .snow.ligneClassement  {
  background-color: #7986cb;
  transition: background-color 300ms linear;
}

.olympic#selectDiscipline, .olympic .logo, .olympic .title, .olympic.selector, .olympic.titleResultat, .olympic.ligneClassement {
  background-color: #0d47a1;
  transition: background-color 300ms linear;
}

.blue.selected {
  background: -moz-linear-gradient(left, #00e600 20px , #2196f3 60px, #2196f3 100%);
  background: -webkit-linear-gradient(left, #00e600 20px , #2196f3 60px, #2196f3 100%);
  background: -o-linear-gradient(left, #00e600 20px , #2196f3 60px, #2196f3 100%);
  background: -ms-linear-gradient(left, #00e600 20px , #2196f3 60px, #2196f3 100%);
  background: linear-gradient(left, #00e600 20px , #2196f3 60px, #2196f3 100%);
}

.orange.selected {
  background: -moz-linear-gradient(left, #00e600 20px , #ff9800 60px, #ff9800 100%);
  background: -webkit-linear-gradient(left, #00e600 20px , #ff9800 60px, #ff9800 100%);
  background: -o-linear-gradient(left, #00e600 20px , #ff9800 60px, #ff9800 100%);
  background: -ms-linear-gradient(left, #00e600 20px , #ff9800 60px, #ff9800 100%);
  background: linear-gradient(left, #00e600 20px , #ff9800 60px, #ff9800 100%);
}

.purple.selected {
  background: -moz-linear-gradient(left, #00e600 20px , #9c27b0 60px, #9c27b0 100%);
  background: -webkit-linear-gradient(left, #00e600 20px , #9c27b0 60px, #9c27b0 100%);
  background: -o-linear-gradient(left, #00e600 20px , #9c27b0 60px, #9c27b0 100%);
  background: -ms-linear-gradient(left, #00e600 20px , #9c27b0 60px, #9c27b0 100%);
  background: linear-gradient(left, #00e600 20px , #9c27b0 60px, #9c27b0 100%);
}

.red.selected {
  background: -moz-linear-gradient(left, #00e600 20px , #f44336 60px, #f44336 100%);
  background: -webkit-linear-gradient(left, #00e600 20px , #f44336 60px, #f44336 100%);
  background: -o-linear-gradient(left, #00e600 20px , #f44336 60px, #f44336 100%);
  background: -ms-linear-gradient(left, #00e600 20px , #f44336 60px, #f44336 100%);
  background: linear-gradient(left, #00e600 20px , #f44336 60px, #f44336 100%);
}

.green.selected {
  background: -moz-linear-gradient(left, #00e600 20px , #4caf50 60px, #4caf50 100%);
  background: -webkit-linear-gradient(left, #00e600 20px , #4caf50 60px, #4caf50 100%);
  background: -o-linear-gradient(left, #00e600 20px , #4caf50 60px, #4caf50 100%);
  background: -ms-linear-gradient(left, #00e600 20px , #4caf50 60px, #4caf50 100%);
  background: linear-gradient(left, #00e600 20px , #4caf50 60px, #4caf50 100%);
}

.ice.selected {
  background: -moz-linear-gradient(left, #00e600 20px , #4fc3f7 60px, #4fc3f7 100%);
  background: -webkit-linear-gradient(left, #00e600 20px , #4fc3f7 60px, #4fc3f7 100%);
  background: -o-linear-gradient(left, #00e600 20px , #4fc3f7 60px, #4fc3f7 100%);
  background: -ms-linear-gradient(left, #00e600 20px , #4fc3f7 60px, #4fc3f7 100%);
  background: linear-gradient(left, #00e600 20px , #4fc3f7 60px, #4fc3f7 100%);
}

.snow.selected {
  background: -moz-linear-gradient(left, #00e600 20px , #7986cb 60px, #7986cb 100%);
  background: -webkit-linear-gradient(left, #00e600 20px , #7986cb 60px, #7986cb 100%);
  background: -o-linear-gradient(left, #00e600 20px , #7986cb 60px, #7986cb 100%);
  background: -ms-linear-gradient(left, #00e600 20px , #7986cb 60px, #7986cb 100%);
  background: linear-gradient(left, #00e600 20px , #7986cb 60px, #7986cb 100%);
}

.olympic.selected {
  background: -moz-linear-gradient(left, #00e600 20px , #0d47a1 60px, #0d47a1 100%);
  background: -webkit-linear-gradient(left, #00e600 20px , #0d47a1 60px, #0d47a1 100%);
  background: -o-linear-gradient(left, #00e600 20px , #0d47a1 60px, #0d47a1 100%);
  background: -ms-linear-gradient(left, #00e600 20px , #0d47a1 60px, #0d47a1 100%);
  background: linear-gradient(left, #00e600 20px , #0d47a1 60px, #0d47a1 100%);
}

/*Logo*/
.logo {
  position: absolute;
  top: 0;
  left: 0;
  width: 60px;
  height: 60px;
  border-radius: 20px 0 20px 20px;
  overflow: hidden;
}

#titleClassement .logo {
  width: 100px;
  height: 100px;
}

.logo.withSub {
  border-radius: 20px 0 0 20px;
}

.contentLogo {
  line-height: 60px;
  text-align: center;
}

#titleClassement .contentLogo {
  line-height: 100px;
}

.contentLogo img {
  padding-top: 10px;
  padding-left: 5px;
  width: 40px;
}

#titleClassement .contentLogo img {
  padding-top: 15px;
  padding-left: 10px;
  width: 70px;
}

.contentLogo.logoPays img {
  padding-top: 0;
  width: 150px;
  height: 100px;
  border-radius: 20px 0 20px 20px;

}
.contentLogo.logoPays.withSub img {
  border-radius: 20px 0 0 20px;
}



/*Titre*/
.title {
  position: absolute;
  top: 0;
  left: 58px;
  width: calc(100% - 99px);
  height: 40px;
  border-radius: 0 10px 10px 0;
}

#titleClassement .title {
  left: 98px;
  height: 60px;
  width: calc(100% - 119px);
}

.title.withSub {
  border-radius: 0 10px 0 0;
}

.contentTitle {
  padding-left: 5px;
  height: 40px;
  line-height: 40px;
  font-size: 24px;
  color: white;
  font-variant: small-caps;
  font-weight: bold;
  white-space: nowrap; 
  overflow: hidden;
  text-overflow: ellipsis;
}

#titleClassement .contentTitle {
  height: 60px;
  line-height: 60px;
  font-size: 36px;
}

.contentTitle.titlePays {
  padding-left: 20px;
}



/*Sous-titre*/
.subtitle {
  position: absolute;
  top: 40px;
  left: 59px;
  width: calc(100% - 120px);
  height: 20px;
  line-height: 20px;
  background-color: #9e9e9e;
  border-radius: 0 0 10px 0;
  color: white;
  padding-left: 20px;
  font-size: 14px;
}

#titleClassement .subtitle {
  left: 99px;
  top: 60px;
  height: 40px;
  width: 0;
  padding-left: 0;
}

.contentSubtitle {
    padding-left: 30px;
  line-height: 40px;
  font-size: 20px;
  color: white;
}

.contentSubtitle img {
  vertical-align: middle;
}

.subtitle.petit {
  top: 40px;
  left: 59px;
  /*width: 690px;*/
  width: calc(100% - 100px);
  height: 20px;
}

.contentSubtitle.petit {
  line-height: 20px;
  font-size: 14px;
}




/*Ligne de classement*/
.ligneClassement {
  position: relative;
    width: calc(100% - 50px);
    height: 40px;
    background-color: #0d47a1;
  border-radius: 10px;
  border: 1px solid #1a237e;
    /*margin-left: 25px;*/
}
.ligneClassement.classementComp {
  height: 25px;
}

.rang {
  position: absolute;
  top: 0;
  left: 0;
  width: 50px;
  height: 40px;
  line-height: 40px;
  background-color: #b71c1c;
  color: white;
  font-weight: bold;
  text-align: center;
  border-radius: 10px 0 0 10px;
  z-index:2;
}

.classementComp .rang {
  height: 25px;
  line-height: 25px;
}

.rangBack {
  position: absolute;
  top: 0;
  left: 30px;
  width: 30px;
    height: 40px;
  background-color: #b71c1c;
  z-index:1;
}

.classementComp .rangBack {
  height: 25px;
}

.pays {
  position: absolute;
  top: 0;
  left: 50px;
  width: 500px;
  height: 40px;
  line-height: 40px;
  padding-left: 20px;
  font-size: 20px;
  color: white;
  font-weight: bold;
  font-variant: small-caps;
}

.classementComp .pays {
  height: 25px;
  line-height: 25px;
  font-size: 16px;
}

.or {
  position: absolute;
  top: 0;
  /*left: 70%;*/
  right: 200px;
  width: 51px;
    height: 40px;
    line-height: 40px;
    text-align: center;
  color: white;
  font-weight: bold;
  background-color: #FFD700;
}

.argent {
  position: absolute;
  top: 0;
  /*left: calc(70% + 50px);*/
  right: 150px;
  width: 51px;
    height: 40px;
    line-height: 40px;
    text-align: center;
  color: white;
  font-weight: bold;
  background-color: #C0C0C0;
}

.bronze {
  position: absolute;
  top: 0;
  /*left: calc(70% + 100px);*/
  right: 100px;
  width: 51px;
    height: 40px;
    line-height: 40px;
    text-align: center;
  color: white;
  font-weight: bold;
  background-color: #CD7F32;
}

.total {
  position: absolute;
  top: 0;
  /*left: calc(70% + 150px);*/
  right: 0px;
  width: 100px;
    height: 40px;
    line-height: 40px;
    text-align: center;
  color: white;
  font-weight: bold;
}

.classementComp .or, .classementComp .argent, .classementComp .bronze, .classementComp .total {
  height: 25px;
  line-height: 25px;
  font-size: 16px;
}

.ligneClassement a, .ligneClassement a:hover {
  color: white;
}




.lignePodium {
  position: relative;
  width: calc(100% - 60px);
  height: 20px;
  border-radius: 5px;
}

.podiumOr {
  position: absolute;
  top: 0;
  left: 0;
  width: 33.3%;
  height: 20px;
  line-height: 20px;
  text-align: center;
  color: white;
  font-weight: bold;
  background-color: #FFD700;
  border-radius: 5px 0 0 5px;
}

.podiumArgent {
  position: absolute;
  top: 0;
  left: 33.3%;
  width: 33.3%;
  height: 20px;
  line-height: 20px;
  text-align: center;
  color: white;
  font-weight: bold;
  background-color: #C0C0C0;
}

.podiumBronze {
  position: absolute;
  top: 0;
  left: 66.6%;
  width: 33.3%;
  height: 20px;
  line-height: 20px;
  text-align: center;
  color: white;
  font-weight: bold;
  background-color: #CD7F32;
  border-radius: 0 5px 5px 0;
}





#titleClassement {
  height: 100px;
  margin-bottom: 20px;
}

#titleClassement .title {
  width: calc(100% - 147px);
  transition: width 300ms, background-color 300ms linear;
}

#titleClassement .logo {
  transition: border-radius 100ms;
}

#titleLogo {
  padding-left: 10px;
}






.titleSide {
  height: 60px;
}

.titleEpreuve {
  height: 60px;
  margin-top: 10px;
}

.titleEpreuve .title {
  border-radius: 0 20px 0 0;
}

.titleEpreuve .logo {
  border-radius: 20px 0 0 20px;
}

#titleClassement .title {
  width: calc(100% - 147px);
  transition: width 300ms, background-color 300ms linear;
}

#titleClassement .subtitle {
  transition: width 300ms, background-color 300ms linear;
}



#filtre {
  position: relative;
  width: calc(100% - 60px);
  margin-bottom: 20px;
  height: 40px;
  color: white;
  font-size: 18px;
  font-weight: 600;
}

#filtreButton {
  height: 40px;
  line-height: 40px;
  width: 100px;
  text-align: center;
  cursor: pointer;
  background-color: #0d47a1;
  border-radius: 10px;
  transition: border-radius 100ms;
}

#listeFiltres {
  position: absolute;
  left: 99px;
  top: 0px;
  width: 0;
  overflow: hidden;
  height: 40px;
  line-height: 40px;
  background-color: #0d47a1;
  transition: width 300ms;
  border-radius: 0 10px 10px 0;
}

#filtreDiscipline img, #filtreGenre img{
  width: 30px;
  height: 30px;
  vertical-align:middle;
}

#selectDiscipline, #selectGenre, #selectCategorie, #deleteCat {
  height: 30px;
  line-height: 30px;
  margin-top: 5px;
  position: absolute;
  top: 0;
  border: 1px solid #1a237e;
  border-radius: 5px;
  text-align: center;
  cursor: pointer;
  transition: width 300ms;
  overflow: hidden;
  z-index: 999;
}

#deleteCat {
  display: none;
}

#deleteCatContent span {
  display: inline-block;
  height: 30px;
  line-height: 30px;
}

.deleteCross {
  padding-right: 15px;
  color: red;
  font-weight: 600;
  font-size: 18px;
}

.deleteDesc {
  max-width: calc(100% - 50px);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

#selectDiscipline {
  width: 300px;
  left: calc(19% - 150px);
}

#selectGenre {
  width: 200px;
  left: calc(50% - 100px);
}

#selectCategorie, #deleteCat {
  width: 300px;
  left: calc(81% - 150px);
}

.separator {
  width: 0px;
  height: 100%;
  border: 1px solid #136aec;
  position: absolute;
  top: 0;
}

#sep1 {
  left: 0px;
}

#sep2 {
  left: 62.5%;
}


.selector {
  width: 220px;
  height: 25px;
  border-radius: 10px;
  font-size: 14px;
  font-variant: small-caps;
  color: white;
  font-weight: 600;
  line-height: 25px;
  cursor: pointer;
}

.selector img {
  width: 20px;
  height: 20px;
  margin-left: 5px;
  vertical-align:middle;
}

.selectorCategorie {
  width: 190px;
  padding-left: 30px;
}

#selectionDiscipline, #selectionGenre, #selectionCategorie {
  position: absolute;
  width: 0;
  height: 0;
  padding: 0px;
  overflow: hidden;
  transition: width 300ms, height 300ms, padding 300ms;
  background-color: #136aec;
  border: 1px solid #1a237e;
  border-radius: 10px;
  display: none;
}

#selectionDisciplineCol2, #selectionCategorieCol2 {
  position: absolute;
  left: 260px;
  top: 20px;
}

#selectionDisciplineCol3 {
  position: absolute;
  left: 500px;
  top: 20px;
}

#choixAffichage {
  width: 100px;
  height: 30px;
  margin-bottom: 20px;
  display: none;
}

.buttonAffichage {
  position: absolute;
  width: 300px;
  height: 30px;
  line-height: 30px;
  font-weight: bold;
  color: white;
  background-color: #0d47a1;
  border-radius: 10px;
  text-align: center;
  border: 1px solid #1a237e;
  cursor: pointer;
}

.buttonAffichage.selected {
  background-color: #136aec;
}

#buttonAffichageClass {
  left: calc(25% - 150px);
}

#buttonAffichageRes {
  left: calc(75% - 150px);
}

#class, #res {
  width: calc(100% - 50px);
}

.titleResultat {
  width: calc(100% - 30px);
  border-radius: 10px;
  color: white;
  font-weight: bold;
  font-size: 18px;
  font-variant: small-caps;
  height: 25px;
  padding: 5px;
  padding-left: 20px;
  line-height: 25px;
}

.resumeCompetitions {
  width: calc(100% - 40px);
  border-radius: 10px;
  color: white;
  height: 40px;
  padding: 5px;
  padding-left: 20px;
  line-height: 20px;
  background-color: #0d47a1;
  border: 1px solid #1a237e;
  margin-bottom: 20px;
}



.ligneClassementEpreuve {
  position: relative;
  width: calc(100% - 10px);
  height: 25px;
  background-color: #0d47a1;
  border-radius: 10px;
  border: 1px solid #1a237e;
  color: white;
}

.ligneClassementEpreuve .rangEpreuve {
  height: 25px;
  line-height: 25px;
  font-weight: bold;
  padding-left: 15px;
}

.rangOr, .rangBackOr, .rangArgent, .rangBackArgent, .rangBronze, .rangBackBronze {
  position: absolute;
  top: 0;
  height: 25px;
  z-index:1;
}

.rangOr, .rangArgent, .rangBronze {
  left: 0px;
  width: 25px;
  border-radius: 10px 0 0 10px;
}

.rangBackOr, .rangBackArgent, .rangBackBronze {
  left: 30px;
  width: 15px;
}

.rangOr, .rangBackOr {
  background-color: #FFD700;
}

.rangArgent, .rangBackArgent {
  background-color: #C0C0C0;
}

.rangBronze, .rangBackBronze {
  background-color: #CD7F32;
}

.paysEpreuve {
  position: absolute;
  top: 0;
  left: 50px;
  width: 500px;
  height: 40px;
  height: 25px;
  line-height: 25px;
  font-size: 16px;
  color: white;
  font-weight: bold;
  font-variant: small-caps;
}

.paysClassement, .lienCompetition {
  text-decoration: underline;
  cursor: pointer;
}


.resDiscipline {
  position: absolute;
  top: 0;
  left: 50px;
  width: 500px;
  height: 40px;
  line-height: 40px;
  padding-left: 20px;
  font-size: 20px;
  color: white;
  font-weight: bold;
  font-variant: small-caps;
}


.rangDiscOr, .rangBackDiscOr {
  background-color: #FFD700;
}

.rangDiscAr, .rangBackDiscAr {
  background-color: #C0C0C0;
}

.rangDiscBr, .rangBackDiscBr {
  background-color: #CD7F32;
}

.resDiscipline img {
  width: 30px;
  vertical-align:middle;
}

.disciplinePays {
  text-decoration: underline;
  cursor: pointer;
}

.contentSubitle img {
  vertical-align: middle;
}