@charset "utf-8";

/*selettore generale per css reset*/
*   {
	margin: 0;
	padding: 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
	box-sizing: border-box;
	border: 0;
	text-decoration: none;
    }

/*END selettore generale per css reset*/


/***********STILE GENERALE MOBILE FIRST***************/


body {
    font: 80%/1.6 Gotham, "Helvetica Neue", Helvetica, Arial, sans-serif;
	color: rgba(255,255,255,1);
	margin: auto;
	background-color: rgba(0,0,0,1);
    }

a:link, a:visited, a:active  {
    color: rgba(15,76,129,1.00);
    text-decoration: none;
    }

a:hover {
    color: rgba(255,255,255,1.00);
    }

img {
	max-width: 100%;
	height: auto;
	}

.img-responsive {
	max-width: 100%;
	height: auto;
	display: block;
	margin: 0 auto;
	}

a:hover .img-responsive {
    -webkit-box-shadow: 0 0 0 10px rgba(255,255,255,0.50);
    -moz-box-shadow: 0 0 0 10px rgba(255,255,255,0.50);
    box-shadow: 0 0 0 10px rgba(255,255,255,0.50);
    transition: 0.7s;
    }

.container {
	max-width: 1300px;
	width: 100%;
    margin: 0 auto;
	}

/********************selettore header************************************/

.header {
    position: relative;
    display: block;
	box-sizing: border-box;
	background-color: rgba(0,0,0,1);
    min-height: 183px;
    }

.row {
	box-sizing: border-box;
	clear: both;
	overflow: auto;
    }

.row h1 {
    padding: 0% 0% 0% 10%;
    border-bottom: ridge rgba(255,255,255,0.50);
    }

.col-2 {    
	width: 50%;
	box-sizing: border-box;
	float: left;
    }

.logo {
    overflow: auto;
    position: absolute;
    top: 30%;
    right: 0%;
	}

.social {
    position: absolute;
    bottom: 0%;
    left: 0.5%;
    }

.social img {
    height: 14%;
    width: 14%;
    padding: 0% 1%;
    }

/********************END selettore header************************************/


.fotorama {
    background: rgba(0,0,0,0.50);
    }

.fotorama img {
	pointer-events: none;
	}

.content {
    background-color: rgba(41,49,51,1.00);
    }

.content .row {
    padding: 5% 10% 5% 5%;
    }  


/*****************selettore .box1*****************************/

.box1 {
	min-height: 100px;
	text-align: left;
    word-wrap: break-word;
    }

.col-3 .box1 {
    padding: 10%;
    }

.box1 p {
    border-bottom: ridge rgba(0,0,0,0.50);
    }

.row > .box1 p {
    padding: 5% 10%;
    }

.box1 h2 {
    padding: 5% 0% 0% 0%;
    border-bottom: ridge rgba(0,0,0,0.50);
    }

/*****************END selettore box1****************************/


/**********************ANTITHEFT***************************/
body, img, * {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;

  -webkit-touch-callout: none;
  -webkit-user-drag: none;
  -khtml-user-drag: none;
  -moz-user-drag: none;
  -ms-user-drag: none;
  user-drag: none;
}
/***********************END ANTITHEF*****************************/


/*********************FILTRO GALLERIA****************************************/

.filters {
    margin-bottom: 20px;
    text-align: center;
}

.filter-btn {
    background-color: transparent;
    border: 2px solid #fff;
    color: #fff;
    font-size: 16px;
    margin: 5px;
    padding: 10px 20px;
    cursor: pointer;
    transition: background-color 0.3s ease, color 0.3s ease;
}

.filter-btn:hover {
    background-color: #fff;
    color: #333;
}

.box1 a img {
    width: 100%;
    height: auto;
    transition: opacity 0.3s ease;
}

.box1 a img:hover {
    opacity: 0.7;
}

h2 {
    text-align: center;
    color: #fff;
}

.filter-btn.active {
    background-color: #fff;
    color: #333;
}

/********************* END FILTRO GALLERIA****************************************/


/* Accessibilità - posizionamento e stile */
.accessibility-wrapper {
  position: relative; /* Per mantenere il menu di accessibilità nella posizione giusta */
}

#accessibilityToggle {
  background:#FFFFFF;
  color: #fff;
  border: none;
  border-radius: 50%;
  padding: 0.8rem;
  font-size: 1.5rem;
  cursor: pointer;
  position: fixed;  /* Fisso in basso a destra */
  bottom: 20px;     /* Distanza dal fondo */
  right: 20px;      /* Distanza dalla destra */
  z-index: 10000;   /* Assicurati che il bottone sia sopra gli altri elementi */
}

/* Menu accessibilità */
.accessibility-menu {
  display: none;
  flex-direction: column;
  gap: 0.5rem;
  background-color: #333;
  padding: 10px;
  border-radius: 10px;
  margin-bottom: 10px;
  position: fixed;  /* Menu che rimane fisso sopra il bottone */
  bottom: 70px;     /* Posizionato sopra il bottone */
  right: 20px;      /* Distanza dalla destra */
}

.accessibility-wrapper.open .accessibility-menu {
  display: flex;
}

.accessibility-menu button {
  background: #444;
  color: white;
  border: none;
  padding: 0.5rem;
  cursor: pointer;
  border-radius: 5px;
  transition: background 0.3s;
}

.accessibility-menu button:hover,
.accessibility-menu button:focus {
  background: #000000;
}

/* Modalità daltonismo */
body.protanopia {
  filter: hue-rotate(45deg) contrast(1.1);
}

body.deuteranopia {
  filter: hue-rotate(90deg) contrast(1.1);
}

body.tritanopia {
  filter: hue-rotate(200deg) contrast(1.2);
}

body.achromatopsia {
  filter: grayscale(1) contrast(1.3);
}
/*******************END daltonismo****************************/

/*********selettore footer*********************************/

.footer {
	background-color: rgba(0,0,0,1);
    color: rgba(15,76,129,1.00);
    height: 100%;
    font-weight: bold;
	padding: 2% 10%;
	font-size: 85%;
    }

.footer a:link, a:visited, a:active {
    color: rgba(15,76,129,1.00);
    }

.footer a:hover {
    color: rgba(255,255,255,1.00);
    }

.footer p {
    padding: 5% 0 5% 0;
    }

/*********END selettore footer*********************************/


/**************BRACKPOINT TABLET PORTRAIT E LANDSCAPE*****************/	

@media screen and (min-width: 768px) {

body {
    font: 100%/1.6 Gotham, "Helvetica Neue", Helvetica, Arial, sans-serif;
}
    
/*.header {
    background-color: green;
        }    
*/	
	
.social img {
    height: 12%;
    width: 12%;
    padding: 0% 1%;
    }
    
.content .row {
    padding: 5% 10% 5% 5%;
    }   
      
.col-3 {
	width: 33.33%;
	box-sizing: border-box;
	float: left;
    }
    
.row > .box1 p {
    padding: 5% 20%;
    }
	
.filter-btn {
        font-size: 14px;
        padding: 8px 16px;
    }	
}



/**************BRACKPOINT NOTEBOOK E PICCOLO DESKTOP*****************/	

@media screen and (min-width: 992px) {

    
/*.header {
    background-color: red;
    }       
*/  
         
.social img {
    height: 9.8%;
    width: 9.8%;
    padding: 0% 1.4%;
    }
}

@media screen and (min-width: 1200px) {
    
body {
    font: 100%/1.6 Gotham, "Helvetica Neue", Helvetica, Arial, sans-serif;
	}
    
/*header {
	background-color: fuchsia;
	}    
*/         
.container {
	max-width: 100%;
	}

.logo img {
    max-height: 170px;
    }    
    
.footer {
    font-size: 85%;    
    }
}    