/* ------------------------------------------------------------------- */
/* ----------------------------- Variabili --------------------------- */
/* ------------------------------------------------------------------- */
:root {

  /* Tipi di grigio, dal più scuro (0)-nero al più chiaro (9)-bianco */
  --grigio0: #000000;
  --grigio1: #161616;
  --grigio2: #3C3C3C;
  --grigio3: #5B5B5B;
  --grigio4: #767676;
  --grigio5: #939393;
  --grigio6: #BBBBBB;
  --grigio7: #CCCCCC;
  --grigio8: #E7E7E7;
  --grigio9: #FFFFFF;

  --rosso: #c41308;
}

* {
	margin: 0px;
}


/* ------------------------------------------------------------------- */
/* -------------------- Struttura grafica principale ----------------- */
/* ------------------------------------------------------------------- */

#cnt-pagina {
	width: 100%; 
	height: auto;
	background-color: var(--grigio9);
}

#cnt-testata {
	width: 100%;
	height: 100px;
	border-bottom-style: solid;
	border-bottom-width: 4px;
	border-bottom-color: var(--grigio2);
	background-color: var(--grigio9);
}

#cnt-contenuti {
	width: 100%;
	height: auto;
	background-color: var(--grigio9);
}

#cnt-piede {
	width: 100%;
	height: 100px;
	border-top-style: solid;
	border-top-width: 4px;
	border-top-color: var(--grigio2);
	background-color: var(--grigio9);
}

.allineamento-principale {
	padding-top: 10px;
	padding-bottom: 10px;
	padding-left: 10px;
	padding-right: 10px;
	background-color: inherit;
}


/* ------------------------------------------------------------------- */
/* -------------------------- Testata -------------------------------- */
/* ------------------------------------------------------------------- */

.testata {
	width: 800px;
	height: inherit;   
	margin: auto;   
	background-color: var(--grigio9);
}

#cnt-logo-img {
  width: 80px;
  height: 80px;
  position: relative;
  float: left;
  background-color: var(--grigio9);
}

#cnt-logo-desc {
  width: 350px;
  height: 80px;
  position: relative;
  float: left;
  background-color: var(--grigio9);
}

#cnt-menu {
  width: 48px;
  height: 80px;
  position: relative;
  float: right;
  background-color: var(--grigio9);
}

.centra-img a {
  height: inherit;
  width: inherit;
}

.centra-img a img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}


/* ------------------------------------------------------------------- */
/* ---------------------------- Menu --------------------------------- */
/* ------------------------------------------------------------------- */

#btn-menu {
  width: inherit;
  height: inherit;
  border-style: none;
  background-color: inherit;
  object-fit: contain;
}

#btn-menu:hover {
  cursor: pointer;
}

#menu {
	position: absolute;
  z-index: 10;
	top: 80px;
	left: -200px;
	width: 248px;

	list-style: none;
	padding: 0px;
	border: 2px solid var(--grigio2);
	border-bottom: none;
	background-color: var(--grigio7);

	opacity: 0%;	
	visibility: hidden;
	transition: all .3s; 
}

#menu li {
	/*padding: 15px 15px;*/
	border-bottom: 2px solid var(--grigio2);
  list-style-type: none;
  line-height: 25px;
}

#menu a {
	display: block;
	padding: 10px 10px;
	text-decoration: none;
	transition: all .3s;
  color: inherit;
}

#menu a:hover {
  color: var(--grigio8);
  background-color: var(--grigio2);
}


/* ------------------------------------------------------------------- */
/* -------------------------- Griglia contenuti ---------------------- */
/* ------------------------------------------------------------------- */

.riga {
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	align-items: center;
	gap: 10px;
	width: 100%;
	padding-bottom: 10px;
	background-color: var(--grigio9);
}

.area-immagini {
	display: flex;
	flex-flow: row wrap;
	justify-content: flex-start;
	align-items: flex-start;
	gap: 10px;
	width: 800px;
	background-color: var(--grigio9);
}

.cella {
	position: relative;  
	width: 360px;      
  display: flex;	
  align-items: center;
  justify-content: center;
	background-color: var(--grigio9);
}

.cella-titolo {
	height: 80px;
}

.cella-titolo-dx {
	order: 3;
}

.cella-titolo-sx {
	order: 1;
}

.cella-titolo-centrato {
	width: 100% !important;
}

.cella-testo {
	order: 3;
	align-items: flex-start;
	justify-content: left;
  width: 500px;
}

.cella-minilogo {
	width: 48px;
	height: 48px;
}

.cella-foto {
	order: 2;
	height: 460px;       
  text-align: center;
}

.cella-foto-info {
  height: 225px;
}

.cella-foto a {
  height: inherit;
  width: inherit;
}

.cella a img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.cella img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.cella-trasparente {
	display: flex;
	position: absolute;    
	z-index: 1;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
  align-items: center;
  justify-content: center;
  background-color: var(--grigio1);
  opacity: 0%;
  transition: opacity 0.5s;
}

.cella-trasparente:hover {
  opacity: 60%;
}

.cella-trasparente:hover .txt-hint {
  opacity: 100%;
  font-size: 24pt;
}


/* ------------------------------------------------------------------- */
/* ------------------------------ Slider ----------------------------- */
/* ------------------------------------------------------------------- */

.btn-slider {
  border-style: none;
  background-color: inherit;
  cursor: pointer;
	width: 100%;
	height: 100%;
}

.sld-main {
	display: flex;
	position: fixed;
	z-index: 10;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	top: 100%;
	left: 100%;
  width: 0;
  height: 0;
	opacity: 100%;		
	visibility: hidden;
	transition: all .3s;
}

.sld-trasp {
	display: block;
	position: absolute;
	height: 100%;
	width: 100%;
  opacity: 85%;
  background-color: var(--grigio0);
  z-index: 11;
}

.sld-testata {
	display: flex;
	position: relative;
	justify-content: space-between;
	align-items: center;
	height: 55px;
	width: 100%;
  z-index: 12;
}

.sld-testata-panel {
	width: 50px;
}

.sld-testata-panel-central {
	width: 70px;
}

.sld-client-area {
  display: flex;
	position: relative;
	width: 100%;
	height: 1px;
  flex-grow: 1;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 10px;
  z-index: 12;
}

.sld-foto {
  height: 100%;
  width: 100%;
}

.sld-foto img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.sld-btn {
  background-color: var(--grigio4);
  border-radius: 25px;
  opacity: 70%;
}

.sld-btn:hover {
  background-color: var(--grigio6);
}


/* ------------------------------------------------------------------- */
/* ------------------------------ Testo ------------------------------ */
/* ------------------------------------------------------------------- */
.txt-small {
	font-family: 'Courier Prime', monospace;
  font-weight: 400;
	font-size: 10pt;
	color: var(--grigio1);
	text-align: center;
}

.txt-sld {
	font-family: 'Courier Prime', monospace;
  font-weight: 400;
	font-size: 10pt;
	color: var(--grigio2);

	background-color: var(--grigio4);
  border-radius: 25px;
  opacity: 70%;
}

.txt-menu {
	font-family: 'Courier Prime', monospace;
  font-weight: 400;
	font-size: 15pt;
	color: var(--grigio1);
  text-decoration: none;
  text-transform: lowercase;
}

.txt-titolo {
	font-family: 'Courier Prime', monospace;
  font-weight: 400;
	font-size: 25pt;
	color: var(--grigio1);
  text-decoration: none;
  text-transform: lowercase;
}

.txt-titolo-info {
	font-family: 'Courier Prime', monospace;
  font-weight: 700;
	font-size: 25pt;
	color: var(--grigio1);
  text-decoration: none;
}

.txt-ita-info {
	font-family: 'Courier Prime', monospace;
  font-weight: 400;
	font-size: 11pt;
	color: var(--grigio1);
  text-decoration: none;
}

.txt-eng-info {
	font-family: 'Courier Prime', monospace;
  font-weight: 400;
	font-size: 11pt;
	font-style: oblique;
	color: var(--grigio3);
  text-decoration: none;
}

.separation-line {
  border: 0;
  border-top: 1px solid var(--grigio8);
}

.txt-hint {	
	font-family: 'Courier Prime', monospace;
  font-weight: 400;
	font-size: 20pt;
	color: var(--grigio8);
  text-decoration: none;
  text-transform: lowercase;

  transition: all 0.4s;
  transition-delay: 0.1s;
  opacity: 0%;
}

.txt-promo {
	color: var(--rosso);
}

.cella-titolo p a:hover {
	color: var(--grigio4);
}


/* ------------------------------------------------------------------- */
/* --------------------------- Media query --------------------------- */
/* ------------------------------------------------------------------- */

/* Extra small devices (phones, 600px and down) */
@media only screen and (max-width: 480px) {

	#cnt-pagina {
 		width: 310px; 
 	}

 	.testata {
 		width: 290px;
 	}
 	#cnt-logo-desc {
 		width: 160px;
 	}

 	.area-immagini {
 		width: 290px;			
 	}
	.cella {
		width: 290px;
	}
	.cella-foto {
		height: 290px;
	}
	.cella-titolo {
		order: 1;
		width: 100%;
	}
} 

/* Small devices (portrait tablets and large phones, 600px and up) */
@media only screen and (min-width: 480px) {

 	.testata {
 		width: 460px;
 	}
 	#cnt-logo-desc {
 		width: 250px;
 	}

	.area-immagini {
 		width: 460px;		
 	}
	.cella {
		width: 460px;
	}
	.cella-foto {
		height: 460px;
	}
	.cella-titolo {
		width: 100%;
	}
	.cella-titolo-dx {
		order: 1;
	}
} 

/* Medium devices (landscape tablets, 768px and up) */
@media only screen and (min-width: 768px) {

 	.testata {
 		width: 730px;
 	}
 	#cnt-logo-desc {
 		width: 350px;
 	}

	.area-immagini {
 		width: 730px;	
 	}
 	.cella {
		width: 360px;      
	}
	.cella-foto {
		height: 360px;
	}
	.cella-titolo {
		width: 100%;  
	}
}


/* Large devices (laptops/desktops, 992px and up) */
@media only screen and (min-width: 992px) {

	.testata {
 		width: 930px;
 	}
 	#cnt-logo-desc {
 		width: 350px;
 	}

	.area-immagini {
 		width: 930px;		
 	}
 	.cella {
		width: 460px;      
	}
	.cella-foto {
		height: 460px;
	}
	.cella-titolo {
		width: 100%;  
	}
} 

/* Extra large devices (large laptops and desktops, 1200px and up) */
@media only screen and (min-width: 1200px) {

	.testata {
 		width: 1160px;
 	}
 	#cnt-logo-desc {
 		width: 350px;
 	}

	.area-immagini {
 		width: 1160px;			
 	}
	.cella {
		width: 380px;      
	}
	.cella-foto {
		height: 380px;
	}
	.cella-testo {
	  width: 770px;	
	}
	.cella-titolo {
		width: 380;
	}
	.cella-titolo-dx {
		order: 3;
	}
}

/* Extra large devices (large laptops and desktops, 1200px and up) */
@media only screen and (min-width: 1440px) {

	.testata {
 		width: 1400px;
 	}
 	#cnt-logo-desc {
 		width: 350px;
 	}

	.area-immagini {
 		width: 1400px;
 	}
	.cella {
		width: 460px;      
	}
	.cella-foto {
		height: 460px;
	}
	.cella-testo {
	  width: 930px;	
	}
	.cella-titolo {
		width: 460;
	}
}

