/* main section */
* :focus {
	outline: 0 !important;
}

.curpoint {
	cursor:pointer !important;
}

.curdeflt {
	cursor:default !important;
}

.gesablu {
	color: #3b82f6 !important;
}

.gesabluhover:hover {
	color: #7fafff !important;
}

.gesabludark {
	color: #3b82f6 !important;
}

.gesabludarkhover:hover {
	color: #7fafff !important;
}

.btn-gesa {
	background-color: #3b82f6 !important;
}

.btn-gesa:hover {
	background-color: #7fafff !important;
}

.btn-gesa-light {
	background-color: #5ac5c5 !important;
}

.btn-gesa-light:hover {
	background-color: #289898 !important;
}

.alert-color {
	color: #ff6347 !important;
}

.alert-color-hover:hover {
	color: #ff6347 !important;
}

.displaynone {
	display: none;
}

/* preloader */
.preloaderlogo {
	margin-left: -5rem !important;
}

#preloaderlogo {
	width: 10rem !important;
}

/* menu */
#menulogo {
	width: 8rem;
}

/* soluzioni */
.closealldesc {
	margin-top: 0.3rem;	
}

/* contatti */
.contact-icon {
	font-size: xxx-large;
}

.contact-mainmsg {
	font-size: xx-large;
	font-weight: 500;
}

.contact-msg {
	font-size: xx-large;
}

/* Footer */
.footerlogo {
	width: 10rem;
}

@media only screen and (max-width: 1023px) {
	.footerlogocontainer {
		text-align: center !important;
	}
	.footerlogo {
		margin: auto !important;
	}
}

@media only screen and (max-width: 499px) {
	.bigfooter {
		visibility: hidden !important;
		display: none!important;
	}
	.smallfooter {
		visibility: visible !important;
		display: block !important;
	}
}

@media only screen and (min-width: 500px) {
	.bigfooter {
		visibility: visible !important;
		display: block !important;
	}
	.smallfooter {
		visibility: hidden !important;
		display: none!important;
	}
}

.hoverhearth:hover {
	color: red;
}
.hovercoffee:hover {
	color: saddlebrown;
}
.hovermusic:hover {
	color: deepskyblue;
}

/* privacy */
.privtitle {
	margin: 5rem 0 1.2rem 0;
	font-size: 1.875rem;
	line-height: 2.25rem;
	font-family: Poppins, sans-serif !important;
}

.privsubtitle {
	font-size: 1.5rem !important;
	font-family: Poppins, sans-serif !important;
	margin-bottom: 1.2rem;
	line-height: inherit;
}

.privprgrph {
	margin-bottom: 1.2rem;
	font-size: 1.125rem !important;
	line-height: inherit;
	
	color: rgba(30, 41, 59, var(--tw-text-opacity)) !important;
	font-family: Montserrat, sans-serif !important;
}

/* splash screen */
.logo-gesa-home {
	width: 400px;
}

.logo-gesa-home-container {
	text-align: -webkit-center;
}

#splash-screen {
	background-image: linear-gradient(to bottom, #bcdcf7, white);
}

/* partners */
:root {
	--logo-width: 100%; /* Default per mobile */
}

@media (min-width: 768px) {
	:root { --logo-width: 33.33%; } /* 3 loghi su tablet */
}

@media (min-width: 1024px) {
	:root { --logo-width: 25%; } /* 4 loghi su desktop */
}

.logo-viewport {
	width: 100%; /* Occupa tutto lo spazio disponibile */
	max-width: 1200px; /* Ma non esagerare su schermi enormi */
	margin: 0 auto;
	overflow: hidden;
	position: relative;
}

.logo-container {
	display: flex;
	transition: transform 1.8s ease-in-out;
}

.logo-item {
	flex: 0 0 var(--logo-width); /* La larghezza dipende dalla variabile sopra */
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 20px;
	box-sizing: border-box;
	text-align: -webkit-center;
}

.logo-item img {
	max-width: 80%;
	height: auto;
	max-height: 60px;
}

.partner-logo {
	opacity: 0.5;
}

.logo-viewport::before, .logo-viewport::after {
	content: "";
	position: absolute;
	top: 0;
	width: 30px;
	height: 100%;
	z-index: 2;
	pointer-events: none; /* Permette di cliccare i loghi sotto la sfumatura */
}

.logo-viewport::before {
	left: 0;
	background: linear-gradient(to right, white, transparent);
}

.logo-viewport::after {
	right: 0;
	background: linear-gradient(to left, white, transparent);
}

.logo-item img {
	transition: all 0.3s ease;
}

.logo-item img:hover {
	filter: grayscale(0%);
	opacity: 1;
	transform: scale(1.1); /* Leggero zoom per feedback visivo */
}

.imgpreload{
	width: 0px;
	height: 0px;
	overflow: hidden;
}