@charset "utf-8";
/*
 * Monde-Du-Vélo — feuille de style unique.
 * Partie 1 : styles historiques (ancien css/global-12.css), nettoyés des règles des
 *            plugins jQuery supprimés et corrigés (règle invalide « .cf_8, { »).
 * Partie 2 : couche moderne (mise en page fluide, tablette, formulaires, composants).
 */

/* ================================================================== */
/* Partie 1 — styles historiques                                       */
/* ================================================================== */
@media screen and (max-width: 900px) {
  #header, #contenu, #footer2, #footer3, .footer_contenu, #pub_header, #logo, #logo_search, #header_page, #pub_footer, #col740accueil, #col300accueil, .div-acc-actu, #div-acc-communique, #col-acc-annuaire, #col-acc-emploi, #page, .col_lu_presse, .pub_footer, .col_footer {
    width: 100% !important;
    float: none !important;
    padding: 0!important;
    margin: 0!important;
  }
  #header_page {
    height: auto!important;
  }
  .info_evenement {
    width: 100% !important;
    float: none !important;
  }
  .plus_info_evenement {
    float: none !important;
    padding-top: 0 !important;
    width: 200px;
  }
  .communique_tx, .communique, .cf_1, .cf_2, .cf_3, .cf_4, .cf_5, .cf_6, .cf_7, .cf_8 {
    width: 100% !important;
  }
  #contenu_g {
    width: 100% !important;
    float: none !important;
    padding: 0!important;
    margin: 0!important;
  }
  #contenu_d {
    margin: 0!important;
    padding: 0!important;
    width: 100% !important;
  }
  #pub_footer, #pub_header, .pub_footer {
    height: auto !important;
    padding: 10px 0 !important;
  }
  #logo img {
    max-width: 100% !important;
    height: auto !important;
    padding: 10px 0;
  }
  img, #cartefrance, #cartegoogle, .img_mobile {
    max-width: 100% !important;
    height: auto !important;
  }
  #cartegoogle {
    max-width: 100% !important;
    height: 400px !important;
  }
  .mobilecache {
    display: none !important;
  }
  .contenu_detail_mag {
    width: 220px !important;
  }
  .affichemobile {
    display: block !important;
  }
  .footer_contenu ul, .col_footer {
    float: none !important;
  }
  #cse-search-box .search-input {
    width: 70% !important;
    float: none !important;
    font-size: 1em !important;
    -webkit-border-radius: 5px 0 0 5px!important;
    border-radius: 5px 0 0 5px!important;
  }
  #search-haut {
    width: 100% !important;
    float: none !important;
    padding: 0!important;
    margin: 0!important;
  }
  #cse-search-box .submit-button {
    border-radius: 0 5px 5px 0!important;
    border: none !important;
  }
}
.lien_rub {
  text-align: right;
  margin: 5px;
}
.font1 {
  font-size: x-small;
}
.rouge {
  color: #FF0202;
}
.noir {
  color: #000;
}
.scrollup {
  width: 40px;
  height: 40px;
  position: fixed;
  bottom: 30px;
  right: 30px;
  display: none;
  color: white;
  background-color: #3c3c3c;
  border: 1px solid #fff;
  font-size: 20px;
  text-align: center;
  line-height: 37px;
  -moz-border-radius: 6px;
  -webkit-border-radius: 6px;
  border-radius: 6px;
}
.scrollup:hover {
  color: white;
}
#pubdroitfixe {
  height: 610px;
}
#col740accueil {
  width: 650px;
  display: inline-block;
  margin-right: 10px;
  float: left;
  background-color: #FFFFFF;
}
#col300accueil {
  width: 480px;
  display: inline-block;
  background-color: #FFF;
  float: right;
}
.div-acc-actu {
  width: 580px;
  display: inline-block;
  background-color: #FFF;
  margin-right: 20px;
  float: left;
}
#div-acc-communique {
  width: 540px;
  display: inline-block;
  background-color: #FFF;
}
#col-acc-annuaire {
  width: 632px;
  background-color: #FFF;
  margin-right: 20px;
  float: left;
  margin-top: 20px;
}
#col-acc-emploi {
  width: 488px;
  background-color: #FFF;
  float: left;
  margin-top: 20px;
}
.acc_droit {
  margin-bottom: 30px;
}
.marge-haut-bas {
  margin: 5px 0;
}
#cartegoogle {
  width: 820px;
  height: 730px;
}
#cartefrance {
  height: 650px;
  width: 650px;
}
a {
  color: #00C;
  text-decoration: none;
}
a:hover {
  color: #c6c6c6;
}
.affichemobile {
  display: none;
}
body {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 0.80em;
  padding: 0;
  margin: 0;
}
h1, h2, h3 {
  padding: 0;
  margin: 0;
  font-weight: normal;
  -webkit-margin-before: 0;
  -webkit-margin-start: 0;
}
.clear {
  clear: both;
}
#fd_header {
  background-color: #3c3c3b;
}
#header {
  font-size: 0.823em;
  color: #fff;
  width: 1152px;
  margin: auto;
  padding: 6px 0;
}
#header ul {
  margin-left: 20px;
  list-style: none;
  padding: 0;
  margin: 0;
}
#header ul li {
  margin-right: 50px;
  display: inline;
}
#header ul li a {
  color: #fff;
  text-decoration: none;
}
#header ul li a:hover {
  color: #fff;
  text-decoration: underline;
}
#page {
  background-color: #fff;
  width: 1154px;
  margin: auto;
  background-color: #fff;
}
#header_page {
  width: 1152px;
  margin: auto;
  background-color: #fff;
  height: 190px;
}
#logo_search {
  width: 1100px;
  display: inline-block;
  float: left;
}
#header_social {
  width: 50px;
  float: right;
  display: inline;
}
#header_social img {
  opacity: 1;
  transition: opacity .25s ease-in-out;
  -moz-transition: opacity .25s ease-in-out;
  -webkit-transition: opacity .25s ease-in-out;
}
#header_social img:hover {
  opacity: 0.5;
}
#logo {
  margin: auto;
  width: 450px;
  padding: 20px 0;
}
#logo img {
  width: 450px;
  height: 204px;
}
#search-haut {
  text-align: center;
  display: block;
  width: 700px;
  margin: auto;
}
#cse-search-box .search-input {
  height: 42px;
  border: 0;
  font-size: 1.6em;
  width: 500px;
  padding: 0 12px;
  margin-left: 0;
  -webkit-box-shadow: inset 0 0 1px #878787;
  box-shadow: inset 0 0 1px #878787;
  -webkit-border-radius: 21px 0 0 21px;
  border-radius: 21px 0 0 21px;
  font-style: italic;
}
input[type="text"] {
  border: 1px solid #ccc;
}
input[type="submit"], input[type="reset"], input[type="button"], button {
  -moz-border-radius: 7px;
  -webkit-border-radius: 7px;
  border-radius: 7px;
  background-color: #1C154E;
  -moz-background-clip: padding;
  -webkit-background-clip: padding-box;
  background-clip: padding-box;
  font-size: 12px;
  color: #fff;
  display: inline;
  padding: 6px;
  margin: 10px;
  border: none;
}
input[type="submit"]:hover, input[type="reset"]:hover, input[type="button"]:hover, button:hover {
  background-color: #49b6fe;
  -moz-box-shadow: 0px 0px 2px #000000;
  -webkit-box-shadow: 0px 0px 2px #000000;
  box-shadow: 0px 0px 2px #000000;
  cursor: pointer;
}
#cse-search-box .submit-button {
  -webkit-font-smoothing: antialiased;
  cursor: pointer;
  padding: 3px 12px 3px 3px;
  min-width: 60px;
  border-radius: 0 21px 21px 0;
  color: #fff;
  background-color: #background-color:#1C154E;
  height: 42px;
  border: 0;
  font-size: 1.6em;
  margin-left: -5px;
}
#menu {
  width: 1152px;
  margin: 20px auto;
  padding-left: 13px;
}
#menu ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
#menu ul li {
  padding: 8px 2px;
  margin: 10px 0;
  float: left;
  display: inline-block;
  zoom: 1;
  display: inline;
  position: relative;
}
#menu ul li a {
  color: #fff;
  text-decoration: none;
  text-transform: uppercase;
  font-size: 1.20em;
  font-family: Tahoma, Geneva, sans-serif;
  display: inline-block;
  padding: 8px 36px;
  transform: skew(-30deg);
  -o-transform: skew(-30deg);
  -moz-transform: skew(-30deg);
  -webkit-transform: skew(-30deg);
  background: #3C3937;
  margin-right: 1px;
}
#menu ul li a span {
  display: inline-block;
  transform: skew(30deg);
  -o-transform: skew(30deg);
  -moz-transform: skew(30deg);
  -webkit-transform: skew(30deg);
}
#menu ul li a:hover, #menu ul li:hover > a {
  background-color: #efefef;
  color: #3c3c3b;
}
#menu ul li a.current-menu-item {
  color: #fff;
  background: #1C154E;
}
#menu ul li a.current-menu-item:hover {
  background: #3c3c3b;
  color: #fff;
}
#menu ul li:current {
  background: #090;
}
#menu ul li div {
  display: none;
  margin: auto;
  padding: 5px;
  position: absolute;
  top: 43px;
  left: 0;
  z-index: 99999;
  width: 1120px;
  background: #fff;
  border: 1px solid #ccc;
  border-bottom: 5px solid #1C154E;
  -webkit-box-shadow: 0px 0px 5px #5a5a5a;
  box-shadow: 0px 0px 5px #5a5a5a;
  -moz-box-shadow: 0px 0px 5px #5a5a5a;
}
#menu ul li div .menulist li {
  padding: 10px;
  margin: 0;
  float: none;
}
#menu ul li div .menulist li:before {
  content: "\2023 \0020";
}
#menu ul li div .menulist li a {
  text-transform: inherit;
  font-size: 1em;
  padding: 0;
  transform: none;
  -o-transform: none;
  -moz-transform: none;
  -webkit-transform: none;
  background: #fff;
  color: #000;
}
#menu ul li div .menulist li a:hover {
  color: #1C154E;
}
#menu ul li div .menulistcolsimple {
  display: inline-block;
  border-right: dotted 1px #1C154E;
  padding-right: 20px;
  margin-left: 20px;
  margin-bottom: 10px;
  vertical-align: top;
}
#menu ul li div .menulistcolsimple:nth-child(1) {
  border-right: dotted 1px #1C154E;
  padding-right: 15px;
  margin-left: 0;
}
#menu ul li div .menulistcolsimple:nth-last-child(3) {
  border-right: none;
  padding-right: 0;
  margin-left: 15px;
}
#menu > ul > li:nth-child(2) > div > a {
  display: inline-block;
  margin: 10px 5px;
  position: static;
  box-shadow: none;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  left: inherit;
  top: inherit;
  text-align: center;
  text-transform: inherit;
  font-size: 1em;
  padding: 5px;
  transform: none;
  -o-transform: none;
  -moz-transform: none;
  -webkit-transform: none;
  background: none;
  color: #000;
}
#menu > ul > li > div > a:before {
  content: "\2023 \0020";
}
#menu > ul > li > div > a:hover {
  color: #f3cd17;
}
#menu > ul > li > div > a.button:before {
  content: "";
}
#menu > ul > li > div > a.button {
  border: #CCC 1px solid;
  float: right;
  display: block;
  margin: 10px 5px 10px 0;
  position: static;
  box-shadow: none;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  left: inherit;
  width: 200px;
  top: inherit;
  text-align: center;
  text-transform: inherit;
  font-size: 1em;
  padding: 5px;
  transform: none;
  -o-transform: none;
  -moz-transform: none;
  -webkit-transform: none;
  background: none;
  color: #fff;
  background-color: #1C154E;
}
#menu > ul > li > div > a.button:hover {
  background-color: #49b6fe;
}
#menu ul li div .menulistcolsimple li {
  padding: 0 10px;
  margin: 0;
  display: block;
  float: none;
}
#menu ul li div .menulistcolsimple li:before {
  content: "\00BB \0020";
}
#menu ul li div .menulistcolsimple li a {
  text-transform: inherit;
  font-size: 1em;
  padding: 0;
  transform: none;
  -o-transform: none;
  -moz-transform: none;
  -webkit-transform: none;
  background: #fff;
  color: #000;
}
#menu ul li div .menulistcolsimple li:hover > a {
  color: #1C154E;
  background: #fff;
}
#menu ul li:hover > div {
  display: block;
}
#pub_header {
  width: 1154px;
  margin: auto;
  margin-bottom: 20px;
  text-align: center;
  z-index: 999;
}
#pub_footer, .pub_footer {
  width: 1152px;
  margin: 0px auto;
  text-align: center;
  height: 250px;
  padding: 20px 0;
}
#contenu {
  margin: auto;
  width: 1140px;
  background-color: #FFF;
}
#contenu_g {
  width: 820px;
  float: left;
  display: inline-block;
  height: 100%;
}
#contenu_d {
  width: 300px;
  float: right;
  display: inline-block;
  margin-left: 20px;
  height: 100%;
}
.barre_titre {
  padding: 0;
  transform: skew(-30deg);
  -o-transform: skew(-30deg);
  -moz-transform: skew(-30deg);
  -webkit-transform: skew(-30deg);
  background: #efefef;
  margin: 0 5px;
}
.barre_titre h1, .barre_titre h2, .barre_titre h4, .barre_titre div, a.barre_titre2 {
  font-size: 1.35em;
  text-transform: capitalize;
  font-family: Tahoma, Geneva, sans-serif;
  display: inline-block;
  background: #1C154E;
  margin: 0;
  padding: 4px 10px;
  border-right: 4px solid white;
  text-transform: uppercase;
  font-weight: normal;
  line-height: normal;
}
.barre_titre h1 span, .barre_titre h2 span, .barre_titre h4 span, a.barre_titre2 span {
  color: #fff;
  transform: skew(30deg);
  -o-transform: skew(30deg);
  -moz-transform: skew(30deg);
  -webkit-transform: skew(30deg);
  display: block;
}
.barre_titre h1 a, .barre_titre h2 a, .barre_titre span h4 a {
  text-decoration: none;
  font-size: initial;
  font-weight: inherit;
}
.barre_titre div {
  display: inline;
  padding: 0 10px;
  margin-left: 3px;
}
h2, h2 a, h3, h3 a {
  text-transform: uppercase;
  font-size: 0.9rem;
  color: #3c3c3b;
  margin: 5px 0;
  font-weight: bold;
}
.barre_oblique {
  background-image: url(/images/oblique.png);
  background-repeat: repeat-x;
  height: 3px;
  margin: 5px 0;
}
.txt_align_center {
  text-align: center;
}
.arobase {
  vertical-align: middle;
  margin: 1px;
}
#footer1 {
  background-color: #1C154E;
}
#footer2 {
  background-color: #1C154E;
}
#footer3 {
  background-color: #1d1d1d;
}
.footer_contenu {
  width: 1152px;
  margin: auto;
  color: #fff;
  padding: 8px 0;
  position: relative;
}
.footer_contenu a {
  color: #FFF;
  text-decoration: none;
}
.footer_contenu a:hover {
  color: #fff;
  text-decoration: none;
}
#footer_logo {
  display: inline-block;
}
#footer_texte1 {
  display: inline-block;
  vertical-align: top;
  padding-top: 15px;
  width: 750px;
  text-align: center;
}
#footer_texte1 a {
  text-decoration: none;
  color: #FFF;
  padding-right: 20px;
}
#footer_texte1 a:hover {
  color: #fff;
}
#footer_sociaux {
  float: right;
  display: inline-block;
  vertical-align: top;
  padding-top: 8px;
}
#footer_sociaux img {
  padding-left: 3px;
}
#footer_sociaux img:hover, #footer_logo img:hover {
  filter: brightness(20%);
  -webkit-filter: brightness(20%);
  -moz-filter: brightness(20%);
  -o-filter: brightness(20%);
  -ms-filter: brightness(20%);
}
.footer_contenu ul {
  list-style: none;
  padding: 8px 0;
  margin: 0;
  display: inline-block;
  vertical-align: top;
}
.footer_contenu ul li {
  margin-top: 5px;
}
.footer_contenu ul li:first-child {
  color: #1C154E;
  text-transform: uppercase;
  font-weight: bold;
  margin-bottom: 5px;
}
.footer_contenu ul li:first-child a {
  color: #C6E74F;
}
.footer_contenu ul li:first-child a:hover {
  color: #fff;
}
#footer3 .footer_contenu {
  font-size: 0.7em;
}
#partenaire {
  display: inline-block;
  margin: 15px 0 0px 0;
  font-size: 0.7em;
  padding: 0;
}
#partenaire li {
  margin-right: 10px;
  display: inline-block;
}
#vs_breadcrumbs ul.mmmenu {
  margin: 0;
  overflow: hidden;
}
#vs_breadcrumbs.mmchevron ul.mmmenu li a {
  text-decoration: none;
  color: #878787;
}
#vs_breadcrumbs.mmchevron ul.mmmenu li.mmsep:before {
  content: "\f105";
  font-family: FontAwesome;
  margin: 0 5px;
}
#vs_breadcrumbs.mmchevron ul.mmmenu li.mmlast {
  width: 10px;
  padding: 0;
}
#vs_breadcrumbs.mmchevron li.hometab a {
  background: none;
  padding-right: 0;
}
#vs_breadcrumbs ul {
  list-style-type: none;
  padding: 0;
  margin: 0;
}
#vs_breadcrumbs ul li {
  display: block;
  float: left;
  font-size: 0.75rem;
  text-transform: uppercase;
  color: #878787;
  font-family: sans-serif,Verdana, Geneva;
  font-weight: bold;
}
#vs_breadcrumbs ul li a {
  display: inline;
}
#vs_breadcrumbs {
  margin-bottom: 20px;
  margin-top: 20px;
}
A.button_gris {
  border: #ADADAD 1px solid;
  padding: 5px;
  display: inline-block;
  text-align: center;
  vertical-align: top;
}
div#button_add, .button_add {
  background-color: #9AC11B;
  -moz-border-radius: 5px;
  -webkit-border-radius: 7px;
  border-radius: 7px;
  font-size: 0.9em;
  color: #fff;
  display: inline;
  padding: 8px;
  margin: 10px;
  color: #fff;
}
div#button_add:hover, .button_add:hover {
  background-color: #8CBE22;
  -moz-box-shadow: 0px 0px 2px #000000;
  -webkit-box-shadow: 0px 0px 2px #000000;
  box-shadow: 0px 0px 2px #000000;
  color: #FFF;
}
.button_mag_info:hover, #plus_info:hover, .plus_info:hover {
  background-color: #8CBE22;
  -moz-box-shadow: 0px 0px 2px #000000;
  -webkit-box-shadow: 0px 0px 2px #000000;
  box-shadow: 0px 0px 2px #000000;
  color: #FFF;
}
a.lien_mag_info:hover {
  text-decoration: none;
}
#plus_info, .plus_info {
  -moz-border-radius: 7px;
  -webkit-border-radius: 7px;
  border-radius: 7px;
  background-color: #1C154E;
  font-size: 0.9em;
  color: #fff;
  display: inline;
  padding: 6px;
}
#button_facebook, #button_twitter, #button_google, #button_instagram {
  color: #fff;
  width: 150px;
  float: left;
  margin-right: 3px;
  font-size: 16px;
  font-weight: bold;
  padding: 3px;
}
#button_facebook {
  background-color: #3a589b;
}
#button_twitter {
  background-color: #55acee;
}
#button_google {
  background-color: #d95032;
}
#button_instagram {
  background-color: #125688;
}
#button_facebook img, #button_twitter img, #button_google img, #button_instagram img {
  vertical-align: middle;
  border-right: 1px solid #ccc;
  margin-right: 10px;
  padding-right: 3px;
}
#button_facebook:hover, #button_twitter:hover, #button_google:hover, #button_instagram:hover {
  transition: opacity .25s ease-in-out;
  -moz-transition: opacity .25s ease-in-out;
  -webkit-transition: opacity .25s ease-in-out;
  opacity: 0.5;
}
.spacer50 {
  height: 50px;
}
.spacer25 {
  height: 25px;
}
.spacer10 {
  height: 10px;
}
#barre_navig {
  text-align: center;
  margin-top: 10px;
  margin-bottom: 20px;
}
#barre_navig a {
  border: 1px solid #ccc;
  padding: 5px 8px;
  margin-right: 5px;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: bold;
  text-decoration: none;
}
#barre_navig a:hover {
  border: 1px solid #000;
}
#barre_navig a.active {
  border: 1px solid #1C154E;
  color: #fff;
  background-color: #1C154E;
}
div#actu, div.actu {
  border-bottom: #CCC 1px solid;
  padding: 10px;
  overflow: hidden;
}
div#actu:hover, div.actu:hover {
  background-color: #49b6fe;
  color: #fff !important;
}
div#actu div#img, div.actu div.img {
  width: 130px;
  float: left;
}
div#actu div#img img, div.actu div.img img {
  border: 1px solid #ccc;
}
div#actu div#contenu_mag, div.actu div.contenu_mag {
  float: left;
  width: 620px;
}
div#actu div#contenu_mag, div.actu div.contenu_mag {
  color: #06F;
}
div#actu div#contenu_mag:hover, div.actu div.contenu_mag:hover {
  color: #ffF;
}
div#actu div#contenu_mag span.date, div.actu div.contenu_mag span.date {
  color: #999;
  text-transform: uppercase;
  font-size: 0.85em;
}
div#actu div#contenu_mag span.txt, div.actu div.contenu_mag span.txt {
  color: #000;
}
h1.titre_actu, h2.titre_actu {
  border: none;
  font-size: 2.2em;
  color: #333;
  background-color: inherit;
  margin-bottom: 20px;
  text-transform: uppercase;
  margin-top: 10px;
  font-family: 'Roboto', sans-serif;
  font-weight: 300;
}
.button_mag_info {
  -moz-border-radius: 7px;
  -webkit-border-radius: 7px;
  border-radius: 7px;
  font-size: 16px;
  color: #fff;
  display: inline;
  padding: 6px;
  background-color: #9AC11B;
}
#websiteEditForm p {
  margin: 20px;
}
#websiteEditForm label {
  display: block;
  width: 20%;
  float: left;
  padding-right: 1%;
  text-align: right;
}
#websiteEditForm input, #websiteEditForm select, #websiteEditForm textarea {
  margin-left: 1%;
  width: 50%;
  border: #CCC 1px solid;
  padding: 5px;
}
#websiteEditForm input:hover, #websiteEditForm select:hover, #websiteEditForm input:focus, #websiteEditForm select:focus {
  border: #999 1px solid;
  background-color: #49b6fe;
  color: #fff;
}
#websiteEditForm input[type="submit"] {
  width: inherit;
}
.degrade_gris {
  color: #000;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = '#ececec', endColorstr = '#fff');
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr = '#ececec', endColorstr = '#fff')";
  background-image: -moz-linear-gradient(top, #ececec, #fff);
  background-image: -ms-linear-gradient(top, #ececec, #fff);
  background-image: -o-linear-gradient(top, #ececec, #fff);
  background-image: -webkit-gradient(linear, center top, center bottom, from(#ececec), to(#fff));
  background-image: -webkit-linear-gradient(top, #ececec, #fff);
  background-image: linear-gradient(top, #ececec, #fff);
  border: 1px solid #adadad;
}
.degrade_jaune {
  color: #000;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = '#ffe43d', endColorstr = '#f3cd17');
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr = '#ffe43d', endColorstr = '#f3cd17')";
  background-image: -moz-linear-gradient(top, #ffe43d, #f3cd17);
  background-image: -ms-linear-gradient(top, #ffe43d, #f3cd17);
  background-image: -o-linear-gradient(top, #ffe43d, #f3cd17);
  background-image: -webkit-gradient(linear, center top, center bottom, from(#ffe43d), to(#f3cd17));
  background-image: -webkit-linear-gradient(top, #ffe43d, #f3cd17);
  background-image: linear-gradient(top, #ffe43d, #f3cd17);
  border: 1px solid #f3cd17;
}
fieldset {
  -moz-border-radius: 8px;
  -webkit-border-radius: 8px;
  border-radius: 8px;
  border: #ccc 1px solid;
  padding: 30px;
  margin-top: 20px;
}
legend {
  font-weight: bold;
  font-size: 1.1em;
}
.font10 {
  font-size: 0.8em;
}
#mag div, .mag div {
  padding: 10px;
  float: left;
  width: 142px;
  text-align: center;
  margin-bottom: 10px;
  color: #000;
}
#mag div:hover, .mag div:hover {
  background-color: #49b6fe;
  color: #fff;
}
#mag div img, .mag div img {
  width: 130px;
  height: 180px;
}
.communique {
  padding: 20px 10px;
  width: 800px;
  color: #000;
  float: left;
  border-top: 1px solid #ccc;
}
.communique:hover {
  background-color: #49b6fe;
  color: #fff;
}
.post {
  overflow: hidden;
  padding: 0px;
  float: left;
  display: inline-block;
  margin-right: 20px;
}
.post .date {
  TEXT-ALIGN: center;
  PADDING-BOTTOM: 0px;
  PADDING-LEFT: 0px;
  WIDTH: 45px;
  PADDING-RIGHT: 2px;
  FONT: 1.5em Arial, Helvetica, sans-serif;
  BACKGROUND: url(/images/calendar.gif) no-repeat;
  FLOAT: left;
  HEIGHT: 50px;
  COLOR: #666666;
  PADDING-TOP: 0px;
}
.post .date span {
  TEXT-ALIGN: center;
  DISPLAY: block;
  FONT: 0.5em Arial, Helvetica, sans-serif;
  HEIGHT: 16px;
  COLOR: #fff;
  PADDING-TOP: 5px;
}
.post .title {
  WIDTH: 438px;
  FLOAT: left;
  MARGIN-LEFT: 10px;
}
.communique_tx {
  float: left;
  display: inline-block;
  width: 730px;
}
.img-annu {
  border: 1px #1C154E solid;
  padding: 8px;
  margin: 7px;
}
.img-annu:hover {
  border: 1px #1C154E solid;
  filter: alpha(opacity=60);
  -moz-opacity: .60;
  opacity: .60;
}
.contenu_detail_mag {
  width: 488px;
  padding-bottom: 20px;
  display: inline-block;
  vertical-align: top;
}
.info_evenement {
  width: 660px;
  float: left;
}
.plus_info_evenement {
  float: right;
  padding-top: 25px;
}
.col_lu_presse {
  float: left;
  width: 578px;
}
.info {
  display: inline-block;
  margin-top: 10px;
  margin-right: 10px;
  padding: 10px 20px;
  width: 300px;
  line-height: 100%;
  font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;
  font-size: 14px;
  color: #00c5ad;
  border: 2px solid #00ab94;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
  background-color: #fff;
  cursor: pointer;
}
.txt_bleu, h1.txt_bleu a {
  color: #1C154E;
}
.font_14 {
  font-size: 1.4em;
}
.col_footer {
  display: inline-block;
  vertical-align: top;
}
.cf_1 {
  width: 120px;
}
.cf_2 {
  width: 140px;
}
.cf_3 {
  width: 110px;
}
.cf_4 {
  width: 160px;
}
.cf_5 {
  width: 150px;
}
.cf_6 {
  width: 95px;
}
.cf_7, .cf_8 {
  width: 120px;
}
.chapeau {
  font-weight: 600;
  margin: 30px 0 50px 0;
}
.service {
  display: inline-block;
  font-size: 1.2em;
  width: 80px;
  margin: 30px 0px 20px 15px;
  padding: 4px;
  border: 1px solid #ccc;
  color: #FFF;
  background-color: #9AC11B;
  font-family: 'Roboto', sans-serif;
  font-weight: 500;
}
.service:hover {
  background-color: #8CBE22;
  color: #FFF;
}
.service  i {
  font-size: 2.2em;
  display: block;
}
.ywLQKzkmFfaD {
  display: none;
  margin-bottom: 20px;
  padding: 20px 10px;
  background: #9AC11B;
  text-align: center;
  color: #fff;
  font-size: 1.3em;
}
.ywLQKzkmFfaD strong {
  font-size: 1.4em;
}
.ywLQKzkmFfaD a {
  color: #fff;
}
.mask {
  position: absolute;
  clip: rect(1px,1px,1px,1px);
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  border: 0;
  width: 1px;
  height: 1px;
  overflow: hidden;
  white-space: nowrap;
}

/* ================================================================== */
/* Partie 2 — couche moderne                                           */
/* ================================================================== */

:root {
  --mdv-bleu: #1c154e;
  --mdv-vert: #c6e74f;
  --mdv-gris: #6b7280;
  --mdv-bord: #d5dae1;
  --mdv-fond: #f5f7fa;
  --mdv-rouge: #c62828;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
img { max-width: 100%; height: auto; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 3px solid rgba(28, 21, 78, .35); outline-offset: 2px;
}

/* Conteneurs fluides (largeur max inchangée) */
#page, #menu, #contenu, .footer_contenu, .pub_footer, #pub_header { max-width: 100%; }
#page { width: 100%; max-width: 1154px; }
#menu { width: auto; max-width: 1152px; }
#contenu { width: auto; max-width: 1140px; padding: 0 0 20px; }
.footer_contenu { width: auto; max-width: 1152px; }
.pub_footer { width: auto; max-width: 1152px; overflow: hidden; }
#pub_header { overflow: hidden; }

/* Bandeau « nouveau site » */
.newsite { background: var(--mdv-vert); color: var(--mdv-bleu); padding: 6px 12px; font-size: 1.2em; text-align: center; margin-bottom: 20px; }
.newsite a { color: var(--mdv-bleu); font-weight: bold; }
.newsite-in { max-width: 1154px; margin: 0 auto; }
#menu .annuairenew { background-color: var(--mdv-vert) !important; color: var(--mdv-bleu) !important; }

/* Menu principal collant (remplace le plugin jQuery scrollToFixed) */
#menu { position: sticky; top: 0; z-index: 2000; background: #fff; }

/* Fil d'Ariane */
#vs_breadcrumbs .mask, .mask { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Colonnes : 820 + 300 sur grand écran, fluides en dessous */
#contenu_g { max-width: 100%; }
@media screen and (max-width: 1180px) {
  #contenu { padding-left: 12px; padding-right: 12px; }
  #contenu_g { width: calc(100% - 320px); }
  #contenu_d { width: 300px; }
  #col740accueil { width: 56%; margin-right: 2%; }
  #col300accueil { width: 42%; }
  .div-acc-actu { width: 51%; margin-right: 2%; }
  #div-acc-communique { width: 47%; }
  #col-acc-annuaire { width: 54%; margin-right: 2%; }
  #col-acc-emploi { width: 44%; }
  #menu ul li div { width: calc(100vw - 40px); max-width: 1120px; margin-left: 0 !important; left: 0; }
  #menu ul li { position: static; }
  #menu { position: sticky; }
}

/* Listes défilantes (remplacent le plugin tinyscrollbar) */
.liste-defilante { max-height: 420px; overflow-y: auto; padding-right: 8px; scrollbar-width: thin; }
.liste-defilante::-webkit-scrollbar { width: 8px; }
.liste-defilante::-webkit-scrollbar-thumb { background: #c4c9d1; border-radius: 4px; }

/* Cartes OpenStreetMap */
#cartegoogle, .cadre-carte { width: 100%; height: auto; border: 1px solid #000; margin: 0 0 15px; }
.carte-osm { z-index: 1; }
.popup-carte { min-width: 180px; line-height: 1.4; }
#cartefrance { width: auto; height: auto; max-width: 100%; }

/* Fiches de l'annuaire */
.fiche-annuaire { margin-bottom: 10px; }
.fiche-annuaire h2 a { color: #000; font-weight: bold; font-size: 1.1em; }
.fiche-corps { display: flex; flex-wrap: wrap; gap: 15px; margin-top: 10px; align-items: flex-start; }
.fiche-vignette img, .vignette-site { border: 1px solid #000; }
.contenu_detail_mag { flex: 1 1 260px; overflow-wrap: anywhere; }
.fiche-actions { flex: 0 0 190px; padding-left: 10px; border-left: 1px dotted #ccc; line-height: 1.7; }
.fiche-actions a { color: #000; }
.fiche-actions .gps { display: block; color: #999; padding-left: 18px; line-height: 1.4; margin-bottom: 8px; }
.retour-carte { text-align: right; margin: 4px 0 15px; }
.retour-carte a { color: #ccc; }
.pub-liste { margin: 30px 0; }
.liens-croises { text-align: center; padding: 15px; margin-bottom: 30px; }
.intro-rubrique { margin: 15px 0; }
.fiche-detail .fiche-bloc { padding: 0 30px 20px; overflow-wrap: anywhere; }
.horaires { border-collapse: collapse; margin: 0 30px 20px; }
.horaires th, .horaires td { padding: 4px 12px; border-bottom: 1px solid #eee; text-align: left; }
.reseaux { display: flex; flex-wrap: wrap; gap: 10px; }
.bouton-reseau { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border: 1px solid var(--mdv-bord); border-radius: 4px; color: #000; }
.flotte-droite { float: right; margin-left: 10px; }

/* Agenda */
.evenement { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; }
.evenement h2 a { font-size: 14px; }
.filtres-agenda { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 10px 30px; padding: 6px 10px; }
.filtres-agenda select { max-width: 260px; }
.bandeau-agenda { display: block; max-width: 100%; height: auto; }
.evenement-detail { display: flex; flex-wrap: wrap; gap: 20px; margin-top: 40px; }
.evenement-carte { flex: 1 1 380px; }
.evenement-infos { flex: 1 1 340px; }
.tableau-infos th { text-align: left; font-weight: normal; padding: 3px 10px 3px 0; vertical-align: top; width: 110px; }
.tableau-infos td { padding: 3px 0; }
.entete-evenement { padding-top: 20px; }
.evenement-texte, .evenement-affiche { margin: 40px 0 50px; }
.lien-bouton { display: inline-block; padding: 5px 10px; margin: 5px 15px; color: #000; }

/* Actualité / communiqués / magazines */
.meta-article { color: #999; }
.texte-article { overflow-wrap: anywhere; line-height: 1.6; }
.texte-article img { max-width: 100%; height: auto; }
.lu-presse { display: flex; gap: 20px; padding: 20px 0; }
.lu-presse-sources { flex: 0 0 200px; }
.col_lu_presse { flex: 1; }
.gris { color: #666; }
.gris-clair { color: #aaa; }
.orange { color: #f19300; }
.mag-fiche { display: flex; flex-wrap: wrap; gap: 20px; }
.mag-couverture { flex: 0 0 170px; }
.mag-couverture .button_add { display: inline-block; margin: 15px 0; }
.mag-logo img { border: 1px solid #000; }
.mag-sommaire { flex: 1 1 400px; }
.mag-outils { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px; margin: 20px 0 30px; }
a.mag { display: inline-block; vertical-align: top; }
.communique { display: block; }

/* Formulaires publics */
.formulaire { max-width: 640px; }
.formulaire fieldset { border: 1px solid var(--mdv-bord); border-radius: 6px; padding: 10px 16px 6px; margin: 0 0 20px; }
.formulaire legend { font-weight: bold; padding: 0 6px; }
.formulaire p { margin: 0 0 14px; }
.formulaire label, .formulaire .etiquette { display: block; font-weight: bold; margin-bottom: 4px; }
.formulaire input[type=text], .formulaire input[type=email], .formulaire input[type=url], .formulaire input[type=tel],
.formulaire input[type=date], .formulaire input[type=search], .formulaire input[type=file], .formulaire select, .formulaire textarea {
  width: 100%; padding: 8px 10px; border: 1px solid #b9c0ca; border-radius: 4px; font: inherit; font-size: 1.05em; background: #fff;
}
.formulaire textarea { resize: vertical; }
.formulaire input:focus, .formulaire select:focus, .formulaire textarea:focus { border-color: var(--mdv-bleu); }
.formulaire small { display: block; color: var(--mdv-gris); font-weight: normal; margin-top: 3px; }
.formulaire .case { display: flex; gap: 8px; align-items: flex-start; }
.formulaire .case input { margin-top: 3px; flex: 0 0 auto; }
.formulaire .case label { font-weight: normal; }
.formulaire .case-inline { display: inline-flex; gap: 6px; align-items: center; font-weight: normal; margin-right: 20px; }
.obligatoire { color: var(--mdv-rouge); }
.form-itineraire p { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.form-itineraire label { flex: 0 0 60px; margin: 0; }
.form-itineraire input[type=text] { flex: 1 1 260px; width: auto; }
.bouton, button.bouton {
  display: inline-block; padding: 9px 22px; border: 0; border-radius: 4px; background: var(--mdv-bleu); color: #fff;
  font: bold 1em Tahoma, Geneva, sans-serif; text-transform: uppercase; cursor: pointer; text-decoration: none;
}
.bouton:hover { background: #2d2470; color: #fff; }
.centre { text-align: center; }
.justifie { text-align: justify; }
.vide { margin: 40px 0; color: #555; }

/* Anti-spam */
.mdv-hp { position: absolute !important; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.mdv-captcha { margin: 0 0 16px; }
.mdv-captcha-ligne { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.mdv-captcha-img { border: 1px solid var(--mdv-bord); border-radius: 4px; }
.mdv-captcha-recharger { width: 38px; height: 38px; border: 1px solid var(--mdv-bord); border-radius: 4px; background: #fff; cursor: pointer; font-size: 18px; }
.formulaire .mdv-captcha input { width: 130px; text-transform: uppercase; letter-spacing: 3px; }

/* Messages */
.message { padding: 10px 14px; border-radius: 4px; margin: 0 0 18px; border: 1px solid; }
.message ul { margin: 0; padding-left: 18px; }
.message-ok { background: #e8f5e9; border-color: #a5d6a7; color: #1b5e20; }
.message-erreur { background: #ffebee; border-color: #ef9a9a; color: #b71c1c; }
.message-attention { background: #fff8e1; border-color: #ffe082; color: #5d4037; }

/* Pages diverses */
.grille-bannieres { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 20px; margin: 20px 0; }
.banniere { margin: 0; text-align: center; }
.banniere img { border: 1px solid #000; max-width: 100%; height: auto; }
.banniere textarea { width: 100%; font: 11px/1.4 ui-monospace, Consolas, monospace; margin-top: 6px; }
.plan-site { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 10px 30px; }
.plan-site h2 { font-weight: bold; margin: 15px 0 5px; }
.plan-site ul, .liste-simple { padding-left: 18px; line-height: 1.8; }

/* Bouton « haut de page » */
.scrollup { display: flex; align-items: center; justify-content: center; opacity: 0; visibility: hidden; transition: opacity .3s, visibility .3s; z-index: 3000; }
.scrollup.visible { opacity: 1; visibility: visible; }

/* Menu mobile (remplace le plugin « responsive mobile menu ») */
.rmm { display: none; background: #3c3c3b; }
.rmm-bouton { box-sizing: border-box; display: block; margin: 0; border-radius: 0; width: 100%; padding: 12px 16px; border: 0; background: #3c3c3b; color: #fff; font: bold 1.1em Tahoma, Geneva, sans-serif; text-align: left; cursor: pointer; text-transform: uppercase; }
.rmm ul { display: none; list-style: none; margin: 0; padding: 0; }
.rmm.ouvert ul { display: block; }
.rmm li a { display: block; padding: 11px 16px; border-top: 1px solid #555; color: #fff; text-transform: uppercase; }
.rmm li a:hover { background: #555; color: #fff; }

/* Tablette et mobile */
@media screen and (max-width: 900px) {
  html, body { overflow-x: clip; }
  body { font-size: 0.9em; }
  .barre_titre { margin: 0 12px; }
  #contenu { padding: 0 12px 20px; }
  #contenu_g, #contenu_d, #col740accueil, #col300accueil, .div-acc-actu, #div-acc-communique, #col-acc-annuaire, #col-acc-emploi { width: 100% !important; float: none !important; margin: 0 0 20px !important; }
  #cartegoogle { height: auto !important; }
  .rmm { display: block !important; }
  .lu-presse { flex-direction: column; }
  .fiche-actions { border-left: 0; padding-left: 0; flex: 1 1 100%; }
  .flotte-droite { float: none; display: inline-block; margin: 5px 0; }
  .filtres-agenda { flex-direction: column; align-items: stretch; }
  .filtres-agenda select { max-width: none; width: 100%; }
  .mag-couverture { flex: 1 1 100%; text-align: center; }
  #pubdroitfixe { height: auto; }
  .info_evenement, .plus_info_evenement { width: 100% !important; }
  #barre_navig a { margin-bottom: 4px; }
}

/* Impression */
@media print {
  #menu, .rmm, #pub_header, .pub_footer, #contenu_d, footer, .scrollup, .adsbygoogle, #vs_breadcrumbs { display: none !important; }
  #contenu_g { width: 100% !important; }
  a { color: #000; }
}
