/*
Theme Name: Elections Quebec
Text Domain: electionsqc
Domain Path: /languages
Theme URI: https://electionsquebec.qc.ca/
Author: ElectionQC
Description: Theme pour le site CORPO d'Élection Québec
Version: 0.1
*/

/**********************************/
/**********************************/
/*  Fonts                         */
/**********************************/
/**********************************/
@font-face {
  font-family: Gilroy;
  src: url('assets/fonts/gilroy-light-webfont.woff2') format('woff2'),
       url('assets/fonts/gilroy-light-webfont.woff') format('woff');
  font-weight: lighter;
}

@font-face {
  font-family: Gilroy;
  src: url('assets/fonts/gilroy-extrabold-webfont.woff2') format('woff2'),
       url('assets/fonts/gilroy-extrabold-webfont.woff') format('woff');
  font-weight: bold;
}

@font-face {
  font-family: Muli;
  src: url(assets/fonts/Muli.ttf);
  font-weight: normal;
}

@font-face {
  font-family: Muli;
  src: url(assets/fonts/Muli-SemiBold.ttf);
  font-weight: bold;
}

@font-face {
  font-family: Muli;
  src: url(assets/fonts/Muli-Light.ttf);
  font-weight: lighter;
}

@font-face {
  font-family: Tableroboto;
  src: url(assets/fonts/RobotoMono-Light.ttf);
  font-weight: normal;
}

/**********************************/
/**********************************/
/*  Définition des Variables      */
/**********************************/
/**********************************/
:root{
  --corail: #FF9A96;
  --vert: #7CFBD4;
  --jaune: #FFFE6C;
  --bleu: #94F0FD;
  --mauve: #C8B1FF;
  --gris: #D8D8D8;
  --noir: #000000;
  --duet-color-primary:var(--noir);
  --bs-form-invalid-color: #C4263C;
  --bs-form-invalid-border-color: #C4263C;
}

/**********************************/
/**********************************/
/*  General    */
/**********************************/
/**********************************/
body{
  font-family: Muli;
  font-size: 1.125rem;
  background-color: #FBFBFB;
  background-repeat: no-repeat;
  background-position: 80% 225px;
  background-size: 500px 500px;
}

body.noScrollOverlay{
  overflow: hidden;
}

h1, h2, h3, h4, h6{
  font-family: Gilroy;
  font-weight: bold;
}

h1{
  font-size: 3.5rem;
  margin-top: 100px;
  margin-bottom: 40px;
  letter-spacing: 0.05rem;
}

h1 span.surtitreH1{
  display: block;
  font-size: 2rem;
}

h2{
  font-size: 2.5rem;
  margin-top: 48px;
  margin-bottom: 48px;
}

h3{
  font-size: 1.75rem;
  margin-top: 48px;
  margin-bottom: 28px;
}

h3.typePoste{
  font-size: 1.3rem;
}

h4{
  font-size: 1.25rem;
  margin-top: 36px;
}

h5{
  font-family: Gilroy;
  font-weight: lighter;
}

h6{
  font-size: 0.875rem;
}

ol.liAvecH2 {
  padding-left: 2.75rem;
}

ul.liAvecH2 {
  padding-left: 2rem;
}

.liAvecH2 li::marker{
  font-size: 2.5rem;
  font-weight: bold;
  font-family: Gilroy;
}

ul.liAvecH3 {
  padding-left: 1.75rem;
}


.liAvecH3 li::marker{
  font-size: 1.75rem;
  font-weight: bold;
  font-family: Gilroy;
}

ol.liAvecH4, ul.liAvecH4 {
  padding-left: 1.5rem;
}

.liAvecH4 li::marker{
  font-size: 1.25rem;
  font-weight: bold;
  font-family: Gilroy;
}

a{
  color: var(--noir, black);
  text-underline-offset: 2px;
  overflow-wrap: break-word;
  word-break: break-word;
}

.mainContent a:not(table a) {
  text-decoration-thickness: 2px;
  text-decoration-color: #00000099;
}

a:hover{
  color: var(--noir, black);
  text-decoration: none;
}

.mainContent a:not(.btn):not(.blocAccessible):not(.lienPageInterne):not(.lienAConsulter):not(:has(img)):not(.gros-lien):not(.tableDesMatieresDiv a):not(table.table a):is(:focus, :hover),
.enResume a:not(:has(img)):not(.gros-lien):not(.tableDesMatieresDiv a):not(table.table a):is(:focus, :hover) {
  background-color: var(--gris, lightgray);
}

.ratio-9x16{
  --bs-aspect-ratio: 178%; 
}

.bsTooltip {
  text-decoration-style: dotted;
}

.fullPageOverlay{
  position: fixed;
  top: 0px;
  left: 0px;
  height: 100%;
  width: 100%;
  background-color: rgba(0,0,0,1);
  z-index: 1000;
}

.breadcrumbs{
  font-family: Muli;
  font-size: 0.75rem;
  margin-top: 25px;
}

.breadcrumbs a{
  color: var(--noir, black);
}

.btn{
  border-width: 2px;
  border-radius: 2px;
  font-family: Muli;
  font-weight: bold;
  font-size: 1.125rem;
  margin: 5px 5px 5px 0px;
}

.btnElectionqc {
  border-color: var(--noir, black);
  background-color: white;
}

.btnElectionqcInactive {
  border-color: rgba(0, 0, 0, 0.2);
  color: rgba(0, 0, 0, 0.2);
}

.btnElectionqcAlt {
  border-color: var(--noir, black);
  color: white;
  background-color: var(--noir, black);
}

.btnElectionqcAlt:active {
  color: white!important;
  background-color: var(--noir, black)!important;
  border-color: var(--noir, black)!important;
}

.btnElectionqcFondNoir {
  border-color: white;
  color: white;
}

.btnElectionqcFondNoirAlt {
  border-color: white;
  background-color: white;
  color: var(--noir, black);
}

.btnElectionqcFondNoir:hover,
.btnElectionqcFondNoir:focus-visible {
  border-color: white;
  background-color: white;
  color: var(--noir, black);
}

.btnElectionqcFondNoirAlt:hover,
.btnElectionqcFondNoirAlt:focus-visible {
  border-color: white!important;
}

.btnAddCal{
  background-image: url(assets/images/icons/ajout-calendrier.svg);
  padding-left: 40px;
  background-repeat: no-repeat;
  background-size: 20px;
  background-position: left 10px center;
}

.atcb-dropoverlay .atcb-list .atcb-list-item:first-child, .atcb-dropup .atcb-list-item:first-child, .atcb-list.atcb-modal .atcb-list-item:first-child, .atcb-dropoverlay .atcb-list, .atcb-list.atcb-modal, .atcb-list-item:last-child  {
  border-radius: 0!important;
}

.atcb-dropoverlay .atcb-list {
  border: 2px solid var(--noir);
}

.btnVoirPlus, .btnVoirPlusProv, .btnVoirPlusCirc {
    background-image: url(assets/images/icons/plus.svg);
    padding-left: 40px;
    background-repeat: no-repeat;
    background-size: 20px;
    background-position: left 10px center;
}

.btnVoirPlus.open, .btnVoirPlusProv.open, .btnVoirPlusCirc.open {
  background-image: url(assets/images/icons/moins.svg);
}

/*  Override BS  */
.btn:hover{
  border-color: var(--noir, black);
}

.btn.btn-sm.btn-link.btn-notes-tfoot:hover,
.btn.btn-sm.btn-link.btn-notes-tfoot:focus
{
  border-color: transparent;
  box-shadow: none;
}

.enResume{
  max-width: 50%;
  margin-top: 40px;
  margin-bottom: 80px;
  font-family: Muli;
  font-weight: bold;
}

.enResume div{
  position: relative;
}

.imageEnResume{
  max-width: 300px;
  max-height: 200px;
  position: absolute;
  right: 0px;
  top: 0px;
  transform: translateX(200%);
}

.mainContent{
  margin-top: 80px;
}

.mainContent li{
  margin: 1rem 0;
}

.mainContent li:last-child{
  margin-bottom: 2rem;
}

input, input:focus, input:active{
  border: 2px solid var(--noir, black);
  border-radius: 0px;
}

.rechercheInput{
  background: url(assets/images/icons/loupe-recherche.svg) no-repeat center left+5px;
  background-size: 20px;
  padding-left: 30px;
  min-height: 34px;
  min-width: 250px;
}

.rechercheInput:hover{
  background-size: 24px;
  transition: background-size 0.3s;
}

.rechercheInput:focus{
  border-color: gray;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgb(0 0 0 / 25%);
}

.openModal{
  text-decoration: underline;
  cursor: pointer;
}

.openModal a:not(table a) {
  text-decoration-thickness: 2px;
  text-decoration-color: #00000099;
}

.tabContentWP{
  position: relative;
}

table a{
  overflow-wrap: normal;
  word-break: normal;
}

.wp-caption {
  width: 100% !important;
  margin-bottom: 50px;
}

.wp-caption .wp-caption-text{
  font-size: 0.9rem;
}

h1.titreAllocution {
  font-size: 2.5rem;
}

p.dateAllocutionSousH1 {
  font-size: 1.5rem;
  margin-bottom: 0;
}

p.endroitAllocutionSoush1 {
  font-size: 1rem;
  margin-bottom: 4rem;
}

div.boiteInfoAllocution p span{
  font-weight: bold;
}

.listeCateg {
  font-size: 1rem;
}

.listeCateg:not(:last-child) {
  margin-bottom: 0; 
}

.spinner-border {
  display: block;
}

#infosBVEE p {
  margin: 1.5rem 0 0.5rem 0;
  font-size: 1.2rem;
  margin-left: 1rem;
}

#infosBVEE div.addeventatc {
  margin-left: 1rem;
}

.flexTab h2:hover .copyLink{
  display: inline-block;
  position: absolute;
  margin-top: 10px;
}

.copyLink{
  cursor: pointer;
  display: none;
  background: url(assets/images/icons/link.svg) no-repeat center center;
  background-size: 20px;
  width: 30px;
  height: 30px;
}

.feedbackCopy{
  font-size: 1rem;
  display: inline-block;
  position: absolute;
  margin-top: 15px;
  margin-left: 30px;
}

.designationVille{
  display: contents;
  font-size: 0.8rem;
  color: var(--bs-secondary-color);
}

.listeEtape li{
  position: relative;
}

.listeEtape li:before{
  content: '';
  position: absolute;
  border-left: 1px solid #000000;
  left: -16px;
  bottom: -21px;
  z-index: -1;
  height: 100%;
}

.listeEtape li:last-of-type:before{
  border: none;
}


.listeEtape li.checkMark{
  list-style-image: url(assets/images/icons/pictogrammes_Noir_En_cours.png);
}

.listeEtape li.active{
  list-style-image: url(assets/images/icons/pictogrammes_Noir_Complete.png);
}

.listeEtape li.upcoming{
  list-style-image: url(assets/images/icons/pictogrammes_Noir_A_venir.png);
}

p:has(span.startQuoteEN) {
  text-indent: 25px;
}

.startQuoteEN{
  position: absolute;
  font-size: 4rem;
  line-height: 0px;
  margin-left: -54px;
  margin-top: 20px;
}

.endQuoteEN{
    font-size: 4rem;
    line-height: 0px;
    margin-left: -22px;
    margin-top: 20px;
    position: absolute;
}

/**********************************/
/**********************************/
/*  Consentement  */
/**********************************/
/**********************************/
.panelConsentement{
  background-color: var(--noir, black);;
  color: white;
  margin-top: 5px;
  margin-bottom: 25px;
  font-size: 14px;
}

.panelConsentement a{
  color: white;
}

.panelConsentement .container{
  padding-top: 25px;
  padding-bottom: 25px;
}

.panelConsentement .container .btn{
  padding: 5px;
  font-size: 14px;
}

.accordion-consentement h3{
  position: relative;
  padding-right: 75px;
}

.accordion-consentement .accordion-button::before{
  flex-shrink: 0;
  width: var(--bs-accordion-btn-icon-width);
  height: var(--bs-accordion-btn-icon-width);
  margin-right: 15px;
  content: "";
  background-image: url(assets/images/icons/plus.svg);
  background-repeat: no-repeat;
  background-size: var(--bs-accordion-btn-icon-width);
  transition: var(--bs-accordion-btn-icon-transition);
}

.accordion-consentement .accordion-button:not(.collapsed)::before {
  background-image: url(assets/images/icons/moins.svg);
  background-position: center;
  transform: var(--bs-accordion-btn-icon-transform);
}

.accordion-consentement .accordion-button::after{
  content: '';
  color: transparent;
  display: none;
}

.accordion-consentement .toggleConsentement{
  position: absolute;
  right: 0px;
  top: 0px;
  background-color: transparent;
  border: none;
  padding: 5px;
}

.accordion-consentement .toggleConsentement.toggleConsentementPRP{
  right: 10px;
  top: 10px;
  padding: 5px;
  font-size: 1rem;
  font-family: 'Muli';
  font-weight: bold;
}

.accordion-consentement .toggleConsentement.toggleConsentementStats,
.accordion-consentement .toggleConsentement.toggleConsentementPub,
.accordion-consentement .toggleConsentement.toggleConsentementExt{
  background-repeat: no-repeat;
  background-position: center center;
  height: 100%;
  width: 75px;
  background-image: url(assets/images/btn/toggle/Off.svg);
}

.consentementOverlay{
  width: 100%;
  height: 100%;
  background-color: #e3e3e3;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  padding: 20px;
  text-align: center;
  border: 2px dashed black;
}

/**********************************/
/**********************************/
/*  Forms  */
/**********************************/
/**********************************/
#btnReset, #btnResetMun, #btnResetSco{
  background-image: url(assets/images/icons/reinitialiser.svg);
  padding-left: 40px;
  background-repeat: no-repeat;
  background-size: 20px;
  background-position: left 10px center;
}

#btnExport, #btnExportMun, #btnExportSco{
  background-image: url(assets/images/icons/exporter.svg);
  padding-left: 40px;
  background-repeat: no-repeat;
  background-size: 20px;
  background-position: left 10px center;
}

#btnPartager{
  background-image: url(assets/images/icons/partager.svg);
  padding-left: 40px;
  background-repeat: no-repeat;
  background-size: 20px;
  background-position: left 10px center;
}

#btnDownload{
  background-image: url(assets/images/icons/download.svg);
  padding-left: 40px;
  background-repeat: no-repeat;
  background-size: 20px;
  background-position: left 10px center;
}

.form-select {
  color: #212529;
  background-color: #fff;
  background-repeat: no-repeat;
  border: 2px solid #000;
  border-radius: 0;
  background-image: url(assets/images/btn/dropdown/dropdown.svg);
  margin: 5px 5px 5px 0px;
}

.form-select:focus {
  border-color: gray;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgb(0 0 0 / 25%);
}

.form-control{
  border: 2px solid #000;
  color: #212529;
  border-radius: 0;
  margin: 5px 5px 5px 0px;
}

.form-control:focus{
  border-color: gray;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgb(0 0 0 / 25%);
}

form label{
  margin-bottom: 0.5rem;
}

.form-label {
  font-weight: bold;
  margin: 7px 0 0 0;
}

div.invalid-feedback a {
  color: #dc3545;
}
.btn-check:focus+.btn, .btn:focus{
  box-shadow: 0 0 0 0.25rem rgb(0 0 0 / 25%);
  border-radius: 0;
}

.duet-date{
  margin: 5px 5px 5px 0;
}

.duet-date__input{
  padding: 0.375rem 2.25rem 0.375rem 0.75rem;
  border: 2px solid #000;
  border-radius: 0;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
}

.duet-date__input:focus, .duet-date__toggle:focus{
  border-color: gray;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgb(0 0 0 / 25%);
}

.duet-date__toggle{
  background: unset;
  box-shadow: unset;
  border-top-right-radius: unset;
  border-bottom-right-radius: unset;
}

.duet-date__day{
  border-radius: unset;
}

.duet-date__day.is-today{
  box-shadow: 0 0 0 2px var(--duet-color-primary);
}

.duet-date__day:hover::before, .duet-date__day.is-today::before{
  border-radius: unset;
}

.duet-date__prev, .duet-date__next{
  border-radius: unset;
}

.tooltip-inner {
  text-align: left;
}

span.localStorageCirc {
  font-size: 1.3rem;
  padding: 0.1rem 0.5rem;
}

div.addeventatc, div.addeventatc:hover, div.addeventatc:active  {
  border: 2px solid;
  border-radius: 2px;
  font-family: Muli;
  font-size: 1.125rem;
  box-shadow: none !important;
  padding-top: 10px;
  background-color: transparent;
}

div.addeventatc:focus {
  box-shadow: 0 0 0 0.25rem rgb(0 0 0 / 25%) !important;
  border-radius: 0;
}

div.addeventatc:focus-visible {
  outline: 0 !important;
}

.notes{
  font-size: 0.875rem;
  margin: 0.5rem 0 0.5rem 0;
}

input.radioInput{
  background-image: url(assets/images/btn/radio/radio-off.svg);
  background-color: white;
  width: 1.5rem;
  height: 1.5rem;
  border: none;
  margin-top: 3px;
  margin-right: 1rem;
  -webkit-appearance: none;
  border-radius: 50%;
  float: left;
  display: flex;
}

input.radioInput:focus{
  border-color: gray;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgb(0 0 0 / 25%);
}

input.radioInput:checked{
  background-image: url(assets/images/btn/radio/radio-on.svg);
  -webkit-appearance: none;
}

.btnRadioErreur {
  background-image: url(assets/images/btn/radio/radio-off-invalid.svg) !important;
  background-color: rgba(0, 0, 0, 0);
}

input.checkBoxInput{
  background-image: url(assets/images/btn/checkbox/checkbox-off.svg);
  background-color: transparent;
  background-size: 1.5rem;
  background-repeat: no-repeat;
  background-position: center;
  border-radius: 0.25em;
  width: 42px;
  height: 42px;
  border: none;
  margin-top: -0.25rem;
  margin-right: 1rem;
  -webkit-appearance: none;
  float: left;
  display: flex;
}

input.checkBoxInput:focus{
  border-color: gray;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgb(0 0 0 / 25%);
}

input.checkBoxInput:checked{
  background-image: url(assets/images/btn/checkbox/checkbox-on.svg);
  -webkit-appearance: none;
  background-size: 2rem;
  background-position: 9px 6px;
}

.caseCocherErreur {
  background-image: url(assets/images/btn/checkbox/checkbox-off-invalid.svg) !important;
  background-color: rgba(0, 0, 0, 0);
}

.radioBtnLabel{
  display: flex;
}

/**********************************/
/**********************************/
/*  Accueil   */
/**********************************/
/**********************************/
.blocsAccueil{
  margin-bottom: 200px;
  margin-top: 200px;
}

.blocContenu{
  padding: 70px;
  position: relative;
}

.blocsAccueil .blocContenu .blocText{
  font-family: Gilroy;
  font-size: 1.125rem;
}

.blocsAccueil .blocContenu .blocLien{
  display: block;
  margin-top: 30px;
  font-family: Gilroy;
  font-weight: bold;
  font-size: 1.375rem;
  color: var(--noir, black);
}

.blocsAccueil .blocContenu .accueilPixelsBellow{
  position: absolute;
  bottom: -160px;
  left: 0px;
  padding: 0px;
  margin: 0px;
  width: 240px;
  height: 160px;
}

.blocsAccueil .blocContenu .accueilPixelsTop{
  position: absolute;
  top: -160px;
  right: 0px;
  padding: 0px;
  margin: 0px;
  width: 320px;
  height: 160px;
}

.blocsAccueil .blocContenu .accueilPixelsTop .rowColoredBlocks,
.blocsAccueil .blocContenu .accueilPixelsBellow .rowColoredBlocks,
div.zoneCarousel .commentVoterPixelsBellow .rowColoredBlocks,
div.zoneCarousel .commentVoterPixelsTop .rowColoredBlocks {
  line-height: 0px;
  padding: 0px;
  margin: 0px;
}

.blocsAccueil .blocContenu .accueilPixelsTop .rowColoredBlocks div,
.blocsAccueil .blocContenu .accueilPixelsBellow .rowColoredBlocks div,
div.zoneCarousel .commentVoterPixelsBellow .rowColoredBlocks div,
div.zoneCarousel .commentVoterPixelsTop .rowColoredBlocks div{
  display: inline-block;
  width: 80px;
  height: 80px;
  padding: 0px;
  margin: 0px;
}

.blocsAccueil .bg-corail.blocContenu .accueilPixelsTop .rowColoredBlocks div.colored,
.blocsAccueil .bg-corail.blocContenu .accueilPixelsBellow .rowColoredBlocks div.colored,
div.zoneCarousel .commentVoterPixelsBellow .rowColoredBlocks div.colored,
div.zoneCarousel .commentVoterPixelsTop .rowColoredBlocks div.colored{
  background-color: var(--corail, lightpink);
}

.blocsAccueil .bg-vert.blocContenu .accueilPixelsTop .rowColoredBlocks div.colored,
.blocsAccueil .bg-vert.blocContenu .accueilPixelsBellow .rowColoredBlocks div.colored{
  background-color: var(--vert, lightgreen);
}

.blocsAccueil .bg-jaune.blocContenu .accueilPixelsTop .rowColoredBlocks div.colored,
.blocsAccueil .bg-jaune.blocContenu .accueilPixelsBellow .rowColoredBlocks div.colored{
  background-color: var(--jaune, lightyellow);
}

.blocsAccueil .bg-bleu.blocContenu .accueilPixelsTop .rowColoredBlocks div.colored,
.blocsAccueil .bg-bleu.blocContenu .accueilPixelsBellow .rowColoredBlocks div.colored{
  background-color: var(--bleu, lightblue);
}

.blocsAccueil .bg-mauve.blocContenu .accueilPixelsTop .rowColoredBlocks div.colored,
.blocsAccueil .bg-mauve.blocContenu .accueilPixelsBellow .rowColoredBlocks div.colored{
  background-color: var(--mauve, mediumpurple);
}

.pagesPopulaires{
  margin-top: 150px;
  margin-bottom: 150px;
}

.pagesPopulaires .listePagesPopulaires{
  margin-top: 48px;
  padding-left: 50px;
}

.evenementsAVenir{
  background: url(assets/images/background/calendrier-bleu.svg) no-repeat center right+5px;
  background-size: auto 200px;
  overflow: overlay;
}

.listeEvenements {
  list-style: none;
  padding-left: 0px;
}

.listeEvenements li{
  margin-bottom: 40px;
}

.listeEvenements li p{
  font-family: Gilroy;
  margin-bottom: 0px;
}

.listeEvenements li a{
  font-family: Gilroy;
}

.listeEvenements .titreEvenement{
  font-weight: bold;
  font-size: 1.25rem;
  color: var(--noir, black);
}

.listeEvenements .categEvenement{
  font-weight: bold;
  font-size: 0.875rem;
}

.listeEvenements .categEvenement a{
  font-weight: normal;
  font-size: 0.875rem;
}

.voirTousEvenements{
  border-top: 2px solid var(--noir, black);
  max-width: 33%;
  padding-top: 38px;
}

.voirTousEvenements a{
  font-family: Gilroy;
  font-weight: bold;
  font-size: 1.625rem;
  color: var(--noir, black);
}

.newsActus{
  position: relative;
  margin-bottom: 200px;
}

.newsActus .filtreCaroussel{
  margin-bottom: 40px;
}

.newsActus .voirToutesNouvelles{
  text-align: right;
  margin-top: 40px;
}

.newsActus .voirToutesNouvelles a{
  font-family: Gilroy;
  font-weight: bold;
  font-size: 1.625rem;
  color: var(--noir, black);
}

.newsActus .btnCaroussel{
  position: absolute;
  top: 50%;
  max-width: 60px;
  width: 60px;
  height: 60px;
}

.newsActus .btnCaroussel.btnMoveCarousselLeft{
  background-color: #000;
  background: url(assets/images/icons/precedent.svg) no-repeat center center;
  left: -60px;
}

.newsActus .btnCaroussel.btnMoveCarousselRight{
  background-color: #000;
  background: url(assets/images/icons/suivant.svg) no-repeat center center;
  right: -60px;
}

.cardGallery{
 display: flex;
 overflow-y: hidden;
 overflow-x: scroll;
 scroll-snap-type: x mandatory;
 position: relative;
 padding-bottom: 25px;
}

.cardGallery::-webkit-scrollbar{
  height: 10px;
}

.cardGallery::-webkit-scrollbar-track{
  background: linear-gradient(0deg, rgba(251,251,251,1) 0%, rgba(251,251,251,1) 40%, rgba(0,0,0,1) 50%, rgba(251,251,251,1) 60%, rgba(251,251,251,1) 100%)
}

.cardGallery::-webkit-scrollbar-thumb{
  background: var(--noir, black);
}

.cardGallery .card{
  min-width: 350px;
  max-width: 440px;
  background-color: transparent;
  border: none;
  scroll-snap-align: start;
}

.cardGallery .card:not(:first-child) {
  margin-left: 25px;
}

.cardGallery .card .card-date-publication{
  padding: 1rem 1rem;
  font-family: Gilroy;
}

.cardGallery .card .card-img-top{
  max-height: 200px;
  object-fit: cover;
  padding: 1rem 1rem;
}

.cardGallery .card .card-title{
  font-family: Gilroy;
  font-weight: bold;
  font-size: 1.375rem;
  margin-bottom: 30px;
  color: var(--noir, black);
  text-decoration: none;
  display: block;
}

.cardGallery .card .card-categ-list{
  font-family: Gilroy;
  font-weight: bold;
  font-size: 0.875rem;
}

.cardGallery .card .card-categ-list .liste-lien{
  font-weight: normal;
}

.cardGallery .card .card-categ-list .liste-lien a{
  color: black;
}

/**********************************/
/**********************************/
/*  Alerte  */
/**********************************/
/**********************************/
.alerteElectionQCJSON,
.alerteElectionQC{
  background-color: var(--noir, black);
  color: white;
  padding: 25px 75px;
  font-family: Gilroy;
  font-size: 1.15rem;
  margin-right: -15px;
  margin-left: -15px;
  margin-top: 10px;
  position: relative;
}

.alerteElectionQCJSON .btnFermerAlerte,
.alerteElectionQC .btnFermerAlerte{
    position: absolute;
    top: 15px;
    right: 15px;
    width: 20px;
    cursor: pointer;
}

.alerteElectionQCJSON a,
.alerteElectionQC a{
  color: white;
}

.pl96, .pl96 a {
  color: var(--bs-body-color);
}

.listePL96{
  margin-top: 20px;
}

/* Pour les alertes des endroits de gestion */
.msgAlerte {
  color: black;
  font-size: 0.9rem;
  padding: 5px 5px 5px 35px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='25' height='25' fill='currentColor' class='bi bi-exclamation-triangle-fill' viewBox='0 0 16 16'%3E%3Cpath d='M8.982 1.566a1.13 1.13 0 0 0-1.96 0L.165 13.233c-.457.778.091 1.767.98 1.767h13.713c.889 0 1.438-.99.98-1.767L8.982 1.566zM8 5c.535 0 .954.462.9.995l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 5.995A.905.905 0 0 1 8 5zm.002 6a1 1 0 1 1 0 2 1 1 0 0 1 0-2z'/%3E%3C/svg%3E") no-repeat 5px 5px;
}

.msgAlerte p {
  font-size: 0.9rem;
  margin: 0;
}

.alerteFooter{
  margin-top: 75px;
}

/**********************************/
/**********************************/
/*  Gestion de l'état des elections  */
/**********************************/
/**********************************/
.afficherElectionsGeneralesProv{
  display: none; 
  visibility: hidden;
}

.afficherElectionsPartiellesProv{
  display: none; 
  visibility: hidden;
}

.afficherElectionsGeneralesMuni{
  display: none; 
  visibility: hidden;
}

.afficherElectionsSco{
  display: none; 
  visibility: hidden;
}

/**********************************/
/**********************************/
/*  Pagination  */
/**********************************/
/**********************************/
.pagination {
  justify-content: center;
}

.pagination .page-numbers {
	padding: 5px;
}

/* pagination de bas de tableaux */
.tablesorter-pager img{
  width: 10px;
}

.tablesorter-pager img.prev, .tablesorter-pager img.prevPro, .tablesorter-pager img.prevMun, .tablesorter-pager img.prevSco, .tablesorter-pager img.first, .tablesorter-pager img.firstPro, .tablesorter-pager img.firstMun, .tablesorter-pager img.firstSco, .tablesorter-pager button.firstX2 img, .tablesorter-pager button.prevBtn img
{
  transform: rotate(180deg);
}

.tablesorter-pager button.firstX2, .tablesorter-pager button.lastX2,
.tablesorter-pager button.prevBtn, .tablesorter-pager button.nextBtn{
    margin: 0 20px;
    padding: 0 20px;
    border: none;
    background-color: transparent;
}

/* .tablesorter-pager div.firstX2:hover, .tablesorter-pager div.lastX2:hover, .tablesorter-pager .prev:hover, .tablesorter-pager .next:hover {*/
.tablesorter-pager img.first:hover, .tablesorter-pager img.firstPro:hover, .tablesorter-pager img.firstMun:hover, .tablesorter-pager img.firstSco:hover, .tablesorter-pager img.prev:hover, .tablesorter-pager img.prevPro:hover, .tablesorter-pager img.prevMun:hover, .tablesorter-pager img.prevSco:hover, .tablesorter-pager img.next:hover, .tablesorter-pager img.nextPro:hover, .tablesorter-pager img.nextMun:hover, .tablesorter-pager img.nextSco:hover, .tablesorter-pager img.last:hover, .tablesorter-pager img.lastPro:hover, .tablesorter-pager img.lastMun:hover, .tablesorter-pager img.lastSco:hover{
   cursor: pointer;
}

.tablesorter-pager .blocNavLignes{
  display: flex;
}

.tablesorter-pager div.firstX2, .tablesorter-pager div.divPageDisplay, .tablesorter-pager div.lastX2{
  display: flex;
}

.tablesorter-pager select.pagesize, .tablesorter-pager select.pagesizePro, .tablesorter-pager select.pagesizeMun, .tablesorter-pager select.pagesizeSco {
  margin-right: 5px;
}

.tablesorter-pager span.pagedisplay, .tablesorter-pager span.pagedisplayPro, .tablesorter-pager span.pagedisplayMun, .tablesorter-pager span.pagedisplaySco {
  margin-left: 15px;
  margin-right: 10px;
  font-size: 1rem;
}

.tablesorter-pager .blocAllezDebut label, .tablesorter-pager .blocLignesPage label{
  font-size: 1rem;
}

.tablesorter-pager img.disabledArrow,
.tablesorter-pager .disabledArrow img
{
  opacity: .30;
}

.disabledArrow:hover{ 
  cursor: default;
}

.tablesorter-bootstrap:not(.table-dark) tfoot td, .tablesorter-bootstrap:not(.table-dark) tfoot th, .tablesorter-bootstrap:not(.table-dark) thead:not(.thead-dark) .tablesorter-header, .tablesorter-bootstrap:not(.table-dark) .tablesorter-filter-row{
  background-color: inherit;
}

.firstX2:hover:not(.disabledArrow), .prevBtn:hover:not(.disabledArrow), .nextBtn:hover:not(.disabledArrow), .lastX2:hover:not(.disabledArrow){
  transform: scale(1.2);
  transition: transform 0.3s;
}

.tableRowClick tbody tr{
  cursor: pointer;
}

.tableRowClick tbody tr:hover a{
  text-decoration: none;
}

/**********************************/
/**********************************/
/*  Sondage  */
/**********************************/
/**********************************/
.sondageSatisfaction{
  margin-top: 100px;
  margin-bottom: 100px;
}

.sondageSatisfaction button.btnOui, .sondageSatisfaction button.btnNon{
  min-width: 125px;
  margin-left: 25px!important;
  margin-right: 25px!important;
}

.sondageSatisfaction button.active{
  filter: invert(1); 
  background-color: white;
  color: var(--noir, black);
}

.sondageSatisfaction .blockCommentaireSatisfaction{
  display: none;
}

.sondageSatisfaction .buttonWithSpinner{
  display: flex;
  align-items: center;
}

.sondageSatisfaction .btnSubmit{
  margin-left: 0px;
  margin-right: 10px;
}

.sondageSatisfaction .feedbackMessage{
  margin-top: 15px;
  font-weight: bold;
}

.sondageSatisfaction .feedbackMessage.errorMsg{
  color: red;
}

.sondageSatisfaction .feedbackMessage.succesMsg{
  color: green;
}

.sondageSatisfaction textarea{
  margin-top: 10px;
}

/**********************************/
/**********************************/
/*  Style du WYSIWYG  */
/**********************************/
/**********************************/
.bg-corail{
  background-color: var(--corail, lightpink)!important;
}

.bg-vert{
  background-color: var(--vert, lightgreen)!important;
}

.bg-jaune{
  background-color: var(--jaune, lightyellow)!important;
}

.bg-bleu{
  background-color: var(--bleu, lightblue)!important;
}

.bg-mauve{
  background-color: var(--mauve, mediumpurple)!important;
}

.bg-gris{
  background-color: var(--gris, lightgray)!important;
}

.bg-body{
  background-color: #FBFBFB !important;
}

.lien-focus{
  padding-left: 5px;
  padding-right: 5px;
  color: var(--noir, black);
}

.lien-focus:hover{
  text-decoration: none;
  color: var(--noir, black);
}

.gros-lien{
  font-size: 1.35rem;
  /*font-weight: bold;*/
  font-family: Gilroy;
  color: var(--noir, black);
  padding: 15px 75px 15px 5px;
  background: url(assets/images/icons/fleche-action.svg) no-repeat center right 5px;
  background-size: 70px;
  display: block;
}

.gros-lien:hover{
  background: url(assets/images/icons/fleche-action.svg) no-repeat center right 0px;
  background-size: 70px;
}

.boite-pixel{
  padding: 25px;
  position: relative;
  margin-top: 150px;
  margin-bottom: 150px;
}

.boite-pixel-corail::before{
  position: absolute;
  content: "";
  width: 200px;
  height: 100px;
  top: -100px;
  right: 0px;
  background: url(assets/images/pixel/pixel-top-rose.svg) no-repeat;
}

.boite-pixel-corail::after{
  position: absolute;
  content: "";
  width: 100px;
  height: 100px;
  bottom: -100px;
  left: 0px;
  background: url(assets/images/pixel/pixel-bas-rose.svg) no-repeat;
}

.boite-pixel-vert::before{
  position: absolute;
  content: "";
  width: 200px;
  height: 100px;
  top: -100px;
  right: 0px;
  background: url(assets/images/pixel/pixel-top-vert.svg) no-repeat;
}

.boite-pixel-vert::after{
  position: absolute;
  content: "";
  width: 100px;
  height: 100px;
  bottom: -100px;
  left: 0px;
  background: url(assets/images/pixel/pixel-bas-vert.svg) no-repeat;
}

.boite-pixel-jaune::before{
  position: absolute;
  content: "";
  width: 200px;
  height: 100px;
  top: -100px;
  right: 0px;
  background: url(assets/images/pixel/pixel-top-jaune.svg) no-repeat;
}

.boite-pixel-jaune::after{
  position: absolute;
  content: "";
  width: 100px;
  height: 100px;
  bottom: -100px;
  left: 0px;
  background: url(assets/images/pixel/pixel-bas-jaune.svg) no-repeat;
}

.boite-pixel-bleu::before{
  position: absolute;
  content: "";
  width: 200px;
  height: 100px;
  top: -100px;
  right: 0px;
  background: url(assets/images/pixel/pixel-top-bleu.svg) no-repeat;
}

.boite-pixel-bleu::after{
  position: absolute;
  content: "";
  width: 100px;
  height: 100px;
  bottom: -100px;
  left: 0px;
  background: url(assets/images/pixel/pixel-bas-bleu.svg) no-repeat;
}

.boite-pixel-mauve::before{
  position: absolute;
  content: "";
  width: 200px;
  height: 100px;
  top: -100px;
  right: 0px;
  background: url(assets/images/pixel/pixel-top-mauve.svg) no-repeat;
}

.boite-pixel-mauve::after{
  position: absolute;
  content: "";
  width: 100px;
  height: 100px;
  bottom: -100px;
  left: 0px;
  background: url(assets/images/pixel/pixel-bas-mauve.svg) no-repeat;
}

.boite-pixel.boite-sans-haut{
  margin-top: 0px;
}
.boite-pixel.boite-sans-haut::before{
  content: none;
}

.boite-pixel.boite-sans-bas{
  margin-bottom: 0px;
}
.boite-pixel.boite-sans-bas::after{
  content: none;
}

.boite-evidence{
  padding: 25px;
  margin: 30px 0;
  border-radius: unset;
}

.boite-evidence h2,
.boite-evidence h3,
.boite-evidence h4{
  margin-top: 0px;
}

.boite-evidence p:last-child{
  margin-bottom: 0px;
}
/**********************************/
/**********************************/
/*  Accordion   */
/**********************************/
/**********************************/

h4.accordion-header, h3.accordion-header, h2.accordion-header, h1.accordion-header{
  margin-top: 0px !important;
}
.accordion {
  margin: 30px 0;
}
.accordion-button {
  color: var(--noir, black);
  background-color: var(--gris, lightgray);
  border: none;
  font-weight: normal;
  font-family: Gilroy;
  font-size: 1.35rem;
}

.accordion-button:not(.collapsed) {
  color: var(--noir, black);
  background-color: var(--gris, lightgray);
}

.accordion-collapse {
  border: none;
  background-color: var(--gris, lightgray);
  font-family: Muli;
  font-size: 1rem;
}

.accordion-button:focus {
  border: none;
  box-shadow: none;
}

.accordion-button:focus-visible {
  outline: -webkit-focus-ring-color auto 1px;
}

button.accordion-light {
  font-size: 1.1rem;
  background-color: unset!important;
}

div.accordion-light {
  font-size: 1rem;
  background-color: unset!important;
}

.accordion-button::after {
  background-image: url("assets/images/icons/plus.svg");
}

.accordion-button:not(.collapsed)::after {
  background-image: url("assets/images/icons/moins.svg");
  background-position: center;
}
/**********************************/
/**********************************/
/*  Carousel   */
/**********************************/
/**********************************/
.carousel-item{
  min-height: 250px;
  padding-top: 30px;
  padding-left: 75px;
  padding-right: 75px;
  padding-bottom: 30px;
  font-family: Muli;
  font-size: 0.9rem;
}

.carouselElectionsQc .carousel-control-prev,
.carouselElectionsQc .carousel-control-next{
 background-color: black;
 max-height: 60px;
 max-width: 60px;
 top: 35px;
}

/* Carousel page comment voter? */
.zoneCarousel{
  background-color: var(--corail, lightpink)!important;
  width: 99.4vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  margin-bottom: 150px;
  margin-top: 150px;
}

div.zoneCarousel .commentVoterPixelsBellow{
  position: absolute;
  bottom: -160px;
  right: 0px;
  padding: 0px;
  margin: 0px;
/*   width: 240px;
  height: 160px; */
}

div.zoneCarousel .commentVoterPixelsTop{
  position: absolute;
  top: -160px;
  right: 0px;
  padding: 0px;
  margin: 0px;
/*   width: 320px;
  height: 160px;*/
} 

div.zoneCarousel .carousel-control-prev,
div.zoneCarousel .carousel-control-next{
  top: 200px;
}

div.zoneCarousel .carousel-item{
  padding-left: 120px;
  padding-right: 120px;
  min-height: 645px;
}

div.zoneCarousel .carousel-item h3{
  font-size: 6rem;
}

div.zoneCarousel .carousel-item p{
  width: 550px;
  font-size: 1.5rem;
}

div.zoneCarousel .carousel-item{
  background-repeat: no-repeat;
  background-position: top 50% right 10%;
  background-size: auto 300px;
}

div.zoneCarousel .carousel-item.etape1{
  background-image: url(assets/images/background/etape1-piece-identite.svg);
}

div.zoneCarousel .carousel-item.etape2{
  background-image: url(assets/images/background/etape2-isoloir.svg);
}

div.zoneCarousel .carousel-item.etape3{
  background-image: url(assets/images/background/etape3-voter.svg);
}

div.zoneCarousel .carousel-item.etape4{
  background-image: url(assets/images/background/etape4-replier.svg);
}

div.zoneCarousel .carousel-item.etape5{
  background-image: url(assets/images/background/etape5-talon.svg);
}

div.zoneCarousel .carousel-item.etape6{
  background-image: url(assets/images/background/etape6-urne.svg);
}
 
/**********************************/
/**********************************/
/*  Archive   */
/**********************************/
/**********************************/
.filterArchive{
  background-color: rgba(216, 223, 228, 0.5);
  padding-top: 25px;
  padding-bottom: 25px;
  margin-top: 50px;
  margin-bottom: 50px;
}

.filterArchive .filterBtnDiv{
  display: flex;
  flex-wrap: wrap;
  align-content: flex-end;
}

.filterArchive .filterBtnDiv .btn{
  margin-right: 1.5rem;
}

.tagIndication{
  display: inline-block;
  margin-top: 80px;
  padding: 4px;
}

.emploiContentListe,
.emploiContent,
.actualiteContent{
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
  margin-bottom: 35px;
  padding-bottom: 25px;
}

.communiqueContent h1,
.evenementsContent h1,
.actualiteContent h1{
  margin-top: 10px;
}

.emploiContentListe h2,
.actualiteContent h2{
  font-size: 1.5rem;
  margin-top: 10px;
  margin-bottom: 20px;
}

.actualiteContent h3{
  font-size: 1.25rem;
  margin-top: 10px;
  margin-bottom: 20px;
}

.realisationContent {
  display: flex;
  flex-direction: row;
  align-items: center;
}

.realisationContent img {
  flex: 0 0 auto; /* Permet à l'image de ne pas prendre de l'espace supplémentaire */
  margin-right: 20px; /* Espacement entre l'image et le texte */
  max-width: 350px; /* Largeur maximale de l'image */
  height: auto; /* Pour garder les proportions de l'image */
}

.realisationContent p {
  flex: 1; /* Permet au texte de prendre tout l'espace disponible */
}

.imgRealisation {
  margin-top: 30px;
  margin-bottom: 30px;
}

.loadMoreBtnSection{
  display: flex;
  justify-content: center;
}

/**********************************/
/**********************************/
/*  Tableau   */
/**********************************/
/**********************************/
.boite-evidence .btnElectionqc{
  margin: 0.5rem 0!important;
}

button.form-control, select.form-control {
  width: fit-content!important;
}

.tableDiv{
  border-top: 2px solid var(--noir, black);
  border-bottom: 2px solid var(--noir, black);
  padding-top: 10px;
  padding-bottom: 10px;
}

.table{
  caption-side: top;
  table-layout: fixed;
  --bs-table-bg: transparent;
  /*margin-bottom: 5rem;*/
}

.table thead tr th{
  border-bottom: 1px solid var(--noir, black);
}

.table tfoot,
.table tfoot tr,
.table tfoot tr td{
  border-top: 1.1px solid var(--noir, black);
}

table.table-historique { 
  table-layout: auto;
}
table.table-historique td:first-of-type{
  font-weight: bold;
}


.table caption{
  padding-top: 1rem;
  color: black;
  text-align: center;
  font-weight: bold;
  font-size: 1.25rem;
}

.table input{
  max-width: 100%;
}

.tablesorter-bootstrap thead th{
  font: unset;
  font-weight: bold;
}

.tablesorter-bootstrap thead .tablesorter-headerUnSorted:not(.sorter-false) {
  background-position: right 6px bottom 10px;
}

.tablesorter-bootstrap thead .tablesorter-headerAsc{
  background-position: right 6px bottom 16px;
}

.tablesorter-bootstrap thead .tablesorter-headerDesc{
  background-position: right 6px bottom 10px;
}

.tablesorter-filter.disabled{
    display: none; 
    visibility: hidden;
}

.table thead th{
  vertical-align: bottom;
}

.table thead th:last-child>td{
  border-bottom-color: currentColor;
}

.table tr:not(:first-child){
  border-top: 1px solid rgba(0, 0, 0, 0.2);
}

.table tr td{
  font-family: Muli;
  font-size: 0.875rem;
  padding: 10px;
}

.table.col1-right tbody tr td:nth-child(1),
.table.col1-right thead tr th:nth-child(1),
.table.col1-right tfoot tr td:nth-child(1),
.table.col2-right tbody tr td:nth-child(2),
.table.col2-right thead tr th:nth-child(2),
.table.col2-right tfoot tr td:nth-child(2),
.table.col3-right tbody tr td:nth-child(3),
.table.col3-right thead tr th:nth-child(3),
.table.col3-right tfoot tr td:nth-child(3),
.table.col4-right tbody tr td:nth-child(4),
.table.col4-right thead tr th:nth-child(4),
.table.col4-right tfoot tr td:nth-child(4),
.table.col5-right tbody tr td:nth-child(5),
.table.col5-right thead tr th:nth-child(5),
.table.col5-right tfoot tr td:nth-child(5),
.table.col6-right tbody tr td:nth-child(6),
.table.col6-right thead tr th:nth-child(6),
.table.col6-right tfoot tr td:nth-child(6),
.table.col7-right tbody tr td:nth-child(7),
.table.col7-right thead tr th:nth-child(7),
.table.col7-right tfoot tr td:nth-child(7),
.table.col8-right tbody tr td:nth-child(8),
.table.col8-right thead tr th:nth-child(8),
.table.col8-right tfoot tr td:nth-child(8),
.table.col9-right tbody tr td:nth-child(9),
.table.col9-right thead tr th:nth-child(9),
.table.col9-right tfoot tr td:nth-child(9),
.table.col10-right tbody tr td:nth-child(10),
.table.col10-right thead tr th:nth-child(10),
.table.col10-right tfoot tr td:nth-child(10),
.table.col11-right tbody tr td:nth-child(11),
.table.col11-right thead tr th:nth-child(11),
.table.col11-right tfoot tr td:nth-child(11),
.table.col12-right tbody tr td:nth-child(12),
.table.col12-right thead tr th:nth-child(12),
.table.col12-right tfoot tr td:nth-child(12),
.table.col13-right tbody tr td:nth-child(13),
.table.col13-right thead tr th:nth-child(13),
.table.col13-right tfoot tr td:nth-child(13),
.table.col14-right tbody tr td:nth-child(14),
.table.col14-right thead tr th:nth-child(14),
.table.col14-right tfoot tr td:nth-child(14),
.table.col15-right tbody tr td:nth-child(15),
.table.col15-right thead tr th:nth-child(15),
.table.col15-right tfoot tr td:nth-child(15)
{
  text-align: right;
}

.table.table-sticky thead th{
  position: sticky;
  top: 0px;
}

.table tr td a{
  color: var(--noir, black);
}

.table tr:last-child{
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}

.btn-notes-tfoot {
  color: var(--noir, black);
  font-size: 0.875rem;
  padding: 10px 0px 0px 0px;
  font-weight: normal;
}

.btn-notes-tfoot:hover {
  color: var(--noir, black);
  text-decoration: none;
}

tr.tablesorter-headerRow, .table thead tr:first-child{
  border: 0px transparent solid;
}

.tablesorter:not(.table-dark) .tablesorter-errorRow td{
  background-color: var(--jaune);
}

table.tablesorter th:hover, table.tablesorter th:focus, table#tabDonateur tr:first-child th:hover, table#tabDonateur tr:first-child th:focus, table#tabDonateurMun tr:first-child th:hover, table#tabDonateurMun tr:first-child th:focus, table#tabDonateurSco tr:first-child th:hover, table#tabDonateurSco tr:first-child th:focus {
  background-color: var(--bs-table-hover-bg)!important;
}

/* pour avoir de l'ombre à droite du tableau quand il y a un scroll */
.table-responsive {
  background: linear-gradient(to right, #FBFBFB 30%, rgba(255, 255, 255, 0)),
    linear-gradient(to right, rgba(255, 255, 255, 0), #FBFBFB 70%) 0 100%,
    radial-gradient(
      farthest-side at 0% 50%,
      rgba(0, 0, 0, 0.25),
      rgba(0, 0, 0, 0)
    ),
    radial-gradient(
        farthest-side at 100% 50%,
        rgba(0, 0, 0, 0.25),
        rgba(0, 0, 0, 0)
      )
      0 100%;
  background-repeat: no-repeat;
  background-size: 40px 100%, 40px 100%, 14px 100%, 14px 100%;
  background-position: 0 0, 100%, 0 0, 100%;
  background-attachment: local, local, scroll, scroll;
}

/* pour enlever l'espace autour des <sup> dans des tables */
.table>:not(caption)>*>sup {
  padding: 0;
}

/**********************************/
/**********************************/
/*  Onglets   */
/**********************************/
/**********************************/

.tabStatsCaption{
  margin-bottom: 0px;
}

.nav-tabs{
  border-bottom: none;
  margin-bottom: 80px;
}

.nav-tabs.tabStats{
  margin-bottom: 20px;
}

.nav-tabs.tabStats::after {
  border-bottom: none;
}

.nav-tabs .nav-link.active {
  background-color: transparent;
}

.nav-tabs .nav-link:focus-visible {
  box-shadow: 0 0 0 0.25rem rgb(0 0 0 / 25%);
}

.nav-tabs::after {
  content: "";
  border-bottom: 2px solid var(--noir, black);
  flex: 1;
  margin: auto auto 25px auto;
  height: 0px;
}

.nav-tabs.tabStats .nav-item{
  margin-top: 0px;
  margin-bottom: 0px;
}

.nav-tabs.tabStats .nav-link{
  font-size: 1.4rem;
}

.nav .nav-link{
  color: var(--noir, black);
  font-family: Gilroy;
  font-weight: lighter;
  font-size: 1.833rem;
  padding: 0px;
  margin: .5rem 2rem .5rem 0rem;
}

.nav .nav-link.active{
  font-weight: bold;
  border: none;
  border-bottom: 3px solid var(--noir, black);
  color: var(--noir, black);
}

.nav .nav-link .bi{
  margin-right: 10px;
}

.nav-tabs .nav-link {
  border: none;
  display: flex;
}

.nav-tabs .nav-link:hover:not(.active) {
  text-decoration: underline;
  text-underline-offset: 11px;
}

button.nav-link.active i.bi.bi-calendar-event::before {
  content: "\f1e7";
}

button.nav-link i.bi.bi-calendar-event::before {
  content: "\f1e8";
}

/**********************************/
/**********************************/
/*  Modale    */
/**********************************/
/**********************************/
.modal-content{
  background-color: #FBFBFB;
}

.modal-header{
  border-bottom: 2px solid var(--noir, black);
}

.modal-header .container{
  text-align: right;
}

.modal-footer{
  border-top: 2px solid var(--noir, black);
}

.modal-body {
  padding: 1rem;
}

.modal-body li {
  margin: 15px 0;
}

.modal.fade .modal-dialog { 
  transform: translateY(100vh); 
  transition: transform 0.3s linear; 
} 

.modal.show .modal-dialog { 
  transform: translateY(0); 
}

/**********************************/
/**********************************/
/*  Modale accessibilité des bureaux de vote   */
/**********************************/
/**********************************/

p.conformiteAccessibiliteAdresse {
  font-size: 1.3rem;
  font-weight: bold;
}

.conformiteAccessibilite li {
  list-style: none;
  position: relative;
  padding-left: 1rem;
}

.conformiteAccessibilite li.ouiConforme::before, .conformiteAccessibilite li.nonConforme::before {
  padding: 0.2rem 0.5rem;
  margin-right: 0.5rem;
  position: absolute;
  left: -1.5rem;
}
.conformiteAccessibilite li.ouiConforme::before {
  content: '\2714';
  background-color: var(--vert,lightgreen);
}

.conformiteAccessibilite li.nonConforme::before {
  content: '\2718';
  background-color: var(--rose,lightpink);
}

p.noteInterieur, p.notePorte, p.noteAscenseur, p.noteRampe, p.noteEclair, p.noteAllee, p.noteStationnement {
  margin: 2rem 0 2rem 0;
  font-weight: bold;
}
/**********************************/
/**********************************/
/*  Page Hub    */
/**********************************/
/**********************************/
.listeLiensHub .lienHub{
  display: block;
  padding: 30px 10px;
  border-top: 2px solid var(--noir, black);
  font-family: Gilroy;
  font-weight: bold;
  font-size: 1.875rem;
  text-decoration: none;
  color: var(--noir, black);
  background: url(assets/images/icons/fleche-action.svg) no-repeat center right+5px;
  background-size: 76px;
  letter-spacing: 0.05rem;
}

.listeLiensHub .lienHub .resumeHub{
  display: block;
  font-family: Muli;
  font-size: 0.875rem;
  max-width: 70%;
}

.listeLiensHub .lienHub:last-child{
  border-bottom: 2px solid var(--noir, black);
}

.listeLiensHub .lienHub:hover{
  color: white;
  background: url(assets/images/icons/fleche-action-rev.svg) no-repeat center right+5px;
  background-size: 76px;
  background-color: var(--noir, black);
}

/**********************************/
/**********************************/
/*  Header    */
/**********************************/
/**********************************/

.bandeMenuMobile{
  margin-bottom: 45px;
}

.bandeMenuMobile div{
  padding-left: 0px;
  padding-right: 0px;
}

.bandeMenuMobile .logoMobile{
  max-height: 30px;
  margin-left: 30px;
  margin-top: 15px;
}

.bandeMenuMobile .btnMenuBurger{
  display: inline-block;
  width: 50px;
  height: 50px;
  background: url(assets/images/icons/toutes-les-sections-blanc.svg) no-repeat center;
  background-size: 20px;
  background-color: var(--noir, black);
  margin-left: 20px;
}

.bandeMenuMobile .btnMenuRecherche{
  display: inline-block;
  width: 50px;
  height: 50px;
  background: url(assets/images/icons/loupe-recherche.svg) no-repeat center;
  background-size: 30px;
}

.bandeNoire{
  background-color: var(--noir, black);
  text-align: right;
  padding: 5px 40px;
}

.bandeNoire .menuBandeNoire{
  margin-bottom: 0px;
}

.bandeNoire .menuBandeNoire li{
  display: inline;
  padding-left: 10px;;
}

.bandeNoire .menuBandeNoire a{
  color: white;
  text-decoration: none;
  font-family: Muli;
  font-size: 0.75rem;
}

.bandeNoire .menuBandeNoire a:hover{
  text-decoration: underline;
}

.logoEtRecherche{
  margin: 40px 0px;
  position: relative;
  margin-right: -15px;
}

.logoEtRecherche .rechercheInput{
  position: absolute;
  top: 0px;
  right: 0px;
  border: 2px solid black;
  background-color: white;
}

.blog-post-meta{
  font-family: Gilroy;
  font-weight: bold;
}

.menuHaut{
  position: relative;
}

.menuTooltip .tooltip-inner{
  color: var(--noir, black);
  background-color: white;
  border: 2px solid black;
  border-radius: 0;
  font-family: Muli;
  font-size: 0.875rem;
}

.menuTooltip .tooltip-inner:before {
  content: ' ';
  height: 0;
  position: absolute;
  width: 0;
  top: -3.5px;
  left: 50%;
  transform: translateX(-48%);
  border: 6px solid transparent;
  border-bottom-color: #FBFBFB;
}

.menuHaut .barreHaut{
  height: 50px;
  overflow: hidden;
  margin-bottom: 50px;
}

.menuHaut .barreHaut .activeSection a{
  border-top: 2px solid black;
  padding-top: 6px;
}

.menuHaut .barreHaut li a:hover{
  border-top: 2px solid black;
  padding-top: 6px;
}

.listeMenuShrink a:focus-visible{
  outline-offset: -2px;
}

.menuHaut .barreHaut ul{
  padding-left: 0px;
  display: flex;
  list-style-type: none;
  flex-flow: row wrap;
  position: relative;
}

.menuHaut .barreHaut ul li a{
  display: block;
  padding: 8px 10px;
  height: 50px;
  font-family: Muli;
  font-weight: bold;
  font-size: 0.9375rem;
  color: var(--noir, black);
  letter-spacing: -0.02em;
  text-decoration: none;
  max-width: 200px;
  line-height: 0.95rem;
  margin-right: 10px;
}

.menuHaut .barreHaut ul li a.educDemo{
  max-width: 135px;
}

.menuHaut .barreHaut .menuBtn{
  background: url(assets/images/icons/toutes-les-sections-blanc.svg) no-repeat center left+10px;
  background-size: 22px;
  background-color: var(--noir, black);
  padding-left: 45px;
  max-width: 220px;
  height: 50px;
  cursor: pointer;
  border: solid 2px var(--noir, black);
  border-radius: 2px;
}

.menuHaut .barreHaut .menuBtn:hover{
  filter: invert(1);
  border: solid 2px white;
}

.menuHaut .barreHaut .menuBtn .openMenu{
  display: block;
  font-family: Muli;
  font-weight: bold;
  font-size: 0.9375rem;
  color: white;
  text-decoration: none;
  line-height: 45px;
}

.fullPageMenu{
  position: fixed;
  width: 100vw;
  height: 100vh;
  background-color: var(--noir, black);
  visibility: hidden;
  top: 0px;
  right: 0px;
  z-index: 1001;
  overflow-y: scroll;
}

.menuOverlay{
  padding-top: 250px;
  position: relative;
}

.menuOverlay .menuOverlayLogo{
  position: absolute;
  top: 140px;
  left: 10px;
  width: 150px;
}

.menuOverlay .btnFermerMenuOverlay{
  position: absolute;
  top: 140px;
  right: 10px;
  width: 50px;
  cursor: pointer;
}

.btnFermerMenuOverlay:hover, .btnFermerRechercheOverlay:hover{
  transform: scale(1.2);
  transition: transform 0.3s;
}

.menuOverlay .btnRechercheMenuOverlay{
  position: absolute;
  top: 140px;
  right: 60px;
  width: 50px;
  cursor: pointer;
}

.menuOverlay .menuOverlayMainMenu{
  padding-right: 60px;
}

.menuOverlay .lienMenuOverlay{
  display: block;
  padding: 25px 10px;
  border-top: 2px solid white;
  font-family: Gilroy;
  font-weight: bold;
  font-size: 1.5rem;
  text-decoration: none;
  color: white;
  background: url(assets/images/icons/fleche-action-rev.svg) no-repeat center right+5px;
  background-size: 76px;
  letter-spacing: 0.05rem;
}

.menuOverlay .lienMenuOverlay:hover{
  background: url(assets/images/icons/fleche-action.svg) no-repeat center right+5px;
  background-size: 76px;
  background-color: white;
  color:var(--noir, black);
}

.menuOverlay .lienMenuOverlay .resumeLienMenuOverlay{
  display: block;
  font-family: Muli;
  font-size: 0.8125rem;
  max-width: 70%;
}

.menuOverlay .lienMenuOverlay:last-child{
  border-bottom: 2px solid white;
}

.menuOverlay .menuOverlayTopMenu{
  list-style-type: none;
  padding-left: 0px;
  text-align: right;
}

.menuOverlay .menuOverlayTopMenu li{
  display: inline;
  margin-left: 15px;
}

.menuOverlay .menuOverlayTopMenu a{
  color: white;
  font-family: Muli;
  font-size: 0.75rem;
  text-decoration: none;
  text-align: right;
  margin-right: 0px;
  /* padding-left: 15px; */
}

.menuOverlay .menuOverlayTopMenu a:hover{
  text-decoration: underline;
}

.menuOverlay .rechercheInput{
  background-color: white;
  display: block;
  width: 100%;
  margin-top: 25px;
  margin-bottom: 45px;
}

.menuOverlay .menuNews h2{
  color: white;
  font-size: 1.5rem;
  margin-bottom: 15px;
}

.menuOverlay .menuNews .menuNewsItem{
  margin-bottom: 25px;
  color: white;
}

.menuOverlay .menuNews .menuNewsItem a{
  display: block;
  color: white;
  font-family: Muli;
  font-size: 0.875rem;
}

.menuOverlay .menuNews .menuNewsItem a.savoirPlus{
  text-decoration: underline;
  font-weight: bold;
  margin-top: 10px;
}

.lienRetourTop {
  display: flex;
}

.flecheBack {
  width: 50px;
  margin-right: 0.5rem;
}
/**********************************/
/**********************************/
/*  A consulter    */
/**********************************/
/**********************************/
.pagesAConsulter{
  margin-top: 80px;
}

.lienAConsulter{
  display: block;
  padding: 30px 75px 30px 10px;
  border-top: 2px solid var(--noir, black);
  font-family: Muli;
  font-weight: bold;
  font-size: 1.25rem;
  text-decoration: none;
  color: var(--noir, black);
  background: url(assets/images/icons/fleche-action.svg) no-repeat center right+5px;
  background-size: 76px;
  letter-spacing: 0.05rem;
}

.lienAConsulter .precisionLien{
  display: block;
  font-family: Muli;
  font-size: 0.875rem;
  max-width: 90%;
  margin-top: 10px;
  font-weight: normal;
}

.lienAConsulter:hover{
  color: white;
  background: url(assets/images/icons/fleche-action-rev.svg) no-repeat center right+5px;
  background-size: 76px;
  background-color: var(--noir, black);
}

.lienAConsulter:last-child{
  border-bottom: 2px solid var(--noir, black);
}

.pagesAConsulter .listeLiensAConsulter{
  margin-top: 48px;
  padding-left: 75px;
}

/**********************************/
/**********************************/
/*  Footer    */
/**********************************/
/**********************************/
.boitePromo{
  padding-bottom: 80px;
  padding-top: 80px;
  margin-top: 400px;
  position: relative;
}

.boitePromo .imageBoitePromo{
  max-width: 150px;
}

.boitePromo .boitePromoBlocks{
  position: absolute;
  top: -240px;
  left: 0px;
  padding: 0px;
  margin: 0px;
  width: 800px;
  height: 320px;
}

.boitePromo .boitePromoBlocks .rowBoitePromoBlocks{
  line-height: 0px;
  padding: 0px;
  margin: 0px;
}

.boitePromo .boitePromoBlocks .rowBoitePromoBlocks div{
  display: inline-block;
  width: 80px;
  height: 80px;
  padding: 0px;
  margin: 0px;
}

footer{
  background-color: var(--noir, black);
  min-height: 200px;
  margin-top: 400px;
  padding: 80px 120px 40px 120px;
  position: relative;
}

footer.withPromo{
  margin-top: 0px !important;
}

footer .menuFooter .menuFooterTitle{
  color: white;
  font-family: Gilroy;
  font-weight: bold;
  font-size: 1.25rem;
  margin: 0 0 30px 0;
}

footer .menuFooter ul{
  padding-left: 0px;
}

footer .menuFooter ul li{
  list-style-type: none;
  margin-bottom: 10px;
}

footer .menuFooter.blocLogoMS ul li{
  display: inline;
  margin-right: 10px;
}

footer .menuFooter.blocLogoMS ul li img{
  max-height: 28px;
}

footer .menuFooter.blocLogoMS .logoEQ{
  margin-top: 25px;
}

footer .menuFooter ul li a{
  color: white;
  font-family: Muli;
  font-weight: bold;
  text-decoration: none;
}

footer .menuFooter ul li a:hover{
  text-decoration: underline;
}

footer .copyright{
  margin-top: 120px;
}

footer .copyright a{
  color: white;
  font-family: Muli;
  font-size: 0.875rem;
  text-decoration: none;
}

footer .copyright a:hover{
  text-decoration: underline;
}

.footerBlackBlocks{
  position: absolute;
  top: -160px;
  right: 0px;
  padding: 0px;
  margin: 0px;
  width: 320px;
  height: 160px;
}

.footerBlackBlocks.withPromo{
  display: none !important;
}

.footerBlackBlocks .rowBlackBlocks{
  line-height: 0px;
  padding: 0px;
  margin: 0px;
}

.footerBlackBlocks .rowBlackBlocks div{
  display: inline-block;
  width: 80px;
  height: 80px;
  padding: 0px;
  margin: 0px;
}

.footerBlackBlocks .rowBlackBlocks div.black{
  background-color: var(--noir, black);
}

footer nav ul li a img:hover{
  transform: scale(1.2);
  transition: transform 0.3s;
}
/**********************************/
/**********************************/
/*  Avis publics    */
/**********************************/
/**********************************/

.avisPublics{
  margin-bottom: 35px;
}

.avisPublics select{
  width: 250px;
}
/**********************************/
/**********************************/
/*  Moteur de recherche */
/**********************************/
/**********************************/
.fullPageRecherche{
  position: fixed;
  width: 100vw;
  height: 100vh;
  background-color: var(--noir, black);
  visibility: hidden;
  top: 0px;
  right: 0px;
  z-index: 1001;
  overflow-y: scroll;
}

.menuRechercheTitle{
  color: white;
}

.rechercheOverlay{
  padding-top: 250px;
  position: relative;
}

.rechercheOverlay .rechercheOverlayLogo{
  position: absolute;
  top: 140px;
  left: 10px;
  width: 150px;
}

.rechercheOverlay .btnFermerRechercheOverlay{
  position: absolute;
  top: 140px;
  right: 10px;
  width: 50px;
  cursor: pointer;
  padding-left: calc(var(--bs-gutter-x) * .5);
  padding-right: calc(var(--bs-gutter-x) * .5);
}

.rechercheOverlay .hits{
  background: #fff;
}

.rechercheOverlay .hits .plusDeResutlatBTN{
  margin-left: 50%;
  transform: translateX(-50%);
}

.listePagesPopulairesRecherche{
  list-style-type: none;
}

.listePagesPopulairesRecherche li{
  margin-bottom: 10px;
}

.listePagesPopulairesRecherche .lienPagesPopulairesRecherche{
  display: block;
  padding: 20px 75px 20px 10px;
  border-top: 2px solid white;
  font-family: Muli;
  font-weight: bold;
  font-size: 1.25rem;
  text-decoration: none;
  color: white;
  background: url(assets/images/icons/fleche-action-rev.svg) no-repeat center right+5px;
  background-size: 76px;
  letter-spacing: 0.05rem;
}

.listePagesPopulairesRecherche .lienPagesPopulairesRecherche:last-child{
  border-bottom: 2px solid white;
}

.listePagesPopulairesRecherche .lienPagesPopulairesRecherche:hover {
  color: var(--noir, black);
  background: url(assets/images/icons/fleche-action.svg) no-repeat center right+5px;
  background-size: 76px;
  background-color: white;
}

.searchBox{
  background-color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: .875rem;
  height: 3.5rem;
  line-height: 1.25rem;
  position: relative;
  width: 100%;
}

.searchBox .btnFiltreRecherche{
  position: absolute;
  right: 10px;
}

.searchBox .rechercheSearchBoxReset{
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 20px;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: absolute;
  right: 1rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  text-decoration: none;
  background-image: url(assets/images/icons/close-rev.svg);
  background-repeat: no-repeat;
  width: 20px
}

.searchBox .rechercheSearchBoxInput{
  background-image: url(assets/images/icons/loupe-recherche.svg);
  background-repeat: no-repeat;
  background-position: center left+5px;
  background-size: 20px;
  padding-left: 30px;
  border: none;
  margin: 5px;
}

.nbHits{
  background: #fff;
  border-top: 1px solid rgb(35 38 59 / 15%);
  padding: 0.5rem 1.5rem;
  color:#383838;
  font-size: 0.75rem;
}

.btnFiltre{
  margin-top: 25px;
  text-align: center;
}

.filtreRechercheOverlay{
  background-color: #fff;
  position: absolute;
  right: 10px;
  max-width: 75%;
  padding: 10px;
  border: 2px solid black;
  margin: 5px;
  box-shadow: 2px 2px rgba(0, 0, 0, 0.315);
  display: none;
  z-index: 10;
}

.filtreRechercheOverlay .btnFermerFiltreX{
  position: absolute;
  top: 10px;
  right: 10px;
  width: 50px;
  cursor: pointer;
  padding-left: calc(var(--bs-gutter-x) * .5);
  padding-right: calc(var(--bs-gutter-x) * .5);
}

.filtreRechercheOverlay h2{
  font-size: 1.75rem;
  margin-top: 10px;
  margin-bottom: 28px;
}

.filtreRechercheOverlay .typeFacets .facet-item,
.filtreRechercheOverlay .categoriesFacets .facet-item,
.filtreRechercheOverlay .ongletFacets .facet-item{
  display: block;
  margin-bottom: 15px;
}

.filtreRechercheOverlay .typeFacets .facet-item.disabled,
.filtreRechercheOverlay .categoriesFacets .facet-item.disabled,
.filtreRechercheOverlay .ongletFacets .facet-item.disabled{
  color:  var(--gris, gray);
}

.filtreRechercheOverlay .typeFacets .facet-item input,
.filtreRechercheOverlay .categoriesFacets .facet-item input,
.filtreRechercheOverlay .ongletFacets .facet-item input{
  margin-right: 5px;
}

.resultsRecherche .resultsRechercheList{
  padding-left: 0px;
}

.resultsRecherche .resultsRechercheHits{
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: .875rem;
  font-weight: 400;
  line-height: 1.25rem;
  padding: 1.5rem;
}

.resultsRecherche .resultsRechercheHits a{
  font-size: 1rem;
}

.resultsRecherche .resultsRechercheHits:first-child{
  border-top: 1px solid #d3d3d3;
}

.resultsRecherche .resultsRechercheHits:not(:last-child){
  border-bottom: 1px solid #d3d3d3;
}

.resultsRechercheHits em{
  background-color: var(--bleu);
  font-style: normal;
}

.resultsRechercheHits .badge{
  margin-left: 10px;
  text-transform: capitalize;
}

.resultsRechercheHits .typeHit{
  font-size: 0.8rem;
  font-style: italic;
  margin-bottom: 0;
}

.resultsRechercheHits .descHit{
  margin-top: 1rem;
}

.noResultsRecherche{
  background-color: white;
  padding: 1.5rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background: #fff;
  box-shadow: 0 0 0 1px rgb(35 38 59 / 5%), 0 1px 3px 0 rgb(35 38 59 / 15%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.noResultsRecherche p{
  margin-bottom: 0px;
}

/**********************************/
/**********************************/
/*  Infolettres et medias sociaux */
/**********************************/
/**********************************/

#formAbon .alert{
  margin-top: 15px;
}

#formAbon .btnElectionqc{
  margin-left: 0!important;
}

#formAbon .courriel{
  width: 350px;
}

#formAbon .alert-danger{
  border-color: #c4263c;
  background-color: inherit;
  color: #c4263c
}

/**********************************/
/**********************************/
/*    Élections en chiffres       */
/**********************************/
/**********************************/

.unResume img{
  height: 100px;
}

/**********************************/
/**********************************/
/*  Emplois    */
/**********************************/
/**********************************/

.filtreEmploi{
  margin-top: 40px;
  margin-bottom: 40px;
}

.filtreEmploi .btn{
  width: 100%;
}

.emploi{
  padding-top: 40px;
  padding-bottom: 40px;
  border-top: 1px solid black;
}

.emploi:last-child{
  border-bottom: 1px solid black;
  margin-bottom: 100px;
}

.emploi .titreEmploi{
  font-size: 1.5rem;
  font-family: Gilroy;
  font-weight: bold;
}

.emploi .dateLimiteEmploi{
  font-size: 1.1rem;
  font-family: Muli;
  font-weight: bold;
}

.emploi .descriptionEmploi{
  margin-top: 25px;
  margin-bottom: 25px;
}

.emploi .listeCategorieEmploi a{
  font-size: 1rem;
}

#carouselTemoignages .innerCarouselItem{
  display: flex;
}

#carouselTemoignages .texteTemoignage{
  margin-right: 15px;
}

.texteTemoignage .startQuote,
#carouselTemoignages .texteTemoignage .startQuote{
  font-size: 4rem;
  line-height: 0px;
  margin-right: 10px;
}

.texteTemoignage .endQuote,
#carouselTemoignages .texteTemoignage .endQuote{
  font-size: 4rem;
  line-height: 0px;
  margin-left: 10px;
  margin-top: 10px;
  position: absolute;
}

#carouselTemoignages .imageTemoignage img{
  max-width: 300px;
  max-height: 300px;
  height: auto;
  width: auto;
  display: block;
}

#carouselTemoignages .carousel-control-prev,
#carouselTemoignages .carousel-control-next{
  top: 150px;
}

#carouselEspaces .carousel-control-prev,
#carouselEspaces .carousel-control-next{
  top: 50%;
}

#carouselEspaces img{
  max-width: 100%;
}

.divBtnPartager{
  float: right;
}

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

.partagerFadeOut {
  visibility: hidden;
  opacity: 0;
  transition: visibility 0s 2s, opacity 2s linear;
}

/**********************************/
/**********************************/
/*  Donateurs  */
/**********************************/
/**********************************/


#tabDonateur th{
  padding: 4px 20px 4px 6px;
}

thead th.sortable, th.sortableMun, th.sortableSco {
    background-repeat: no-repeat;
    background-position: right bottom;
    cursor: pointer;
    vertical-align: bottom;
}
thead th.up {
    background-position: right 6px bottom 10px;
    padding-right: 20px;
    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiIgdmlld0JveD0iMCAwIDE0IDE0Ij48cGF0aCBkPSJNMTQgOS41TDExLjUgMTIgNyA3LjUgMi41IDEyIDAgOS41bDctN3oiLz48L3N2Zz4=)
}
thead th.down {
    background-position: right 6px bottom 10px;
    padding-right: 20px;
    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiIgdmlld0JveD0iMCAwIDE0IDE0Ij48cGF0aCBkPSJNMTQgNWwtMi41LTIuNS00LjUgNC41LTQuNS00LjVMMCA1IDcgMTJ6Ii8+PC9zdmc+)
}
thead th.unsorted {
    background-position: right 6px bottom 10px;
    padding-right: 20px;
    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDE0IDIwIj48cGF0aCBkPSJNMTQgMTNsLTIuNS0yLjVMNyAxNWwtNC41LTQuNUwwIDEzbDcgN3pNMTQgNy41TDExLjUgMTAgNyA1LjUgMi41IDEwIDAgNy41bDctN3oiLz48L3N2Zz4=)
}

#tabDonateur thead,
#tabDonateurMun thead,
#tabDonateurSco thead{
  position: relative;
}

#tabDonateur thead.spinnerThead::after,
#tabDonateurMun thead.spinnerThead::after,
#tabDonateurSco thead.spinnerThead::after{
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  bottom: -2.5rem;
  width: 2rem;
  height: 2rem;
  border: 0.25em solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  -webkit-animation: .75s linear infinite spinner-border;
  animation: .75s linear infinite spinner-border;
}


/**********************************/
/**********************************/
/*  Études  */
/**********************************/
/**********************************/

.select2-selection__arrow{
  display: none;
}

.select2-container--default .select2-selection--single{
  border-radius: 0;
  height: inherit;
  width: 500px!important;
}

span.select2-selection{
  width: fit-content!important;
  color: #212529;
  background-color: #fff;
  background-repeat: no-repeat;
  border-radius: 0;
  background-image: url(assets/images/btn/dropdown/dropdown.svg);
  background-clip: padding-box;

  display: block;
  padding: 0.375rem 2.25rem 0.375rem 0.75rem;
  -moz-padding-start: calc(0.75rem - 3px);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  background-position: right 0.75rem center;
  background-size: 16px 12px;
  transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
  -moz-appearance: none;
  appearance: none;
}

/* .select2-container--default .select2-selection--single:focus-within{
  border-color: gray;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgb(0 0 0 / 25%);
} */

/**********************************/
/**********************************/
/*  Politique de confidentialité  */
/**********************************/
/**********************************/

.form-check-input[type=radio]{
  background-color: transparent;
  background-image: url(assets/images/btn/radio/Off.svg);
  border: none;
}

.form-check-input:checked[type=radio]{
  background-image: url(assets/images/btn/radio/On.svg);
}

.form-check-input:focus[type=radio]{
  box-shadow: 0 0 0 0.25rem rgb(0 0 0 / 25%);
}

/**********************************/
/**********************************/
/*  Media Queries    */
/**********************************/
/**********************************/
@media (min-width: 1600px){

  .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
    max-width: 1440px;
  }

}

@media (min-width: 992px){

  
  .btn {
    transition: none;
  }
  .btnElectionqc:hover:not(.btnElectionqcAlt) {
    filter: invert(1); 
    background-color: white;
    color: var(--noir, black);
    border: 2px solid white!important;
    transition: none;
  }

  .btnElectionqcAlt:hover {
    color: var(--noir, black);
    background-color: white;
  }

  .btnCaroussel:hover{
    filter: invert(1);
    border: solid 2px white;
  }
  
}

@media (max-width: 1400px){

  #carouselTemoignages .imageTemoignage img{
    max-width: 150px;
    max-height: 150px;
  }

  .imageEnResume{
    transform: translateX(150%);
  }

}

@media (max-width: 1200px){

  #carouselTemoignages .innerCarouselItem{
    display: block;
  }

  #carouselTemoignages .texteTemoignage{
    margin-right: 0px;
  }

  #carouselTemoignages .imageTemoignage img{
    max-width: none;
    max-height: none;
    width: 100%;
  }

  #carouselTemoignages .carousel-item{
    padding: 30px 25px;
  }

  #carouselTemoignages .carousel-control-prev{
    max-height: 40px;
    max-width: 40px;
    left: -20px;
  }

  #carouselTemoignages .carousel-control-next{
    max-height: 40px;
    max-width: 40px;
    right: -20px;
  }

  .imageEnResume{
    transform: translateX(120%);
  }


}

@media (max-width: 992px){

  body{
    background-position: 110% 225px;
  }

  .table{
    table-layout: auto;
  }

  .tablesorter-pager button.firstX2, .tablesorter-pager button.lastX2,
  .tablesorter-pager button.prevBtn, .tablesorter-pager button.nextBtn{
      margin: 0 10px;
      padding: 0 10px;
  }

  .footerBlackBlocks{
    top: -100px;
    width: 200px;
    height: 100px;
  }

  .boitePromo{
    margin-top: 280px;
  }

  .boitePromo .boitePromoBlocks{
    width: 576px;
    top: -150px;
    height: 200px;
  }

  .boitePromo .boitePromoBlocks .rowBoitePromoBlocks div,
  .footerBlackBlocks .rowBlackBlocks div,
  div.zoneCarousel .commentVoterPixelsBellow .rowColoredBlocks div,
  div.zoneCarousel .commentVoterPixelsTop .rowColoredBlocks div{
    width: 50px;
    height: 50px;
  }
  
  div.zoneCarousel .commentVoterPixelsTop{
    top: -100px;
  }

  div.zoneCarousel .commentVoterPixelsBellow{
    top: 790px
  }

  div.zoneCarousel .carousel-item p{
    width: 400px;
  }

  div.zoneCarousel .carousel-item{
    background-position: bottom 75px right 30px ;
    background-size: auto 225px;
    min-height: 790px;
  }
  
  .filterArchive .filterBtnDiv .btnApplyFilter{
    margin-bottom: 2rem;
  }

  .filterArchive .filterBtnDiv .btn{
    width: inherit;
  }

  #tabDonateur thead.spinnerThead::after,
  #tabDonateurMun thead.spinnerThead::after,
  #tabDonateurSco thead.spinnerThead::after{
    left: calc(40vw - 1rem);
  }

  .imageEnResume{
    transform: none;
    position: unset;
  }

  .btnElectionqcAlt:hover {
    color: white;
    background-color: var(--noir, black);
  }

}

@media (max-width: 768px){

  body{
    font-size: 1rem;
    background-position: 120% 10px;
    background-size: 400px 400px;
  }

  .filterArchive .col{
    flex: 1 0 100%;
  }

  .filterArchive .filterBtnDiv .btn{
    width: 100%;
    margin-right: 0;
    margin: 10px 0 0;
  }

  h1{
    font-size: 2.25rem;
    margin-top: 50px;
  }

  h1 span.surtitreH1{
    font-size: 1.25rem;
  }
  
  h2{
    font-size: 1.75rem;
    margin-top: 25px;
    margin-bottom: 25px;
  }
  
  h3{
    font-size: 1.5rem;
  }
  
  h3.typePoste{
    font-size: 1.2rem;
  }
  
  h4{
    font-size: 1.25rem;
  }

  h5{
    font-size: 1rem;
  }
  
  h6{
    font-size: 0.875rem;
  }

  ol.liAvecH2, ul.liAvecH2 {
    padding-left: 2rem;
  }

  .liAvecH2 li::marker{
    font-size: 1.75rem;
  }
  
  ol.liAvecH3, ul.liAvecH3 {
    padding-left: 1.75rem;
  }

  .liAvecH3 li::marker{
    font-size: 1.5rem;
  }

  .liAvecH4 li::marker{
    font-size: 1.25rem;
  }

  .bandeNoire{
    margin-bottom: 10px;
    padding: 5px 5px 10px 5px;
  }

  .bandeNoire .menuBandeNoire{
    display: flex;
    justify-content: space-evenly;
    padding-left: 0px;
  }

  .bandeNoire .menuBandeNoire li{
    padding-left: 0px;
  }

  .blocsAccueil .blocContenu .accueilPixelsBellow,
  .blocsAccueil .blocContenu .accueilPixelsTop{
    display: none;
    visibility: hidden;
  }

  .blocsAccueil, .pagesPopulaires{
    margin-top: 100px;
    margin-bottom: 50px;
  }

  /* pagination tableaux dynamiques*/
  .tablesorter-pager.d-flex{
    display: inline-grid!important;
  }

  .tablesorter-pager span#tabInstances_pager_info{
    font-size: .9rem;
    margin-left: 10px;
    margin-right: 5px;
  }

  .tablesorter-pager .blocAllezDebut, .tablesorter-pager .blocLignesPage {
    margin-top: 5px;
  }

  select.form-control {
    max-width: 100%!important;
  }

  /******/

  .menuOverlay,
  .rechercheOverlay {
    padding-top: 100px;
  }

  .menuOverlay .menuOverlayLogo,
  .menuOverlay .btnFermerMenuOverlay,
  .menuOverlay .btnRechercheMenuOverlay,
  .rechercheOverlay .rechercheOverlayLogo,
  .rechercheOverlay .btnFermerRechercheOverlay {
    top: 20px;
  }

  .menuOverlay .menuOverlayMainMenu{
    padding-right: calc(var(--bs-gutter-x) * .5);
  }

  .menuOverlay .menuOverlayTopMenu{
    margin-top: 50px;
    margin-bottom: 50px;
    text-align: center;
  }

  .menuOverlay .menuOverlayTopMenu a{
    font-size: 1.5rem;
    text-decoration: none;
    text-align: center;
    margin-right: 40px;
  }

  .menuOverlay .menuOverlayTopMenu li {
    display: block;
  }
  
  .pagesPopulaires .listePagesPopulaires{
    margin-top: 20px;
    padding-left: calc(var(--bs-gutter-x) * .5);
    padding-right: calc(var(--bs-gutter-x) * .5);
  }

  .cardGallery {
    margin-left: 40px;
    margin-right: 40px;
  }

  .newsActus{
    margin-bottom: 125px;
  }

  .newsActus .btnCaroussel{
    max-width: 40px;
    width: 40px;
    height: 40px;
  }

  .newsActus .btnCaroussel.btnMoveCarousselLeft{
    left: 0px;
    top: 290px;
  }

  .newsActus .btnCaroussel.btnMoveCarousselRight{
    right: 0px;
    top: 290px;
  }

  .cardGallery .card {
    min-width: 250px;
  }

  .cardGallery .card .card-title{
    font-size: 0.938rem;
    margin-bottom: 20px;
  }

  .enResume{
    max-width: none;
  }

  .evenementsAVenir {
    background-size: 35%;
  }

  .nav-tabs::after {
    content: none;
  }

  .nav-tabs {
    justify-content: space-around;
  }

  .nav .nav-link {
    padding: 5px;
    margin: 0px;
  }

  .pagesAConsulter .listeLiensAConsulter{
    margin-top: 20px;
    padding-left: calc(var(--bs-gutter-x) * .5);
  }

  .sectionDepute h2 :notfirst-child{
    margin-top: 55px;
  }

  #sectionDepute h2:not(:first-child){
    margin-top: 55px;
  }

  .spanBtnSondage{
    display: block;
  }

  .sondageSatisfaction button:first-child{
    margin-left: 0!important;
  }

  footer .menuFooter .menuFooterTitle{
    margin-top: 30px;
  }

  footer .copyright{
    margin-top: 50px;
  }
  
  footer{
    padding: 20px 10px 20px 10px;
    margin-top: 250px;
  }

  div.zoneCarousel .carousel-item h3 {
    font-size: 4rem;
    margin-top: 20px;
  }

  div.zoneCarousel .carousel-item p{
    width: 450px;
  }

  div.zoneCarousel .carousel-item{
    padding-left: 80px;
    padding-right: 80px;
  }

  div.zoneCarousel .carousel-item{
    background-position: bottom 30px right 30px;
    background-size: auto 175px;
  }

  div.zoneCarousel .carousel-item.etape1{
    background-position: bottom 20px right 40px;
    background-size: auto 125px;
  }

  .alerteElectionQCJSON, .alerteElectionQC{
    padding: 30px;
    font-size: 1rem;
  }

/**********************************/
/**********************************/
/*  Consentement  */
/**********************************/
/**********************************/
.panelConsentement{
  margin-top: -40px;
}

.panelConsentement .btnBlock{
  display: flex;
  justify-content: flex-end;
}

.toggleConsentement.toggleConsentementPRP{
  max-width: 70px;
}

}

@media (max-width: 767px){

  .listeLiensHub .lienHub {
    background: url(assets/images/icons/fleche-action.svg) no-repeat bottom+15px right+5px;
    background-size: 76px;
  }

  .listeLiensHub .lienHub:hover {
    color: white;
    background: url(assets/images/icons/fleche-action-rev.svg) no-repeat bottom+15px right+5px;
    background-size: 76px;
    background-color: var(--noir, black);
    }

  .listeLiensHub .lienHub .resumeHub{
    max-width: unset;
  }

}

@media (max-width: 576px){

  h1{
    font-size: 1.75rem;
  }

  h1 span.surtitreH1{
    font-size: 1rem;
  }

  h2{
    font-size: 1.5rem;
  }
  
  h3{
    font-size: 1.25rem;
  }

  h3.typePoste{
    font-size: 1.1rem;
  }
  
  h4{
    font-size: 1rem;
  }

  ol.liAvecH2, ul.liAvecH2 {
    padding-left: 1.75rem;
  }

  .liAvecH2 li::marker{
    font-size: 1.5rem;
    padding-left: 1.5rem;
  }
  
  ol.liAvecH3, ul.liAvecH3 {
    padding-left: 1.5rem;
  }

  .liAvecH3 li::marker{
    font-size: 1.25rem;
  }

  ol.liAvecH4, ul.liAvecH4 {
  padding-left: 1.25rem;
}

  .liAvecH4 li::marker{
    font-size: 1rem;
  }

  .blocContenu{
    padding: 30px;
  }

  body{
    background-position: top -50px right -50px;
    background-size: 300px 300px;
  }

  .footerBlackBlocks{
    top: -60px;
    width: 120px;
    height: 60px;
  }

  .boitePromo{
    margin-top: 180px;
  }

  .boitePromo .imageBoitePromo{
    max-width: 100px;
  }

  .boitePromo .boitePromoBlocks{
    width: 360px;
    top: -90px;
    height: 120px;
  }

  .boitePromo .boitePromoBlocks .rowBoitePromoBlocks div,
  .footerBlackBlocks .rowBlackBlocks div,
  div.zoneCarousel .commentVoterPixelsBellow .rowColoredBlocks div,
  div.zoneCarousel .commentVoterPixelsTop .rowColoredBlocks div{
    width: 30px;
    height: 30px;
  } 

  div.zoneCarousel .commentVoterPixelsTop{
    top: -60px;
  }

  div.zoneCarousel .commentVoterPixelsBellow{
    top: 845px
  }

  div.zoneCarousel .carousel-item h3 {
    font-size: 3rem;
  }

  div.zoneCarousel .carousel-item p{
    width: 300px;
  }

  div.zoneCarousel .carousel-item{
    min-height: 845px;
    background-position: bottom 30px right 60px ;
    background-size: auto 225px;
  }

  div.zoneCarousel .carousel-item.etape1{
    background-size: 100px;
    background-position: bottom 0px right 10px;
  }
  
  div.zoneCarousel .carousel-item.etape3{
    background-size: 125px;
    background-position: top 30px right 0px;
  }
  
  .evenementsAVenir {
    background-size: 30%;
  }

  .lienAConsulter{
    background: url(assets/images/icons/fleche-action-mobile.svg) no-repeat center right+5px;
    background-size: 50px;
  }

  .menuOverlay .lienMenuOverlay{
    background: url(assets/images/icons/fleche-action-rev.svg) no-repeat center right+5px;
    background-size: 50px;
  }
  
  .nav .nav-link {
    font-size: 1.5rem;
  }

  .select2.select2-container{
    width: 100%!important;
  }

  .select2-container--default .select2-selection--single{
    width: 100%!important;
  }

  .voirTousEvenements{
    max-width: 75%;
  }

  .blocsAccueil .blocContenu .blocLien {
    font-size: 1.2rem;
  }

  .listeLiensHub .lienHub {
    font-size: 1.5rem;
  }

  .lienAConsulter {
    font-size: 1rem;
  }

  .emploi .titreEmploi{
    font-size: 1.25rem;
  }

  .emploi .dateLimiteEmploi{
    font-size: 1rem;
  }

  #tabDonateur thead.spinnerThead::after,
  #tabDonateurMun thead.spinnerThead::after,
  #tabDonateurSco thead.spinnerThead::after{
    left: calc(50vw - 1rem);
  }

  .divBtnPartager{
    float: none;
  }

}

@media(max-width: 450px){

  div.zoneCarousel .carousel-item h3 {
    font-size: 3rem;
  }

  div.zoneCarousel .carousel-item p{
    width: 250px;
    font-size: 1.2rem;
  }

  div.zoneCarousel .carousel-item{
    min-height: 690px;
  }

  div.zoneCarousel .commentVoterPixelsBellow {
    top: 690px;
  }

  div.zoneCarousel .carousel-item.etape1{
    background-position: bottom 10px right 10px;
  }

  .tablesorter-pager button.firstX2, .tablesorter-pager button.lastX2,
  .tablesorter-pager button.prevBtn, .tablesorter-pager button.nextBtn{
    margin: 0 5px;
    padding: 0 5px;
  }
}

@media(max-width: 400px){

  body{
    background-position: top 40px right -40px;
    background-size: 200px 200px;
  }

  .tablesorter-pager span.pagedisplay, .tablesorter-pager span.pagedisplayPro, .tablesorter-pager span.pagedisplayMun, .tablesorter-pager span.pagedisplaySco {
    display: inline-block;
    max-width: 150px;
    text-align: center;
  }

}

@media (max-width: 360px){

  .nav .nav-link {
    font-size: 1.2rem;
  }

  .sondageSatisfaction button{
    min-width: 100px;
  }

}


