@import url(https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap);
html, body, a {
  font-family: "Open Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-variation-settings: "wdth" 100;
}

img {
  max-width: 100%;
}

a, .nav-link, .nav-link:focus, .nav-link:hover {
  color: #2151AE;
  text-decoration: none;
}

a:hover {
  opacity: 0.7;
}

h2 {
  font-weight: bold;
  font-size: 28px;
}

h3 {
  font-weight: bold;
  font-size: 22px;
}
h3.titre-representation {
  margin-top: 60px;
  margin-bottom: 40px;
}

h4 {
  font-weight: bold;
  font-size: 16px;
}

#sticky-header {
  background-color: #ffffff;
  font-weight: bold;
  display: none;
}
#sticky-header .col-sm-6 {
  padding-top: 10px;
  padding-bottom: 10px;
}

.form-check-input:checked {
  background-color: #2151AE;
  border-color: #2151AE;
}

.c-blue {
  color: #2151AE;
}

.c-red {
  color: #C62A31;
}

.color-bloc-G {
  color: #bb1840;
}

.color-bloc-C {
  color: #e9dc40;
}

.color-bloc-D {
  color: #0066cc;
}

.form-check-label {
  font-size: 15px;
}

.form-control:focus {
  border-color: #2151AE;
}

.form-proportionnelle {
  font-size: 15px;
}
.form-proportionnelle label {
  font-weight: bold;
}
.form-proportionnelle input {
  display: inline-block;
  width: 100px;
  text-align: right;
}

.scrutin-choice {
  text-align: center;
  margin-bottom: 40px;
}
.scrutin-choice select {
  margin: 10px auto 0;
  max-width: 400px;
}

header h1 {
  margin: 0;
  padding: 0;
}
header a:hover {
  opacity: 1;
}

#mentions {
  padding: 50px 0;
  font-size: 0.975rem;
  line-height: 1.75rem;
}
#mentions h2 {
  margin-bottom: 30px;
}
#mentions h3 {
  margin-top: 40px;
}
#mentions span.date {
  text-align: right;
  font-style: italic;
  font-size: 14px;
  font-weight: normal;
  margin-left: 50px;
}

#responsiveModal .modal-body {
  font-weight: bold;
  padding: 30px;
}
#responsiveModal .modal-body p {
  text-align: center;
}

.blog-header-logo img {
  width: 100%;
}

#map {
  height: 400px;
}

.explication {
  font-size: 0.9rem;
  line-height: 1.5rem;
}

.chartjs-container {
  height: 400px;
  width: 100%;
}

.hemicycle-representation {
  position: relative;
  border: 1px black solid;
  height: 400px;
  width: 100%;
}
.hemicycle-representation .point {
  position: absolute;
  width: 10px;
  height: 10px;
  border-radius: 5px;
  background-color: black;
}

#barres .titre-representation {
  margin-bottom: 20px;
}
#barres .infos {
  font-size: 12px;
  margin-bottom: 30px;
}

.barre-main {
  height: 120px;
  position: relative;
}
.barre-main .presentation-barre, .barre-main .presentation-bloc {
  height: 25px;
  width: 100%;
  background-color: #EFEFEF;
  position: relative;
}
.barre-main .presentation-barre .barre-nuance, .barre-main .presentation-barre .barre-bloc, .barre-main .presentation-bloc .barre-nuance, .barre-main .presentation-bloc .barre-bloc {
  position: absolute;
  display: inline-block;
  height: 100%;
}
.barre-main .presentation-barre .barre-nuance.barre-vote-blanc, .barre-main .presentation-barre .barre-bloc.barre-vote-blanc, .barre-main .presentation-bloc .barre-nuance.barre-vote-blanc, .barre-main .presentation-bloc .barre-bloc.barre-vote-blanc {
  background-color: #ffffff !important;
  border: 1px solid #000000;
}
.barre-main .presentation-barre .barre-bloc-g, .barre-main .presentation-bloc .barre-bloc-g {
  background-color: #bb1840;
}
.barre-main .presentation-barre .barre-bloc-c, .barre-main .presentation-bloc .barre-bloc-c {
  background-color: #ffeb00;
}
.barre-main .presentation-barre .barre-bloc-d, .barre-main .presentation-bloc .barre-bloc-d {
  background-color: #0D378A;
}
.barre-main .presentation-barre .barre-bloc-a, .barre-main .presentation-bloc .barre-bloc-a {
  background-color: #A1A1A1;
}
.barre-main .presentation-bloc {
  height: 10px;
}
.barre-main .presentation-barre-names, .barre-main .presentation-bloc-names {
  position: relative;
  width: 100%;
  font-size: 14px;
}
.barre-main .presentation-barre-names .barre-name, .barre-main .presentation-barre-names .barre-bloc-name, .barre-main .presentation-bloc-names .barre-name, .barre-main .presentation-bloc-names .barre-bloc-name {
  position: absolute;
  top: 0;
  left: 0;
  display: none;
  min-width: 300px;
}
.barre-main .presentation-barre-names .barre-name .barre-name-siege, .barre-main .presentation-barre-names .barre-bloc-name .barre-name-siege, .barre-main .presentation-bloc-names .barre-name .barre-name-siege, .barre-main .presentation-bloc-names .barre-bloc-name .barre-name-siege {
  font-size: 11px;
}
.barre-main .presentation-barre-names .barre-bloc-name-g, .barre-main .presentation-bloc-names .barre-bloc-name-g {
  color: #bb1840;
}
.barre-main .presentation-barre-names .barre-bloc-name-c, .barre-main .presentation-bloc-names .barre-bloc-name-c {
  color: #ffeb00;
}
.barre-main .presentation-barre-names .barre-bloc-name-d, .barre-main .presentation-bloc-names .barre-bloc-name-d {
  color: #0D378A;
}
.barre-main .presentation-barre-names .barre-bloc-name-a, .barre-main .presentation-bloc-names .barre-bloc-name-a {
  color: #A1A1A1;
}
.barre-main .presentation-bloc-names {
  height: 25px;
}
.barre-main .middle {
  position: absolute;
  top: 20px;
  left: 50%;
  height: 110px;
  border-left: 1px dashed black;
}
.barre-main .middle-text {
  position: absolute;
  top: 95px;
  left: calc(50% - 205px);
  width: 200px;
  text-align: right;
  font-size: 12px;
}

.presentation-points {
  line-height: 14px;
}
.presentation-points .bloc-points {
  line-height: 0;
  margin-bottom: 0;
}
.presentation-points .bloc-points div.one-point {
  display: inline-block;
  background-color: #ffffff;
  width: 8px;
  height: 8px;
  margin-right: 1px;
  margin-bottom: 1px;
}
.presentation-points .bloc-points div.one-point.one-point-vote-blanc {
  background-color: #ffffff !important;
  border: 1px solid #000000;
}
.presentation-points .nb-sieges {
  text-align: right;
  font-size: 13px;
  margin-top: 5px;
}
.presentation-points .nuance-fullname {
  font-size: 10px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin: 4px 0;
}

.presentation-points-region h4 {
  font-size: 14px;
  height: 34px;
}

.liste-sieges {
  font-size: 14px;
}

footer {
  margin-top: 40px;
  padding: 30px 0;
  font-size: 14px;
}
footer a {
  color: #212529;
}
footer p {
  margin: 0;
  padding: 0;
}
