/* Styles pour les navigateurs basés sur WebKit (Chrome, Safari, etc.) */
::-webkit-scrollbar {
	width: 12px; /* Largeur de la barre de défilement */
}

::-webkit-scrollbar-track {
	background: rgba(255, 255, 255, 0.1); /* Couleur de fond de la piste de défilement avec transparence */
	border-radius: 10px; /* Arrondir les coins de la piste */
}

::-webkit-scrollbar-thumb {
	background: rgba(0, 0, 0, 0.5); /* Couleur de fond du pouce de défilement avec transparence */
	border-radius: 10px; /* Arrondir les coins du pouce */
	border: 3px solid rgba(255, 255, 255, 0.1); /* Bordure autour du pouce avec transparence */
}

::-webkit-scrollbar-thumb:hover {
	background: rgba(0, 0, 0, 0.7); /* Couleur de fond du pouce lors du survol avec transparence */
}

/* Styles pour Firefox */
html {
	scrollbar-width: thin; /* Largeur de la barre de défilement */
	scrollbar-color: rgba(0, 0, 0, 0.5) rgba(255, 255, 255, 0.1); /* Couleur du pouce et de la piste avec transparence */
}

body {
	font-family: 'Amatic SC', sans-serif;
	margin: 0;
	padding: 0;
	overflow-x: hidden;
	background: linear-gradient(135deg, #900020, #228322);
	color: white;
}

/* Styles pour le halo du curseur */
body {
	cursor: none;
}
.cursor-halo {
	position: fixed; /* Utiliser fixed pour suivre le curseur */
	width: 3px;
	height: 3px;
	border-radius: 50%;
	background: rgba(255, 255, 13, 0.9); /* Couleur et opacité du halo */
	box-shadow: 0 0 150px 50px rgba(255, 255, 13, 0.8); /* Ombre pour l'effet de halo */
	pointer-events: none; /* Empêcher l'élément de bloquer les interactions */
	transition: opacity 1s ease-out; /* Transition pour estomper le halo */
	opacity: 0; /* Initialement invisible */
	z-index: 9999; /* Assurez-vous que le halo est au-dessus de tout autre contenu */
	transform: translate(-50%, -50%); /* Centrer le halo sur le curseur */
}

a:hover {
	background: rgba(255, 255, 13, 0.2);
	box-shadow: 0 0 150px 50px rgba(255, 255, 13, 0.8);
}

#exclu {
	background: none;
	box-shadow: none;
}

.highlight {
	color: #00FFAA;
	font-weight: bold;
	background: rgba(255, 255, 255, 0.15);
	padding: 0px 10px;
}

.highlight-big {
	color: #00FFAA;
	font-weight: bold;
	background: rgba(255, 255, 255, 0.15);
	padding: 0px 10px;
	font-size: 2em;
}

.block {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	height: 100vh;
	padding: 0px 10px 0px 10px;
	text-align: center;
	opacity: 0;
	transition: opacity 1s ease-out;
}

.block.visible {
	opacity: 1;
	animation: fadeIn 2s ease-out forwards;
}

.dernier {
	background: rgba(0, 0, 0, 0.5);
}

@keyframes fadeIn {
	0% {
		opacity: 0;
		transform: translateY(-20px);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}

.content {
	max-width: 800px;
	margin: 0px 0px 60px 0px; /*20px par défaut*/
	/*margin-bottom: 20px; */ /*20px par défaut*/
}

.quote {
	font-family: 'Caveat Brush', cursive;
	font-size: 8em;
	margin-bottom: 10px;
	line-height: 0.7;
	letter-spacing: -4px;
}

.post-scriptum {
	font-family: 'Alumni Sans Pinstripe', cursive;
	font-size: 1.75em;
}

.response {
	font-family: 'Alumni Sans Pinstripe', cursive;
	font-size: 2.3em;
	font-weight: 400;
}

.image img {
	max-width: 300px;
}

.rotated-left {
	transform: rotate(-5deg);
}

.rotated-right {
	transform: rotate(5deg);
}

.qr-code {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 1;
	margin: 2px;
	padding: 2px;
}

.qr-container {
	display: flex;
	justify-content: space-around;
	width: 100%;
	margin: 0px;
	padding: 0px;
}

.icon-image {
	padding: 10px;
}

.qr-image {
	width: 200px;
}

/* Effet de flocons de neige pour la dernière section */
.dernier {
    position: relative;
    overflow: hidden; /* Pour que les flocons ne débordent pas */
}

.dernier .snowflake {
    position: absolute;
    top: -10px;
    left: 50%;
    font-size: 1em;
    color: white;
    opacity: 0.8;
    pointer-events: none; /* Les flocons ne doivent pas interférer avec le curseur */
    animation: fall 20s linear infinite;
}

/* Animation des flocons */
@keyframes fall {
    0% {
        transform: translate(-50%, 0);
    }
    100% {
        transform: translate(-50%, 100vh);
    }
}

/* Fin effet de flocons de neige pour la dernière section */

/* Media queries */
@media (max-width: 768px) {
	.quote {
		font-size: 2em;
		letter-spacing: 1px;
	}

	.response {
		font-size: 1.5em;
	}

	.qr-container {
		flex-direction: column;
		align-items: center;
	}

	.icon-image {
		transform: scale(2)
		padding: 15px;
	}

}

@media (min-width: 769px) and (max-width: 1024px) {
	.quote {
		font-size: 3em;
	}

	.response {
		font-size: 1.75em;
	}

	.icon-image {
		transform: scale(2)
		padding: 15px;
	}

}
