.fr-background-default-grey {
  background-color: var(--background-default-grey);
}

.fr-background-contrast--blue-france {
  background-color: var(--background-contrast-blue-france) !important;
}

/* css lié à l'affichage de l'index des élections publiées */
img.index-election,
img.logo-election {
  object-fit: contain;
  max-height: 120px;
  max-width: 180px;
}
/* fin css index elections */

/* css lié à la div pour l'affichage du logo de l'élection */
.div-logo-title {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.div-logo-title a {
  display: block;
}

.div-logo-title a, .logo-election-index {
  background-image: none;
}
/* fin css div logo */

/* css pour des titres et sous-titres : proposition pour les référendums FE, nom des territoires, nom des listes et têtes de liste */
.titre-proposition {
  text-align: center;
}
/* (.fr-h3 est là pour augmenter la priorité de la règle car il y a déjà un font-weight !important sur .fr-h3 dans le code du DSFR) */
.titre-proposition.fr-h3 {
  font-weight: normal !important;
}

.sous-titre-centre {
  display: flex;
  flex-direction: column;
  align-items: center;
}
/* fin css pour des titres et sous-titres */

/* css lié à la pagination par initiale */
.fr-pagination__list {
  justify-content: center;
}
/* fin css pagination par initiale */

/* css footer pour cacher les titres */
.visually-hidden {
  position: absolute !important;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  width: 1px;
  height: 1px;
  word-wrap: normal;
}
/* fin css footer pour cacher les titres */

/* évite un rectangle noir lorsqu'on sélectionne un département inactif sur la carte, avec Chrome */
#container-map > svg > g > path {
  outline: unset;
}

/* css pour mettre le footer en bas de page */
body {
  display: flex;
  flex-direction: column;
  height: 100vh;
}

main {
  flex: 1 0 auto;
}

footer {
  flex-shrink: 0;
}
/* fin css pour mettre le footer en bas de page */

.text-align-center {
  text-align: center;
}

/* css pour les logos du ministère et les adresses de contact */
.fr-highlight,
.fr-logo {
  white-space: pre-line;
}
/* fin css pour les logos du ministère et les adresses de contact*/

/* css pour gérer le scroll des tableaux en cas de reflow */
@media screen and (min-width: 750px) {
  .fr-table.sie-table-layout-fixed table {
    display: table;
    table-layout: fixed;
  }
}

@media screen and (min-width: 500px) {
  .sie-table-medium-layout-fixed table {
    display: table;
    table-layout: fixed;
  }
}

@media screen and (min-width: 400px) {
  .sie-table-small-layout-fixed table {
    display: table;
    table-layout: fixed;
  }
}

@media screen and (min-width: 950px) {
  .sie-table-large-layout-fixed table {
    display: table;
    table-layout: fixed;
  }
}
/* fin css pour le scroll des tableaux */

/* css pour gérer la taille des cellules dans les tableaux, utilisé principalement pour les tableaux résultats et candidatures */
.sie-table-cell-width-35 {
  width: 35%;
}

.sie-table-cell-width-25 {
  width: 25%;
}

.sie-table-cell-width-20 {
  width: 20%;
}

.sie-table-cell-width-15 {
  width: 15%;
}

.sie-table-cell-width-10 {
  width: 10%;
}

@media screen and (max-width: 767px) {
  .sie-table-cell-width-10, .sie-table-cell-width-15, .sie-table-cell-width-20, .sie-table-cell-width-25, .sie-table-cell-width-35 {
    width: min-content;
  }
}
/* fin css pour gérer la taille des cellules dans les tableaux */

/* css en vue mobile portrait */
@media screen and (max-width: 575px) {
  .sie-select-mobile {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .sie-button-mobile {
    margin-left: 20%;
    margin-top: 10%;
  }

  .sie-map {
    display: none;
  }
}

@media screen and (min-width: 576px) {
  .sie-button-mobile {
    margin-left: 8.33333%;
  }
}

@media screen and (max-width: 991px) {
  .sie-nav-mobile {
    display: none;
  }
}
/* fin css en vue mobile portrait */

/* css composants autocomplete assemblées liées */
#autocompleteAssembleesLiees {
  outline: none;
}
#autocompleteAssembleesLiees::-webkit-calendar-picker-indicator {
  opacity: 0;
}
#autocompleteAssembleesLiees::placeholder,
#cb1-input::placeholder {
  font-style: normal;
  font-size: 1rem;
  color: var(--text-tile-grey);
}
.container-assemblees-liees {
  display: inline-flex;
}
.container-assemblees-liees button {
  width: 31px;
  display: inherit;
  background-color: #eee;
  box-shadow: inset 0 -2px 0 0 var(--border-plain-grey);
  padding: 0;
  border-radius: 0 .25rem 0 0;
}
#autocompleteAssembleesLiees:focus,
#autocompleteAssembleesLiees:focus ~ button {
  box-shadow: inset 0 -3px 0 0 var(--border-plain-grey);
}
.container-assemblees-liees button:hover,
#cb1-button:hover {
  background-color: #eee;
}
/* fin css composants autocomplete assemblées liées */

/* css composant autocomplete recherche de territoires */
.combobox-list {
  position: relative;
  z-index: 2;
}

.combobox .group {
  display: inline-flex;
  width: 100%;
}

.combobox input,
.combobox button {
  background-color: #eee;
  box-shadow: inset 0 -2px 0 0 var(--border-plain-grey);
  padding: 0;
}

.combobox input {
  width: 100%;
  outline: none;
  font-size: 1rem;
  padding: .5rem 2.5rem .5rem 1rem;
  border-radius: .25rem 0 0 0;
}

.combobox button {
  width: 31px;
  display: inherit;
  border-radius: 0 .25rem 0 0;
}

.combobox svg,
.container-assemblees-liees svg {
  width: 29px;
}

ul[role="listbox"] {
  margin: 0;
  padding: 0;
  position: absolute;
  list-style: none;
  background-color: #eee;
  display: none;
  box-sizing: border-box;
  border: 1px currentcolor solid;
  max-height: 250px;
  width: 100%;
  overflow: auto;
  overflow-x: hidden;
  font-size: 87.5%;
  cursor: pointer;
  border-top: none;
  border-radius: 5px;
  z-index: 1;
}

ul[role="listbox"] li[role="option"] {
  margin: 0;
  display: block;
  padding: .5rem 2.5rem .5rem 1rem;
}

li[role="option"]:hover, li[role="option"]:focus, li[role="option"][aria-selected="true"] {
  background-color: #e0e0e6;
}

.arrow {
  visibility: visible;
}
/* fin composant autocomplete recherche de territoires */

.fr-table tbody tr.background-white {
  background-color: #f6f6f6;
}

.fr-table tbody tr.background-grey {
  background-color: #eee;
}

/*
 * Ces classes CSS ne sont plus utilisées dans les fichiers HTML mais l'étaient auparavant.
 * Il faut les laisser car sur le site institutionnel (www.archives-resultats-elections.interieur.gouv.fr), il y a les anciennes élections
 * et il y aura les futures élections, mais il n'y a qu'un seul fichier carte.css commun à toutes les élections.
 * Donc il faut laisser les règles CSS pour que les anciennes élections continuent de s'afficher correctement.
 */
.mb-2 {
  margin-bottom: 2rem;
}

.main-title-index-elections {
  margin-bottom: 0;
}

#block-elections-suiveznoussurnosreseauxsociaux {
  margin-top: 40px;
}

@media screen and (max-width: 575px) {
  .sie-map-mobile {
    display: none;
  }
}

@media screen and (min-width: 900px) {
  .sie-table-muni-layout-fixed table {
    display: table;
    table-layout: fixed;
  }
}

.sie-table-cell-width-min {
  width: 10%;
}

@media screen and (max-width: 767px) {
  .sie-table-cell-width-min {
    width: min-content;
  }
}
/* fin css anciennes publications */
