﻿@charset "utf-8";

/* CSS Document */
.gevi-showresults {
	display: none;
}
/************************************************ICOMOON**********************************************************************/
.popover__title {
	font-size: 24px;
	line-height: 36px;
	text-decoration: none;
	color: rgb(228, 68, 68);
	text-align: center;
	padding: 15px 0;
}

.popover__content {
	position: fixed;
	z-index: 10;
	transform: translate(0, 10px);
	background-color: #f5f5f5;
	padding: 1.5rem;
	box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26);
}

.popover__content:before {
	position: absolute;
	z-index: -1;
	content: "";
	right: calc(50% - 10px);
	top: -8px;
	border-style: solid;
	border-width: 0 10px 10px 10px;
	border-color: transparent transparent #bfbfbf transparent;
	transition-duration: 0.3s;
	transition-property: transform;
}

.popover__wrapper:hover .popover__content {
	z-index: 10;
	position: absolute;
	opacity: 1;
	visibility: visible;
	transform: translate(0, -20px);
	transition: all 0.5s cubic-bezier(0.75, -0.02, 0.2, 0.97);
}

.popover__message {
	text-align: left;
}

.icon {
	/* use !important to prevent issues with browser extensions that change fonts */
	font-family: "icomoon" !important;
	font-size: 25px;
	speak: none;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	/* Better Font Rendering =========== */
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.icon-file-powerpoint:before {
	content: "\e90f";
}

.icon-file-pdf:before {
	content: "\e910";
}

.icon-file-excel:before {
	content: "\e911";
}

.icon-file-video:before {
	content: "\e912";
}

.icon-file-word:before {
	content: "\e913";
	vertical-align: middle;
}

.icon-file-zip:before {
	content: "\e914";
}

.icon-plus-square:before {
	content: "\e915";
}

.icon-minus-square:before {
	content: "\e916";
}

.icon-link:before {
	content: "\e9cb";
}

.icon-new-tab:before {
	content: "\ea7e";
}

.icon-search:before {
	content: "\e90d";
	font-size: 20px;
	vertical-align: middle;
}

.icon-return-button:before {
	content: "\e919";
}

.icon-breadcrumb-arrow:before {
	content: "\e900";
	color: #fff;
}

.icon-info:before {
	content: "\e901";
	color: #337ab7;
}

.icon-tick:before {
	content: "\e902";
	color: rgba(255, 255, 255, 0.15);
	vertical-align: middle;
}

.icon-quorum:before {
	content: "\e906";
	color: #999;
}

.icon-majorite:before {
	content: "\e90c";
	color: #999;
}

.icon-sieges:before {
	content: "\e905";
	color: #999;
}

.icon-participation:before {
	content: "\e903";
	color: #999;
}

.icon-inscrits:before {
	content: "\e904";
	color: #999;
}

.icon-votes:before {
	content: "\e907";
	color: #999;
}

.icon-onePeople:before {
	content: "\e917";
	color: #999;
}

.icon-twoPeople:before {
	content: "\e91a";
	color: #999;
}

.icon-threePeople:before {
	content: "\e918";
	color: #999;
}

/********************************************************************************************************************** .__ ____ ____ ____ ___________|__| ____ ______ / ___\_/ __ \ / \_/ __ \_ __ \ |/ ___\ / ___/ / /_/ > ___/| | \ ___/| | \/ \ \___ \___ \ \___ / \___ >___| /\___ >__| |__|\___ >____ > /_____/ \/ \/ \/ \/ \/ ***********************************************************************************************************************/
body {
	font-size: 16px;
}

body.animations {
	font-size: 28px;
	cursor: none;
	overflow: hidden;
}

body.animations a {
	cursor: none;
}

h1 {
	margin-top: 0;
	font-size: 2.5rem;
	font-weight: 700;
	line-height: 50px;
	margin-bottom: 22px;
}

h2 {
	margin: 0 0 50px 0;
}

@media (max-width: 970px) {
	h1 {
		font-size: 30px;
		line-height: 1.5;
	}

	h2 {
		font-size: 25px;
	}
}

h3 {
	color: #333;
	margin-top: 50px;
	margin-bottom: 30px;
}

h3 .small {
	font-weight: bold;
	color: #333;
	margin-top: 0;
}

.candidat h3,
.candidat h5 {
	margin-top: 0;
	margin-bottom: 10px;
	line-height: 25px;
}

h4 {
	margin-top: 50px;
	margin-bottom: 30px;
}

table {
	font-size: 15px;
}

.big {
	font-size: 70px;
}

.text-normal {
	font-weight: normal;
}

.text-gris {
	color: #666666;
}

.text-bleu {
	color: #257fb2;
}

.well {
	border: none;
	border-radius: 0;
	-webkit-box-shadow: none;
	box-shadow: none;
}

.label {
	font-size: inherit;
	line-height: 2;
}

.label-info {
	background-color: #257fb2;
}

.text-evidence {
	padding: 10px 20px;
	margin: 10px 0px 10px;
	font-size: 16px;
	border-left: 5px solid #2c7bb8;
}

/***** Définition Liste ******/
dt {
	margin-top: 20px;
	font-size: 18px;
}

dd {
	padding: 10px 0;
	border-bottom: 1px solid #b2b2b2;
}

/*************** PADDING ***************/
.padding-0 {
	padding: 0;
}

/*************** PADDING-LEFT ***************/
.padding-left-0 {
	padding-left: 0 !important;
}

.padding-left-50 {
	padding-left: 50px;
}

/*************** PADDING-RIGHT ***************/
.padding-right-50 {
	padding-right: 50px;
}

/*************** PADDING-TOP ***************/
.padding-top-10 {
	padding-top: 10px;
}

.padding-top-20 {
	padding-top: 20px;
}

.padding-top-30 {
	padding-top: 30px;
}

.padding-top-40 {
	padding-top: 40px;
}

.padding-top-50 {
	padding-top: 50px;
}

.padding-top-100 {
	padding-top: 100px;
}

/*************** PADDING-BOTTOM ***************/
.padding-bottom-10 {
	padding-bottom: 10px;
}

.padding-bottom-20 {
	padding-bottom: 20px;
}

.padding-bottom-30 {
	padding-bottom: 30px;
}

.padding-bottom-40 {
	padding-bottom: 40px;
}

.padding-bottom-50 {
	padding-bottom: 50px;
}

.padding-bottom-100 {
	padding-bottom: 100px;
}

/*************** MARGIN ***************/
.margin-0 {
	margin: 0 !important;
}

/*************** MARGIN-TOP ***************/
.margin-top-0 {
	margin-top: 0;
}

.margin-top-10 {
	margin-top: 10px;
}

.margin-top-20 {
	margin-top: 20px;
}

.margin-top-30 {
	margin-top: 30px;
}

.margin-top-40 {
	margin-top: 40px;
}

.margin-top-50 {
	margin-top: 50px;
}

.margin-top-100 {
	margin-top: 100px;
}

/*************** MARGIN-BOTTOM ***************/
.margin-bottom-10 {
	margin-bottom: 10px;
}

.margin-bottom-20 {
	margin-bottom: 20px;
}

.margin-bottom-30 {
	margin-bottom: 30px;
}

.margin-bottom-40 {
	margin-bottom: 40px;
}

.margin-bottom-50 {
	margin-bottom: 50px;
}

.margin-bottom-100 {
	margin-bottom: 100px !important;
}

/*************** MARGIN-LEFT ***************/
.margin-left-10 {
	margin-left: 10px;
}

.margin-left-20 {
	margin-left: 20px;
}

.margin-left-50 {
	margin-left: 50px;
}

/*************** MARGIN-RIGHT ***************/
.margin-right-10 {
	margin-right: 10px;
}

.margin-right-20 {
	margin-right: 20px;
}

.margin-right-50 {
	margin-right: 50px;
}

/*************** VERTICAL-ALIGN ***************/
.vertical-align-top {
	vertical-align: top !important;
}

.vertical-align-middle {
	vertical-align: middle !important;
}

.vertical-align-bottom {
	vertical-align: bottom !important;
}

/*************** DISPLAY ***************/
.display-flex {
	display: flex;
	flex-wrap: wrap;
	justify-content: stretch;
}

.display-none {
	display: none;
}

.display-block {
	display: block;
}

/**************** OVERFLOW **********************/
.scrollable {
	overflow-y: scroll;
}

/** * Markup free clearing. * * @see http://perishablepress.com/press/2009/12/06/new-clearfix-hack */
.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}

/* IE6 */
* html .clearfix {
	height: 1%;
}

/* IE7 */
*:first-child+html .clearfix {
	min-height: 1%;
}

/*************** LOADER *****************************************************************************/
.loader.desactivated {
	display: none;
}

.loader {
	margin: auto;
	border: 10px solid #f3f3f3;
	border-radius: 50%;
	border-top: 10px solid #3498db;
	width: 80px;
	height: 80px;
	-webkit-animation: spin 2s linear infinite;
	/* Safari */
	animation: spin 2s linear infinite;
}

/* Safari */
@-webkit-keyframes spin {
	0% {
		-webkit-transform: rotate(0deg);
	}

	100% {
		-webkit-transform: rotate(360deg);
	}
}

@keyframes spin {
	0% {
		transform: rotate(0deg);
	}

	100% {
		transform: rotate(360deg);
	}
}

/********************************************************************************************************************** .__ .___ | |__ ____ _____ __| _/___________ | | \_/ __ \\__ \ / __ |/ __ \_ __ \ | Y \ ___/ / __ \_/ /_/ \ ___/| | \/ |___| /\___ >____ /\____ |\___ >__| \/ \/ \/ \/ \/ */
/**********************************************************************************************************************/
.lead {
	height: 70px;
	margin-top: 23px;
	margin: 0;
	font-size: 18px;
	line-height: 70px;
	font-weight: 400;
}

.lead span {
	display: inline-block;
	vertical-align: middle;
}

@media (max-width: 480px) {
	.lead span {
		float: left;
		font-size: 14px;
	}
}

/**********************************************************/
.navigation {
	text-align: right;
}

.menu-toggle {
	/*hamburger*/
	width: 15px;
	height: 15px;
	display: inline-block;
	margin: 0 20px;
	color: #888888;
}

/***********************************************************/
.navigation2 {
	padding: 0;
	margin-bottom: 20px;
	border-top: 1px solid #cccccc;
	border-bottom: 1px solid #cccccc;
}

.navigation2 a {
	text-decoration: none;
	font-weight: bold;
}

.navigation2 a.active {
	color: rgb(51, 51, 51);
}

.navigation2 ul.list-links {
	font-size: 16.5px;
	text-transform: uppercase;
	line-height: 60px;
	margin: 0;
}

.navigation2 ul.list-links li {
	margin-right: 5px;
}

@media (max-width: 480px) {
	.navigation2 ul.list-links {
		line-height: 45px;
		margin: 0;
	}

	.navigation2 ul.list-links li {
		margin-right: 0;
		border-bottom: 1px solid #cccccc;
		display: block;
		padding: 0;
	}
}

/***********************************************************/
.switch {
	font-size: 20px;
	background: #e1e1e1;
	color: #337ab7;
	padding-top: 45px;
	margin-bottom: 25px;
}

.switch a {
	color: #337ab7;
	font-weight: bold;
	text-decoration: none;
	margin-right: 40px;
	padding-bottom: 10px;
	display: inline-block;
	border-bottom: 10px solid #e1e1e1;
}

.switch a:last-child {
	margin-right: 0;
}

.switch a:hover {
	color: #285f8f;
}

.switch a.active {
	border-bottom: 10px solid #b2b2b2;
}

@media (max-width: 480px) {
	.switch {
		font-size: 16px;
		margin-bottom: 20px;
	}

	.switch a {
		margin-right: 20px;
	}
}

#geviweb-status {
	margin-bottom: 5px;
}

.status-target {
	font-size: 16px;
	font-weight: bold;
}

/*************************** PAGE D'ACCUEIL : SPLASH SCREEN ********************************/
/* Le bandeau occupe tout l'espace entre le header et les crédits, sans marge blanche */
main.main-splash {
	margin-top: 0;
	margin-bottom: 0;
}

.splash-screen {
	color: #ffffff;
	background-color: #257fb2;
	padding: 100px 0;
	margin: 0;
	flex-grow: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.splash-screen .container {
	width: 100%;
}

.splash-screen h1 {
	font-size: 3rem;
	line-height: 1.25;
	padding-bottom: 60px;
	overflow-wrap: break-word;
}

.splash-liens {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 30px;
}

.splash-screen .btn-default {
	display: inline-block;
	font-size: 35px;
	font-weight: normal;
	border: 1px solid #ffffff;
	padding: 30px;
}

.splash-screen .btn-default:hover {
	color: #257fb2;
	text-decoration: none;
}

@media (max-width: 480px) {
	.splash-screen {
		padding: 50px 0;
	}

	.splash-screen h1 {
		font-size: 1.75rem;
		padding-bottom: 20px;
	}

	.splash-screen .btn-default {
		font-size: 20px;
		padding: 10px;
	}
}

/******************** ZONE DE RECHERCHE ***************************************/
.zone-recherche {
	padding-bottom: 20px;
}

.form-control {
	font-size: 16px;
	line-height: 40px;
	color: #555;
	height: 40px;
	padding: 0 22px;
	border: 1px solid #cccccc;
	background-color: #fff;
	border-radius: 0;
	margin-bottom: 10px;
}

.form-control:-moz-placeholder {
	color: #999;
}

.btn-default {
	font-weight: bold;
	color: #ffffff;
	line-height: 40px;
	background-color: #257fb2;
	border: none;
	padding: 0 22px;
	margin-bottom: 10px;
	display: inline-block;
}

.btn-default .icon-search {
	margin-left: 10px;
}

/******************************************************************************************************************** */
ul.gevi-tab {
	border-bottom: 5px solid #257fb2;
	padding-bottom: 8px;
	margin-left: 0;
}

ul.gevi-tab li {
	padding: 0;
	display: inline-block;
	margin-right: 10px;
}

ul.gevi-tab li a {
	display: inline-block;
	padding: 10px 15px;
	background: #e7e7e7;
	color: #257fb2;
	text-decoration: none;
	font-weight: bold;
	font-size: 20px;
}

ul.gevi-tab li a.active {
	background: #257fb2;
	color: #ffffff;
}

.tab-nominatifs,
.tab-suffrages {
	min-height: 600px;
}

.nav-commune {
	display: flex;
}

.nav-commune #libelle-liste,
.nav-commune #libelle-plan {
	background-color: #ededed;
	border: 1px solid #ededed;
	color: #0c6ba8;
	font-weight: 400;
	padding: 6px 22px;
	cursor: pointer;
	user-select: none;
}

.nav-commune #libelle-liste:hover,
.nav-commune #libelle-plan:hover {
	background-color: white;
}

.nav-commune label.active {
	background-color: white !important;
	color: black !important;
}

/* The switch - the box around the slider */
.switch-checkbox {
	position: relative;
	display: inline-block;
	width: 60px;
	height: 30px;
	margin: 0 15px;
	vertical-align: middle;
}

/* Hide default HTML checkbox */
.switch-checkbox input {
	display: none;
}

/* The slider */
.slider {
	position: absolute;
	cursor: pointer;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: #ccc;
	-webkit-transition: 0.4s;
	transition: 0.4s;
}

.slider:before {
	position: absolute;
	content: "";
	height: 24px;
	width: 24px;
	left: 4px;
	bottom: 3px;
	background-color: white;
	-webkit-transition: 0.4s;
	transition: 0.4s;
}

input:checked+.slider {
	background-color: #257fb2;
}

input:focus+.slider {
	box-shadow: 0 0 1px #2196f3;
}

input:checked+.slider:before {
	-webkit-transform: translateX(28px);
	-ms-transform: translateX(28px);
	transform: translateX(28px);
}

/* Rounded sliders */
.slider.round {
	border-radius: 34px;
}

.slider.round:before {
	border-radius: 50%;
}

/********************************************************************************************************************** _____________ ____________ _____ _____ __________ / _____/\ \ / / _____/ / \ / _ \\______ \ \_____ \ \ Y / \ ___ ______ / \ / \ / /_\ \| ___/ / \ \ /\ \_\ \ /_____/ / Y \/ | \ | /_______ / \___/ \______ / \____|__ /\____|__ /____| \/ \/ \/ \/ 
/**************** SVG AND MAPS ***********************/
#gevi-map {}

#gevi-map svg {
	min-height: 600px;
	/** set height for IE. GC communes map */
}

#map-select {
	margin-top: 0;
}

#gevi-map-highlight

/* legend ou le nom de la commune s'affiche */
	{
	z-index: 1;
	margin: 0;
	padding: 5px 15px;
	text-align: left;
	background: white;
	border: 1px solid #efefef;
	font-size: 1.1em;
}

#gevi-map-highlight ul,
#gevi-map-highlight ul li {
	list-style: none;
	margin: 0;
	padding: 3px 0 0 5px;
}

#gevi-map-highlight ul li a {
	font-weight: normal;
}

#gevi-map-highlight a {
	text-decoration: none;
}

#gevi-map svg .communes

/* commune path element */
	{
	stroke-linejoin: round;
	stroke: #333333;
	stroke-linecap: round;
	stroke-miterlimit: 10;
	stroke-width: 0.35;
	fill: #ececec;
}

#gevi-map svg .communes.nontraite,
#gevi-map-legend .legend.nontraite::before {
	fill: #faf7f4;
	background: #faf7f4;
}

#gevi-map svg .communes.avancement_6 {
	fill: #95cbe9;
	fill: url(#resAnticipes);
	background: #95cbe9;
}

#gevi-map-legend .legend.anticipes::before {
	/*fill: #dcd6d5;
     background: #dcd6d5;
    */
	fill: #95cbe9;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 4 4'%3E%3Cpolygon points='0,0 2,0 0,2' fill='%23cce8f7'/%3E%3Cpolygon points='0,4 4,0 4,2 2,4' fill='%23cce8f7'/%3E%3Cpolygon points='0,2 0,4 4,0 2,0' fill='%2394cce9'/%3E%3Cpolygon points='2,4 4,4 4,2' fill='%2394cce9'/%3E%3C/svg%3E");
	background-repeat: repeat;
}

#gevi-map svg .communes.avancement_7,
#gevi-map-legend .legend.provisoires::before {
	/*fill: #b6b2b2;
     background: #b6b2b2;
    */
	fill: #41a1d8;
	background: #41a1d8;
}

#gevi-map svg .communes.avancement_8,
#gevi-map-legend .legend.definitifs::before {
	/*fill: #656569;
     background: #656569;
    */
	fill: #164c6a;
	background: #164c6a;
	stroke: #ffffff;
}

#gevi-map svg .communes.percent75,
#gevi-map-legend .legend.percent75::before {
	fill: #d7f0fe;
	background: #d7f0fe;
}

#gevi-map svg .communes.percent7590,
#gevi-map-legend .legend.percent7590::before {
	fill: #9fd7f7;
	background: #9fd7f7;
}

#gevi-map svg .communes.percent90110,
#gevi-map-legend .legend.percent90110::before {
	fill: #58baf2;
	background: #58baf2;
}

#gevi-map svg .communes.percent110125,
#gevi-map-legend .legend.percent110125::before {
	fill: #257fb2;
	background: #257fb2;
}

#gevi-map svg .communes.percent125,
#gevi-map-legend .legend.percent125::before {
	fill: #0d4c6f;
	background: #0d4c6f;
	stroke: #ffffff;
}

#gevi-map.gevi-navigation-map svg .communes {
	cursor: pointer;
}

#gevi-map.gevi-navigation-map svg .communes {
	cursor: pointer;
}

#gevi-map.gevi-navigation-map svg .communes.highlighted,
#gevi-map.gevi-navigation-map svg .communes:hover {
	--fill: #addef7;
}

#gevi-map.gevi-navigation-map svg .communes.selected,
#gevi-map.gevi-navigation-map svg .communes.selected.highselected {
	--fill: #337ab7;
}

#gevi-map.gevi-navigation-map svg .communes.highselected {
	--fill: #addef7;
}

#gevi-map svg path.group_commune {
	display: none;
}

#gevi-map.gevi-navigation-map svg #location {
	stroke: #ffffff;
	stroke-width: 2px;
	filter: drop-shadow(1px 1px 2px rgb(0 0 0 / 0.8));
	pointer-events: none;
}

#gevi-map.gevi-navigation-map svg g.commune_4600.selected.highselected {
    filter: drop-shadow(1px 1px 2px rgb(0 0 0 / 0.8));
    pointer-events: none;
}

#gevi-map-legend {
	padding-top: 150px;
}

#gevi-map-legend .legend {
	margin-bottom: 15px;
}

#gevi-map-legend .legend::before {
	content: " ";
	display: inline-block;
	width: 40px;
	height: 30px;
	margin-right: 10px;
	vertical-align: middle;
	border: 1px solid #333333;
}

@media (max-width: 970px) {
	#gevi-map-legend {
		padding-top: 30px;
	}
}

@media only screen and (max-width: 640px) {
	#tab-liste-commune {
		display: block !important;
	}
}

ul.liste_communeslocaux {
	-moz-column-count: 3;
	-webkit-column-count: 3;
	padding: 0;
	column-count: 3;
	column-gap: 10px;
}

ul.liste_communeslocaux .info_result_communelocal {
	display: none;
}

ul .liste_communeslocaux.liste_2col {
	-moz-column-count: 2;
	-webkit-column-count: 2;
	column-count: 2;
}

ul.liste_communeslocaux.liste_1col {
	-moz-column-count: 1;
	-webkit-column-count: 1;
	column-count: 1;
}

ul.liste_communeslocaux li,
.info_canton {
	list-style: none;
	font-size: 18px;
	margin: 0 10px 0 0;
	padding: 6px 0;
	border-bottom: 1px solid #b2b2b2;
	-webkit-column-break-inside: avoid;
	page-break-inside: avoid;
	break-inside: avoid;
}

ul.liste_communeslocaux li .info_communelocal {
	font-weight: bold;
}

ul.liste_communeslocaux li a {
	font-weight: bold;
	text-decoration: none;
}

ul.liste_communeslocaux li a.selected,
.info_canton.selected {
	background: #addef7;
}

ul.liste_communeslocaux li ul,
ul.liste_communeslocaux li ul li {
	list-style: none;
	font-weight: normal;
	line-height: 20px;
	margin: 0;
	padding: 0;
	border: none;
}

ul.liste_communeslocaux li ul li a.info_communelocal {
	font-weight: normal;
	text-decoration: none;
}

/* screen-xs < 640 */
@media only screen and (max-width: 640px) {

	ul.liste_communeslocaux,
	ul.liste_communeslocaux.liste_2col {
		-moz-column-count: 1 !important;
		-webkit-column-count: 1 !important;
		column-count: 1 !important;
	}
}

/*********************************************************************************************************************** .__ _________ ______ ________________ ______ | |__ ______ / ___/\ \/ / ___\ / ___\_ __ \__ \ \____ \| | \ / ___/ \___ \ \ / /_/ > / /_/ > | \// __ \| |_> > Y \\___ \ /____ > \_/\___ / \___ /|__| (____ / __/|___| /____ > \/ /_____/ /_____/ \/|__| \/ \/ SVG GRAPHS*/
#canvas_container_hemicycle {
	#canvas_container,
	margin-bottom: 70px;
}

#canvas_container .hemisector,
#canvas_container_hemicycle .hemisector {
	cursor: pointer;
	width: 100%;
	stroke: #ffffff;
	stroke-width: 3px;
}

#canvas_container svg,
#canvas_container_hemicycle svg {
	height: 100%;
	width: 100%;
}

/* Small Devices < 480 */
@media only screen and (max-width: 480px) {

	#canvas_container,
	#canvas_container_hemicycle {
		height: 300px;
		width: 100%;
	}

	#canvas_container text,
	#canvas_container_hemicycle text,
	#canvas_container rect,
	#canvas_container_hemicycle rect {
		display: none;
	}
}

/* screen-xs < 640 */
@media only screen and (min-width: 480px) and (max-width: 640px) {

	#canvas_container,
	#canvas_container_hemicycle {
		height: 340px;
		margin: auto;
	}

	#canvas_container text,
	#canvas_container_hemicycle text,
	#canvas_container rect,
	#canvas_container_hemicycle rect {
		display: none;
	}
}

/* screen-sm 640 - 970 */
@media only screen and (min-width: 640px) and (max-width: 970px) {

	#canvas_container,
	#canvas_container_hemicycle {
		width: 600px;
		height: 340px;
		margin: auto;
	}
}

/* screen-md 970 - 1170 */
@media only screen and (min-width: 970px) and (max-width: 1168px) {

	#canvas_container,
	#canvas_container_hemicycle {
		height: 400px;
	}
}

/* screen-lg > 1170 */
@media only screen and (min-width: 1168px) {

	#canvas_container,
	#canvas_container_hemicycle {
		height: 450px;
	}
}

/*****************Legend **************************************************************************/

.nbSieges {
	text-align: right;
}

/*************** TOP 7 CE ***************************************************************************************************/
#top7 {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	width: 100%;
	margin: auto;
	margin-bottom: 40px;
}

#top7.animation {
	width: 80%;
}

#top7 .top7-separator {
	border-right: 3px solid #257fb2;
}

#top7 .small {
	font-size: 90%;
}

#top7.animation .small {
	font-size: 75%;
}

@media (max-width: 970px) {
	#top7 .small {
		font-size: 80%;
	}
}

@media (max-width: 1170px) {
	#top7 .small {
		font-size: 85%;
	}
}

#top7 .progress-bar-bg {
	width: 100%;
	height: 0%;
	--height: 0%;
}

#top7 .progress-bar-bg.animation {
	animation: changeSize 2s linear forwards;
}

.opacity {
	opacity: 1;
	/* Fade in */
	transition: opacity 2s ease-out;
	-ms-transition: opacity 2s ease-out;
	-moz-transition: opacity 2s ease-out;
	-webkit-transition: opacity 2s ease-out;
}

.opacity.opacity_hide {
	opacity: 0;
}

/*#top7 .icon-tick:before {
	content: "\e902";
	color: white;
	vertical-align: middle;
}*/

#top7 .icon-tick {
	font-size: 64px;
}

@keyframes flipAnimation {
	from {
		transform: rotateY(180deg);
	}

	to {
		transform: rotateY(0);
	}
}

#top7 .libelle-elu {
	color: white;
	font-size: 100%;
	display: block;
	text-transform: uppercase;
	font-weight: 700;
}

@keyframes changeSize {
	0% {
		height: 0%;
	}

	100% {
		transition: height 3s;
		height: var(--height);
	}
}

/*************** BARRE HORIZONTALE ***************************************************************************************************/

/*************** TOP 3 CC ***************************************************************************************************/
#top3 {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	margin-bottom: 60px;
}

#top3 .top3-candidat {
	margin: 0 12px;
	text-align: center;
}

#top3 .top3-candidat {}

#top3 .top3-candidat .content {
	padding: 20px;
	height: 100%;
}

#top3 .top3-candidat.elu .content {
	background-color: #dfecf4;
}

@keyframes flipAnimation {
	from {
		transform: rotateY(180deg);
	}

	to {
		transform: rotateY(0);
	}
}

#top3 .top3-candidat .position {
	font-weight: bold;
	color: #ffffff;
	line-height: 28px;
	background-color: #333333;
	display: inline-block;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	margin-bottom: 10px;
}

#top3 .top3-candidat .suffrage {
	line-height: 1.1;
	margin-bottom: 20px;
}

#top3 .top3-candidat .big-number {
	font-size: 20px;
}

@media (max-width: 970px) {
	#top3 .top3-candidat {
		width: calc(25% - 30px);
		width: -moz-calc(25% - 30px);
		width: -webkit-calc(25% - 30px);
	}
}

/*************** CARTOUCHE ********************************************************************************************/
#gevi-cartouche {
	font-size: 18px;
	background-color: #f4f4f4;
	padding: 30px 15px;
	margin-bottom: 50px;
}

#gevi-cartouche .row1 {}

#gevi-cartouche .row1 .icon {
	font-size: 60px;
}

#gevi-cartouche .icon.icon-info {
	font-size: 21px;
}

#gevi-cartouche .row2 {
	border-top: 1px solid #d3d3d3;
	padding-top: 30px;
	margin-top: 30px;
}

#gevi-cartouche .data-row.data-big {
	font-size: 24px;
	text-align: center;
	border: none;
	font-weight: 400;
	background-position: center 25px;
	background-repeat: no-repeat;
}

#gevi-cartouche .data-row.data-big .big-number {
	font-size: 35px;
	line-height: 1.2;
}

#gevi-cartouche .data-geviweb {
	font-weight: bold;
	font-size: 24px;
}

#gevi-cartouche .big-number {
	font-weight: bold;
}

@media (max-width: 480px) {
	#gevi-cartouche .data-row.data-big {
		font-size: 13px;
		line-height: 1.2;
	}

	#gevi-cartouche .data-row.data-big .big-number {
		font-size: 30px;
	}

	#gevi-cartouche .data-row {
		padding-bottom: 20px;
	}

	#gevi-cartouche .row1 .icon {
		font-size: 40px;
	}

	#gevi-cartouche .icon.icon-info {
		font-size: 21px;
	}
}

/*************** TABLE suffrages ***************************************************************************************/
.gevi-table-suffrages {
	width: 100%;
}

.gevi-table-suffrages th {
	vertical-align: top;
}

.gevi-table-suffrages td {
	padding: 10px;
	vertical-align: top;
}

.gevi-table-suffrages .nbSieges {
	font-weight: bold;
}

/*************** résultats NOMINATIFS ***************************************************************************************/
.cartouche-candidat {
	margin-top: 10px;
}

.cartouche-candidat .bloc-candidat {
	margin-bottom: 6px;
	padding-top: 5px;
	background-color: #f4f4f4;
	min-height: 150px;
}

.cartouche-candidat .bloc-candidat .libelle-elu {
	display: block;
	text-transform: uppercase;
	font-weight: bold;
	margin-bottom: 10px;
}

.cartouche-candidat .bloc-candidat .info-candidat {
	padding-left: 18px;
	margin-top: 6px;
}

.cartouche-candidat .bloc-candidat .big-number {
	font-size: 30px;
}

.cartouche-candidat.elu .bloc-candidat {
	background-color: #dfecf4;
}

.liste_candidat_CN .cartouche-candidat .bloc-candidat {
	border-bottom: 5px solid #b2b2b2;
}

.liste_candidat_CN .cartouche-candidat.elu .bloc-candidat {
	border-bottom: 5px solid #257fb2;
}

.liste_candidat_CN .cartouche-candidat.egalite .bloc-candidat {
	border: none;
	background: #f4f4f4 url(../strip_border.png) bottom left repeat-x;
}

@media (max-width: 480px) {
	.cartouche-candidat .bloc-candidat .info-candidat {
		margin-top: 0;
	}

	.cartouche-candidat .bloc-candidat .big-number {
		font-size: 20px;
	}
}

/*************** GENERAL ***************************************************************************************/
.center-content {
	display: flex;
	justify-content: center;
}

.center-local-cartouche {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.center-content-vertical-horizontal {
	display: flex;
	justify-content: center;
	align-items: center;
}

.center-top {
	display: flex !important;
	flex-direction: column;
	align-items: center;
}

.blue-btn {
	padding: 10px;
	font-size: 20px;
	background: #257fb2;
	color: #ffffff;
	font-weight: bold;
}

.italic {
	font-style: italic;
}

.commune-title-container-web {
	font-weight: bold;
	display: flex;
	flex-direction: column;
}

.commune-title-container-mobile {
	font-weight: bold;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	width: 100%;
	margin-left: 15px;
}

.armoirie-container {
	display: flex;
	flex: 1;
	justify-content: flex-end;
	padding-right: 15px;
}

.image-responsive {
	display: block;
	max-width: 100%;
}

@media (max-width: 639px) {
	.wrap-xs {
		display: flex !important;
		flex-wrap: wrap !important;
	}
}

table.new_table tbody tr:hover {
	cursor: pointer;
}

table.new_table {
	box-shadow: 0px 0px 20px 0px #88898b;
	border-radius: 10px;
}

table.new_table thead th:last-child {
	border-top-right-radius: 10px;
}

table.new_table thead th:first-child {
	border-top-left-radius: 10px;
}

table.new_table tbody tr:last-child td:first-child {
	border-bottom-left-radius: 10px;
}

table.new_table tbody tr:last-child td:last-child {
	border-bottom-right-radius: 10px;
}

table.new_table tr td:first-child {
	font-weight: bold;
	text-align: center;
}

table.new_table tbody tr:hover {
	box-shadow: 0px 9px 15px 0px grey;
	cursor: pointer;
	mix-blend-mode: darken;
}

table.new_table tbody tr:last-child:hover {
	border-bottom-right-radius: 10px;
	border-bottom-left-radius: 10px;
}

table.new_table tbody td {
	transition: all 0.2s cubic-bezier(0.29, 0.6, 1, 0.98);
}

table.new_table tbody tr {
	transition: all 0.2s ease-in-out;
}

table.new_table tr.colored_row {
	background-color: #eaf5fb;
}

@media (max-width: 639px) {
	.switch_mobile_display {
		flex-direction: column;
	}
}

@media (min-width: 640px) {
	.switch_mobile_display {
		flex-direction: row;
	}
}

.container-switch-com-avancement {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	margin-left: 15px;
}

.container-lst-switch {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
}

.label-smaller {
	font-size: 18px !important;
}

.back-avancement-container {
	display: flex;
	align-items: center;
	justify-content: end;
	width: 100%;
	margin-top: 24px;
}

.container-ecusson {
	display: flex;
	margin: 30px 0px 0px 15px;
}

@media (max-width: 639px) {

	.row:has(.back-avancement-container) {
		display: flex;
		flex-direction: column-reverse;
	}

	.back-avancement-container {
		display: flex;
		align-items: center;
		justify-content: start;
		width: 100%;
		margin-top: 0;
	}
}

@media (max-width: 639px) {
	.img-height-responsive {
		height: 70px;
	}
}

@media (min-width: 640px) {
	.img-height-responsive {
		height: 100px;
	}
}

.flip-effect {
	transform: rotateY(0);
	animation-duration: 500ms;
	animation-timing-function: ease-out;
	animation-name: flipAnimation;
}

.animated {
	-webkit-animation-duration: 1s;
	animation-duration: 1s;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
}

@-webkit-keyframes fadeInLeft {
	0% {
		opacity: 0;
		-webkit-transform: translateX(-200px);
		transform: translateX(-200px);
	}

	100% {
		opacity: 1;
		-webkit-transform: translateX(0);
		transform: translateX(0);
	}
}

@keyframes fadeInLeft {
	0% {
		opacity: 0;
		-webkit-transform: translateX(-200px);
		-ms-transform: translateX(-200px);
		transform: translateX(-200px);
	}

	100% {
		opacity: 1;
		-webkit-transform: translateX(0);
		-ms-transform: translateX(0);
		transform: translateX(0);
	}
}

.fadeInLeft {
	-webkit-animation-name: fadeInLeft;
	animation-name: fadeInLeft;
}

@-webkit-keyframes fadeOpacity {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

@keyframes fadeOpacity {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

.fadeOpacity {
	-webkit-animation-name: fadeOpacity;
	animation-name: fadeOpacity;
}

.logo-sits {
	justify-content: center;
	flex-direction: column;
	margin-top: 25px;
}

.flex-column {
	display: flex;
	flex-direction: column;
}

/*************** CRÉDITS (au-dessus du footer ge.ch) ***************************************************************/
.footer_haut {
	padding-top: 44px;
	padding-bottom: 44px;
	background: #ededed;
	color: #333;
}

/************************************* SIDEDRAWER ******************************************/
#gevi-sidedrawer {
	position: fixed;
	right: -450px;
	top: 0;
	background-color: #575757;
	height: 100%;
	width: 450px;
}

#gevi-sidedrawer.active {
	right: -450px;
	animation-duration: 200ms;
	animation-name: slideout;
}

#gevi-sidedrawer.active.opened {
	right: 0;
	animation-duration: 300ms;
	animation-name: slidein;
}

@keyframes slidein {
	from {
		right: -450px;
	}

	to {
		right: 0;
	}
}

@keyframes slideout {
	from {
		right: 0;
	}

	to {
		right: -450px;
	}
}

#gevi-sidedrawer #gevi-sidedrawer-drawer {
	position: absolute;
	top: 50%;
	width: 350px;
	text-align: center;
	cursor: pointer;
	visibility: hidden;
}

#gevi-sidedrawer #gevi-sidedrawer-drawer span {
	color: #ffffff;
	display: block;
	padding: 10px;
	-webkit-transform: rotate(-90deg);
	-moz-transform: rotate(-90deg);
	-ms-transform: rotate(-90deg);
	-o-transform: rotate(-90deg);
	transform: translate(-196px, 0) rotate(-90deg);
	background-color: #6c6c6c;
	visibility: visible;
}

#gevi-sidedrawer #gevi-sidedrawer-content {
	font-size: 14px;
	color: #ffffff;
	background-color: #575757;
}

#gevi-sidedrawer #gevi-sidedrawer-content a {
	color: #ffffff;
}

#gevi-sidedrawer #gevi-sidedrawer-content h3 {
	font-size: 20px;
	font-weight: normal;
	color: #ffffff;
	text-transform: uppercase;
	margin: 0;
	padding: 27px 45px;
	background-color: #454545;
	line-height: 35px;
}

#gevi-sidedrawer #gevi-sidedrawer-content .taux-participation {
	font-weight: bold;
	padding: 5px 15px;
	margin-left: 15px;
	background-color: #c90000;
	border-radius: 20px;
}

#gevi-sidedrawer #gevi-sidedrawer-content .message {
	padding: 20px 45px;
}

#gevi-sidedrawer #gevi-sidedrawer-content .content {
	padding: 45px;
}

#gevi-sidedrawer #gevi-sidedrawer-content ul {
	padding: 0;
	font-weight: bold;
}

#gevi-sidedrawer #gevi-sidedrawer-content ul li {
	padding: 12px 0;
	border-bottom: 1px solid #818181;
	list-style: none;
}

#gevi-sidedrawer #gevi-sidedrawer-content .twitter-cha {
	bottom: 0;
	text-transform: uppercase;
	padding: 45px;
	margin-top: auto;
}

#gevi-sidedrawer #gevi-sidedrawer-content .twitter-cha .icon-twitter {
	vertical-align: middle;
}

@media (max-width: 480px) {
	#gevi-sidedrawer {
		position: relative;
		top: auto;
		right: 0;
		bottom: -2px;
		height: 45px;
		width: 100%;
	}

	#gevi-sidedrawer.active {
		top: auto;
		right: 0;
		bottom: -2px;
		height: 45px;
	}

	#gevi-sidedrawer.active.opened {
		top: 0;
		right: 0;
		height: 100%;
	}

	#gevi-sidedrawer #gevi-sidedrawer-drawer {
		position: fixed;
		top: auto;
		bottom: 0;
		width: 100%;
	}

	#gevi-sidedrawer.active.opened #gevi-sidedrawer-drawer {
		position: relative;
	}

	#gevi-sidedrawer #gevi-sidedrawer-drawer span {
		-webkit-transform: rotate(0deg);
		-moz-transform: rotate(0deg);
		-ms-transform: rotate(0deg);
		-o-transform: rotate(0deg);
		transform: translate(0, 0) rotate(0deg);
	}

	#gevi-sidedrawer #gevi-sidedrawer-content {
		display: none;
		position: relative;
	}

	#gevi-sidedrawer.active.opened #gevi-sidedrawer-content {
		display: block;
		position: relative;
	}

	@keyframes slidein {
		from {
			right: 0;
			height: 45px;
		}

		to {
			right: 0;
			height: 100%;
		}
	}

	@keyframes slideout {
		from {
			right: 0;
			height: 100%;
		}

		to {
			right: 0;
			height: 45px;
		}
	}
}

/************************************ ANIMATIONS ************************************************/
.animations .status {
	text-align: center;
	padding: 10px;
	font-size: 20px;
	background: #257fb2;
	color: #ffffff;
	width: 100%;
	font-weight: bold;
}

.animation .legend {
	font-size: 25px;
}

.animations h1 {
	text-align: center;
	margin-bottom: 80px;
}

.animations h2 {
	margin-top: 30px;
}

.animations #top7 {
	margin-top: 30px;
}

.animations #canvas_container_hemicycle {
	width: 1000px;
	height: 600px;
	margin-bottom: 25px;
}

/*.animations #canvas_legend tr.flip:first-child {
     border-top: 1px solid #656569;
}
*/
.animations .logo {
	position: fixed;
	bottom: 20px;
	right: 40px;
}

/*.container h2 {
     font-size: 25px;
}
*/
.animations .container.barre {
	width: 100%;
}

.animations .barre {
	margin-bottom: 40px;
}

/* GE CH */
@font-face {
	font-family: icomoon;
	src: url(../fonts/icomoon.eot);
	src: url(../fonts/icomoon.eot?#iefix) format("embedded-opentype"), url(../fonts/icomoon.ttf) format("truetype"), url(../fonts/icomoon.woff) format("woff"), url(../fonts/icomoon.svg#icomoon) format("svg");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

.icon-arrow-left:before {
	content: "\e900";
}

.icon-arrow-right:before {
	content: "\e901";
}

.icon-breadcrumb-arrow:before {
	content: "\e902";
}

@font-face {
	font-family: 'Roboto Local';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('../fonts/roboto-400.woff2') format('woff2');
}

@font-face {
	font-family: 'Roboto Local';
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url('../fonts/roboto-500.woff2') format('woff2');
}

@font-face {
	font-family: 'Roboto Local';
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url('../fonts/roboto-700.woff2') format('woff2');
}

body {
	font-family: 'Roboto', 'Roboto Local', 'Helvetica Neue', Arial, Helvetica, Geneva, sans-serif;
	font-size: 100%;
	font-weight: 400;
	background-color: inherit;
	color: inherit;
	margin: 0;
}

#page {
	display: flex;
	flex-direction: column;
}

@media (min-width: 768px) {
	#page {
		min-height: 100vh;
	}
}

main {
	margin-top: 44px;
	margin-bottom: 80px;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

*,
::after,
::before {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.col-12 {
	-webkit-box-flex: 0;
	-webkit-flex: 0 0 100%;
	-ms-flex: 0 0 100%;
	flex: 0 0 100%;
	max-width: 100%;
}

@media (min-width: 576px) {
	.container {
		max-width: 540px;
	}
}

@media (min-width: 768px) {
	.container {
		max-width: 720px;
	}

	.col-md-4 {
		-webkit-box-flex: 0;
		-webkit-flex: 0 0 33.33333%;
		-ms-flex: 0 0 33.33333%;
		flex: 0 0 33.33333%;
		max-width: 33.33333%;
	}

	.col-md-6 {
		-webkit-box-flex: 0;
		-webkit-flex: 0 0 50%;
		-ms-flex: 0 0 50%;
		flex: 0 0 50%;
		max-width: 50%;
	}

	.col-md-8 {
		-webkit-box-flex: 0;
		-webkit-flex: 0 0 66.66667%;
		-ms-flex: 0 0 66.66667%;
		flex: 0 0 66.66667%;
		max-width: 66.66667%;
	}

	.col-md-12 {
		-webkit-box-flex: 0;
		-webkit-flex: 0 0 100%;
		-ms-flex: 0 0 100%;
		flex: 0 0 100%;
		max-width: 100%;
	}

	.order-md-2 {
		-webkit-box-ordinal-group: 3;
		-webkit-order: 2;
		-ms-flex-order: 2;
		order: 2;
	}

	.order-md-3 {
		-webkit-box-ordinal-group: 4;
		-webkit-order: 3;
		-ms-flex-order: 3;
		order: 3;
	}
}

@media (min-width: 992px) {
	.container {
		max-width: 960px;
	}

	.col-lg-3 {
		-webkit-box-flex: 0;
		-webkit-flex: 0 0 25%;
		-ms-flex: 0 0 25%;
		flex: 0 0 25%;
		max-width: 25%;
	}

	.col-lg-6 {
		-webkit-box-flex: 0;
		-webkit-flex: 0 0 50%;
		-ms-flex: 0 0 50%;
		flex: 0 0 50%;
		max-width: 50%;
	}

	.order-lg-2 {
		-webkit-box-ordinal-group: 3;
		-webkit-order: 2;
		-ms-flex-order: 2;
		order: 2;
	}

	.order-lg-3 {
		-webkit-box-ordinal-group: 4;
		-webkit-order: 3;
		-ms-flex-order: 3;
		order: 3;
	}
}

@media (min-width: 1200px) {
	.container {
		max-width: 1140px;
	}
}

.container {
	width: 100%;
	padding-right: 15px;
	padding-left: 15px;
	margin-right: auto;
	margin-left: auto;
}

.collapse:not(.show) {
	display: none;
}

.list-group {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	-ms-flex-direction: column;
	flex-direction: column;
	padding-left: 0;
	margin-bottom: 0;
}

.list-group-item {
	position: relative;
	display: block;
	margin-bottom: -1px;
}

.btn {
	text-transform: initial;
	display: inline-block;
	font-weight: 400;
	color: #212529;
	text-align: center;
	vertical-align: middle;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	background-color: transparent;
	border: 1px solid transparent;
	padding: 0.375rem 0.75rem;
	font-size: 1rem;
	line-height: 1.5;
	border-radius: 0;
	-webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
	transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
	-o-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
	transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
	transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
}

.btn-block+.btn-block {
	margin-top: 0.5rem;
}

.btn-block {
	display: block;
	width: 100%;
}

.btn-primary {
	color: #fff;
	background-color: #0c6ba8;
	border-color: #0c6ba8;
}

.btn-outline-primary {
	color: #0c6ba8;
	border-color: #0c6ba8;
}

.popover {
	position: absolute;
	z-index: 0;
	max-width: 276px;
	text-decoration: none;
	text-shadow: none;
	text-transform: none;
	letter-spacing: normal;
	word-spacing: normal;
	white-space: normal;
	line-break: auto;
	word-wrap: break-word;
	font-size: 0.875rem;
	line-height: 1.5;
}

.popover .popover-body {
	padding: 15px;
}

.breadcrumb {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	padding: 0.75rem 1rem;
	margin-bottom: 1rem;
	list-style: none;
	background-color: #e9ecef;
	border-radius: 0.25rem;
}

.breadcrumb-item+.breadcrumb-item {
	padding-left: .5rem
}

.breadcrumb-item+.breadcrumb-item::before {
	display: inline-block;
	padding-right: .5rem;
	color: #c9c9c9;
	content: "/"
}

.breadcrumb-item+.breadcrumb-item:hover::before {
	text-decoration: underline
}

.breadcrumb-item+.breadcrumb-item:hover::before {
	text-decoration: none
}

.breadcrumb-item.active {
	color: #c9c9c9
}

.visually-hidden {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.hidden {
	display: none;
}

/*************** WEBCOMPONENTS GE.CH (header / footer) ***************************************************************/
ge-header-public {
	position: relative;
	z-index: 1000;
}

/* Fallback header ge.ch (affiché uniquement si le webcomponent ne parvient pas à se charger) */
.ge-header-fallback {
	display: none;
}

ge-header-public:not(:defined) .ge-header-fallback {
	display: block;
}

ge-header-public:not(:defined) header.ge-header-fallback {
	box-sizing: content-box;
	box-shadow: 0 0.5px 0.5px rgba(0, 51, 85, 0.12);
	height: 80px;
	border-bottom: 1px solid rgba(212, 210, 207, 1);
	position: relative;
	z-index: 100;
}

ge-header-public:not(:defined) .ge-header-fallback .title {
	font-size: 28px;
	font-weight: 400;
	color: rgba(29, 36, 43, 1);
}

ge-header-public:not(:defined) .ge-header-fallback .header {
	box-sizing: content-box;
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 100%;
	padding: 0 16px;
	margin: auto;
	position: relative;
	max-width: 1107px;
}

ge-header-public:not(:defined) .ge-header-fallback .logo-section {
	text-decoration: none;
	color: inherit;
	display: flex;
	align-items: center;
	gap: 16px;
	cursor: pointer;
}

/* Fallback footer ge.ch (affiché uniquement si le webcomponent ne parvient pas à se charger) */
.ge-footer-fallback {
	display: none;
}

ge-footer:not(:defined) .ge-footer-fallback {
	display: block;
}

ge-footer:not(:defined) footer.ge-footer-fallback {
	box-sizing: content-box;
	border-top: 1px solid rgba(212, 210, 207, 1);
}

ge-footer:not(:defined) .ge-footer-fallback .footer {
	box-sizing: content-box;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	height: 74px;
	padding: 0 32px;
	margin: auto;
	max-width: 1107px;
}

@media (max-width: 768px) {
	ge-footer:not(:defined) .ge-footer-fallback .footer {
		justify-content: flex-start;
		height: auto;
		padding: 32px 16px;
	}
}
.popover {
	top: 2px !important;
	border: 1px solid;
	border-radius: 0;
}

.popover .popover-body {
	padding: 15px;
}

.popover {
	border-color: #c9c9c9;
}

.popover-body .btn-primary {
	background-color: #0c6ba8;
	border-color: #0c6ba8;
	color: #fff;
	background-image: none !important;
	-webkit-box-shadow: none;
	box-shadow: none;
	text-shadow: none;
	font-weight: 400;
	border-radius: 0;
}

.popover-body .btn-primary:hover {
	border-color: #085a8e;
	color: #fff;
	background-color: #085a8e;
}

.popover-body .btn-primary:focus,
.popover-body .btn-primary:not(.disabled).active {
	border-color: #6da6cb !important;
	color: #fff !important;
	background-color: #6da6cb !important;
}

.popover-body .btn-outline-primary {
	background-image: none !important;
	-webkit-box-shadow: none;
	box-shadow: none;
	text-shadow: none;
	font-weight: 400;
	border-radius: 0;
	background-color: transparent;
	border-color: #0c6ba8;
	color: #0c6ba8;
}

.popover-body .btn-outline-primary:focus,
.popover-body .btn-outline-primary:hover {
	background-color: #ededed;
	border-color: #0c6ba8;
	color: #0c6ba8;
}

.popover {
	border: 1px solid #c9c9c9;
	background-color: #fff;
}

.popover .popover-body {
	padding: 15px;
}

.popover-header:empty {
	display: none;
}

.region-breadcrumb {
	padding: 11px 0;
}

.region-breadcrumb .breadcrumb {
	background-color: transparent;
	margin-bottom: 0;
	padding: 0;
	margin-top: 0;
}

.region-breadcrumb .breadcrumb a,
.region-breadcrumb .breadcrumb li {
	font-size: 14px;
	font-size: rem(14) rem;
	line-height: 19.1780821918px;
}

.region-breadcrumb .breadcrumb a {
	-webkit-transition: all 0.3s ease 0s;
	-o-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
}

.region-breadcrumb .breadcrumb a:focus,
.region-breadcrumb .breadcrumb a:hover {
	text-decoration: underline;
}

.region-breadcrumb .breadcrumb .breadcrumb-item {
	padding-left: 5px;
}

.region-breadcrumb .breadcrumb .breadcrumb-item+.breadcrumb-item::before {
	content: "\203A";
	display: inline-block;
	font-family: inherit;
	font-size: 1.4em;
	font-weight: 400;
	font-style: normal;
	line-height: 1;
	vertical-align: -0.08em;
	color: #c9c9c9;
	padding: 0 11px;
}

@media (max-width: 767.98px) {
	.region-breadcrumb .breadcrumb .breadcrumb-item:not(:nth-last-child(2)) {
		display: none;
	}

	.region-breadcrumb .breadcrumb .breadcrumb-item:nth-last-child(2) {
		padding-left: 0;
	}

	.region-breadcrumb .breadcrumb .breadcrumb-item:nth-last-child(2) a {
		padding-left: 8px;
	}

	.region-breadcrumb .breadcrumb .breadcrumb-item:nth-last-child(2):before {
		-webkit-transform: rotate(180deg);
		-o-transform: rotate(180deg);
		transform: rotate(180deg);
		padding: 0 !important;
	}

	.region-breadcrumb .breadcrumb .breadcrumb-item:nth-last-child(2):after {
		display: none;
	}

	.region-breadcrumb .breadcrumb .breadcrumb-item:last-child {
		padding-left: 0;
	}
}

@media (max-width: 991.98px) {
	.region-breadcrumb .breadcrumb {
		display: block !important;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}
}

@media (max-width: 991.98px) {
	.region-breadcrumb .breadcrumb .breadcrumb-item {
		display: inline;
	}
}

.region-breadcrumb {
	background-color: #ededed;
}

.region-breadcrumb .breadcrumb a {
	color: #333;
}

.region-breadcrumb .breadcrumb a.active,
.region-breadcrumb .breadcrumb a:hover {
	color: #333;
}

.region-breadcrumb .row {
	margin-left: 0;
	margin-right: 0;
}

/*************** TOP 3 CC ***************************************************************************************************/
#top3 {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	margin-bottom: 60px;
}

#top3 .top3-candidat {
	margin: 0 12px;
	text-align: center;
}

#top3 .top3-candidat {}

#top3 .top3-candidat .content {
	padding: 20px;
	height: 100%;
}

#top3 .top3-candidat.elu .content {
	background-color: #dfecf4;
}

@keyframes flipAnimation {
	from {
		transform: rotateY(180deg);
	}

	to {
		transform: rotateY(0);
	}
}

#top3 .top3-candidat .position {
	font-weight: bold;
	color: #ffffff;
	line-height: 28px;
	background-color: #333333;
	display: inline-block;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	margin-bottom: 10px;
}

#top3 .top3-candidat .suffrage {
	line-height: 1.1;
	margin-bottom: 20px;
}

#top3 .top3-candidat .big-number {
	font-size: 20px;
}

@media (max-width: 970px) {
	#top3 .top3-candidat {
		width: calc(25% - 30px);
		width: -moz-calc(25% - 30px);
		width: -webkit-calc(25% - 30px);
	}
}

.partie_container .flipper.flip {
	transform: rotateY(0);
	animation-duration: 500ms;
	animation-timing-function: ease-out;
	animation-name: flipAnimation;
}

#tab-suffrages .table-striped>tbody>tr:nth-of-type(odd) {
	background-color: #F4FBFE !important;
}

#tab-suffrages .table-striped>tbody>tr:hover {
	background-color: #e5f2f8 !important;
}

#tab-suffrages tbody * {
	font-size: 21px;
}

#tab-suffrages tbody tr>td p {
	font-size: 16px;
}

#tab-suffrages tbody tr>td:nth-child(2) p {
	font-size: 13px !important;
	font-weight: initial;
}

#tab-suffrages tbody tr>td:nth-child(2) div {
	float: right;
	font-size: 13px;
	text-align: left;
	width: 45%;
}

#tab-suffrages .suffrages {
	font-size: 18px;
	display: block;
}

#tab-suffrages .table>thead>tr>th {
	border: 0;
}

#tab-suffrages .table>tbody>tr>td {
	border: 0;
}

#tab-suffrages .table>tbody>tr>td:first-child {
	padding-left: 16px;
}

#tab-suffrages tbody .ecart {
	font-size: 13px;
	display: inline;
}

/* #canvas_legend .legend > td:first-child{
     word-break: break-all;
}
*/
/*Page candidats*/
#listeCandidats.liste_candidat_CN .display-flex {
	display: flex;
	flex-wrap: wrap;
	justify-content: stretch;
	margin-left: -7.5px;
	margin-right: -7.5px;
	margin-top: 10px;
}

#listeCandidats.liste_candidat_CN .cartouche-candidat.elu .bloc-candidat {
	background-image: linear-gradient(#73ABCB, rgba(2, 103, 161, 1));
}

#listeCandidats.liste_candidat_CN .cartouche-candidat .bloc-candidat {
	background-image: linear-gradient(#E1EEF4, #95C0D8);
}

#listeCandidats.liste_candidat_CN .cartouche-candidat {
	margin-bottom: 20px;
}

#listeCandidats.liste_candidat_CN .cartouche-candidat .bloc-candidat {
	min-height: 110px !important;
	max-height: 110px !important;
	margin-bottom: 0;
	padding-top: 0px;
	overflow: hidden;
	position: relative;
}

#listeCandidats.liste_candidat_CN .cartouche-candidat {
	padding: 0;
	padding-left: 7.5px;
	padding-right: 7.5px;
}

#listeCandidats.liste_candidat_CN .cartouche-candidat .bloc-candidat {
	border: 0 !important;
	border-bottom: 0 !important;
	width: 100%;
}

#listeCandidats.liste_candidat_CN .cartouche-candidat .info-candidat>p:first-child {
	font-weight: 500;
	margin: 0;
}

#listeCandidats.liste_candidat_CN .cartouche-candidat .info-candidat>p:nth-child(2) {
	height: 12px;
	font-size: 13px;
	line-height: 12px;
	margin-bottom: 0px;
}

#listeCandidats.liste_candidat_CN .cartouche-candidat .info-candidat>p:nth-child(3) {
	font-size: 11px;
	position: absolute;
	width: calc(100% - 142px);
	bottom: 0;
}

#listeCandidats.liste_candidat_CN .cartouche-candidat .info-candidat>p:nth-child(3) strong {
	font-size: 19px;
}

#listeCandidats.liste_candidat_CN .cartouche-candidat .icon-position {
	position: absolute;
	right: -50px;
	bottom: 0;
}

#listeCandidats.liste_candidat_CN .cartouche-candidat .bloc-candidat .libelle-elu {
	margin-bottom: 0;
}

#listeCandidats.liste_candidat_CN .cartouche-candidat .bloc-candidat .libelle-elu .icon {
	FONT-SIZE: 170px;
	line-height: 150px;
	height: 150px;
	display: block;
}

#listeCandidats.liste_candidat_CN .cartouche-candidat.elu .bloc-candidat * {
	color: white;
}

#listeCandidats.liste_candidat_CN .cartouche-candidat .bloc-candidat * {
	color: black;
	line-height: 16px;
}

.cartouche-candidat .bloc-candidat .info-candidat {
	margin-top: 10px;
	padding-right: 10px;
}

@media (max-width: 970px) {
	#listeCandidats .display-flex {
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
}

.general-label {
	display: flex;
	gap: 10px;
	align-items: center;
}

#gevi-map-highlight .info_commune_resultat {
	font-size: 0.8rem;
	line-height: 1rem;
	font-weight: normal;
}

.animation .img-responsive {
	width: 100%;
	max-width: auto;
}

/*************** résultats NOMINATIFS ***************************************************************************************/
.cartouche-candidat {
	margin-top: 10px;
}

.cartouche-candidat .bloc-candidat {
	margin-bottom: 6px;
	padding-top: 5px;
	background-color: #f4f4f4;
	min-height: 150px;
}

.cartouche-candidat .bloc-candidat .libelle-elu {
	display: block;
	text-transform: uppercase;
	font-weight: bold;
	margin-bottom: 10px;
}

.cartouche-candidat .bloc-candidat .info-candidat {
	padding-left: 18px;
	margin-top: 6px;
}

.cartouche-candidat .bloc-candidat .big-number {
	font-size: 30px;
}

.cartouche-candidat.elu .bloc-candidat {
	background-color: #dfecf4;
}

.liste_candidat_CN .cartouche-candidat .bloc-candidat {
	border-bottom: 5px solid #b2b2b2;
}

.liste_candidat_CN .cartouche-candidat.elu .bloc-candidat {
	border-bottom: 5px solid #257fb2;
}

.liste_candidat_CN .cartouche-candidat.egalite .bloc-candidat {
	border: none;
	background: #f4f4f4 url(../strip_border.png) bottom left repeat-x;
}

@media (max-width: 480px) {
	.cartouche-candidat .bloc-candidat .info-candidat {
		margin-top: 0;
	}

	.cartouche-candidat .bloc-candidat .big-number {
		font-size: 20px;
	}
}

/*Page CDE Bottom*/
.cartouche-candidat * {
	color: black;
}

@keyframes flipAnimation {
    from {
        transform: rotateY(180deg);
    }

    to {
        transform: rotateY(0);
    }
}

.icon-tick::before {
    color: rgba(255, 255, 255, 0.15);
}
