@import url("https://fonts.google.com/specimen/Exo?selection.family=Exo:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900");
@media (max-width: 800px) {
  html, body {
    font-size: 5px;
  }
}
html {
  height: 100vh;
}

.gs-dev-tools{
	z-index: 100
}

.loading-screen {
	width: 100%;
	height: 100%;
	background: #000;
	position: fixed;
	top: 0;
	left: 0;
	color: #fff;
	pointer-events: none;
	z-index: 20;
	font-family: inge-variable, sans-serif;
	font-style: normal;
	font-variation-settings: "slnt" 0;
}
.counter {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    height: 80vh;
    font-size: 100vh;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    font-weight: 400;
	font-family: inge-variable, sans-serif;
	font-style: normal;
	font-variation-settings: "slnt" 0;
    line-height: 110vh;
}
.counter-1,
.counter-2,
.counter-3 {
	position: relative;
	top: -12px;
}

.num1offset1 {
	position: relative;
	right: -12px;
}

.num1offset2 {
	position: relative;
	right: -10px;
}

.loader {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 300px;
	height: 50px;
	transform: translate(-50%, -50%);
	display: flex;
	background: rgb(80, 80, 80);
}

.loader-1 {
	position: relative;
	background: #fff;
	width: 200px;
}

.loader-2 {
	position: relative;
	background: #fff;
	width: 100px;
}

.bar {
	height: 50px;
}




#particles-js{
  width: 100%;
  height: 100%;
	position: fixed;
  background-image: url('');
  background-size: cover;
  background-position: 50% 50%;
  background-repeat: no-repeat;
}

body {
	background: #000;
	font-family: 'Inter', sans-serif;
	color: #fff;
	font-size: 16px;
}
body#homepage{
	overflow: hidden;
}
a{
	color: #fff;
	text-decoration: none;
}
a:hover {
   color: #fff;
}
h1, h2 {
	font-family: inge-variable, sans-serif;
	font-style: normal;
	font-variation-settings: "slnt" 0;
}
h1.title {
    font-size: 50vw;
    text-transform: uppercase;
    color: #fff;
    padding: 0;
    margin-top: 410px;
}


h2 {
  font-size: 160px;
  line-height: 160px;
}

.btn {
    border-radius: 40px;
    padding: 11px 37px;
    text-transform: uppercase;
    font-size: 14px;
}
.btn.btn-primary {
    background: #fff;
    color: #000;
    border: 1px solid #fff;
}

.btn.btn-primary:hover,
.btn-check:checked+.btn, .btn.active, .btn.show, .btn:first-child:active, :not(.btn-check)+.btn:active{
    background: #fff;
    color: #000;
    border: 1px solid #fff;
}

#menu div{
	position: fixed;
	z-index: 10;
	text-transform: uppercase;
	font-size: 13px;
}
#menu div span{
    background: #fff;
    width: 12px;
    height: 12px;
    color: #000;
    font-size: 8px;
    line-height: 12px;
    text-align: center;
    display: inline-block;
    vertical-align: middle;
}
#menu .left{
	left:20px;
}
#menu .center {
    left: 50%;
    transform: translate(-50%);
}
#menu .right{
	right:20px;
}
#menu .top{
	top:20px;
}
#menu .middle{
	top:50%;
	transform: translate(0, -50%);
}
#menu .bottom{
	bottom:20px;
}
#menu ul.page-menu,
ul.lang-select{
	padding: 0;
	margin: 0;
}

#menu ul.page-menu li,
ul.lang-select li{
	list-style: none;
	display: inline;
	padding:0 15px;
}

#link-credits{
	opacity: 0;
}
.link-credits-page{
	font-size: 12px;
}
/*

#menu .middle a::before,
#menu .bottom a::before {
    content: '';
    position: absolute;
    left: 50%;
    width: 50px;
    height: 50px;
    background: rgba(255, 255, 255, 0.1);
    z-index: -1;
    opacity: 0;
    box-shadow: 0 0 40px 40px rgba(255, 255, 255, 0.1);
    transition: opacity 0.5s ease;
    border-radius: 50%;
    top: 50%;
    transform: translateY(-50%) translateX(-50%);
}

#menu .middle a:hover::before,
#menu .bottom a:hover::before{
    opacity: 1; 
}
*/
#menu .cubo-menu {
    width: 25px;
    margin-right: 5px;
	transition: transform 0.7s ease;
}

#menu a:hover .cubo-menu{
	transform: rotate(90deg); 

}
    

.wrapper {
  height: 700vh;
}
canvas#scrollOpera {
  position: fixed;
  left: 50%;
  top: 48%;
  transform: translate(-50%, -50%);
  max-width: 100vw;
  max-height: 100vh;
  z-index: 2;
}
#testata {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100vh;
  z-index: 1;
	
}
.content {
  display: flex;
  align-items: center;
  justify-content: space-around;
  flex-direction: column;
}
.content div.section {
  z-index: 3;
  width: 100%;
  height: 50vh;
  margin-bottom: 55vh;
  display: flex;
  align-items: center;
}
.content div.about {
  z-index: 4;

}
.content div.opere {
  text-align: center;
	height: 100vh;
}
.content div.contatti {
  height: 200vh;
  align-items: start;
}
.content div.mostre {
  z-index: 1;
 
  text-align: center;
}

.content div.opere .row{
	height: 50vh;
}
.content div.opere .row#opere-title{
	align-items: end;
}
.content div.opere .row#opere-evidenza{
	align-items: center;
}
.content div.opere .opera{
	height: 40vh;
    width: 40vh;
	background-position: center;
	background-size: cover;
	border: 1px solid #FFC71D;
}
.content div.opere .opera-1{
	margin-left: auto;
}

.content div.opere .opera-video{
	height: 40vh;
}
.content div.opere .opera-video video{
	border: 1px solid #FFC71D;
}

.content div.mostre .mostre-list,
.page#mostre .mostre-list {
    margin-top: 70px;
    margin-bottom: 70px;
	display: inline-block;
	width: 100%;

	
}

.content div.mostre .mostre-list .mostre-item, .page#mostre .mostre-list .mostre-item {
    padding: 10px 0;
    border-bottom: 1px solid #fff;
}
.content div.mostre .mostre-list .anno, .page#mostre .mostre-list .anno {
    text-align: left;
}

.content div.mostre .mostre-list .info, .page#mostre .mostre-list .info {
    text-align: center;
}
.content div.mostre .mostre-list .luogo, .page#mostre .mostre-list .luogo {
    text-align: right;
}
.form-control {
    background: none;
    border-top: none;
    border-left: none;
    border-right: none;
    border-radius: 0;
	color: #fff;
}
.form-control:focus {
	color: #fff;
    background: none;
    border-color: #FFC71D;
    outline: 0;
    box-shadow: none;
}

.form-check-input:checked {
    background-color: #FFC71D;
    border-color: #FFC71D;
}

.form-control::placeholder {
    color: #fff;
    font-size: 12px;
}
.form-check-input:focus {
    border-color: #fff;
    outline: 0;
    box-shadow: none;
}

label.form-check-label{
	font-size: 12px;
}

.form-check-input {
    background: none;
    border-radius: 0 !important;
	border: 1px solid #fff;
}

form input:-webkit-autofill, form input:-webkit-autofill:hover, form input:-webkit-autofill:focus, form input:-webkit-autofill:active {
    -webkit-background-clip: text;
    -webkit-text-fill-color: #ffffff;
    transition: background-color 5000s ease-in-out 0s;
    box-shadow: inset 0 0 20px 20px #23232329;
}

.page{
	position: relative;
	z-index: 5;
}
.fluid-height {
    height: auto; /* o un valore specifico in pixel o percentuale */
    max-height: 100%; /* per assicurarti che l'immagine non superi l'altezza del contenitore */
  }

.py-big{
	padding-top: 8rem;
	padding-bottom: 8rem;
}

.vh80{
	height: 80vh;
}
.c-scrollbar_thumb {
    background-color: #ffc71d;
}

/*------ PAGINA ABOUT ------*/

#about #slide-image {
    height: 100vh;
    align-items: center;
}


#about #slide-image .image-about {
    text-align: center;
}

#about #presentazione{
	text-align: center;
}

/*------ PAGINA MOSTRE ------*/

#mostre .container {
    text-align: center;
}
#mostre h2.page-title{
	padding-top: 110px;
}

/* ----- PAGINA OPERE ------ */
#opere.page{
	padding-top: 20vh;
}
#opere figure.opera-img {
   
    height: 60vh;
    text-align: center;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
}

.owl-carousel .owl-item .item{
   height: 60vh;

}
.owl-carousel .owl-item .item img{
	height: 100%;
}


#opere .owl-carousel .owl-stage {
	cursor: grab;
	transition: all 1.5s !important;
}
#opere .owl-thumbs{
	text-align: center;
}

a.owl-thumb-item {
    margin-bottom: 10px;
    display: inline-block;
	cursor: pointer;
}


footer#footer{

	z-index: 5;
	position: relative;
}

footer#footer .row{
	height: 100vh;
	align-items: center;
}

.form-submitted {
    padding: 10px 20px;
    border: 1px solid;
}
.form-submitted.success{
	border-color: #28a745;
}
.form-submitted.danger{
	border-color: #dc3545;
}
label.error {
    text-align: left;
    width: 100%;
    font-size: 14px;
    color: #dc3545;
}
.form-control.error {

    border-color: #dc3545;

}


@media (max-width: 1600px) {
	h2 {
		font-size: 130px;
	    line-height: 110px;
	}
}


@media (max-width: 1400px) {
	body{
		font-size:14px
	}
	h2 {
		font-size: 110px;
	    line-height: 100px;
	}
	.form-control{
		font-size: 14px;
	}
	.mb-5{
		margin-bottom: 2rem !important
	}
	.mb-3{
		margin-bottom: 0.5rem !important
	}
	
}

@media (max-width: 1200px) {
	h2 {
		font-size: 90px;
		line-height:80px;
	}
}

@media (max-width: 992px) {
	
}

@media (max-width: 768px) {
	
	.wrapper {
		height: 800vh;
	}
	.page .container,
	.page .container-fluid,
	.page-contatti{
		margin-top: 110px;
		margin-bottom: 50px;
	}

	.content div.opere .opera {
		width: 100%;
		margin-bottom: 20px;
	}
	#menu .bottom,
	#menu .middle{
		display: none;
	}
	#menu ul.page-menu li, ul.lang-select li {
		padding: 0 5px;
	}
	
	.button-catalog{
		margin-top:10px; 
	}

	h1.title {
		font-size: 70vw;
		margin-top: 30vh;
	}
	.btn {
		border-radius: 40px;
		padding: 5px 30px;
		text-transform: uppercase;
		font-size: 12px;
	}


	.content div.mostre .mostre-list .anno, .page#mostre .mostre-list .anno,
	.content div.mostre .mostre-list .info, .page#mostre .mostre-list .info,
	.content div.mostre .mostre-list .luogo, .page#mostre .mostre-list .luogo 
	{
		text-align: left;
	}

	
	.content div.section {
		text-align: center;
		z-index: 10;
		width: 100%;
		height: 100%;
		margin-top: 10vh;
		margin-bottom: 10vh;
	}
	#mostre h2.page-title {
		padding-top: 0;
	}


	#opere{
		margin-top: 100px;
	}
	#opere-evidenza{
		margin-top: 10vh;
	}
	.content div.opere .row {
		height: auto;
	}
	.form-control {
		font-size: 16px;
		padding: 10px 0;
	}
	

	.counter {
		font-size: 50vh;
		line-height: 95vh;
		height: 80vh;
		clip-path:polygon(0px 25%, 100% 25%, 100% 75%, 0px 75%)
	}
	#about #slide-image{
		height: auto;
		margin-bottom: 40px;
	}
	.container, .container-fluid, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
		--bs-gutter-x: 3.5rem;
	}
	
	
	#footer-image,
	#footer-form{text-align: center;}
	
	#menu-mobile {
		position: fixed;
		top: 50px;
		left: 0;
		z-index: 1000;
		right: 0;
		
	}
	


	#toggle-menu {
		border-top: 1px solid #fff;
		height: 40px;
		border-bottom: 1px solid #fff;
		background-position: center center; 
		background-repeat: no-repeat; 
		transition: all 0.5s;
		background-color: #000;
	}
	#toggle-menu.menu-chiuso {
		background-image: url('../img/menu-chiuso.png');
	}
	#toggle-menu.menu-aperto {
		background-image: url('../img/menu-aperto.png');
	}
	
	 body.overflow-hidden {
		overflow: hidden;
	}

	#menu {
		width: 100%;
		top: 0;
		left: 0;
		position: fixed;
		height: 50px;
		right: 0;
		z-index: 100;
		transition: all 0.5s;
		background: #000;
	}
	#item-mobile {
		height: 100%;
		width: 100%;
		background: #000;
		position: fixed;
		text-align: center;
		opacity: 0;
		display: none;
		transition: all 0.5s;
		padding-top: 50px;
	}
	#item-mobile .item {
		padding: 7px 0;
		font-size: 24px;
		text-transform: uppercase;
	}


	#item-mobile.menu-aperto {
		opacity: 1;
		z-index: 1000;
		display: block
	}
	#menu .left{
		left:15px;
	}
	#menu .right{
		right:15px;
	}
	#menu .top{
		top:15px;
	}


	.footer-image{
		height: 50vh;
		margin-top: 50px;
		margin-bottom: 50px;
	}
	.owl-carousel .owl-item .item{
		display: flex;
		align-items: center;
	}
	
	.owl-carousel .owl-item .item img {
		height: auto;
		max-height: 100%
			
	}
	#opere .owl-carousel .owl-stage {
		align-items: center;
		display: flex;
	}



}
@media (max-width: 576px) {

}