/* ============================
    FONT
   ============================ */

@charset "utf-8";


@font-face {
	font-family: 'Bernhard Gothic URW Extra Heavy';
	src: url('../fonts/BernhardGothicURW-ExtraHeavy.ttf') format('truetype');
	font-weight: 900;
	font-style: normal;
	font-display: swap;
}

/* ============================
	   VARIABILI CSS (Custom Properties)
	  ============================ */
:root {
	
	--color-white: #ffffff;
	--color-dark-blue: #143b68;
	
	--color-medium-blue: #163B68;
	/* Usato per .text-blue */
	--color-light-blue: #9AC2FF;
	--color-primary-button: #4A8EF3;
	
	--color-red: #ac182d;
	--color-modal-background: #4A8EF3;

	--font-primary: 'Bernhard Gothic URW Extra Heavy', sans-serif;
	--font-weight-normal: normal;
	--font-size-base: 14px;
	--line-height-base: 1.2em;
	
	--border-radius-small: 5px;
	--border-radius-medium: 15px;
	--border-radius-large: 20px;
	--border-radius-pill: 200px;

}

/* ============================
	   GENERALI 
	  ============================ */
* {
	text-transform: uppercase;
}

body {
	font-family: var(--font-primary);
	font-weight: var(--font-weight-normal);
	font-style: normal;
	font-size: var(--font-size-base);
	color: var(--color-white);
	background-attachment: scroll;
	background-repeat: no-repeat;
}

body.bg-dlp {
	background-image: url('../img/bg_dlp.jpg');
	background-position: center;
	background-size: cover;
	background-attachment: fixed;
}

body.bg-iw {
	background-image: url('../img/bg_iw.jpg');
	background-position: center;
	background-size: cover;
	background-attachment: fixed;
}
body.bg-home-iw,
.bg-home-iw {
	background-image: url('../img/bg_home_iw.jpg');
	background-color: #000000;
	background-position: top center;
	background-size: contain;
	background-attachment: scroll;
}


@media screen and (max-width: 768px) {

	body.bg-home-iw,
	.bg-home-iw {
		background-image: url('../img/bg_home_mobile_iw.png');
		background-position: top center;
		background-size: contain;
	}


	.bg-home-iw:not(body) {
		background-position: top left;
		background-size: cover;
	}
}


.row {
	margin-left: 0px;
	margin-right: 0px;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	color: var(--color-white);
}

h2.h1 {
	font-size: 2.5rem;
}

.text-blue {
	color: var(--color-medium-blue);
}

.text-light-blue {
	color: var(--color-light-blue);
}

.text-red {
	color: var(--color-red);
}

/* ============================
	   MENU
	  ============================ */

.skip-to-main-content-link {
	position: absolute;
	left: -9999px;
	z-index: 999;
	padding: 1em;
	background-color: black;
	color: white;
	opacity: 0;
	transition: opacity 0.3s ease, left 0.3s ease, transform 0.3s ease;
}

.skip-to-main-content-link:focus {
	left: 50%;
	transform: translateX(-50%);
	opacity: 1;
}

#attiva_menu {
	max-width: 30px;
	margin: 10px 25px;
	cursor: pointer;
}

#menu {
	background-color: transparent;
}

/* ============================
	   HOME
	  ============================ */

#pic_ovelay_1 {
	top: 0px;
	left: 25%;
	pointer-events: none;
}

#pic_ovelay_2 {
	right: 50%;
	top: 30%;
	z-index: 2000;
	pointer-events: none;
}

@media screen and (max-width: 1440px) {
	#pic_ovelay_2 {
		right: 20%;
		top: 30%;
		z-index: 2000;
		pointer-events: none;
	}
}

@media screen and (max-width: 768px) {
	#pic_ovelay_3 {
		top: 10vh;
		left: 0px;
		pointer-events: none;
	}

	#pic_ovelay_4 {
		right: -2%;
		bottom: 0;
		z-index: 2000;
		pointer-events: none;
	}
}

.ict-card {
	background-color: var(--color-white);
	border-radius: var(--border-radius-large);
	box-shadow: 0px 0px 4px rgba(0, 0, 0, .4);
}

button.pillola {
	background-color: var(--color-primary-button);
	color: var(--color-white);
	font-size: var(--font-size-base);
	border-radius: var(--border-radius-pill);
	border: 0px solid transparent;
}

.stickers_bg {
	background-color: rgba(255, 255, 255, .3);
	border: 1px solid var(--color-white);
	border-radius: var(--border-radius-large);
}

/* ============================
	   SCELTA
	  ============================ */
.selezionata {
	box-shadow: 0px 0px 10px rgba(255, 255, 255, .8);
}

.opacizzata {
	opacity: .3;
}

/* ============================
	   FORM
	  ============================ */

#errore {
	color: var(--color-red);
	font-weight: bold;
	text-align: center;
	font-size: 24px;
}

.form-control,
.form-select {
	height: 45px;
	border-radius: var(--border-radius-small);
	border: 1px solid var(--color-white);
	color: var(--color-dark-blue);
	background-color: rgba(255, 255, 255, .9);
}

.fileUpload {
	border: 2px dashed var(--color-white);
	border-radius: var(--border-radius-large);
}

.form-group {
	margin-bottom: 15px;
}

label[for=reg],
label[for=tratt_dati] {
	display: block;
}

label a {
	color: inherit;
	text-decoration: underline;
}

small.small {
	font-size: 10px;
	line-height: 9px;
}

.button,
.button-inverted,
.button-small,
.button-dark {
	border-radius: var(--border-radius-medium);
	padding: 10px 20px;
	text-transform: uppercase;
	border: 0px solid transparent !important;
	text-decoration: none !important;

	transition: all 0.3s ease;
}


.button {
	background-color: var(--color-white);
	color: var(--color-primary-button);
	font-size: 26px;

}

.button:hover {
	color: var(--color-dark-blue);
	background: var(--color-white);
}

.button-inverted {
	background-color: var(--color-dark-blue);
	color: var(--color-white);
	font-size: 26px;
}

.button-inverted:hover {
	color: var(--color-primary-button);
	background: var(--color-dark-blue);
}

.button-small {
	background-color: var(--color-white);
	color: var(--color-primary-button);
	font-size: 20px;

}

.button-small:hover {
	color: var(--color-dark-blue);
	background: var(--color-white);

}

.button-small[disabled] {
	opacity: .5;

}

.button-dark {
	background-color: var(--color-white);
	color: var(--color-dark-blue);
	font-size: 26px;
}

.button-dark:hover {
	color: var(--color-dark-blue);
	background: var(--color-white);
	
}

/* Media query per i bottoni */
@media (max-width:375px) {
	.button {
		font-size: 1rem;
	}
}

@media (max-width: 575px) {
	label {
		font-size: .80rem;
	}
}

.modal-dialog,
.modal-header,
.modal-footer,
.modal-body {
	background-color: var(--color-modal-background);
}

.modal-body {
	font-size: 16px;
}

.modal-body button {
	font-size: var(--font-size-base) !important;
	padding: 5px 10px;
	border-radius: 10px;
	
}

.modal-body img.img-thumbnail {
	width: 50px;
	height: 50px;
	border-radius: 500px;
}

/* ============================
	   WIN
	  ============================ */

.image-container {
	perspective: 1000px;
	width: 100%;
	height: auto;
	display: flex;
	justify-content: center;
	align-items: center;
}

.prize {
	width: 100%;
	height: auto;
	display: block;
	transform: rotateX(0deg) rotateY(0deg);
	transition: transform 0.5s ease-in-out;
	transform-style: preserve-3d;
	backface-visibility: hidden;
}

.prize.is-flipping {
	transform: rotateX(90deg) rotateY(5deg);
}

.prize.is-flipping-back {
	transform: rotateX(0deg) rotateY(-5deg);
}

.d-block {
	display: block;
}

.mx-auto {
	margin-left: auto;
	margin-right: auto;
}

.img-fluid {
	max-width: 100%;
	height: auto;
}
#estrazioneFinale.bg-home-iw {
	background-size: cover;
}

@media screen and (max-width: 768px) {
	#estrazioneFinale h2.h1 {
		font-size: 2rem;
	}
	#estrazioneFinale.bg-home-iw {
	background-size: contain;
	background-position: bottom left;
	background-repeat: no-repeat;
}
.text-adaptive {
	font-size: 4vw;
	white-space: nowrap;
	/* Prevent text from wrapping */
	text-align: center;
	/* Center the text for better visual alignment */
	line-height: 1;
	/* Adjust if needed to prevent extra vertical space */
	box-sizing: border-box;
	/* Include padding/border in width calculation */
	padding: 0 1vw;
	/* Add a small padding to prevent text touching edges */
}
}

.text-big {
	font-size: 4rem;
}


/* ============================
	   FOOTER
	  ============================ */
footer {
	font-family: var(--font-primary);
	font-size: 1.2rem;
	background-color: var(--color-dark-blue);
	position: relative;
}

footer p {
	color: var(--color-white);
	font-family: var(--font-primary);
	font-weight: var(--font-weight-normal);
	font-style: normal;
	font-size: 1.2rem;
	text-align: center;
}

footer p a {
	color: var(--color-white);
	text-decoration: underline;
	font-weight: 700;
}

#pulsante_footer {
	transform: translateY(-30%);
	margin-bottom: -12rem;
	z-index: 1000;
	position: relative;

}

/* =========================
	   COOKIE BAR
	   ======================= */

.cc-window {
	font-size: .85rem !important;
	line-height: var(--line-height-base) !important;
}

@media (max-width:767px) {
	.cc-window {
		font-size: .75rem !important;
		line-height: var(--line-height-base) !important;
	}
}

/* =========================
		OCR LOADING
	   ======================= */

#ocr_loading,
#ocr_loading>.modal-dialog,
#ocr_loading>.modal-dialog>.modal-content,
#ocr_loading>.modal-dialog>.modal-content>.modal-body {
	background-color: transparent !important;  }