html {
  -webkit-text-size-adjust: none;
}

#carte,
#carte_options,
#carte_options ul,
#carte_options ul li,
#carte_options ul li a,
#carte_options #menu_button,
#carte_conteneur,
#campus {
  margin: 0;
  padding: 0;
  border: 0;
  list-style: none;
  line-height: 1;
  display: block;
  position: relative;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  font-size:13px;
}

#carte {
  margin-bottom:3em;
}

#carte_options:after,
#info:after,
#info .en_tete:after {
  content: ".";
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0;
}

#carte_options {
  width: auto;
  z-index:1000;
  margin-bottom:5px;
}
#carte_options > ul ul {
  box-shadow: inset 0 -3px 0 rgba(0, 0, 0, 0.05);
}

#carte_options > ul > li  {
  float: left;
  margin:0 .75em .5em 0;
  display: inline-block;
  text-align:left;
}
#carte_options > ul > li.avec_sousmenu  {
  background: #b5001a;
  width:250px;
}

#carte_options > ul > li > a.btn_case_a_cocher  {
  text-decoration:none;
  line-height:34px;
  text-transform:uppercase;
  color:#000;
  font-size:11px;
  background:url(../images/icone-case-a-cocher.png) no-repeat left center;
  padding:0 0 0 28px;
}
  #carte_options > ul > li > a.btn_case_a_cocher:hover  {
    color:#b5001a;
  }
  #carte_options > ul > li > a.btn_case_a_cocher.active  {
    color:#b5001a;
    background-image:url(../images/icone-case-a-cocher-active.png);
  }
#carte_options > ul > li.avec_sousmenu > a {
  padding: 9px 15px;
  border-right: 1px solid rgba(80, 80, 80, 0.12);
  text-decoration: none;
  font-size: 1em;
  color: #ffffff;
  letter-spacing: 1px;
}
#carte_options > ul > li.avec_sousmenu.hover > a,
#carte_options > ul > li.avec_sousmenu > a.hover,
#carte_options > ul li.avec_sousmenu.active > a {
  color: #ffffff;
  background-color: #a20017;
  background-color: rgba(0, 0, 0, 0.1);
}
#carte_options > ul > li.avec_sousmenu > a {
  padding-right: 45px;
  background-image:url(../images/fleche.png);
  background-repeat:no-repeat;
  background-position:right center;
  width:100%;
}

#carte_options > ul > li.avec_sousmenu > a span {
  display:block;
  width:100%;
  white-space:nowrap;
  overflow:hidden;
}

#carte_options ul ul {
  position: absolute;
  left: -9999px;
  top: -25px;
  padding-top: 6px;
  opacity: 0;
  -webkit-transition: top 0.2s ease, opacity 0.2s ease-in;
  -moz-transition: top 0.2s ease, opacity 0.2s ease-in;
  -ms-transition: top 0.2s ease, opacity 0.2s ease-in;
  -o-transition: top 0.2s ease, opacity 0.2s ease-in;
  transition: top 0.2s ease, opacity 0.2s ease-in;
}

#carte_options > ul > li > ul {
  top: 25px;
}

#carte_options > ul > li.hover > ul {
  top: 30px;
  left: 0;
  opacity: 1;
}
#carte_options ul ul ul {
  padding-top: 0;
  padding-left: 5px;
}
#carte_options ul li.avec_sousmenu ul > li.hover > ul {
  left: 250px;
  top: 0;
  opacity: 1;
}
#carte_options ul li.avec_sousmenu ul li a {
  text-decoration: none;
  padding: 11px 15px;
  width: 250px;
  color: #fff;
  background: rgb(181, 0, 26);
  background: rgba(181, 0, 26, 0.9); 
  box-shadow: 0 2px 2px rgba(0, 0, 0, 0.1), 1px 1px 1px rgba(0, 0, 0, 0.1), -1px 1px 1px rgba(0, 0, 0, 0.1);
}
#carte_options ul li.avec_sousmenu ul li.hover > a,
#carte_options ul li.avec_sousmenu ul li.active > a {
  background: #a20017;
  background: rgba(181, 0, 26, 0.75); 
}

#carte_options ul li.avec_sousmenu ul li:first-child > a {
  border-top-left-radius: 0px;
  border-top-right-radius: 0px;
}
#carte_options ul li.avec_sousmenu ul li:last-child > a {
  border-bottom-left-radius: 0px;
  border-bottom-right-radius: 0px;
}
#carte_options > ul > li > ul::after {
  position: absolute;
  display: block;
}

/* CARTE */
#carte_conteneur {
  height:750px;
  position:relative;
  width: 100%;
  z-index:0;
  border:1px solid #eeeeee;
}

  .ecran_tactile #carte_conteneur { 
    width:90%; 
    margin:0 auto; 
  }

#carte_canevas {
  position:absolute;
  width: 100%;
  height:100%;
  z-index:0;
}

/* INFOBULLE (tooltip) */
#infobulle {
  position:absolute;
  z-index:1000;
  padding:.5em 1em;
}

  #infobulle.quartier {
    background:#fff;
    background:rgba(255,255,255,0.9);
  }

    #infobulle.quartier .district {
      color:#000;
      display:block;
      font-size:12px;
      text-transform:uppercase;
      font-weight:300; 
      text-align:center;
    }
    
    #infobulle.quartier .quartier {
      color:#000;
      display:block;
      font-size:15px;
      text-transform:uppercase;
      font-weight:bold; 
      text-align:center; 
    }

  #infobulle.campus {
    background:#b5001a;
    background:rgba(181,0,26,0.9);
  }
  
    #infobulle.campus .contenu {
      color:#fff;
      display:block;
      font-size:12px;
      text-transform:uppercase;
      font-weight:bold; 
      text-align:center;
    }
    
  #infobulle.metro {
    background:transparent;  
  }
  
    #infobulle.metro .contenu {
      color:#fff;
      display:block;
      font-size:12px;
      text-transform:uppercase;
      font-weight:bold; 
      text-align:center;
    } 
    
  #infobulle.cooperative {
    background:#005e9e;  
  }
  
    #infobulle.cooperative .contenu {
      color:#fff;
      display:block;
      font-size:12px;
      text-transform:uppercase;
      font-weight:bold; 
      text-align:center;
    } 
    

/* INFO */
#info {
  display:none;
  cursor: default;
  position: absolute;
  background: #fff;
  top:40px;
  left:40px;
  width:50%;
  max-width:450px;
  z-index:100;
  
  padding:1.5em;
  
  -webkit-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
  -moz-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
}

  #info .bt_fermer {
    display:block;
    width:22px;
    height:22px;
    position:absolute;
    top:1em;
    right:1.5em;
    background:url(../images/icone-fermer.png) no-repeat center;  
  }

  #info .en_tete {
    border-bottom:1px solid #979797;
    padding:0 0 5px;
    margin:0 0 10px;  
  }
  
    #info .en_tete span.arrondissement {
      font-size:14px;
      color:#9b9b9b;
      display:block;
      margin:0 0 15px; 
      padding-right:45px;
    }
    
    #info .en_tete span.quartier {
      font-size:18px;
      color:#727272;
      display:inline-block;
    }
    
    #info .en_tete ul {
      float:right;
      display:inline-block;
      text-align:right;
      padding:4px 0 0;
    }
    
      #info .en_tete ul li {
        display:inline;
        float:left;
        border-left:1px solid #4e4e4e;
        padding:0 0 0 8px;
        margin:0 0 0 8px;
      }
      
        #info .en_tete ul li:first-child {
          border-left:none;
        }
        
        #info .en_tete ul li a {
          font-size:14px;
          font-weight:700;
          color:#4e4e4e;  
          text-decoration:none; 
        }
        
          #info .en_tete ul li a.active {
            color:#b5001a;
          }
    
  #info .diapositives_conteneur {  }
  
    #info .diapositives_conteneur .diapositive { 
      display:none;
    }
    
    #info .diapositives_conteneur .diapositive.active { 
      display:block;
    }
    
    #info .diapositives_conteneur .diapositive div.scrollable { 
      overflow:hidden;
      width:100%;
      /*height:300px;*/
    }
    
      #info .diapositives_conteneur .diapositive.vertical_track {
        width: 5px;
        margin-left:6px;
        background-color: #d8d8d8;
      }
      
      #info .diapositives_conteneur .diapositive .vertical_handle {
        width: 5px;
        margin-left:6px;
        background-color: #b1b1b1;
      }
    
    #info .diapositives_conteneur .diapositive img.quartier_image { 
      width:100%;
      height:auto;
      margin:0 0 .5em; 
    }
            
    #info .diapositives_conteneur .diapositive .qualificatifs { 
      font-size:12px;
      color:#9b9b9b; 
      margin:0 0 .5em;
      text-transform:uppercase;
      font-style:italic;
    }
    
    #info .contenu p,
    #info .contenu span,
    #info .contenu div { 
      font-size:14px;
      color:#727272; 
      margin:0 0 1em;
      line-height:1.3em;
      word-wrap:break-word;
    }
    
    #info .contenu a {
      color:#b5001a;  
    }
    
    #info .diapositives_conteneur .diapositive.details {

    }
    
    #info .diapositives_conteneur .diapositive h2 { 
      font-size:18px;
      color:#006699;
      display:block;
      border-bottom:1px solid #006699; 
      margin:0 0 5px;
    }
    
    #info .diapositives_conteneur .diapositive .conteneur:after {
      content: "";
      display: table;
      clear: both;
    }
    
    #info .diapositives_conteneur .diapositive .column,
    #info .columns .column {
      width:49%;
      float:left;  
      margin-left:2%
    }
    
      #info .diapositives_conteneur .diapositive .column:first-child,
      #info .columns .column:first-child {
        margin-left:0;
      }
      
      #info .diapositives_conteneur .diapositive .column {
        color:#006699;
      }
            
        #info .diapositives_conteneur .diapositive .description {
          font-size:16px;
          display:block;
          margin:0 0 8px; 
        }
        
        #info .diapositives_conteneur .diapositive .somme {
          font-size:20px;
          display:block;
          margin:0 0 50px;
        }
        
        #info .diapositives_conteneur .diapositive .devise {
          font-size:14px;
          font-weight:400;
          text-transform:uppercase;
          margin:0 0 0 3px;
        }
        
        #info .diapositives_conteneur .diapositive .legende_barre {
          position:relative;
          border-top: solid 2px #006699;
          padding-top: 28px;
          margin-top: -28px;
        }
        
          #info .diapositives_conteneur .diapositive .legende_barre:before {
            background: none repeat scroll 0 0 #fff;
            content: "$";
            display: block;
            font-size: 14px;
            left: 0;
            padding: 0 8px 0 0;
            position: absolute;
            top: -11px;
          }
          
          #info .diapositives_conteneur .diapositive .legende_barre:after {
            background: none repeat scroll 0 0 #fff;
            content: "$$$$";
            display: block;
            font-size: 14px;
            right: 0;
            padding: 0 0 0 8px;
            position: absolute;
            top: -11px;
          }
        
          #info .diapositives_conteneur .diapositive .legende_barre .point {
            position:absolute;
            top:-6px;
            left:7%;
            
            display:block;
            background:#006699;
            width:10px;
            height:10px;
            -webkit-border-radius: 50%;
            -moz-border-radius: 50%;
            border-radius: 50%;
            z-index:200;
          }
          
          #info .diapositives_conteneur .diapositive .legende_barre .point.abordable { left:20%; }
          #info .diapositives_conteneur .diapositive .legende_barre .point.moyen { left:45%; }
          #info .diapositives_conteneur .diapositive .legende_barre .point.cher { left:70%; }
        
        
      #info .diapositives_conteneur .diapositive .avertissement {
        background:url(../images/icone-avertissement.png) no-repeat left 5px;
        padding:0 0 0 28px;
        font-size:12px;
        color:#727272;
        margin:0 0 12px;
      }
         
      #info .diapositives_conteneur .diapositive p.titre {
        color:#006699; 
        font-size:16px; 
        font-weight:700;        
      } 
      
      #info .diapositives_conteneur .diapositive .case_conteneur {
        width:25%;
        float:left;
        padding:10px 0;
        text-align:center;
        color:#006699;
        font-size:16px;
      } 
      
        #info .diapositives_conteneur .diapositive .case_conteneur .case {
          display:block;
          height:24px;
          border:1px solid #006699;
          border-left:none;
          background:#f2f2f2;
          margin:0 0 5px;
        } 
        
          #info .diapositives_conteneur .diapositive .case_conteneur:first-child .case {
            border-left:1px solid #006699;
          } 
          
          #info .diapositives_conteneur .diapositive .cases_conteneur.journee.mauvaise .case.mauvaise,
          #info .diapositives_conteneur .diapositive .cases_conteneur.journee.moyenne .case.moyenne,
          #info .diapositives_conteneur .diapositive .cases_conteneur.journee.bonne .case.bonne,
          #info .diapositives_conteneur .diapositive .cases_conteneur.journee.excellente .case.excellente {
            background:url(../images/icone-soleil.png) no-repeat center #006699;  
          }
          
          #info .diapositives_conteneur .diapositive .cases_conteneur.nuit.mauvaise .case.mauvaise,
          #info .diapositives_conteneur .diapositive .cases_conteneur.nuit.moyenne .case.moyenne,
          #info .diapositives_conteneur .diapositive .cases_conteneur.nuit.bonne .case.bonne,
          #info .diapositives_conteneur .diapositive .cases_conteneur.nuit.excellente .case.excellente {
            background:url(../images/icone-lune.png) no-repeat center #006699;  
          }

          #info .diapositives_conteneur .diapositive .cases_conteneur.offre_alimentaire.mauvaise .case.mauvaise,
          #info .diapositives_conteneur .diapositive .cases_conteneur.offre_alimentaire.moyenne .case.moyenne,
          #info .diapositives_conteneur .diapositive .cases_conteneur.offre_alimentaire.bonne .case.bonne,
          #info .diapositives_conteneur .diapositive .cases_conteneur.offre_alimentaire.excellente .case.excellente {
            background:url(../images/icone-tasse.png) no-repeat center #006699;  
          }
        
    #info .logo { 
      margin:0 0 1em;
    }
    
      /*
      #info .logo img { 
        width:75%;
        height:auto;
        max-width:200px;
      }
      */

    #info .columns .nom { 
      display:block;
      font-weight:bold;
      font-size: 1.25em;
      margin:0 0 .5em;
    }
    
    #info .columns .contact { 
      display:block;
      margin:0 0 .5em;
    }
    
    #info .columns .site_web { 
      display:block;
      margin:0 0 .5em;
    }
    
    #info .columns .places_disponibles { 
      display:block;
    }


/* MESSAGE */
#message_conteneur {
  background: #0a0a0a;
  background: rgba(10, 10, 10, 0.9);
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
  cursor: default;
  display: none;
  left: 5%;
  padding: 1.5em;
  position: absolute;
  top: 50%;
  width: 300px;
  min-height:45px;
  z-index: 100;
}

    #message_conteneur .bt_fermer {
      display:block;
      width:22px;
      height:22px;
      position:absolute;
      top:1em;
      right:1.5em;
      background:url(../images/icone-fermer.png) no-repeat center;  
    }
    
    #message_conteneur h4 {
      display:block;
      text-transform:uppercase;
      font-weight:700;
      color:#fff;
      padding:0 25px 0 0;
      margin:0 0 10px;
    }
    
    #message_conteneur p {
      color:#fff;  
      line-height:1.35em;
      /*padding:0 25px 0 0;*/
    }

.infobox.metro {
  cursor: default;
  padding-left:25px;
}

  .infobox.metro > div {
    color:#fff;
    display:block;
    font-size:12px;
    text-transform:uppercase;
    font-weight:bold; 
    text-align:left;
    padding:.5em 1em;
    white-space:nowrap;
  }  
  
.infobox.cooperative {
  cursor: default;
}

  .infobox.cooperative > div {
    color:#fff;
    display:block;
    font-size:12px;
    text-transform:uppercase;
    font-weight:bold; 
    text-align:left;
    padding:.5em 1em;
    white-space:nowrap;
  }  
  
  
/* MENU DÉROULANT SUR LA PAGE D'ACCUEIL */
#campus { 
  position:relative;
  width:100%; 
}

#menu_deroulant_campus {
  position:relative;
  float:left;
  background:#000;
  color:#fff;
  padding:1em 2em;
  font-size:16px;
  width:80%;
  height:55px;
}

  #menu_deroulant_campus .selected {
    white-space:nowrap;
    overflow:hidden;  
  }

#menu_deroulant_campus ul {
  position: absolute;
  left: -9999px;
  top: 0;
  padding-top: 6px;
  opacity: 0;
  -webkit-transition: top 0.2s ease, opacity 0.2s ease-in;
  -moz-transition: top 0.2s ease, opacity 0.2s ease-in;
  -ms-transition: top 0.2s ease, opacity 0.2s ease-in;
  -o-transition: top 0.2s ease, opacity 0.2s ease-in;
  transition: top 0.2s ease, opacity 0.2s ease-in;
}

  #menu_deroulant_campus:hover > ul {
    top: 2.75em;
    left: 0;
    opacity: 1;
  }
  
  #menu_deroulant_campus ul li {
    background:#000;
    color:#fff;
    cursor:pointer;
    padding:.75em 2em;
    border-bottom:1px solid #333;
  } 
  
    #menu_deroulant_campus ul li.hover {
      background:#333;
      background:rgba(0,0,0,0.85);
    } 

#campus .btn_rechercher {
  display:block;
  float:right;
  width:18%;
  border:none;
  padding:1em 2em;
  font-size:16px;
  background:url(../images/icone-loupe.png) no-repeat center #b5001a;
  height:55px;
}

@media 
only screen and (max-width: 950px) {
  #carte { 
    margin-left:auto;
    margin-right:auto;
    width:90%; 
  }

  
  #carte_options > ul:after {
    content: ".";
    display: block;
    clear: both;
    visibility: hidden;
    line-height: 0;
    height: 0;
  }

  #carte_options > ul {
    display:inline-block;
    text-align:center;
    width:100%;  
  }
  
   #carte_options > ul.navigation_carte { z-index:1000; }
   #carte_options > ul.options_affichage { z-index:999; }
  
  #carte_options > ul > li {
    float:none;  
  }  
  
  #carte_options > ul.navigation_carte > li { width:90%; }
  
  #carte_options li.universite.avec_sousmenu > a,
  #carte_options li.arrondissement.avec_sousmenu > a,
  #carte_options li.universite.avec_sousmenu.active > a,
  #carte_options li.arrondissement.avec_sousmenu.active > a {
    background-image:url(../images/icone-plus.png);
    background-repeat:no-repeat;
    background-position:right center;
  }
  
    #carte_options li.hover.universite.avec_sousmenu > a,
    #carte_options li.hover.arrondissement.avec_sousmenu > a,
    #carte_options li.hover.universite.avec_sousmenu.active > a,
    #carte_options li.hover.arrondissement.avec_sousmenu.active > a {
      background-image:url(../images/icone-moins.png);
      background-repeat:no-repeat;
      background-position:right center;
    }
  
  #menu_universites { z-index:1000; }
  #menu_arrondissements { z-index:999; }
    
  #carte_options ul ul { width:100%; }
  
  #carte_options ul ul ul {
    padding-left: 0px;
    width:100%;
  }
  
  #carte_options ul li.avec_sousmenu ul li a { width:100%; }
  
  #carte_options ul li.avec_sousmenu ul > li.hover > ul {
    position:relative;
    left: auto;
    top: auto;
    opacity: 1;
  }
  
  #carte_options ul li.avec_sousmenu ul li ul a {
    width: 100%;
  }
  
  #carte_options ul.navigation_carte ul li.avec_sousmenu.hover {
    border-bottom:5px solid #fff;
  }
}

@media
only screen and (max-width: 750px) {  
  #info {
    position:relative;
    top:auto;
    left:auto;
    width:100%;
    max-width:none;
  }
  
  #carte_conteneur { height:auto; }
  
  #carte_canevas { 
    height:750px;
    position:relative;
  }
  
}


@media 
only screen and (max-width: 400px) {
	#info .diapositives_conteneur .diapositive .case_conteneur {
        font-size:13px;
      } 
  #info .columns .column { 
    width:100%;
  }
  
    #info .columns .column:first-child { 
      margin:0 0 1em;
    }
  
  #info .en_tete {
    border:none;
  }
  
  #info .en_tete span.quartier {
    float:left; 
    width:100%;
    border-bottom:1px solid #979797; 
    padding:0 0 5px;
    margin:0 0 5px;
  }
    
  #info .en_tete ul {
    float:left;
    margin:0 0 10px;
    text-align:left;  
    width:100%;
  }
  
    #info .en_tete ul li {
      margin:0 8px 0 0;  
    }
      
      #info .en_tete ul li:first-child {
        padding:0;  
      }
  
}