/*
Extra small devices (portrait phones, less than 576px) 
No media query since this is the default in Eclypsegroup
*/

/*Impostazioni base*/
*,
*::before,
*::after {
	margin:0;
	padding:0;
	box-sizing: inherit;
}

html{
	font-family: 'Nunito', sans-sarif;
	font-size:10px;
	box-sizing: border-box;
	scroll-behavior: smooth;
}

body {

}

section {
	padding: 5rem 0;
}

.container {
	max-width: 100%;
	margin: 0 auto;
	padding: 0 1.5rem;
	width: 100%;	
}

.min768 {display: none;}


/*Global Styles*/

a{
	text-decoration: none;
	font-size: 1.6rem;
}

ul {
	list-style: none;
}

p {
	font-size:1.6rem;
}

.btn{
    background-color: #f58220;
    background-image: linear-gradient(to bottom right,#f58220,#f53420);
	border-radius: 2rem;
	color: #fafafa;
	display: inline-block;
	margin-top: 2rem;
	padding: 1rem 2.5rem;
	text-transform: uppercase;
	transition: background-color 650ms;
	border: #262626 solid 1px;
	box-sizing: border-box;		
}
.btn:hover{
	background-color: #008e97;
    background-image: linear-gradient(141deg, #9fb8ad 0%, #1fc8db 51%, #2cb5e8 75%);
}

.btn .fas, .btn .fab {margin-right:1rem;}

.btnlist {
	flex-wrap: wrap;
    justify-items: center;
    justify-content: space-around;
    display: flex;
}

.video-container-16-9 {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%;
}

.video-container-4-3 {
  position: relative;
  width: 100%;
  padding-bottom: 75%;
}

video, .video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}


/*copertina*/

#copertina {
    padding: 1rem 0;
}

#copertina .logo {
    text-align: center;
}

.schedaev {
    display: inline-block;
    text-align: center;
    background: #ee8c06;
    padding: 2px 5px;
    text-transform: uppercase;
    font-weight: bolder;
    color: white;
    border-radius: 5px;
    box-shadow: 3px 2px 7px 0px black;
    margin-top: 10px;
}


#eventi{
    padding: 1rem 0;	
}

.expoeventi {
	display: flex;
    gap: 5rem;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-evenly;
    margin: 5rem 0;
}

.boxevento {
	display: block;
    background: #fff;
    padding: 1rem;
    border-radius: 1rem;
    width: 95%;
	max-width: 420px;	
}

.boxevento figure{
    margin: 0 auto;	
}

.boxevento figure img{
	box-shadow: 0px 3px 5px 0px black;
	width: 100%;
}

.boxevento p{
    margin: 1rem 0;
    text-align: center;
    color: #000;
    text-transform: uppercase;
    font-weight: 800;
    line-height: 2.1rem;	
}

/*banner*/

#banner {
	padding: 0;
}

.banner {
	position:relative;
	width:100%;
	height:50vh;
	background: #673800;
	display: flex;
	justify-content: center;
	align-items: center;
}

.bannermini {
	height:10vh;
}

.banner > img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: .25;
}

.banner .content {
	position: relative;
	max-width: 75rem;
	text-align: center;
	margin: 0 .5rem;
}

.banner .content > img {
	width: 100%;
}

.banner .content > h1 {
	color:#fff;
	font-size: 3.1rem;
}

.banner .content > p {
	color:#fff;
	font-size: 1.3rem;
}

.introduzione {
    margin: 1rem 0 3rem 0;
}

.introduzione h2 {
	text-align: center;
    font-size: 3.2rem;
	margin-bottom: 3rem;
}

.introduzione h3 {
	text-align: center;
    font-size: 2.3rem;
	margin-bottom: 2rem;	
}

.introduzione p {
	text-align: left;
    font-size: 1.9rem;
	margin-bottom:1.5rem;	
}

.introduzione ul {
	text-align: left;
    font-size: 1.9rem;
	font-weight: 600;
	margin-top:1rem;	
}

.introduzione ul li a{
    font-size: 1.9rem;
	color: #fff;
    font-style: italic;
	font-weight: normal;
}

.introduzione ul li a:hover{
	color: #262626;
}

.colonne {}

/*Sponsor TOP*/
#top {
    background-color: red;
    background-image: linear-gradient(to bottom right,red,yellow);
	min-height: 600px;
}

.top {
	display: flex;
	flex-wrap: wrap;
	justify-items: center;	
	justify-content: space-between;
}

.top .break {
	flex-basis: 100%;
	height: 0;
}

.container .card {
	position: relative;	
	margin: 0 auto;	
}

.container .card .face{
		width: 300px;
		height: 250px;
		transition: 0.5s;
}

.container .card .face.face1{
	position: relative;
	background: #222;
	z-index: 1;
	transform: translateY(125px);
}

.container .card:hover .face.face1{
	transform: translateY(0);
}

.container .card .face.face1 .content{
	opacity: 1;
	transition: .5s;
}

.container .card:hover .face.face1 .content{
	opacity: .8;
}

.container .card .face.face1 .content img{
	width:100%;
}

.container .card .face.face1 .content h3{
	margin: 1rem 0 0;
	color: #fff;
	text-align: center;
	font-size: 1.8rem;
}

.container .card .face.face2{
	position: relative;
	background: #fff;
	padding: 2rem;
	box-shadow: 0 2rem 2rem rgba(0,0,0,.8);
	transform: translateY(-125px);	
}

.container .card:hover .face.face2{
	transform: translateY(0);	
}

.container .card .face.face2 .content h3{
	color: #222;
	font-weight: 900;
	font-size: 2rem;
}

.container .card .face.face2 .content p{

}

.container .card .face.face2 .content a{
	position: absolute;
    bottom: 0;
    margin: 1.5rem 0 2rem;
	display: inline-block;
	font-weight: 900;
	color: #222;
	padding: .5rem;
	border: .1rem solid #222;
}

.container .card .face.face2 .content a:hover{
    background-color: red;
    background-image: linear-gradient(to bottom right,red,yellow);
	color: #fff;
}

/*espositori*/

#espositori {
    background-color: #1fc8db;
    background-image: linear-gradient(141deg, #9fb8ad 0%, #1fc8db 51%, #2cb5e8 75%);
}

.sala {
	display: grid;
	grid-template-columns: 1fr;
/*	grid-template-rows: 250px;	*/
	column-gap: 1rem;
	row-gap: 1.5rem;
	justify-items: center;
	align-items: start;
	justify-content: space-around; 
	align-content: start;   	
}

.spazio {
	justify-self: stretch;
	align-self: stretch;
}


/*
Elementi sponosrizzati
*/

.bannertesto {
	position: relative;
	display: flex;
    flex-flow: column;	
	justify-items: center;
	justify-content: center;
	background: #fff;
	padding: 2rem;
	box-shadow: 0 2rem 2rem rgba(0,0,0,.8);
    width: 100%;
    border: 3px solid #0277bd;	
}

.bannertesto > img {
    width: 200px;
    height: auto;
    margin: 0 auto;
}

.bannertesto > .content {
	display: flex;
    flex-flow: column;	
	justify-items: center;
	justify-content: flex-start;
	padding: 0 1rem;
	/* inizio prova per verifica anomalie */
	min-width: 230px;
    width: 75%;
    margin: 0 auto;
	/* fine prova per verifica anomalie */
}

.bannertesto > .content img {}
.bannertesto > .content h3 {
	margin: 1rem 0;
	text-align: center;
	font-size: 3rem;
}
.bannertesto > .content p {}
.bannertesto > .content a {
	margin: 1.5rem auto;
	display: inline-block;
	font-weight: 900;
	color: #222;
	padding: .5rem;
	border: .1rem solid #222;
	text-align: center;
	width: 200px;
	max-width: 50%;
}

.bannertesto > .content a:hover{
    background-color: red;
    background-image: linear-gradient(to bottom right,red,yellow);
	color: #fff;
}


.bannertesto2 {
	position: relative;
	display: flex;
    flex-flow: column;	
	justify-items: center;
	justify-content: center;
	background: #fff;
	box-shadow: 0 2rem 2rem rgba(0,0,0,.8);
    width: 100%;
    border: 3px solid #0277bd;
}

.bannertesto2 img{
	
}

.bannertesto2 a{
	display: block;
    text-align: center;
    height: 4rem;
    line-height: 4rem;
    text-transform: uppercase;
    font-weight: bold;
    color: #000;
}

.bannertesto2 a:hover{
    background-color: #d8b64f;
    background-image: linear-gradient(to bottom right,#1d1e1c,#d8b64f);
    color: #fff;
}


.spazio figure {
    border: thin #c0c0c0 solid;
    display: flex;
    flex-flow: column;
    padding: 5px;
    width: 100%;
    margin: auto;
}

.spazio img {
    max-width: 100%;
}

.spazio figcaption {
    background-color: #222;
    color: #fff;
    font: italic smaller sans-serif;
    padding: 3px;
    text-align: center;
}


/* schede tecniche */

.schedeteniche {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
}

.scheda {
	margin: 1rem auto;	
	width: 175px;
	display: flex;
    flex-flow: column;	
	justify-items: center;
	justify-content: flex-start;
    border: 1px solid #0277bd;
	padding: 1rem;
	text-align: center;
    background-color: #1fc8db;
    background-image: linear-gradient(141deg, #9fb8ad 0%, #1fc8db 51%, #2cb5e8 75%);	
}

.scheda span {
	font-size: 5rem;
	color: #fff;
}
.scheda a {
	font-size: 2rem;
	color: #fff;
}


.expobrochure{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    margin: 35px 0;
    justify-content: space-evenly;
    gap: 10px;
}

.expobrochure figure {
	background: #fff;
    border: 3px solid #ac4e53;
    color: #1c75c9;
    box-shadow: 3px 3px 7px #e8cdce;
}

.expobrochure figure img{
	width:100%
}

.expobrochure figure figcaption{text-align: center;}

/* tutti gli sponsor */

#tutti {
	min-height: 10vh;
}

.tutti ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    list-style: none;
	font-size: 1.5rem;
	margin: 1rem auto;
}

.tutti ul li {
	display: block;
	margin: 0 0 0 .5rem;
}

.tutti ul li::after {
	content: " - ";
}

.tutti ul li:last-child {
  	margin: 0;
}

.tutti ul li:last-child::after {
	content: "";
}

/* variante sponsor con logo */

.tutti ul.logosp {
    justify-content: space-evenly;
	align-items: center;
	column-gap: 140px;
    row-gap: 50px;
}

.tutti ul.logosp li {
	margin: 0;
}

.tutti ul.logosp li::after {
	content: "";
}


/*esempi*/

#esempi {
    background-color: #1fc8db;
    background-image: linear-gradient(141deg, #9fb8ad 0%, #1fc8db 51%, #2cb5e8 75%);
	border-top: #ce587b solid 6px;
	min-height: 80vh
}

/* footer */
 footer {
	 min-height: 20vh
 }
	

/* INSIDE */
#pagination{
	background-color: #f00; /*test*/
    padding: 0;
    position: relative;
	min-height: 80vh;
	display:flex;
}

.menu-icon {
	position: fixed;
	top: 20px;
	left: 20px;
	width: 50px;
	height: 44px;
	padding: 4px 8px;
	background: #262626;
	box-sizing: border-box;	
	cursor: pointer;
	z-index:30;
}

.menu-icon span{
	width: 100%;
	height: 4px;
	display: block;
	background: #fff;
	margin: 6px 0;
	transition: .5s
}

.menu-icon.active{
	background:#1fc8db;
}

.menu-icon.active span{
	background: #262626;
	position: absolute;
	width: calc(100% - 16px);
	top: calc(50% - 8px);
}

.menu-icon.active span:nth-child(1){
	transform: rotate(45deg);
}

.menu-icon.active span:nth-child(2){
	transform: rotate(-45deg);
}

.menu-icon.active span:nth-child(3){
	display:none;
}

.menu-icon:hover {
	background: #f53420;
}

#sidebar {
position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 0;
    overflow: hidden;
    background: #262626;
    transition: .8s;
    text-align: center;
    box-sizing: border-box;
    color: #fff;
    z-index: 20;
}

#sidebar.active {
	height: 100%;
}

#sidebar .sidecontent{
	margin: 20px;
    transition: .5s;	
	opacity: 0;
}

#sidebar.active .sidecontent{
	opacity: 1;
}

#sidebar .menu {
	padding: 20px 0;
	list-style: none;
	font-family: sans-sarif;	
}

#sidebar .menu li {}

#sidebar .menu li a{
	display: block;
	padding: 10px 0;
	text-transform: uppercase;
	color: #fff;
	font-size. 1.3rem;
}

#sidebar .menu li a:hover{
	background-color: #1fc8db;
    background-image: linear-gradient(141deg, #9fb8ad 0%, #1fc8db 51%, #2cb5e8 75%);
	color: #000;
}

#sidebar .foot-menu {
	width: 100%;
	margin: 40px 0;
}

#sidebar .foot-menu .home{
	display:block;
	text-transform: uppercase;
	color: #fff;
	margin: 3px 0;
	padding: 10px;
}

#sidebar .foot-menu .home:hover{
	background-color: #1fc8db;
    background-image: linear-gradient(141deg, #9fb8ad 0%, #1fc8db 51%, #2cb5e8 75%);
	color: #000;
}

#sidebar .foot-menu .add-icon {
	display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

#sidebar .add-icon li{}

#sidebar .add-icon li a{
	display: block;
	font-size: 1.6rem;
	color: #fff;
	width: 35px;
	height: 35px;
	line-height: 37px;
	text-align: center;
	border-radius: 50%;
	margin: 0 3px;
	transition: .5s;
}

#sidebar .add-icon li a:hover{
	background: #1fc8db;
	color:#262626;
}


#spaziovirtuale {
	position: relative;
	top:0;
	left:0;
	width: 100%;
	min-height: 100%;	
	transition: .5s;
	padding: 20px;
	padding-bottom: 60px;
	box-sizing: border-box;
	z-index:10;
	background-color: #1fc8db;
    background-image: linear-gradient(141deg, #9fb8ad 0%, #1fc8db 51%, #2cb5e8 75%);	
}

#spaziovirtuale.reduce{
	/*width: calc(100% - 250px);
	left:250px;	*/
}

/* Tipologia di stanze */

.promobox h2{
	font-size: 2.5rem;
	text-align: center;
    margin: 1rem 0 1.5rem;
}

.promobox h3{
	font-size: 2rem;
	text-align: center;
    margin-top: 5.5rem;
    margin-bottom: 1.5rem;
}

.promobox p{
	text-align: center;
}

.promobox hr{
	margin: 4em auto;
    width: 60%;
    border: #2cb5e8 solid 1px;
}

.promobox figure {
	width: 100%;
    margin: 2.5rem 0;
    text-align: center;
}

.promobox img {
	max-width: 100%;
}

.promobox figcaption {
	display: block;
    font-size: 1.5rem;
    font-style: italic;	
}

.promobox .video-container {
    margin: 2.5rem auto;
}

.privacy {
	text-align: center !important;
    font-weight: bold;
    margin: 2rem 0;
}

.privacy a{
    color: #f53420;
    display: inline-block;
    margin: .3rem 0;
	padding: .3rem .7rem;
    transition: 650ms;
}

.privacy a:hover{
    color: #fff;
	background-color: #f53420;
}

.sondaggio{
    text-align: center;
}

.sondaggio .video-container-4-3 {
	max-width: 720px;
    margin: 0 auto;
    padding-bottom: 540px;
}

.modulo {
    display: grid;
    gap: 2.5rem 3rem;
	grid-template-columns: 1fr;
}

.modulo input, .modulo select, .modulo textarea {
    height: 30px;
    padding-left: 1rem;
    font-size: 1.5rem;
    border: #008e97 2px solid;
    border-radius: 7px;
	box-sizing: content-box;
    box-shadow: 2px 5px 5px 0px #99b;
}

.modulo label {
    height: 30px;
    font-size: 1.5rem;
    text-align: right;
    line-height: 30px;
    font-style: italic;
	color: #008e97;
}

.modulo select {
    padding-right: 2rem;
}

.modulo textarea {
   height: auto;
   padding: 1rem;   
}

.modulo .invio{
	position: relative;
	margin-bottom:4rem;
}

.modulo button{
    right: 0;
    position: absolute;
    margin: 0;
    width: 200px;
}

.error_message2 {color:#f00}

.promobox #message {
	padding-bottom: 2rem;
    font-size: 1.72rem;
	margin: 3rem 0;
	text-align: center;	
}

.promobox fieldset{
	border-radius: 15px;
    padding: 1.5rem;
}

.locandine {
	margin: 4rem 0;
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: space-evenly;
	gap: 2rem;	
}

.promo{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
	width: 80%;
	max-width: 350px;	
	border: #f00 1px solid;
    box-shadow: 2px 5px 5px 0px #99b;
    background: #f0f8ff;
	background-image: linear-gradient(141deg, #ebf6ff 0%, #abe8ff 51%, #8bdfff 75%);	
}

.promo figure{
    width: 100%;
    margin:0;
	box-shadow: 0 4px 4px 0px #99b;	
}

.promo figure img{
    width: 100%;
    height: 100%;
}

.promo .content{
    width: 100%;	
    margin: 1rem 0;
	padding: .7rem;
}

.promo .content h3{
    margin-top:0;	
    margin-bottom: .8rem;
}

.promo .content p{
	margin: 0 !important;
}

.promo .content a{
    margin-left: 5rem;
    color: #f53420;
}

#generical {
	display: block;
	width: 100%;
	margin: 30px auto;
	padding: 15px;
	padding-bottom: 40px;
	background: #fff;
	border: 2px solid #1fc8db;
    border-radius: 25px;
}

#zoom {
	display: block;
	width: 100%;
	margin: 30px auto;
	padding: 15px;
	padding-bottom: 40px;	
	background: #fff;
	border: 2px solid #262626;
}

#segreteria {
	display: block;
	width: 100%;
	margin: 30px auto;
	padding: 15px;
	padding-bottom: 40px;
	background: #fff;
	border: 2px solid #f58220;;
    border-radius: 25px;
}


/* Small devices (landscape phones, 576px and up) */
@media screen and (min-width: 576px) {
	.container {
		max-width: 540px;
	}

	/*banner*/
	.banner .content > h1 {
		font-size: 3.1rem;
	}

	.banner .content > p {
		font-size: 1.6rem;
	}

	#sidebar {
		width: 0;
		height: 100%;
		transition: .3s;
	}

	#sidebar.active {width: 250px;}
	
	#sidebar .sidecontent{transition: .1s;}	
	#sidebar.active .sidecontent{transition: 1.4s;}	
	
}

/* Medium devices (tablets, 768px and up) */
@media screen and (min-width: 768px) {
	.container {
		max-width: 720px;
	}

	.mobile {display:none}
	.min768 {display: inherit;}
	
	.sala {
		grid-template-columns: 1fr 1fr;
	}

	.item3 { grid-column: span 2;}
	
	.item2 { grid-column: span 2;}	

	.item2v { grid-row: span 2;}	
	
	.bannertesto {flex-direction: row}
	
	.bannertesto > .content h3 {margin:0; margin-bottom:1rem;}
	
	.promobox p	{
		text-align: left;
	}
	
	.promo{
		max-width: 500px;
	}

	.promo figure{
	    width: 40%;
		max-width: 250px;
		box-shadow: 4px 0 4px 0px #99b;	
		
	}

	.promo .content{
		width: 60%;
		padding-left: 1.5rem;
	}

}

/* Large devices (desktops, 992px and up) */
@media screen and (min-width: 992px) {
	.container {
		max-width: 960px;
	}
	
	.sala {
		grid-template-columns: 1fr 1fr 1fr;
	}
	
	.item3 { grid-column: span 3;}

	.item21 { grid-column: span 2;}

	.item4 { grid-column: span 2; grid-row: span 2;}
	
	.colonne {
		column-count: 2;
		gap: 3rem;
	}	

	.promobox p	{
		margin-left:4rem;
		margin-right: 4rem;
	}


	.promobox .video-container {
		margin-left:4rem;
		margin-right: 4rem;
	}
	
	.modulo {
		gap: 2.5rem 3rem;
		grid-template-columns: 1fr 1fr;
		margin: 3rem 4rem;
	}


}

/* Extra large devices (large desktops, 1200px and up) */
@media screen and (min-width: 1200px) {
	.container {
		max-width: 1140px;
	}
}




/* add 2020-12 */
.upside {
	display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: space-evenly;
	margin: 5rem 0 10rem 0;	
}

.upside figure{
	text-align: center;
    font-size: 2.3rem;
    color: #042254;
}

.rollup {}
.rollup figure {}
.rollup figure img{width:100%}
.rollup_in {
    max-height: 0;	
	overflow: hidden;
	transition: max-height 0.15s ease-out;
}
.rollup_in.bounce {
	max-height: 1608px;
    transition: max-height 0.25s ease-in;
}

.rollup_in figure {
    max-width: 450px;
    margin: 15px auto;
}




.esposizione{
	display: flex;
    flex-wrap: wrap;
    gap: 30px 10px;
    flex-direction: column;
}

.ebox{
    background: #fff;
    box-shadow: 0 2rem 2rem rgba(0,0,0,.8);
    border: 3px solid #0277bd;
}
	
.ebox figure{}

.ebox figure img {
	width:100%
}

.bigbox{
    background: #fff;
    box-shadow: 0 2rem 2rem rgba(0,0,0,.8);
    border: 5px solid #ffffff;
    border-radius: 10px;
    overflow: hidden;
    margin-top: 2rem;
}
	
.bigbox figure{}

.bigbox figure img {
	width:100%
}

.elink {
	display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: space-evenly;
}

.elink a {
	text-align: center;
    font-size: 2.3rem;
    color: #042254;
}

.bannerbox{
	display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: space-evenly;
}

.bbox {
	border: #0277bd 3px solid;
    background: #fff;
    border-radius: 7px;
    box-shadow: 3px 3px 6px 3px black;
    max-width: 100%;
    overflow: hidden;
    text-align: center;
}

.bbox img{
	width: 100%;
    height: 100%;
}

@media screen and (min-width: 1000px) {
	.rollup {max-width:50%}
	.esposizione{
		max-width:50%;
		margin-top: 5rem;
	}
	
	.big { width:100% !important; max-width:100% !important;}
}

.videosponsor{
	position: fixed;
	top: 50%;
	left:50%;
	transform: translate(-50%,-50%);
	z-index:1000;
	background: rgba(0,0,0,0.95);
	width:100%;
	height:100%;
	display: flex;
	justify-content: center;
	align-items:center;
	visibility: hidden;
	opacity: 0;
	
}

.videosponsor.active {
	visibility: visible;
	opacity: 1;
}

.videosponsor iframe{
	*position: relative;
	*max-width:90%;
	*outline: none
}

.videocontent {
	width: 85%;
	padding-top: 40%;
	position: relative;
}

.videocontent iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}


.close {
	position: absolute;
	top: 30px;
	right: 30px;
	cursor: pointer;
	filter: invert(1);
	max-width: 32px;
}

@media screen and (min-width: 991px) {
	.videosponsor iframe{
*		max-width:900px;
	}
	
}
