@charset "utf-8";
/* CSS Document */
/**/
/*================================== BOOT ===============================================*/

/* barlow-regular - latin */
@font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Barlow';
	font-style: normal;
	font-weight: 400;
	src: url('../fonts/Barlow/barlow-v12-latin-regular.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
	url('../fonts/Barlow/barlow-v12-latin-regular.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}
/* barlow-italic - latin */
@font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Barlow';
	font-style: italic;
	font-weight: 400;
	src: url('../fonts/Barlow/barlow-v12-latin-italic.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
	url('../fonts/Barlow/barlow-v12-latin-italic.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}
/* barlow-500 - latin */
@font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Barlow';
	font-style: normal;
	font-weight: 500;
	src: url('../fonts/Barlow/barlow-v12-latin-500.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
	url('../fonts/Barlow/barlow-v12-latin-500.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}
/* barlow-700 - latin */
@font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Barlow';
	font-style: normal;
	font-weight: 700;
	src: url('../fonts/Barlow/barlow-v12-latin-700.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
	url('../fonts/Barlow/barlow-v12-latin-700.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}
/* barlow-900 - latin */
@font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Barlow';
	font-style: normal;
	font-weight: 900;
	src: url('../fonts/Barlow/barlow-v12-latin-900.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
	url('../fonts/Barlow/barlow-v12-latin-900.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

@font-face {
	font-family: 'Pixelicious';
	font-style: normal;
	font-weight: 400;
	src: url('../fonts/Pixelicious.woff') format('woff');
}

@font-face {
	font-family: 'PixelSmall';
	font-style: normal;
	font-weight: 400;
	url('../fonts/small_bold_pixel-7.ttf') format('truetype');
}

body {
	font-family: 'Barlow', sans-serif;
	font-size: 16px;
	color: #ffffff;
	background-color: #1c3c80;
}
.cmsForm {}
.cmsForm .error {
	color: #C30
}
#alert {
	display: none;
	position: fixed;
	z-index: 10001;
	font-size: 14px;
	color: #000;
	background-color: rgba(0, 45, 71, 0.90);
	height: 100%;
	width: 100%;
	left: 0px;
	top: 0px;
}
#alert .testoAlert {
	margin: 10px;
	color: #FFF;
	padding: 20px;
	position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.loader {
	/*width: 100%;*/
	height: 16px;
	animation: l3-0 2s infinite alternate;
}
.loader:before, .loader:after {
	content: "";
	width: 16px;
	height: 100%;
	background: #3FB8AF;
	display: inline-block;
	animation: l3-1 1s infinite alternate;
}
.loader:after {
	background: #FF3D7F;
	--s: -1;
}
@keyframes l3-0 {
	0%, 40% {
		transform: rotate(0);
	}
	80%, 100% {
		transform: rotate(.5turn);
	}
}
@keyframes l3-1 {
	80%, 100% {
		transform: translate(calc(var(--s, 1) * 14px));
	}
}
/*================================== SITE ===============================================*/

.login-section {
	background: url(../img/bgr-login.jpg) no-repeat center center fixed;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;

	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	min-height: 100vh;
	margin: 0;
	padding: 0;
	z-index: -1; /* Place it behind content */

	display: flex;
	justify-content: center;
	align-items: center;
}

.login-button {
	color: #ffffff;
	font-family: 'Pixelicious', sans-serif;
	font-size: 2rem;
	text-transform: uppercase;
	background-color: transparent;
	border: 1px solid transparent;
	transition: all 0.2s ease;
}

.login-button:hover, .pwd-reset:hover {
	color: #f5d425;
}

.pwd-reset {
	color: #ffffff;
	font-family: 'Pixelicious', sans-serif;
	font-size: 1rem;
	text-transform: uppercase;
	background-color: transparent;
	border: 1px solid transparent;
	transition: all 0.2s ease;
}

.modal-body {
	color: #000000;
}

.ranking-title {
	font-family: 'Pixelicious', sans-serif;
	font-size: 1.25rem;
	text-transform: uppercase;
	color: #ffffff;
	padding-left: 50px;
}

.ranking-container {
	background-color: #1d1d1b;
	padding: 35px 40px;
	border-radius: 20px;
}

/* Ranking Grid Styles */
.ranking-grid {
	display: grid;
	grid-template-columns: auto 1fr auto auto; /* Adjust columns as needed */
	gap: 0 0; /* Space between rows */
	width: 100%;
}

/* Header styles */
.ranking-header {
	font-weight: bold;
	padding: 0 15px 10px;
	color: #ff8200;
	text-transform: uppercase;
	font-size: 1.25rem;
	display: flex;
	align-items: end;
	line-height: 1;
}

/* Row styles */
.ranking-row {
	display: contents; /* This makes the children participate in the grid layout */
}

.highlight .ranking-cell {
	background-color: #ffffff;
	color: #000000;
}

.winner .ranking-cell {
	background-color: #ff8200;
	color: #ffffff !important;
}

/* Cell styles */
.ranking-cell {
	padding: 15px;
	color: #ffffff;
	font-size: 1.125rem;
}

/* Apply rounded corners to the first and last cells of each row */
.ranking-row .ranking-cell:first-child {
	padding-left: 20px;
	border-top-left-radius: 30px;
	border-bottom-left-radius: 30px;
	font-size: 1.250rem;
}

.ranking-row .ranking-cell:last-child {
	padding-right: 20px;
	border-top-right-radius: 30px;
	border-bottom-right-radius: 30px;
	color: #ff8200;
}

/* Connect cells visually */
.ranking-row .ranking-cell {
	margin-bottom: -1px; /* Prevent double borders */
}

/* Responsive adjustments */
@media (max-width: 768px) {
	/*.ranking-grid {
		grid-template-columns: auto 1fr auto; !* Simplify on mobile *!
	}

	!* You might want to hide less important columns on mobile *!
	.ranking-cell.hide-mobile {
		display: none;
	}*/
}

.score-window {
	background-color: #000000;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 20px 50px;
}

.score-label {
	font-family: 'Pixelicious', sans-serif;
	font-size: 1.125rem;
	text-transform: uppercase;
	line-height: 1;
}

.score-amount {
	font-size: 2.625rem;
	font-weight: bold;
	line-height: 1;
}

#logo-wind {
	max-width: 165px;
}

#logo-groupama {
	max-width: 200px;
}

.animation-window {
	border-radius: 30px;
}

.footer {
	padding: 80px 0 10px;
	gap: 80px;
}

.ranking-warning {
	font-size: 1.125rem;
}

@media (max-width: 767px) {
	#logo-wind {
		max-width: 80px;
	}

	#logo-groupama {
		max-width: 100px;
	}

	.animation-window {
		border-radius: 0;
	}

	.score-window {
		flex-direction: column;
		gap: 20px;
		padding: 10px;
	}

	.ranking-title {
		padding: 0 10px;
	}

	.ranking-container {
		padding: 10px;
		border-radius: 0;
	}

	.ranking-header {
		font-size: 0.8rem;
		padding: 0 8px 5px;
	}

	.ranking-cell {
		display: flex;
		align-items: center;
		padding: 5px;
		font-size: 0.8rem;
	}

	.ranking-row .ranking-cell:first-child {
		padding-left: 10px;
		border-top-left-radius: 30px;
		border-bottom-left-radius: 30px;
		font-size: 1rem;
	}

	.ranking-row .ranking-cell:last-child {
		padding-right: 10px;
		border-top-right-radius: 30px;
		border-bottom-right-radius: 30px;
		font-size: 0.8rem;
	}

	.footer {
		padding: 40px 0;
		gap: 40px;
	}

	.ranking-warning {
		font-size: 0.850rem;
	}
}

