/**
*
*    Media queries
*
**/


body {
-webkit-text-size-adjust: none;
}


.hidden {
display: none;
visibility: hidden;
}

.visible-phone {
display: none !important;
}

.visible-tablet {
display: none !important;
}

.hidden-desktop {
display: none !important;
}

.visible-desktop {
display: block !important;
}



/* Portrait tablet to landscape and desktop */
@media screen and (max-width: 979px) {


  .hidden-desktop {
  display: block !important;
  }
  .visible-desktop {
  display: none !important ;
  }
  .visible-tablet {
  display: block !important;
  }
  .hidden-tablet {
  display: none !important;
  }

}


/* Phone and little tablet */
@media screen and (max-width: 767px) {


  .hidden-desktop {
  display: block !important;
  }
  .visible-desktop {
  display: none !important;
  }
  .visible-tablet {
  display: none !important;
  }
  .hidden-tablet {
  display: block !important;
  }
  .visible-phone {
  display: block !important;
  }
  .hidden-phone {
  display: none !important;
  }
  
}


/**        
**        MAIN MENU
**    
**/



@media screen and (max-width: 979px) {
  
  .drop-down {
  position: relative;
  clear:none;
    float: none;
    margin:0;
    padding:0;
    width: auto !important;
    height:auto;
    z-index: 30;
  }
  
  .drop-down ul {
  background-color: transparent;
    border : none;
    display : none;
    width: 400px;
    position: absolute;
    top: 0;
    left:3%;
    max-width: 94%;
    padding:20px 0 100px 0;
    z-index: 1337;
   }
   
   #js_navigation:target .drop-down > ul {
    display : block;
  }
  
  .drop-down span.title_menu {
  display: block;
  float:none;
  position: relative;
  margin:11px 3px 10px 3px;
  line-height: 1;
  font-weight: normal;
  }
  
  .drop-down span.title_menu a {  
  display: block;
  font-size: 20px;
  text-align:center;
  margin : 0 auto;
  width:30%;
  min-width:140px;
  padding: 6px 6px;
  color: #fff;
  background: #333;
  border-radius: 8px;
  -moz-box-shadow: 1px 1px 3px #aaa inset;
  -webkit-box-shadow: 1px 1px 3px #aaa inset;
  box-shadow : 1px 1px 3px #aaa inset;
  }
  
  .icon-menu {
  display : inline-block;
  padding: 0 10px 0 0;
  background-position: 0 0;
  line-height:inherit;
  height:auto;
  width:auto;
  vertical-align:middle;
  margin:0;
  }
  
  .drop-down span.title_menu a:hover, .drop-down span.title_menu a:focus {
  background: #000;
  text-decoration: none;
  }
  
  #js_navigation:target span.title_menu {
  display: none;
  }
  
  #js_navigation:target:before {
  content: "";
  position: fixed;
  z-index: -1;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(80,80,80,.8);
  }
  
    .drop-down li {
    position: relative;
    display : block ;
    float: none;
    height:auto;
    width:auto;
    line-height: inherit;
    padding: 0 ;
    margin:0 0 4px 0;
    background-image : none;
    }
    
    .drop-down li, .drop-down li:first-child {
    border : none;
    }
    
    .drop-down li.parent a:after, .drop-down li.parent span:after {
    color: #fff;
    font-size: 100%;
    right: 12px;
    top: 15px;
    -moz-transform:rotate(90deg);
  -webkit-transform:rotate(90deg);
  -o-transform:rotate(90deg);
  -ms-transform:rotate(90deg);
  transform:rotate(90deg);
  }
  
  .drop-down li.parent li.parent a::after , .drop-down li.parent li.parent span::after,
  .drop-down li.parent li.parent li.parent a::after , .drop-down li.parent li.parent li.parent span::after {
    color: #000;
    font-size: 100%;
    right: 12px;
    top: 15px;
    -moz-transform:rotate(90deg);
  -webkit-transform:rotate(90deg);
  -o-transform:rotate(90deg);
  -ms-transform:rotate(90deg);
  transform:rotate(90deg);
  }
  
  .drop-down li.parent li.parent:hover a::after , .drop-down li.parent li.parent:hover span::after,
  .drop-down li.parent li.parent li.parent:hover a::after , .drop-down li.parent li.parent li.parent:hover span::after {
  color:#000;
  }    
  
  .drop-down li ul {
  display : block ;
  position: relative;
  top: 0;
  left: 0;
  z-index: 1;
  opacity:1;
  width: auto;
  max-width: none;
  /**  change  **/
  -moz-border-radius: 0;
  -webkit-border-radius: 0;
  -o-border-radius: 0;
  border-radius:0;
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  padding: 0;
  margin:0;
  background-color: transparent;
  }

  .drop-down li ul ul {
  top: 0;
  left: 0;
  margin:0;
  -moz-border-radius: 0;
  -webkit-border-radius: 0;
  -o-border-radius: 0;
  border-radius:0;
  }

  .drop-down li ul:hover {
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  }
  
  .drop-down li li ul:hover {
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  }
  
  .drop-down li li {
  float:none;
  width:auto;
  background-image : none;
  padding:0;
  margin:0;
  }
  
  .drop-down li a, .drop-down li span.separator {
  display : block;
  width:auto;
  height : auto;
  padding: 14px 15px 14px 25px;
  margin:0;
  text-align : left;
  text-transform: none;
  font-weight: normal;
  line-height:100%;
  font-size:150%;
  background-image:none;
  background-color : #000;
  color : #fff;
  -moz-border-radius: 8px 8px 0 0;
  -webkit-border-radius: 8px 8px 0 0;
  -o-border-radius: 8px 8px 0 0;
  border-radius: 8px 8px 0 0;
  border : none;
  -webkit-transition : none;
  -moz-transition : none;
  -ms-transition : none;
  -o-transition : none;
  transition : none;
  }
  
  .drop-down > ul > li > a:only-child {
  border-radius: 8px;
  }
  
  .drop-down li li a, .drop-down li li span.separator {
  display : block;
  width:auto;
  color : #222;
  letter-spacing: 0px;
  font-size:140%;
  line-height:inherit;
  padding: 14px 15px 14px 25px;
  margin:0 ;
  background-image:none;
  background-color : #fff;
  border: 1px solid #aaa;
  border-top: 0;
  -moz-border-radius:  0;
  -webkit-border-radius:  0;
  -o-border-radius:  0;
  border-radius:  0;
  }
  
  .drop-down li ul, .drop-down ul ul li:last-child > a {
    border-radius: 0 0 8px 8px;
  }

  .drop-down li li li a, .drop-down li li li span.separator {
  font-size:125%;
  padding: 14px 15px 14px 40px;
  background-color : #e8e8e8;
  }
  
  .drop-down ul ul ul li:last-child > a {
    border-radius: 0 ;
  }
  
  .drop-down li li li li a, .drop-down li li li li span.separator {
  font-size:120%;
  padding: 14px 15px 14px 60px;
  background-color : #d8d8d8;
  }  
  
  .drop-down li a:hover, .drop-down li span.separator:hover {
  -webkit-transition : none;
  -moz-transition : none;
  -ms-transition : none;
  -o-transition : none;
  transition : none;
  }
  
  .drop-down li li li:first-child > a, .drop-down li li li:first-child > span {
  border-top-right-radius: 0;
  border-top-left-radius: 0;
  }
  
  .drop-down li li:last-child > a, .drop-down li li:first-child > span {
  border-bottom-left-radius:  0;
  border-bottom-right-radius:  0;
  }
  
  .drop-down li:hover > ul, .drop-down li:focus > ul {
  display : block ;
  z-index:10;
  opacity:1;
  -webkit-transition : none;
  -moz-transition : none;
  -ms-transition : none;
  -o-transition :none;
  transition : none;
  }
  
  
  .drop-down a {
  text-decoration : underline !important;
  }
  
  .drop-down li:hover > a, .drop-down a[href="#js_navigation"] {
  text-decoration : none !important;
  }
  
  .drop-down a[href="#"] {
  text-decoration : none !important;
  cursor : default;
  }
  
  .drop-down > ul > li:hover > a, .drop-down > ul > li:hover > span, .drop-down > ul > li.active > a, .drop-down > ul > li.active > span {
  color: #fff ;
  background-color : #000;
  background-image: none;
  border: none;
  -moz-box-shadow: none;
  -webkit-box-shadow:none;
  box-shadow: none;
  }  
  
  .drop-down li li:hover > a, .drop-down li li:hover > span, .drop-down li li.active > a, .drop-down li li.active > span {
  color: #000 ;
  background-color : #fff;
  background-image: none;
  -moz-box-shadow: none ;
  -webkit-box-shadow: none ;
  box-shadow: none ;
  border: 1px solid #aaa;
  border-top: 0;
  }
  

  .drop-down li li li:hover > a, .drop-down li li li:hover > span, .drop-down li li li.active > a, .drop-down li li li.active > span {
  background-color : #e8e8e8;
  }

  .drop-down li li li li:hover > a, .drop-down li li li li:hover > span, .drop-down li li li li.active > a, .drop-down li li li li.active > span {
  background-color : #d8d8d8;
  }
  
  .drop-down li.current > a {
  color: #fff !important;
  text-decoration : none !important;
  background-color : #6699cc !important;
  }
  
  /* others + Disable position fixed for header */
  
  #js_navigation {
  background : #fff url(../images/bg-menu.png) 0 0 repeat;
  border-bottom:2px solid #ddd;
  }
  
  #js_navigation.barre-fixed {
  position:relative ;
  top:auto;
  left:auto;
  width:auto;
  margin: 0 auto;
  background : #fff url(../images/bg-menu.png) 0 0 repeat;
  }
  
  .drop-down li li:first-child a, .drop-down li li:first-child span.separator {
  border:1px solid #aaa;
  border-top:none;
  }
  
}

@media screen and (max-width: 979px) {
  
  body {
  min-width : 0;
  }
  
  .wrapper-site {
  width: 96%;
  padding:0;
  }


  /**   remove the fixed width of Google map     **/
  
  div[id*="googlemap"] {
  width:auto !important;
  }
  
  /**   header    **/

  .module-image {
  margin-top:12px;
  }
  
  .website-title {
  font-size:38px;
  line-height:42px;
  }

  .module-intro {
  font-size:16px;
  }

  /**   CONTENT   **/

  .left_column .moduletable > div, .right-module-position .moduletable > div,
  .top-module-position > div, .bottom-module-position > div {
  padding:14px 20px;
  }

  .left_column, .right-module-position {
  margin: 0;
  padding:0;
  min-height:0;
  }
  
  .left_column > div, .right-module-position > div {
  background-image : none;
  margin: 0;
  padding:0;  
  min-height:0;
  }
  
  .left_column > div > div, .right-module-position > div > div {
  background-image : none;
  background-color : transparent;
  }


  .left_column, .right-module-position, .top-module-position, .bottom-module-position {
  float:none;
  padding: 0;
  margin:0;
  background-image:none;
  min-height:auto;
  border:none;
  width : auto ;
  clear:both;
  }
  
  .left_column > div, .right-module-position > div {
  background-image:none;
  padding:0;
  }
  
  
  .right_column {
  overflow:visible;
  }
  
  
  /**   FOOTER     **/
  
  .website-footer {
  padding : 20px 0 40px 0;
  }
  
  .bottom_menu {
  display:block;
  float:none;
  padding:0;
  text-align:center;
  margin: 8px auto 14px auto;
  }
  
  .bottom_menu li {
  display:inline;
  float:none;
  padding:0;
  margin:0;
  width:auto;
  }
  
  .bottom_menu li a, .bottom_menu li span.separator {
  padding: 5px 7px 4px 7px;
  }

  .bottom_menu li a {
  display:inline;
  }
  
  .address {
  clear: both;
  float:none;
  padding: 4px 0 0;
  text-align: center;
  }
  
  .social-links, .social-links.without-bottom-menu {
  clear:both;
  float:none;
  margin:0 0 -20px 0;
  padding: 50px 0 0 0 ;
  text-align:center;
  }
  
  .social-links.without-bottom-menu li {
  display:inline;
  float:none;
  }
  
  #social-links li a img {
  width:20px;
  }
  



}




/* Phone and little tablet */
@media screen and (max-width: 767px) {

  /**   Header       **/
  
  .logo-header-left {
  width:auto;
  float:none;
  margin:0;
  text-align:center;
  }
  
  .module-image {
  margin : 16px auto 0 auto;
  max-width:500px;
  }
  
  
  
  .top_menu {
  display:block;
  float:none;
  padding:0;
  text-align:center;
  margin: 0 auto ;
  }
  
  .top_menu li {
  display:inline;
  float:none;
  padding: 4px 2px 0 2px;
  margin:0;
  width:auto;
  }
  
  .user1, .user2, .user3, .user4, .user5, .user6, .user7, .user8, .user9 {
  float:none;
  padding:4px 0;
  margin:0;
  width : 100% !important;
  clear:both;
  }
  
  .right-module-position, .left_column {
  padding:4px 0;
  }
  
  .top-module-position .border > div, .bottom-module-position .border > div, .user1 .border > div, .user2 .border > div, .user3 .border > div, .user4 .border > div, .user5 .border > div,
  .user6 .border > div, .user7 .border > div, .user8 .border > div, .user9 .border > div {
  margin-bottom:8px;
  }
  
  .moduletable.shadow > div {
  margin-bottom:0 !important;
  }
  
  
  /* ++++++++++++++  blog  ++++++++++++++ */
  
  .cols-2 .column-1 {
  width:auto;
  float:none;
  }
  
  .cols-2 .column-2 {
  width:auto;
  float:none;
  }
  
  .cols-3 .column-1 {
  float:none;
  width:auto;
  padding:0;
  margin-right:0;
  }
  
  .cols-3 .column-2 {
  float:none;
  width:auto;
  width:auto;
  padding:0;
  }
  
  .cols-3 .column-3 {
  float:none;
  width:auto;
  padding:0;
  }
  
  .column-1, .column-2, .column-3 {
  padding:10px 0px;
  }
  
  .column-2 {
  width:auto;
  margin-left:0;
  }
  
  .column-3 {
  width:auto;
  }


}

@media (max-width: 600px) {

  textarea, input[type="text"], input[type="password"], input[type="datetime"], input[type="datetime-local"], input[type="date"],
  input[type="month"], input[type="time"], input[type="week"], input[type="number"], input[type="email"], input[type="url"],
  input[type="search"], input[type="tel"], input[type="color"], .uneditable-input {
  max-width:280px;
  }
  
  fieldset dt {
    float: none;
    margin: 0;
    padding:15px 20px 0 0;
}

}


@media (max-width: 450px) {

  textarea, input[type="text"], input[type="password"], input[type="datetime"], input[type="datetime-local"], input[type="date"],
  input[type="month"], input[type="time"], input[type="week"], input[type="number"], input[type="email"], input[type="url"],
  input[type="search"], input[type="tel"], input[type="color"], .uneditable-input {
  max-width:200px;
  }

}

@media (max-width: 350px) {

  textarea, input[type="text"], input[type="password"], input[type="datetime"], input[type="datetime-local"], input[type="date"],
  input[type="month"], input[type="time"], input[type="week"], input[type="number"], input[type="email"], input[type="url"],
  input[type="search"], input[type="tel"], input[type="color"], .uneditable-input {
  max-width:150px;
  }

}

@media (max-width: 769px) {

  textarea, table, td, th, code, pre, samp {
  word-wrap: break-word; 
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  hyphens: auto;
  }
  
  code, pre, samp {
  white-space: pre-wrap;
  }

}