/*
Copyright © 2013 Adobe Systems Incorporated.
Licensed under the Apache License, Version 2.0 (the “License”);
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an “AS IS” BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/


.megamenu {
  position: relative;
}

.accessible-megamenu {
    position: relative;
    display:block;
    box-sizing: border-box;
    list-style: none;
    margin: 0;
    padding: 0;
    height: 3.077em;
    color: #454545;
    background-color: #FFF;

}

.accessible-megamenu h2,
.accessible-megamenu h3,
.accessible-megamenu h4 {
    font-size: 1em;
    display: inline-block;
    position: relative;
    margin: 0;
    padding: 0;
    line-height: inherit;
    border-bottom: 0;
    z-index: 666;

}

.accessible-megamenu h2 a {
    font-family: arial, sans-serif;
    text-transform: uppercase;
    color: #797979 !important;
    border: none;
    border:1px solid transparent;
}

.accessible-megamenu h2 a:after {
  content: "";
  display:inline-block;
  width:0;
  height:0;
  margin-left:4px;
  vertical-align:middle;
  border-top:5px dashed;
  border-top:4px solid\9;
  border-right:4px solid transparent;
  border-left:4px solid transparent
}

.accessible-megamenu .rubriques a::before,.accessible-megamenu .actualites a::before {
  content: "";
  display:inline-block;
  width: 5px; 
  height: 5px; 
  vertical-align: middle;
  position: relative;
  left: -5px;
  background: #5A7696;
}

.accessible-megamenu .rubriques a:hover::before,.accessible-megamenu .actualites a:hover::before {
  background-color: #23527c;
}

.accessible-megamenu .rubriques a,.accessible-megamenu .actualites a {
  margin-left: 5px;
}

.accessible-megamenu > .accessible-megamenu-top-nav-item {
    position: static;
    display: block;
    box-sizing: border-box;
    list-style: none;
    margin: 0;
    padding: 0;
    height: 3.077em;
    float: left;
    color: #454545;
}

.accessible-megamenu :focus {
    outline:  2px solid rgba(34, 95, 215, 0.3);
    -moz-outline-radius: 3px;
}

.accessible-megamenu > .accessible-megamenu-top-nav-item a[aria-expanded] {
    position: static;
    display: block;
    line-height: 3em;
    height: 3em;
    padding-left: 0.769em;
    padding-right: 0.769em;
    color: #454545;
    text-decoration: none;
    z-index: inherit;
}


.accessible-megamenu > .accessible-megamenu-top-nav-item a[aria-expanded]:hover,
.accessible-megamenu > .accessible-megamenu-top-nav-item a[aria-expanded]:focus {
    color: #333 !important;
    outline-offset: -1px;
}

.accessible-megamenu > .accessible-megamenu-top-nav-item a[aria-expanded]:hover,
.accessible-megamenu > .accessible-megamenu-top-nav-item a[aria-expanded]:focus,
.accessible-megamenu > .accessible-megamenu-top-nav-item a[aria-expanded].open {
    margin-left: 0;
    z-index: 1002;
}

.accessible-megamenu > .accessible-megamenu-top-nav-item a[aria-expanded]:hover::before,.accessible-megamenu > .accessible-megamenu-top-nav-item a[aria-expanded="true"]::before {

    content: "";
    display: block;
    width: 100%;
    height: 3px;
    background: -webkit-linear-gradient(left, transparent 0%, transparent 30%, #BBBBBB 30%, #BBBBBB 70%, transparent 70%, transparent 100%);
    background: linear-gradient(to right, transparent 0%, transparent 30%, #BBBBBB 30%, #BBBBBB 70%, transparent 70%, transparent 100%);
    position: absolute;
    bottom: 1px;
    left: 0;
    z-index: 998;

}

.accessible-megamenu > .accessible-megamenu-top-nav-item h2.active a[aria-expanded]::before {
    content: "";
    display: block;
    width: 100%;
    height: 3px;
    background: -webkit-linear-gradient(left, transparent 0%, transparent 30%, #FE5400 30%, #FE5400 70%, transparent 70%, transparent 100%);
    background: linear-gradient(to right, transparent 0%, transparent 30%, #FE5400 30%, #FE5400 70%, transparent 70%, transparent 100%);
    position: absolute;
    bottom: 1px;
    left: 0;
    z-index: 998;
}

.accessible-megamenu > .accessible-megamenu-top-nav-item a[aria-expanded].open {
    border: 1px solid grey;
    border-bottom: none;
        z-index: 999;
        outline:none;
background: white;
}

.accessible-megamenu > .accessible-megamenu-top-nav-item:first-child a[aria-expanded] {
    border-bottom-left-radius: 3px;
}

.accessible-megamenu > .accessible-megamenu-top-nav-item:first-child a[aria-expanded].open {
    border-bottom-left-radius: 0px;

    left: -1px;
}

.accessible-megamenu .accessible-megamenu-panel {
    position: absolute;
    display: block;
    left: 0;
    color: #454545;
    margin: 0;
    padding:1.5em;
    line-height: normal;
    background-color: #FFF;
    cursor: default;
    visibility: hidden;
    top: -9999em;
    max-height: 0px;
    overflow: hidden;
    opacity: 0;
    -webkit-transition: opacity 250ms ease 250ms, visibility 0s linear 500ms;
    -moz-transition: opacity 250ms ease 250ms, visibility 0s linear 500ms;
    -ms-transition: opacity 250ms ease 250ms, visibility 0s linear 500ms;
    -o-transition: opacity 250ms ease 250ms, visibility 0s linear 500ms;
    transition: opacity 250ms ease 250ms, visibility 0s linear 500ms;
    border: 1px solid grey;
    z-index: 455;
    border-radius: 0 0 5px 5px;
    -webkit-box-shadow: 0 6px 12px rgba(0,0,0,.175);
    box-shadow: 0 6px 12px rgba(0,0,0,.175);
}

.accessible-megamenu .accessible-megamenu-panel.open {
    visibility: visible;
    top: 2.9em;
    max-height: 600px;
    opacity: 1;
    z-index: 555;
    -webkit-transition: opacity 250ms ease, visibility 0s linear 0s;
       -moz-transition: opacity 250ms ease, visibility 0s linear 0s;
        -ms-transition: opacity 250ms ease, visibility 0s linear 0s;
         -o-transition: opacity 250ms ease, visibility 0s linear 0s;
            transition: opacity 250ms ease, visibility 0s linear 0s;
}

.accessible-megamenu .accessible-megamenu-panel a {
    display: inline-block;
    font-size: .92em;
    line-height: 1.2em;
    text-decoration: none;
    color: #337ab7;
    font-weight: bold;
    text-decoration: none;
    margin-bottom: 0.5em;
}


.accessible-megamenu .accessible-megamenu-panel.cols-4 {
    width: 878px;
}

.accessible-megamenu .accessible-megamenu-panel.cols-4 > ol > li {
    width: 22%;
}

.accessible-megamenu .accessible-megamenu-panel.cols-4b {
    width: 878px;
    left: -6.462em;
    border-top-left-radius: 3px;
}

.accessible-megamenu .accessible-megamenu-panel.cols-4b > ol > li {
    width: 22%;
}

.accessible-megamenu .accessible-megamenu-panel.cols-3 {
    width: 1290px;
    max-width: 100%;
}

.accessible-megamenu .accessible-megamenu-panel.cols-3 > ol > li {
    width: 30%;
}

.accessible-megamenu .accessible-megamenu-panel.cols-1 {
    width: 615px;
}

.accessible-megamenu .accessible-megamenu-panel.cols-1 > ol > li {
    width: auto;
}

.accessible-megamenu .accessible-megamenu-panel ol {
    display: block;
    list-style: none;
    margin: 0;
    padding: 0;
}

.accessible-megamenu .accessible-megamenu-panel ol > li {
    position: relative;
    list-style: none;
    margin: 0;
    padding: 0;
}

.accessible-megamenu .accessible-megamenu-panel > ol > li {
    float: left;
    display: block;
    margin-right: 1em;
    margin-bottom: 1em;
    padding-left: 1em;
    border-left: 1px solid rgba(0,0,0, 0.3);
    box-shadow: inset 1px 0 0 #fff;
}

.accessible-megamenu .accessible-megamenu-panel > ol > li:first-of-type {
    padding-left: 0;
    border-left: none;
    box-shadow: none;
}

.accessible-megamenu .accessible-megamenu-panel > p {
    color: #454545;
    font-size: 1.2em;
    line-height: 1.1em;
}

.accessible-megamenu .accessible-megamenu-panel > ol > li > h3  {
    font-weight: bold;
    color: #454545;
    font-size: 1.2em;
    margin-bottom: 6px;
    padding-top: .4em;
    padding-bottom: 0;
    line-height: 1.1em;
}

.accessible-megamenu .accessible-megamenu-panel ol ol > li > a {
    width: auto;

}

.accessible-megamenu .accessible-megamenu-panel a:hover,
.accessible-megamenu .accessible-megamenu-panel a:focus {
    color: #23527c;
    text-decoration: underline;
}

.accessible-megamenu .accessible-megamenu-panel > h2 > a {
    font-weight: bold;
    color: #454545;
    font-size: 1.5em;
    margin-bottom: 0;
    margin-top: .8em;
    padding-bottom: 0;
    line-height: 1.4em;
}

.accessible-megamenu .accessible-megamenu-panel > h2 > a:hover,
.accessible-megamenu .accessible-megamenu-panel > h2 > a:focus,
.accessible-megamenu .accessible-megamenu-panel > ol > li > h3 > a:hover,
.accessible-megamenu .accessible-megamenu-panel > ol > li > h3 > a:focus {
    color: #333;
}

.accessible-megamenu .accessible-megamenu-panel hr {
    border-width: 1px 0px;
    border-style: solid;
    border-top-color: rgba(0,0,0, 0.3);
    border-bottom-color: #fff;
}

/* hides redundant header links in panel when megamenu is not initialized */
.accessible-megamenu:not(.js-accessible-megamenu) .accessible-megamenu-panel > h2 {
    display: none;
}

.accessible-megamenu-toggle {
  display: none;
  background: none;
  border: 0;
  padding: 0;
  position: absolute;
  z-index: 1;
  top: 3px;
  right: 1em;
  width: 33px;
  height: 33px;
}

.accessible-megamenu-toggle > span:not(.sr-only) {
  display: block;
  width: 33px;
  height: 4px;
  margin-bottom: 5px;
  position: relative;

  background: #000;
  border-radius: 3px;

  z-index: 1;

  transform-origin: 0 0;

  transition: transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0),
              background 0.5s cubic-bezier(0.77,0.2,0.05,1.0),
              margin 0.5s cubic-bezier(0.77,0.2,0.05,1.0),
              opacity 0.55s ease;
}

.accessible-megamenu-toggle > span {
  margin-top: 5px;
}

.accessible-megamenu-toggle > span:nth-last-child(1) {
  transform-origin: 0% 100%;
}

/*
 * Transform all the slices of hamburger
 * into a crossmark.
 */
.accessible-megamenu-toggle[aria-expanded=true] > span
{
  margin-top: 0;
  opacity: 1;
  transform: rotate(45deg) translate(4px, -3px);
  background: #000;
  border-radius: 0;
}

/*
 * But, hide the middle one.
 */
.accessible-megamenu-toggle[aria-expanded=true] > span:nth-last-child(2)
{
  opacity: 0;
  transform: rotate(0deg) scale(0.2, 0.2);
}

/*
 * the last one should go the other direction.
 */
.accessible-megamenu-toggle[aria-expanded=true] > span:nth-last-child(1)
{
  transform: rotate(-45deg) translate(0px, 7px);
}

@media (max-width: 920px) {
  .accessible-megamenu > .accessible-megamenu-top-nav-item {
    position: static;
  }

  .accessible-megamenu .accessible-megamenu-panel.cols-4,
  .accessible-megamenu .accessible-megamenu-panel.cols-4b,
  .accessible-megamenu .accessible-megamenu-panel.cols-3,
  .accessible-megamenu .accessible-megamenu-panel.cols-1 {
    width: auto;
    left: 0;
    right: 0;
  }

  .accessible-megamenu .accessible-megamenu-panel.open {
    max-height: inherit
  }

  .accessible-megamenu .accessible-megamenu-panel.cols-4 > ol > li,
  .accessible-megamenu .accessible-megamenu-panel.cols-4b > ol > li,
  .accessible-megamenu .accessible-megamenu-panel.cols-3 > ol > li {
    width: 44%;
  }

  .accessible-megamenu .accessible-megamenu-panel.cols-1 > ol > li {
    width: 100%;
  }

  .accessible-megamenu .accessible-megamenu-panel.cols-3 > ol > li {
    min-height: 256px;
  }

  .accessible-megamenu .accessible-megamenu-panel > ol > li {
    float: left;
    display: block;
    margin-right: 1em;
    margin-bottom: 1em;
  }

  .accessible-megamenu .accessible-megamenu-panel.cols-4 > ol > li:nth-of-type(3),
  .accessible-megamenu .accessible-megamenu-panel.cols-4b > ol > li:nth-of-type(3),
  .accessible-megamenu .accessible-megamenu-panel.cols-3 > ol > li:nth-of-type(3)  {
    padding-left: 0;
    border-left: none;
    box-shadow: none;
  }
}

@media (max-width: 767px) {
  .accessible-megamenu-toggle {
    display: block;
    z-index: 3;
  }

  .accessible-megamenu-toggle ~ .accessible-megamenu > .accessible-megamenu-top-nav-item {
    height: 0;
    overflow: hidden;
    visibility: collapse;
  }

  .accessible-megamenu-toggle[aria-expanded=true] ~ .accessible-megamenu > .accessible-megamenu-top-nav-item {
    height: auto;
    overflow: visible;
    visibility: visible;
  }

  .accessible-megamenu {
    height: auto;
    padding-top: 3.077em;
    z-index: 2;
  }

  .accessible-megamenu > .accessible-megamenu-top-nav-item {
    border-right: 0;
    float: none;
    width: 100%;
    height: auto;
  }

  .accessible-megamenu > .accessible-megamenu-top-nav-item a[aria-expanded] {
    box-shadow: none;
  }

  .accessible-megamenu .accessible-megamenu-panel,
  .accessible-megamenu .accessible-megamenu-panel.open {
    position: relative;
    top: 0;
    border: 0;
    box-shadow: none;
    padding-bottom: 0;
  }

  .accessible-megamenu .accessible-megamenu-panel.open {
    padding-bottom: 0.769em;
    max-height: 350px;
    overflow: auto;
  }


}

@media (max-width: 414px) {
  .accessible-megamenu .accessible-megamenu-panel.cols-4 > ol > li,
  .accessible-megamenu .accessible-megamenu-panel.cols-4b > ol > li,
  .accessible-megamenu .accessible-megamenu-panel.cols-3 > ol > li,
  .accessible-megamenu .accessible-megamenu-panel.cols-1 > ol > li {
    width: 100%;
  }

  .accessible-megamenu .accessible-megamenu-panel.cols-4 > ol > li,
  .accessible-megamenu .accessible-megamenu-panel.cols-4b > ol > li,
  .accessible-megamenu .accessible-megamenu-panel.cols-3 > ol > li  {
    padding-left: 0;
    border-left: none;
    box-shadow: none;
  }
}
