/* -----------------------------------------------------------------------------
  SmartMenus

Cette CSS regroupe :
- sm-core-css.css
- sm-blue.css (legerement adapte)
- des styles pour #main-menu et .main-nav (legerement adaptes)

ATTENTION :
a) La presente CSS est chargee (dans noisettes/head.html) avant celle du site,
afin que la CSS du site puisse surcharger des styles 
b) SmartMenus indique (en commentaire) que certains styles ne doivent pas etre modifies
c) Le principe du style sm-blue est de definir les styles pour
la version mobile et ensuite, via les media-queries, de definir ceux pour
la version desktop
-------------------------------------------------------------------------------- */

/* --------------------------------------
  sm-core-css.css
----------------------------------------*/
/* Debut (ne pas modifier ces styles) */ 
.sm{position:relative;z-index:9999;}
.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:rgba(0,0,0,0);}
.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right;}
.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0;}
.sm ul{display:none;}
.sm li,.sm a{position:relative;}
.sm a{display:block;}
.sm a.disabled{cursor:not-allowed;}
.sm:after{content:"\00a0";display:block;height:0;font:0px/0 serif;clear:both;visibility:hidden;overflow:hidden;}
.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;}
/* Fin (ne pas modifier ces styles) */ 


/* --------------------------------------
  sm-blue.css (legerement adapte)
----------------------------------------*/
  /* laisser la prorite a la mediabox */
.sm{z-index:1999;}

.sm-blue {
  background: transparent;
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  -ms-border-radius: 8px;
  -o-border-radius: 8px;
  border-radius: 8px;
  -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
}

.sm-blue a, .sm-blue a:hover, .sm-blue a:focus, .sm-blue a:active {
  padding: 1em;
  /* make room for the toggle button (sub indicator) */
  color: white;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 0.9em;
  line-height: 1em;
  font-weight: normal;
  text-decoration: none;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.2);
}
.sm-blue a.current {
  background-color: #404040;
  color: white;
}
.sm-blue a.disabled {
  color: #a1d1e8;
}
.sm-blue a span.sub-arrow {
  position: absolute;
  top: 50%;
  margin-top: -17px;
  left: auto;
  right: 4px;
  width: 34px;
  height: 34px;
  overflow: hidden;
  font: bold 16px/34px monospace !important;
  text-align: center;
  text-shadow: none;
  background: rgba(0, 0, 0, 0.1);
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -ms-border-radius: 4px;
  -o-border-radius: 4px;
  border-radius: 4px;
}
.sm-blue a.highlighted span.sub-arrow:before {
  display: block;
  content: '-';
}
.sm-blue ul {
  background: white;
}
.sm-blue ul ul {
  background: rgba(102, 102, 102, 0.1);
}
.sm-blue ul a, .sm-blue ul a:hover, .sm-blue ul a:focus, .sm-blue ul a:active {
  background: transparent;
  color: #484848;
  font-size: 0.85em;
  text-shadow: none;
  border-left: 8px solid transparent;
}
.sm-blue ul a.current {
  background-color: #404040;
  color: white;
}
.sm-blue ul a.disabled {
  color: #b3b3b3;
}
.sm-blue ul ul a,
.sm-blue ul ul a:hover,
.sm-blue ul ul a:focus,
.sm-blue ul ul a:active {
  border-left: 16px solid transparent;
}
.sm-blue ul ul ul a,
.sm-blue ul ul ul a:hover,
.sm-blue ul ul ul a:focus,
.sm-blue ul ul ul a:active {
  border-left: 24px solid transparent;
}
.sm-blue ul ul ul ul a,
.sm-blue ul ul ul ul a:hover,
.sm-blue ul ul ul ul a:focus,
.sm-blue ul ul ul ul a:active {
  border-left: 32px solid transparent;
}
.sm-blue ul ul ul ul ul a,
.sm-blue ul ul ul ul ul a:hover,
.sm-blue ul ul ul ul ul a:focus,
.sm-blue ul ul ul ul ul a:active {
  border-left: 40px solid transparent;
}
.sm-blue ul li {
  border-top: 1px solid rgba(0, 0, 0, 0.05);
}
.sm-blue ul li:first-child {
  border-top: 0;
}

@media (min-width: 1081px) {
/* Debut (ne pas modifier ces styles) */ 
  .sm-blue ul {
    position: absolute;
    width: 12em;
  }

  .sm-blue li {float: left;}

  .sm-blue.sm-rtl li {float: right;}

  .sm-blue ul li, .sm-blue.sm-rtl ul li, .sm-blue.sm-vertical li {
    float: none;
  }

  .sm-blue a {
    white-space: nowrap;
  }

  .sm-blue ul a, .sm-blue.sm-vertical a {
    white-space: normal;
  }

  .sm-blue .sm-nowrap > li > a, .sm-blue .sm-nowrap > li > :not(ul) a {
    white-space: nowrap;
  }
/* Fin (ne pas modifier ces styles) */ 

  .sm-blue {
    background-color: #595959;
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
    -ms-border-radius: 8px;
    -o-border-radius: 8px;
    border-radius: 8px;
    -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
    -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
  }
  .sm-blue a, .sm-blue a:hover, .sm-blue a:focus, .sm-blue a:active, .sm-blue a.highlighted {
    padding: 0.4em 0.5em;
    font-size: 0.8em;
    color: white;
  }
  .sm-blue a:hover, .sm-blue a:focus, .sm-blue a:active, .sm-blue a.highlighted {
    background-color: #595959;
  }
  .sm-blue a.current {
    background-color: #595959;
    color: white;
  }
  .sm-blue a.disabled {
    background-color: #595959;
    color: #a1d1e8;
  }
  .sm-blue a span.sub-arrow {
    top: auto;
    margin-top: 0;
    bottom: 2px;
    left: 50%;
    margin-left: -5px;
    right: auto;
    width: 0;
    height: 0;
    border-width: 5px;
    border-style: solid dashed dashed dashed;
    border-color: #484848 transparent transparent transparent;
    background: transparent;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    -ms-border-radius: 0;
    -o-border-radius: 0;
    border-radius: 0;
  }
  .sm-blue a.highlighted span.sub-arrow:before {
    display: none;
  }
  .sm-blue > li {
    border-right: 1px solid #999999;
  }
  .sm-blue > li:first-child {
    border-left: 0;
  }
  .sm-blue ul {
    border: 1px solid #a8a8a8;
    padding: 7px 0;
    background: white;
    -webkit-border-radius: 0 0 4px 4px !important;
    -moz-border-radius: 0 0 4px 4px !important;
    -ms-border-radius: 0 0 4px 4px !important;
    -o-border-radius: 0 0 4px 4px !important;
    border-radius: 0 0 4px 4px !important;
    -webkit-box-shadow: 0 5px 12px rgba(0, 0, 0, 0.2);
    -moz-box-shadow: 0 5px 12px rgba(0, 0, 0, 0.2);
    box-shadow: 0 5px 12px rgba(0, 0, 0, 0.2);
  }
  .sm-blue ul ul {
    -webkit-border-radius: 4px !important;
    -moz-border-radius: 4px !important;
    -ms-border-radius: 4px !important;
    -o-border-radius: 4px !important;
    border-radius: 4px !important;
    background: white;
  }
  .sm-blue ul a, .sm-blue ul a:hover, .sm-blue ul a:focus, .sm-blue ul a:active, .sm-blue ul a.highlighted {
    font-size: 0.75em;
    border: 0 !important;
    padding: 0.4em 1em 0.4em 0.5em;
    background: transparent;
    color: #484848;
    -webkit-border-radius: 0 !important;
    -moz-border-radius: 0 !important;
    -ms-border-radius: 0 !important;
    -o-border-radius: 0 !important;
    border-radius: 0 !important;
  }
  .sm-blue ul a:hover, .sm-blue ul a:focus, .sm-blue ul a:active, .sm-blue ul a.highlighted {
    background-color: #595959;
    color: white;
  }
  .sm-blue ul a.current {
    background-color: #595959;
    color: white;
  }
  .sm-blue ul a.disabled {
    background: white;
    color: #b3b3b3;
  }
  .sm-blue ul a span.sub-arrow {
    top: 50%;
    margin-top: -5px;
    bottom: auto;
    left: auto;
    margin-left: 0;
    right: 0px;
    border-style: dashed dashed dashed solid;
    border-color: transparent transparent transparent #484848;
  }
  .sm-blue ul li {
    border: 0;
  }
  .sm-blue span.scroll-up,
  .sm-blue span.scroll-down {
    position: absolute;
    display: none;
    visibility: hidden;
    overflow: hidden;
    background: white;
    height: 20px;
  }
  .sm-blue span.scroll-up-arrow, .sm-blue span.scroll-down-arrow {
    position: absolute;
    top: -2px;
    left: 50%;
    margin-left: -8px;
    width: 0;
    height: 0;
    overflow: hidden;
    border-width: 8px;
    border-style: dashed dashed solid dashed;
    border-color: transparent transparent #484848 transparent;
  }
  .sm-blue span.scroll-down-arrow {
    top: 6px;
    border-style: solid dashed dashed dashed;
    border-color: #484848 transparent transparent transparent;
  }
  .sm-blue.sm-rtl.sm-vertical a span.sub-arrow {
    right: auto;
    left: 10px;
    border-style: dashed solid dashed dashed;
    border-color: transparent #484848 transparent transparent;
  }
  .sm-blue.sm-rtl > li:first-child > a, .sm-blue.sm-rtl > li:first-child > :not(ul) a {
    -webkit-border-radius: 0 8px 8px 0;
    -moz-border-radius: 0 8px 8px 0;
    -ms-border-radius: 0 8px 8px 0;
    -o-border-radius: 0 8px 8px 0;
    border-radius: 0 8px 8px 0;
  }
  .sm-blue.sm-rtl > li:last-child > a, .sm-blue.sm-rtl > li:last-child > :not(ul) a {
    -webkit-border-radius: 8px 0 0 8px !important;
    -moz-border-radius: 8px 0 0 8px !important;
    -ms-border-radius: 8px 0 0 8px !important;
    -o-border-radius: 8px 0 0 8px !important;
    border-radius: 8px 0 0 8px !important;
  }
  .sm-blue.sm-rtl > li:first-child {
    border-left: 1px solid #484848;
  }
  .sm-blue.sm-rtl > li:last-child {
    border-left: 0;
  }
  .sm-blue.sm-rtl ul a span.sub-arrow {
    right: auto;
    left: 10px;
    border-style: dashed solid dashed dashed;
    border-color: transparent #484848 transparent transparent;
  }
  .sm-blue.sm-vertical {
    -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
    -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
  }
  .sm-blue.sm-vertical a {
    padding: 9px 23px;
  }
  .sm-blue.sm-vertical a span.sub-arrow {
    top: 50%;
    margin-top: -5px;
    bottom: auto;
    left: auto;
    margin-left: 0;
    right: 10px;
    border-style: dashed dashed dashed solid;
    border-color: transparent transparent transparent #484848;
  }
  .sm-blue.sm-vertical > li:first-child > a, .sm-blue.sm-vertical > li:first-child > :not(ul) a {
    -webkit-border-radius: 8px 8px 0 0;
    -moz-border-radius: 8px 8px 0 0;
    -ms-border-radius: 8px 8px 0 0;
    -o-border-radius: 8px 8px 0 0;
    border-radius: 8px 8px 0 0;
  }
  .sm-blue.sm-vertical > li:last-child > a, .sm-blue.sm-vertical > li:last-child > :not(ul) a {
    -webkit-border-radius: 0 0 8px 8px !important;
    -moz-border-radius: 0 0 8px 8px !important;
    -ms-border-radius: 0 0 8px 8px !important;
    -o-border-radius: 0 0 8px 8px !important;
    border-radius: 0 0 8px 8px !important;
  }
  .sm-blue.sm-vertical > li {
    border-left: 0 !important;
  }
  .sm-blue.sm-vertical ul {
    -webkit-border-radius: 4px !important;
    -moz-border-radius: 4px !important;
    -ms-border-radius: 4px !important;
    -o-border-radius: 4px !important;
    border-radius: 4px !important;
  }
  .sm-blue.sm-vertical ul a {
    padding: 9px 23px;
  }
}

/* ajout CI */
  .sm-blue a.niv1 span {display: none;}
  .sm-blue a.niv1 {line-height: 1.2em};

  
/* --------------------------------------
Styles pour #main-menu et .main-nav (legerement adaptes)
----------------------------------------*/
#menuhorizontal {
    background-color: #595959;
    padding: 0;
}
.main-nav {
  background-color: #595959;
}

.main-nav:after {
  clear: both;
  content: "\00a0";
  display: block;
  height: 0;
  font: 0px/0 serif;
  overflow: hidden;
}

#main-menu {
  clear: both;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
}

@media (min-width: 1081px) {
  #main-menu {
    float: inherit;
    clear: none;
  }
}

/* Mobile menu top separator */
#main-menu:before {
  content: '';
  display: block;
  height: 1px;
  font: 1px/1px sans-serif;
  overflow: hidden;
  background: #999;
}

@media (min-width: 1081px) {
  #main-menu:before {
    display: none;
  }
}

/* Mobile menu toggle button */
.main-menu-btn {
  float: right;
  margin: 10px;
  position: relative;
  display: inline-block;
  width: 29px;
  height: 29px;
  text-indent: 29px;
  white-space: nowrap;
  overflow: hidden;
  cursor: pointer;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

/* hamburger icon */
.main-menu-btn-icon,
.main-menu-btn-icon:before,
.main-menu-btn-icon:after {
  position: absolute;
  top: 50%;
  left: 2px;
  height: 2px;
  width: 24px;
  background: #fff;
  -webkit-transition: all 0.25s;
  transition: all 0.25s;
}

.main-menu-btn-icon:before {
  content: '';
  top: -7px;
  left: 0;
}

.main-menu-btn-icon:after {
  content: '';
  top: 7px;
  left: 0;
}

/* x icon */
#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon {
  height: 0;
  background: transparent;
}
#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:before {
  top: 0;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:after {
  top: 0;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

/* hide menu state checkbox (keep it visible to screen readers) */
#main-menu-state {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  border: 0;
  padding: 0;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
}

/* hide the menu in mobile view */
#main-menu-state:not(:checked) ~ #main-menu {
  display: none;
}
#main-menu-state:checked ~ #main-menu {
  display: block;
}

@media (min-width: 1081px) {
  /* hide the button in desktop view */
  .main-menu-btn {
    position: absolute;
    top: -99999px;
  }
  /* always show the menu in desktop view */
  #main-menu-state:not(:checked) ~ #main-menu {
    display: block;
  }

    .main-nav {
      background-color: inherit;
    }
  
  /* les items du menu de 1er niveau sont presentes en tableau CSS
  pour eviter qu'il s'etale sur plusieurs lignes */
  .main-nav #menuhorizontal {
    display:block;
    padding: 0 0.5em;
  /* laisser la prorite a la mediabox */
    position: relative;
    z-index:1999;
  }
  .main-nav ul#main-menu{display:table;}
  .main-nav ul#main-menu li.liniv1 {display:table-cell; float:none; vertical-align: middle;}
  .main-nav ul#main-menu a.niv1 {white-space:inherit;}
  #main-menu-state:not(:checked) ~ ul#main-menu {
    display: table-row;
  }
  
}
