/*@page {
 
  margin: 10mm;
}*/


@page {
  margin-top: 10mm;
  margin-right: 10mm;
  margin-left: 10mm;
  margin-bottom: 10mm;
}


img {
  max-width: 100%;
}

body {
	font-family: "Open Sans", sans-serif, "Trebuchet MS", "Lucida Sans Unicode", "Lucida Sans", Tahoma, sans-serif;
	font-size: 13.5px;
  padding:1em 0 1em 0;
}

h2 {
    line-height: 1;
  }

/*Méga-menu --------------------*/

.menu-button {
  color: white;
  font-size: 20px;
}

.navbarw3s {
  overflow: hidden;
  background-color: #333;
  font-family: Arial;
  display: flex;
  flex-direction: row;
  justify-content: center; /* Centre le contenu horizontalement */
}

.navbarw3s a {
  float: left;
  font-size: 16px;
  color: white;
  text-align: center;
  padding: 10px 16px; /* Réduit le padding vertical */
  text-decoration: none;
}

.dropdownw3s {
  order: 1;
  overflow: hidden;
  min-width: 100px;
  width: 75%; /* Largeur de 3/4 de la page */
  margin: 0 auto; /* Centre le menu */
}

.button-bar {
  display: flex;
  flex-direction: row;
  order: 2;
  justify-content: flex-end;
  width: 100%;
}

.button-bar button {
  min-width: 80px;
  margin-left: 5px;
  background-color: #333;
  color: white;
  border: none;
  padding: 10px 16px; /* Réduit le padding vertical */
}

.button-bar button:hover {
  background-color: #F79A3B;
}

.dropdownw3s .dropbtnw3s {
  font-size: 16px;
  border: none;
  outline: none;
  color: white;
  padding: 10px 16px; /* Réduit le padding vertical */
  background-color: inherit;
  font: inherit; /* Important for vertical align on mobile phones */
  margin: 0; /* Important for vertical align on mobile phones */
}

.navbarw3s a:hover, .dropdownw3s:hover .dropbtnw3s {
  background-color: #F79A3B;
}

/* dropdownw3s content (hidden by default) */
.dropdownw3s-content {
  display: none;
  position: absolute;
  background-color: #333; /* Fond noir */
  width: 100%;
  box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
  z-index: 1;
  max-width: 1170px;
  padding: 10px 0; /* Réduit le padding vertical */
}

/* Show the dropdownw3s menu on hover */
.dropdownw3s:hover .dropdownw3s-content {
  display: block;
}

/* Create three equal columnw3ss that floats next to each other */
.columnw3s {
  float: left;
  width: 33.33%; /* Largeur égale pour trois colonnes */
  padding: 10px;
  background-color: #333; /* Fond noir */
  height: auto; /* Hauteur automatique */
}

/* Style links inside the columnw3ss */
.columnw3s a {
  float: none;
  color: white; /* Texte blanc */
  padding: 10px; /* Réduit le padding */
  text-decoration: none;
  display: block;
  text-align: left;
}

/* Add a background color on hover */
.columnw3s a:hover {
  background-color: #444; /* Couleur de fond plus claire au survol */
}

/* Clear floats after the columnw3ss */
.roww3s:after {
  content: "";
  display: table;
  clear: both;
}

/* Responsive layout - makes the three columns stack on top of each other instead of next to each other */
@media screen and (max-width: 600px) {
  .columnw3s {
    width: 100%;
    height: auto;
  }

  #buttonCol1, #buttonCol2, #buttonCol4, #clean, #descriptif {
    display: none;
  }
}

@media screen and (max-width: 1100px) {
  .dropdownw3s-content {
    max-width: 750px;
  }
}

@media screen and (max-width: 800px) {
  .columnw3s {
    max-width: 100%;
    height: auto;
  }
}



/* suppression espace qui se colle avant le premier row. */
.row::before {
  display: none;
}

/* Filtres */
.filtres {
  padding-left: 0px;
  padding-right: 0px;
  margin-top: 10px;
  font-size: 14px;
}

.jplist-panel button {
  margin-right: 5px;
  margin-bottom: 5px;
}

.box {
  padding-left: 0px;
}

.date-filter-box {
  padding-left: 0px;
}

/* jplist filter toggle style */

.jplist-panel .jplist-group {
  float: left;
  height: 30px;
  box-shadow: 0 0 1px #fff;
  background: #fff;
  box-sizing: border-box;
  border: 1px solid #dbdbdb;
  border-radius: 3px;
  text-shadow: 1px 1px 1px #fff;
  color: #27252a;
  margin: 10px 10px 0 0;
  padding: 0 0 0 5px;
  height: auto;
}

.jplist-panel .jplist-group input,
.jplist-panel .jplist-group label {
  height: 28px;
  line-height: 30px;
}

.jplist-text {
  float: left;
  text-shadow: 1px 1px 1px #fff;
  color: #27252a;
  margin: 0px 10px 0 0;
  padding: 0 0 0 5px;
  height: auto;
}

/* jplist textbox toggle style */

.jplist-panel .text-filter-box {
  height: 30px;
  float: left;
  margin: 10px 10px 0 0;
}




/*style du contenu*/

/* la règle devrait être inline, ou inline block, mais dû à un bug dans chrome, obligé de forcer le inline-block pour éviter l'ajout de page blanche - à vérifier sur les versions >108 */
.list-item {
display: inline-block;
max-width: 100%;
width: 100%;
}

@-moz-document url-prefix() {
    .list-item {
        display: inline;
    }
}

.list-item > * {
  max-width: 100%;
}

.colonne-1 {
  column-count: 1;
  max-width: 100%;
}

.colonne-2 {
  column-count: 2;
  max-width: 100%;
  column-gap: 2em;
}

.colonne-3 {
  column-count: 3;
  max-width: 100%;
}

.colonne-4 {
  column-count: 4;
  max-width: 100%;
}



/* Titre principal -------------------------------------------------------------*/

.container-titre {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative; /* Permet de positionner les logos de manière absolue */
  margin-top: -15px;
  height: 90px; /* Permet à la hauteur de s'adapter au contenu */
}

.container-titre h1 {
  text-align: center;
  position: absolute; /* Positionne le h1 de manière absolue */
  left: 50%; /* Centre horizontalement */
  transform: translateX(-50%); /* Ajuste pour centrer parfaitement */
  white-space: nowrap; /* Empêche le texte de se casser */
}

.logo-ot-titre,
.logo-bretagne-titre {
  display: flex;
  align-items: center;
  z-index: 1; /* Assure que les logos apparaissent au-dessus du h1 */
}

.logo-ot-titre img {
  max-height: 90px; /* Hauteur maximale */
  width: auto; /* Largeur adaptée à la hauteur */
  max-width: 150px !important;
}

.logo-bretagne-titre img {
  width: 30px;
  float: right;
}

.container-titre h1 {
  font-family: "Roboto", "Lucida Grande", "Trebuchet MS", "Lucida Sans", "Lucida Sans Unicode", sans-serif;
  font-size: 42px;
  margin-bottom: 0;
  margin-top: 0.6em;
  font-weight: bold;
  text-transform: uppercase;
}



/* Sous titre territoires -------------------------------------------------------------*/

.container-sous-titre {
  width: 100%;
  display: flex;
  height: 15mm;
  justify-content: space-between;
  align-items: center;
    background-color: #000 !important;
}

.container-sous-titre .logo-gauche {
  width: 40px;
  min-width: 40px;
}

.logo-gauche img {
  padding-left:10px;
}

.container-sous-titre .logo-droite {
  width: 50px;
  min-width: 50px;
}

.listeVille {
  font-family: "Roboto", "Lucida Grande", "Trebuchet MS", "Lucida Sans", "Lucida Sans Unicode", sans-serif;
  font-size: 13.5px;
  color: #fff !important;
  text-align: center;
  text-transform: uppercase;
  padding-top: 14px;
  padding-left: 5px;
  padding-right: 5px;
  margin-top: -1em;
  font-weight: bold;
}

.titre-couv {
  text-align: center;
  margin-top: 1em;
}

.text-couv {
  margin-top: 1em;
  margin-bottom: 2em;
}

.titre-couv h2 {
  font-family: "Exo 2", "Lucida Grande", "Trebuchet MS", "Lucida Sans", "Lucida Sans Unicode", sans-serif;
  font-size: 1.75em;
  margin-bottom: 0;
  text-transform: uppercase;
}

.titre-couv h3 {
  font-family: "Exo 2", "Lucida Grande";
  display: block;
  text-transform: uppercase;
  font-size: 1.5em;
  margin-top: 0.5em;
}

.couleur-orange {
  color: #F79A3B !important;
}

.couleur-rose {
  color: #FB3099 !important;
}

.couleur-bleu {
  color: #35BCC4 !important;
}

.description:hover {
  cursor: pointer;
}
h3 {
    line-height: 1em;
}
h4 {
  line-height: 1em;
  font-size: 0.85em;
  font-weight: bold;
  text-transform: uppercase;
  margin-top: 0em;
  margin-bottom: 0.15em;
  position: relative;
  overflow: hidden;
  padding-top: 2px;
}

/*h4:after {
    position: absolute;
    margin-left: 0.4em;
    top: 51%;
    overflow: hidden;
    width: 100%;
    height: 0.1em;
    content: '';
    background-color: #fff !important;
    border-bottom: 0.03em solid;
    color: #000 !important;
}*/

.titre-commune:after {
    position: absolute;
    margin-left: 0.4em;
    top: 51%;
    overflow: hidden;
    width: 100%;
    height: 0.1em;
    content: '';
    background-color: #fff !important;
    border-bottom: 0.03em solid;
    color: #000 !important;
}

.titre-commune-long:after {
    position: absolute;
    margin-left: 0.4em;
    top: 81%;
    overflow: hidden;
    width: 100%;
    height: 0.1em;
    content: '';
    background-color: #fff !important;
    border-bottom: 0.03em solid;
    color: #000 !important;
}

p {
  margin: 0em;
  line-height: 1em;
}

span {
  margin: 0em;
}

ul {
  margin: 0em;
  padding: 0em;
  margin-left: 1em;
}

li {
  margin: 0em;
  font-size: 0.80em;
  line-height: 1em;
}

.hide {
  display: none;
}

.show {
  display: auto;
}

.well {
  min-height: none;
  color: #fff !important;
  padding: 0.2em;
  margin-bottom: 0.35em;
  border: none;
  border-radius: 0px;
  font-size: 0.9em;
  font-weight: bold;
  letter-spacing: -0.30px;
  margin-top: 10px;
}

.animation .well {
    background-color: #F79A3B !important;
}

.exposition .well {
    background-color: #35BCC4 !important;
}

.stage .well {
    background-color: #FB3099 !important;
}

.type-titre {
  padding-left: 4px;
  padding-right: 4px;
}

.well:empty {
  display: none;
}

.well:first-letter  {
  text-transform: uppercase;
}

.titre-anim {
  font-weight: bolder;
  font-size: 0.90em;
  line-height: 0.9em;
}
.descriptif-anim {
  font-size: 0.80em;
  line-height: 1em;
  margin-top: 0.25em;
/*    text-align: justify;
    text-justify: inter-word;*/
  hyphens: auto;
  hyphenate-lines: 1;
  overflow-wrap: break-word;
}
.presentation-anim {
  font-size: 0.80em;
  line-height: 1em;
  margin-top: 0.25em;
/*      text-align: justify;
      text-justify: inter-word;*/
  hyphens: auto;
  hyphenate-lines: 1;
  overflow-wrap: break-word;
}

.print-date {
  font-size : 9px;
  color: #B8B8B8;
  opacity: 75%;
  position: absolute;
  top: 160px;
  right: 0px;
}


/*Affichage adresse --------------------------------*/
.adresse-anim {
  font-size: 0.80em;
  line-height: 1.1em;
  font-weight: bold;
  margin-top: 0.1em;
  margin-bottom: 0.1em;
}
.adresse-anim:first-letter  {
  text-transform: uppercase;
}


/*Affichage des horaires --------------------------------*/
.horaire-debut {
  font-size: 0.805em;
  line-height: 1em;
}

/*Affichage des tarifs --------------------------------*/
.tarif {
  font-size: 0.805em;
  line-height: 1em;
}

.tarif-base {
  font-size: 0.805em;
  margin: 0em;
}


/*Affichage des moyens de communication --------------------------------*/

.telephone {
  font-size: 0.805em;
  line-height: 1em;
  font-style: italic;
  letter-spacing: -0.25px;
}

.telephone:empty {
  display: none;
}

.mail {
  font-style: italic;
  font-size: 0.805em;
  line-height: 1em;
  word-wrap: break-word;
}

.mail:empty {
  display: none;
}

.site {
  font-style: italic;
  font-size: 0.805em;
  line-height: 1em;
  word-wrap: break-word;
}

.site:empty {
  display: none;
}
/* Ligne coloré première page -------------------------------------*/
.ligne {
display: flex;
}

#violet {
  background-color: #5D92CD !important;
  width: 16.667%;
  display: inline-block;
  min-height: 3mm;
}
#rose {
  background-color: #C44BA1 !important;
  width: 16.667%;
  display: inline-block;
  min-height: 3mm;
}
#bleu {
  background-color: #35BCC4 !important;
  width: 16.667%;
  display: inline-block;
  min-height: 3mm;
}
#orange {
  background-color: #F79A3B !important;
  width: 16.667%;
  display: inline-block;
  min-height: 3mm;
}
#vert {
  background-color: #87C399 !important;
  width: 16.667%;
  display: inline-block;
  min-height: 3mm;
}
#rose2 {
  background-color: #FB3099 !important;
  width: 16.665%;
  display: inline-block;
  min-height: 3mm;
}

#rouge {
  background-color: #ea5d5d !important;
  width: 16.665%;
  display: inline-block;
  min-height: 3mm;
}

#jaune {
  background-color: #FEE029 !important;
  width: 16.665%;
  display: inline-block;
  min-height: 3mm;
}

#noir {
  background-color: #3A3A3A !important;
  width: 16.665%;
  display: inline-block;
  min-height: 3mm;
}

#gris {
  background-color: #DDDDDD !important;
  width: 16.665%;
  display: inline-block;
  min-height: 3mm;
}

#blanc {
  background-color: #FFFFFF !important;
  width: 16.665%;
  display: inline-block;
  min-height: 3mm;
}

#bleucapsizun {
  background-color: #92CDDC !important;
  width: 16.665%;
  display: inline-block;
  min-height: 3mm;
}

#jaunecapsizun {
  background-color: #EBF1DD !important;
  width: 16.665%;
  display: inline-block;
  min-height: 3mm;
}

#glaz {
  background-color: #51BEC4 !important;
  width: 16.665%;
  display: inline-block;
  min-height: 3mm;
}

#marine {
  background-color: #003B5F !important;
  width: 16.665%;
  display: inline-block;
  min-height: 3mm;
}

#bleufouesnant {
  background-color: #0D2859 !important;
  width: 16.665%;
  display: inline-block;
  min-height: 3mm;
}

#jaunefouesnant {
  background-color: #CD9540  !important;
  width: 16.665%;
  display: inline-block;
  min-height: 3mm;  
}

#orangeiroise {
  background-color: #FDC300  !important;
  width: 16.665%;
  display: inline-block;
  min-height: 3mm;  
}

#bleuiroise {
  background-color: #519BCC  !important;
  width: 16.665%;
  display: inline-block;
  min-height: 3mm;  
}

#orangeconcarneau {
  background-color: #f06037  !important;
  width: 16.665%;
  display: inline-block;
  min-height: 3mm;  
}

#marronconcarneau {
  background-color: #695254  !important;
  width: 16.665%;
  display: inline-block;
  min-height: 3mm;    
}

#bleulanderneau {
  background-color: #002542  !important;
  width: 16.665%;
  display: inline-block;
  min-height: 3mm; 
}

#jaunelanderneau {
  background-color: #fab42a  !important;
  width: 16.665%;
  display: inline-block;
  min-height: 3mm;   
}
#jaunelesneven {
  background-color: #FDC84D  !important;
  width: 16.665%;
  display: inline-block;
  min-height: 3mm; 
}

#bleulesneven {
  background-color: #ADC0D4  !important;
  width: 16.665%;
  display: inline-block;
  min-height: 3mm;   
}

.btn-choice {
  margin: 12px;
  background-color: #000;
  color: #fff;
  border-style: solid;
  border-color: #fff;
}

/* Pour ajuster les encarts de la première page, avec la bonne marge :*/

.theme {
  display: none;
}

.territoireFiltre {
  display: none;
}

/* break */
h1,h2,h3,h4,h5,.titre-anim, .well {
	break-after: avoid;
	break-inside: avoid;
}

.hide {
  break-after: auto;
  break-inside: auto;
}

h1+p, h2+p, h3+p {
	break-before: avoid;
}

/* règles print */
@media print {

    a[href]::after {
      display: none;
    
  }

  .animation {
    break-inside: avoid-page;
  }

  .container {
    width: 100%;
  }

  h1,h2,h3,h4,h5,.titre-anim  {
    break-after: avoid;
    break-inside: avoid;
  }

  .hide {
    break-after: auto;
    break-inside:auto;
  }

  h1+p, h2+p, h3+p {
    break-before: avoid;
  }

  .screen-view {
    display: none;  }
}

/*----------------------------Buttons--------------------------------*/

.btn-filter-datepicker:before {
  content: "\2192";
  margin-right: 6px;
}



/*----------------------------media queries spec inférieur 480--------------------------------*/
@media only screen and (max-width:480px) {
  .colonne-1, .colonne-2, .colonne-3, .colonne-4 {
    column-count: 1;
  }

  #listeVille {
    height: auto;
  }

  #logoDq {
    display: none;
  }

}

/*----------------------------screen only--------------------------------*/
@media screen {
  .animation {
    break-inside: avoid-column;
  }

  .print-date { 
    display: none;
  }
}

/* MEDIA SCREEN ----------------------------------------------------*/

@media only screen and (max-width: 9999px) {
  .print-view {
    display: none;
  }

}
