/* ------------------------------------------------------------ */
/* ------------- MARGIN E PADDING ----------------------------- */
/* ------------------------------------------------------------ */

/* ------------- TABLET ORIZZONTALE ----------------- */

@media (max-width: 1024px) {
	
	.m-40 { margin: 20px !important }
	.m-50 { margin: 25px !important }
	.m-60 { margin: 30px !important }
	.m-70 { margin: 35px !important }
	.m-80 { margin: 40px !important }
	.m-90 { margin: 45px !important }
	.m-100 { margin: 50px !important }
	.m-110 { margin: 55px !important }
	.m-120 { margin: 60px !important }
	.m-130 { margin: 65px !important }
	.m-140 { margin: 70px !important }
	.m-150 { margin: 75px !important }
	.m-200 { margin: 100px !important }

	.mb-40 { margin-bottom: 20px !important }
	.mb-50 { margin-bottom: 25px !important }
	.mb-60 { margin-bottom: 30px !important }
	.mb-70 { margin-bottom: 35px !important }
	.mb-80 { margin-bottom: 40px !important }
	.mb-90 { margin-bottom: 45px !important }
	.mb-100 { margin-bottom: 50px !important }
	.mb-110 { margin-bottom: 55px !important }
	.mb-120 { margin-bottom: 60px !important }
	.mb-130 { margin-bottom: 65px !important }
	.mb-140 { margin-bottom: 70px !important }
	.mb-150 { margin-bottom: 75px !important }
	.mb-200 { margin-bottom: 100px !important }

	.mt-40 { margin-top: 20px !important }
	.mt-50 { margin-top: 25px !important }
	.mt-60 { margin-top: 30px !important }
	.mt-70 { margin-top: 35px !important }
	.mt-80 { margin-top: 40px !important }
	.mt-90 { margin-top: 45px !important }
	.mt-100 { margin-top: 50px !important }
	.mt-110 { margin-top: 55px !important }
	.mt-120 { margin-top: 60px !important }
	.mt-130 { margin-top: 65px !important }
	.mt-140 { margin-top: 70px !important }
	.mt-150 { margin-top: 75px !important }
	.mt-200 { margin-top: 100px !important }

	.ml-40 { margin-left: 20px !important }
	.ml-50 { margin-left: 25px !important }
	.ml-60 { margin-left: 30px !important }
	.ml-70 { margin-left: 35px !important }
	.ml-80 { margin-left: 40px !important }
	.ml-90 { margin-left: 45px !important }
	.ml-100 { margin-left: 50px !important }
	.ml-110 { margin-left: 55px !important }
	.ml-120 { margin-left: 60px !important }
	.ml-130 { margin-left: 65px !important }
	.ml-140 { margin-left: 70px !important }
	.ml-150 { margin-left: 75px !important }
	.ml-200 { margin-left: 100px !important }

	.mr-40 { margin-right: 20px !important }
	.mr-50 { margin-right: 25px !important }
	.mr-60 { margin-right: 30px !important }
	.mr-70 { margin-right: 35px !important }
	.mr-80 { margin-right: 40px !important }
	.mr-90 { margin-right: 45px !important }
	.mr-100 { margin-right: 50px !important }
	.mr-110 { margin-right: 55px !important }
	.mr-120 { margin-right: 60px !important }
	.mr-130 { margin-right: 65px !important }
	.mr-140 { margin-right: 70px !important }
	.mr-150 { margin-right: 75px !important }
	.mr-200 { margin-right: 100px !important }


	.p-40 { padding: 20px !important }
	.p-50 { padding: 25px !important }
	.p-60 { padding: 30px !important }
	.p-70 { padding: 35px !important }
	.p-80 { padding: 40px !important }
	.p-90 { padding: 45px !important }
	.p-100 { padding: 50px !important }
	.p-110 { padding: 55px !important }
	.p-120 { padding: 60px !important }
	.p-130 { padding: 65px !important }
	.p-140 { padding: 70px !important }
	.p-150 { padding: 75px !important }
	.p-200 { padding: 100px !important }

	.pb-40 { padding-bottom: 20px !important }
	.pb-50 { padding-bottom: 25px !important }
	.pb-60 { padding-bottom: 30px !important }
	.pb-70 { padding-bottom: 35px !important }
	.pb-80 { padding-bottom: 40px !important }
	.pb-90 { padding-bottom: 45px !important }
	.pb-100 { padding-bottom: 50px !important }
	.pb-110 { padding-bottom: 55px !important }
	.pb-120 { padding-bottom: 60px !important }
	.pb-130 { padding-bottom: 65px !important }
	.pb-140 { padding-bottom: 70px !important }
	.pb-150 { padding-bottom: 75px !important }
	.pb-160 { padding-bottom: 80px !important }
	.pb-200 { padding-bottom: 100px !important }

	.pt-40 { padding-top: 20px !important }
	.pt-50 { padding-top: 25px !important }
	.pt-60 { padding-top: 30px !important }
	.pt-70 { padding-top: 35px !important }
	.pt-80 { padding-top: 40px !important }
	.pt-90 { padding-top: 45px !important }
	.pt-100 { padding-top: 50px !important }
	.pt-110 { padding-top: 55px !important }
	.pt-120 { padding-top: 60px !important }
	.pt-130 { padding-top: 65px !important }
	.pt-140 { padding-top: 70px !important }
	.pt-150 { padding-top: 75px !important }
	.pt-200 { padding-top: 100px !important }
	.pt-220 { padding-top: 100px !important }

	.pl-40 { padding-left: 20px !important }
	.pl-50 { padding-left: 25px !important }
	.pl-60 { padding-left: 30px !important }
	.pl-70 { padding-left: 35px !important }
	.pl-80 { padding-left: 40px !important }
	.pl-90 { padding-left: 45px !important }
	.pl-100 { padding-left: 50px !important }
	.pl-110 { padding-left: 55px !important }
	.pl-120 { padding-left: 60px !important }
	.pl-130 { padding-left: 65px !important }
	.pl-140 { padding-left: 70px !important }
	.pl-150 { padding-left: 75px !important }
	.pl-200 { padding-left: 100px !important }

	.pr-40 { padding-right: 20px !important }
	.pr-50 { padding-right: 25px !important }
	.pr-60 { padding-right: 30px !important }
	.pr-70 { padding-right: 35px !important }
	.pr-80 { padding-right: 40px !important }
	.pr-90 { padding-right: 45px !important }
	.pr-100 { padding-right: 50px !important }
	.pr-110 { padding-right: 55px !important }
	.pr-120 { padding-right: 60px !important }
	.pr-130 { padding-right: 65px !important }
	.pr-140 { padding-right: 70px !important }
	.pr-150 { padding-right: 75px !important }
	.pr-200 { padding-right: 100px !important }

}

/* ------------- TABLET VERTICALE ------------------- */

@media (max-width: 768px) {

	.m-40 { margin: 14px !important }
	.m-50 { margin: 17px !important }
	.m-60 { margin: 20px !important }
	.m-70 { margin: 24px !important }
	.m-80 { margin: 27px !important }
	.m-90 { margin: 30px !important }
	.m-100 { margin: 34px !important }
	.m-110 { margin: 37px !important }
	.m-120 { margin: 40px !important }
	.m-130 { margin: 44px !important }
	.m-140 { margin: 47px !important }
	.m-150 { margin: 50px !important }
	.m-200 { margin: 67px !important }

	.mb-40 { margin-bottom: 14px !important }
	.mb-50 { margin-bottom: 17px !important }
	.mb-60 { margin-bottom: 20px !important }
	.mb-70 { margin-bottom: 24px !important }
	.mb-80 { margin-bottom: 27px !important }
	.mb-90 { margin-bottom: 30px !important }
	.mb-100 { margin-bottom: 34px !important }
	.mb-110 { margin-bottom: 37px !important }
	.mb-120 { margin-bottom: 40px !important }
	.mb-130 { margin-bottom: 44px !important }
	.mb-140 { margin-bottom: 47px !important }
	.mb-150 { margin-bottom: 50px !important }
	.mb-200 { margin-bottom: 67px !important }

	.mt-40 { margin-top: 14px !important }
	.mt-50 { margin-top: 17px !important }
	.mt-60 { margin-top: 20px !important }
	.mt-70 { margin-top: 24px !important }
	.mt-80 { margin-top: 27px !important }
	.mt-90 { margin-top: 30px !important }
	.mt-100 { margin-top: 34px !important }
	.mt-110 { margin-top: 37px !important }
	.mt-120 { margin-top: 40px !important }
	.mt-130 { margin-top: 44px !important }
	.mt-140 { margin-top: 47px !important }
	.mt-150 { margin-top: 50px !important }
	.mt-200 { margin-top: 67px !important }

	.ml-40 { margin-left: 14px !important }
	.ml-50 { margin-left: 17px !important }
	.ml-60 { margin-left: 20px !important }
	.ml-70 { margin-left: 24px !important }
	.ml-80 { margin-left: 27px !important }
	.ml-90 { margin-left: 30px !important }
	.ml-100 { margin-left: 34px !important }
	.ml-110 { margin-left: 37px !important }
	.ml-120 { margin-left: 40px !important }
	.ml-130 { margin-left: 44px !important }
	.ml-140 { margin-left: 47px !important }
	.ml-150 { margin-left: 50px !important }
	.ml-200 { margin-left: 67px !important }

	.mr-40 { margin-right: 14px !important }
	.mr-50 { margin-right: 17px !important }
	.mr-60 { margin-right: 20px !important }
	.mr-70 { margin-right: 24px !important }
	.mr-80 { margin-right: 27px !important }
	.mr-90 { margin-right: 30px !important }
	.mr-100 { margin-right: 34px !important }
	.mr-110 { margin-right: 37px !important }
	.mr-120 { margin-right: 40px !important }
	.mr-130 { margin-right: 44px !important }
	.mr-140 { margin-right: 47px !important }
	.mr-150 { margin-right: 50px !important }
	.mr-200 { margin-right: 67px !important }


	.p-40 { padding: 14px !important }
	.p-50 { padding: 17px !important }
	.p-60 { padding: 20px !important }
	.p-70 { padding: 24px !important }
	.p-80 { padding: 27px !important }
	.p-90 { padding: 30px !important }
	.p-100 { padding: 34px !important }
	.p-110 { padding: 37px !important }
	.p-120 { padding: 40px !important }
	.p-130 { padding: 44px !important }
	.p-140 { padding: 47px !important }
	.p-150 { padding: 50px !important }
	.p-200 { padding: 67px !important }

	.pb-40 { padding-bottom: 14px !important }
	.pb-50 { padding-bottom: 17px !important }
	.pb-60 { padding-bottom: 20px !important }
	.pb-70 { padding-bottom: 24px !important }
	.pb-80 { padding-bottom: 27px !important }
	.pb-90 { padding-bottom: 30px !important }
	.pb-100 { padding-bottom: 34px !important }
	.pb-110 { padding-bottom: 37px !important }
	.pb-120 { padding-bottom: 40px !important }
	.pb-130 { padding-bottom: 44px !important }
	.pb-140 { padding-bottom: 47px !important }
	.pb-150 { padding-bottom: 50px !important }
	.pb-200 { padding-bottom: 67px !important }

	.pt-40 { padding-top: 14px !important }
	.pt-50 { padding-top: 17px !important }
	.pt-60 { padding-top: 20px !important }
	.pt-70 { padding-top: 24px !important }
	.pt-80 { padding-top: 27px !important }
	.pt-90 { padding-top: 30px !important }
	.pt-100 { padding-top: 34px !important }
	.pt-110 { padding-top: 37px !important }
	.pt-120 { padding-top: 40px !important }
	.pt-130 { padding-top: 44px !important }
	.pt-140 { padding-top: 47px !important }
	.pt-150 { padding-top: 50px !important }
	.pt-200 { padding-top: 67px !important }

	.pl-40 { padding-left: 14px !important }
	.pl-50 { padding-left: 17px !important }
	.pl-60 { padding-left: 20px !important }
	.pl-70 { padding-left: 24px !important }
	.pl-80 { padding-left: 27px !important }
	.pl-90 { padding-left: 30px !important }
	.pl-100 { padding-left: 34px !important }
	.pl-110 { padding-left: 37px !important }
	.pl-120 { padding-left: 40px !important }
	.pl-130 { padding-left: 44px !important }
	.pl-140 { padding-left: 47px !important }
	.pl-150 { padding-left: 50px !important }
	.pl-200 { padding-left: 67px !important }

	.pr-40 { padding-right: 14px !important }
	.pr-50 { padding-right: 17px !important }
	.pr-60 { padding-right: 20px !important }
	.pr-70 { padding-right: 24px !important }
	.pr-80 { padding-right: 27px !important }
	.pr-90 { padding-right: 30px !important }
	.pr-100 { padding-right: 34px !important }
	.pr-110 { padding-right: 37px !important }
	.pr-120 { padding-right: 40px !important }
	.pr-130 { padding-right: 44px !important }
	.pr-140 { padding-right: 47px !important }
	.pr-150 { padding-right: 50px !important }
	.pr-200 { padding-right: 67px !important }
	
}

/* ------------- SMARTPHONE ------------------------- */

@media (max-width: 576px) {

	.m-40 { margin: 10px !important }
	.m-50 { margin: 13px !important }
	.m-60 { margin: 15px !important }
	.m-70 { margin: 18px !important }
	.m-80 { margin: 20px !important }
	.m-90 { margin: 23px !important }
	.m-100 { margin: 25px !important }
	.m-110 { margin: 28px !important }
	.m-120 { margin: 30px !important }
	.m-130 { margin: 33px !important }
	.m-140 { margin: 35px !important }
	.m-150 { margin: 38px !important }
	.m-200 { margin: 50px !important }

	.mb-40 { margin-bottom: 10px !important }
	.mb-50 { margin-bottom: 13px !important }
	.mb-60 { margin-bottom: 15px !important }
	.mb-70 { margin-bottom: 18px !important }
	.mb-80 { margin-bottom: 20px !important }
	.mb-90 { margin-bottom: 23px !important }
	.mb-100 { margin-bottom: 25px !important }
	.mb-110 { margin-bottom: 28px !important }
	.mb-120 { margin-bottom: 30px !important }
	.mb-130 { margin-bottom: 33px !important }
	.mb-140 { margin-bottom: 35px !important }
	.mb-150 { margin-bottom: 38px !important }
	.mb-200 { margin-bottom: 50px !important }

	.mt-40 { margin-top: 10px !important }
	.mt-50 { margin-top: 13px !important }
	.mt-60 { margin-top: 15px !important }
	.mt-70 { margin-top: 18px !important }
	.mt-80 { margin-top: 20px !important }
	.mt-90 { margin-top: 23px !important }
	.mt-100 { margin-top: 25px !important }
	.mt-110 { margin-top: 28px !important }
	.mt-120 { margin-top: 30px !important }
	.mt-130 { margin-top: 33px !important }
	.mt-140 { margin-top: 35px !important }
	.mt-150 { margin-top: 38px !important }
	.mt-200 { margin-top: 50px !important }

	.ml-40 { margin-left: 10px !important }
	.ml-50 { margin-left: 13px !important }
	.ml-60 { margin-left: 15px !important }
	.ml-70 { margin-left: 18px !important }
	.ml-80 { margin-left: 20px !important }
	.ml-90 { margin-left: 23px !important }
	.ml-100 { margin-left: 25px !important }
	.ml-110 { margin-left: 28px !important }
	.ml-120 { margin-left: 30px !important }
	.ml-130 { margin-left: 33px !important }
	.ml-140 { margin-left: 35px !important }
	.ml-150 { margin-left: 38px !important }
	.ml-200 { margin-left: 50px !important }

	.mr-40 { margin-right: 10px !important }
	.mr-50 { margin-right: 13px !important }
	.mr-60 { margin-right: 15px !important }
	.mr-70 { margin-right: 18px !important }
	.mr-80 { margin-right: 20px !important }
	.mr-90 { margin-right: 23px !important }
	.mr-100 { margin-right: 25px !important }
	.mr-110 { margin-right: 28px !important }
	.mr-120 { margin-right: 30px !important }
	.mr-130 { margin-right: 33px !important }
	.mr-140 { margin-right: 35px !important }
	.mr-150 { margin-right: 38px !important }
	.mr-200 { margin-right: 50px !important }


	.p-40 { padding: 10px !important }
	.p-50 { padding: 13px !important }
	.p-60 { padding: 15px !important }
	.p-70 { padding: 18px !important }
	.p-80 { padding: 20px !important }
	.p-90 { padding: 23px !important }
	.p-100 { padding: 25px !important }
	.p-110 { padding: 28px !important }
	.p-120 { padding: 30px !important }
	.p-130 { padding: 33px !important }
	.p-140 { padding: 35px !important }
	.p-150 { padding: 38px !important }
	.p-200 { padding: 50px !important }

	.pb-40 { padding-bottom: 10px !important }
	.pb-50 { padding-bottom: 13px !important }
	.pb-60 { padding-bottom: 15px !important }
	.pb-70 { padding-bottom: 18px !important }
	.pb-80 { padding-bottom: 20px !important }
	.pb-90 { padding-bottom: 23px !important }
	.pb-100 { padding-bottom: 25px !important }
	.pb-110 { padding-bottom: 28px !important }
	.pb-120 { padding-bottom: 30px !important }
	.pb-130 { padding-bottom: 33px !important }
	.pb-140 { padding-bottom: 35px !important }
	.pb-150 { padding-bottom: 38px !important }
	.pb-200 { padding-bottom: 50px !important }

	.pt-40 { padding-top: 10px !important }
	.pt-50 { padding-top: 13px !important }
	.pt-60 { padding-top: 15px !important }
	.pt-70 { padding-top: 18px !important }
	.pt-80 { padding-top: 20px !important }
	.pt-90 { padding-top: 23px !important }
	.pt-100 { padding-top: 25px !important }
	.pt-110 { padding-top: 28px !important }
	.pt-120 { padding-top: 30px !important }
	.pt-130 { padding-top: 33px !important }
	.pt-140 { padding-top: 35px !important }
	.pt-150 { padding-top: 38px !important }
	.pt-200 { padding-top: 50px !important }

	.pl-40 { padding-left: 10px !important }
	.pl-50 { padding-left: 13px !important }
	.pl-60 { padding-left: 15px !important }
	.pl-70 { padding-left: 18px !important }
	.pl-80 { padding-left: 20px !important }
	.pl-90 { padding-left: 23px !important }
	.pl-100 { padding-left: 25px !important }
	.pl-110 { padding-left: 28px !important }
	.pl-120 { padding-left: 30px !important }
	.pl-130 { padding-left: 33px !important }
	.pl-140 { padding-left: 35px !important }
	.pl-150 { padding-left: 38px !important }
	.pl-200 { padding-left: 50px !important }

	.pr-40 { padding-right: 10px !important }
	.pr-50 { padding-right: 13px !important }
	.pr-60 { padding-right: 15px !important }
	.pr-70 { padding-right: 18px !important }
	.pr-80 { padding-right: 20px !important }
	.pr-90 { padding-right: 23px !important }
	.pr-100 { padding-right: 25px !important }
	.pr-110 { padding-right: 28px !important }
	.pr-120 { padding-right: 30px !important }
	.pr-130 { padding-right: 33px !important }
	.pr-140 { padding-right: 35px !important }
	.pr-150 { padding-right: 38px !important }
	.pr-200 { padding-right: 50px !important }
	
}

/* ------------------------------------------------------------ */
/* ------------- END: MARGIN E PADDING ------------------------ */
/* ------------------------------------------------------------ */


@media (min-width: 1921px) {

  .bg-40 {
    background-size: 30%;
  }
  
}


/* -------------------------------------------------- */
/* ------------- LAPTOP E TABLET GRANDI ------------- */
/* ------------- USARE XL- PER LE CLASSI ------------ */
/* -------------------------------------------------- */

@media (max-width: 1400px) {
	
	/* -------------------- TEXT - FONT SIZE -------------------- */
	h2, .h2 {
		font-size: 2.1rem !important;
	}
	p {
		font-size: 1rem !important;
	}
	
	/* -------------------- INCLUDE - SCROLL -------------------- */
	#includeScroll h2.pr-100 {
		padding-right: 0px !important;
	}
	
	/* -------------------- INCLUDE - STRUTTURA -------------------- */
	.img-struttura-big .img-struttura-big-content img {
		top: 10vh;
	}
	.img-struttura-big .img-struttura-big-content .img-struttura-big-descrizioni #descBar {
		bottom: 20%;
		left: 10%;
	}
	.img-struttura-big .img-struttura-big-content .img-struttura-big-descrizioni #descAcademy {
		top: 15%;
		left: 25%;
	}
	.img-struttura-big .img-struttura-big-content .img-struttura-big-descrizioni #descIngresso {
		bottom: 20%;
		left: 35%;
	}
	.img-struttura-big .img-struttura-big-content .img-struttura-big-descrizioni #descStore {
		bottom: 15%;
		left: 55%;
	}
	.img-struttura-big .img-struttura-big-content .img-struttura-big-descrizioni #descRistorante {
		top: 15%;
		left: 70%;
	}
	.img-struttura-big .img-struttura-big-content .img-struttura-big-descrizioni #descTakeAway {
		bottom: 20%;
		left: 78%;
	}
	.grid-struttura [class*="el-struttura"]:before {
		height: 220px;
	}
	
	/* -------------------- OBJECT -------------------- */
	.box-element-content {
		padding: 125px 125px 125px 200px;
	}
	
	/* ----- object - modal - gallery ristorante ----- */
	#modalGalleryRistorante > .modal-dialog {
		max-width: calc(100vw - 30px);
		height: calc(100vh - 30px);
		margin: 15px auto;
	}
	
	/* -------------------- HEADER -------------------- */
	
	/* ----- header - cart ----- */
	.menu-cart-container .menu-cart-content {
		width: 40vw;
	}

}

/* -------------------------------------------------- */
/* ------------- TABLET E LAPTOP PICCOLI ------------ */
/* ------------- USARE LG- PER LE CLASSI ------------ */
/* -------------------------------------------------- */

@media (max-width: 1200px) {
	
	/* -------------------- TEXT - FONT SIZE -------------------- */
	h2, .h2 {
		font-size: 2rem !important;
	}
	#mainMenu nav > ul > li > a,
	#mainMenu nav > ul.submenu > li > a {
		font-size: 2.3rem !important;
	}
	#mainMenu nav > ul > li > a.link-small,
	#mainMenu nav > ul.submenu > li > a.link-small {
		font-size: 1.4rem !important;
	}

	/* ----- submenu ----- */
	#pageSubmenu .col-12 {
		padding-right: 0 !important;
		padding-left: 0 !important;
	}
	#pageSubmenu .col-12 ul {
		justify-content: flex-start;
		overflow: scroll;
	}
	#pageSubmenu .col-12 ul li a {
		display: block;
		width: max-content !important;
	}
	
	/* -------------------- INCLUDE - CIRCLE -------------------- */
	#animateCircle {
		background-size: 250px;
	}
	
	/* -------------------- INCLUDE - STRUTTURA -------------------- */
	.grid-struttura [class*="el-struttura"]:before {
		height: 190px;
	}
	.grid-struttura .el-struttura-a:before { transform: rotate(200deg); }
	.grid-struttura .el-struttura-c:before { transform: rotate(165deg); }
	.grid-struttura .el-struttura-d:before { transform: rotate(160deg); }
	.grid-struttura .el-struttura-f:before { transform: rotate(190deg); }
	
	/* -------------------- OBJECT -------------------- */
	.box-element-content {
		padding: 100px 100px 100px 120px;
	}
	
	/* -------------------- MARGIN E PADDING -------------------- */
	#news .mb-80 {
		margin-bottom: 60px !important;
	}
	.pr-lg-30 { padding-right: 30px !important; }
	
}

/* -------------------------------------------------- */
/* ------------- TABLET ORIZZONTALI ----------------- */
/* ------------- USARE MD- PER LE CLASSI ------------ */
/* -------------------------------------------------- */

@media (max-width: 1024px) {
	
	/* -------------------- TEXT - FONT SIZE -------------------- */
	.grid-intro h2.big {
		font-size: 2rem;
		line-height: calc(1em + 24px) !important;
	}
	
	/* -------------------- OBJECT -------------------- */
	.grid-intro {
		grid-template-rows: 270px auto auto;
	}
	.box-element-content {
		padding: 80px 70px 80px 70px;
	}
	
	/* ----- object - carousel ----- */
	#carouselAttivita .card-prova-team {
		margin: 0 10px;
	}
	#carouselAttivita .card-prova-team > p {
		min-height: unset;
	}
	#carouselAttivita.carousel .flickity-button.previous,
	#carouselAttivita.carousel .flickity-button.previous:hover {
		left: -50px !important;
	}
	#carouselAttivita.carousel .flickity-button.next,
	#carouselAttivita.carousel .flickity-button.next:hover {
		right: -50px !important;
	}
	
	/* -------------------- DIVIDER -------------------- */
	#staff .row[class*="divider"].mb-80 {
		display: inline-block !important;
		width: 100%;
	}

	/* -------------------- INCLUDE - ICON -------------------- */
	#tv #includeIcons > .container > .row {
		align-items: end !important;
	}
	
	/* -------------------- INCLUDE - STRUTTURA -------------------- */
	.grid-struttura {
		top: 5%;
	}
	.grid-struttura .el-struttura-e span,
	.grid-struttura .el-struttura-f span,
	.grid-struttura .el-struttura-g span {
		margin-top: 10px;
	}
	.grid-struttura .el-struttura-a span,
	.grid-struttura .el-struttura-b span,
	.grid-struttura .el-struttura-c span,
	.grid-struttura .el-struttura-d span {
		margin-bottom: 10px;
	}
	
	/* -------------------- HEADER -------------------- */
	.header-extras.trigger-menu #menu-overlay-trigger {
		display: none;
	}
	.mainMenu-open #header #mainMenu.menu-overlay nav {
		opacity: 1 !important;
		background-color: var(--secondary-color) !important;
		pointer-events: all !important;
	}
	.mainMenu-open #header #mainMenu.menu-overlay nav > ul {
		transform: none !important;
	  top: 100px !important;
	}
	.mainMenu-open #header #mainMenu.menu-overlay nav > ul > li {
		max-width: calc(90% - 100px) !important;
	}
	.mainMenu-open #header #mainMenu.menu-overlay nav > ul > li a {
		margin-top: 20px;
		margin-bottom: 20px;
	}
	.img-menu-container {
		display: none;
	}
	
	/* ----- header - cart ----- */
	.menu-cart-container .menu-cart-content {
		width: 50vw;
	}
	.menu-cart-container .menu-cart-content .menu-cart-body .menu-cart-total {
		margin-top: 0;
	}
	
	/* -------------------- AREA UTENTE -------------------- */
	.card-biglietto .card-biglietto-body {
		grid-template-rows: repeat(7, calc(1rem + 8px));
		grid-template-areas:
			"titolo titolo titolo titolo"
			"titolo titolo titolo titolo"
			"titolo titolo titolo titolo"
			"nome nome qrcode qrcode"
			"nome nome qrcode qrcode"
			"email email qrcode qrcode"
			"data data codice codice";
	}
	
	/* -------------------- RISTORANTE -------------------- */
	.carousel-img-container:before {
		bottom: calc(25vw + 120px);
	}
	.carousel-img-container .carousel-img-piatto img {
		top: calc(50% - 160px);
		left: calc(25% - 125px);
		width: 250px;
		height: 250px;
	}
	.carousel-text-container .carousel-text-piatto h4 {
		min-height: calc(5em + 80px);
	}
	.carousel .polo-carousel-item [class*="carousel-piatto"] {
		margin: 0px 80px;
	}
	
	/* -------------------- PRODOTTI -------------------- */
	.loghi-pagamenti-sicuri {
		grid-column-gap: 25px;
		padding: 20px 10px 0 10px;
	}
	
	/* -------------------- MARGIN E PADDING -------------------- */
	.pt-md-40 { padding-top: 40px !important; }
	
	.pr-md-0 { padding-right: 0 !important; }
	
	.pb-md-40 { padding-bottom: 40px !important; }
	
	.pl-md-0 { padding-left: 0 !important; }
	.pl-md-30 { padding-left: 30px !important; }
	
	.mb-md-40 { margin-bottom: 40px !important; }
}

/* -------------------------------------------------- */
/* ------------- TABLET VERTICALI ------------------- */
/* ------------- USARE SM- PER LE CLASSI ------------ */
/* -------------------------------------------------- */

@media (max-width: 768px) {
		
	/* -------------------- GENERAL -------------------- */
	body .body-inner {
		overflow-x: hidden !important;
	}
	
	/* -------------------- TEXT - LETTER SPACING -------------------- */
	h1 {
		letter-spacing: 2px;
	}
	h2, .h2 {
		letter-spacing: 3px;
	}
	h3 {
		letter-spacing: 2px;
	}
	
	/* -------------------- TEXT - FONT SIZE -------------------- */
	h1 {
		font-size: 1.8rem !important;
	}
	h2, .h2 {
		font-size: 1.7rem !important;
	}
	.grid-intro h2.big {
		font-size: 1.9rem;
		line-height: var(--line-height) !important;
		letter-spacing: 10px;
		padding-top: 0 !important;
	}
	h3.text-medium {
		font-size: 1.6rem !important;
	}
	p {
		font-size: 0.8rem !important;
	}
	#mainMenu nav > ul > li > a,
	#mainMenu nav > ul.submenu > li > a {
		font-size: 1.5rem !important;
	}
	#mainMenu nav > ul > li > a.link-small,
	#mainMenu nav > ul.submenu > li > a.link-small {
		font-size: 1.1rem !important;
	}
	[class*="btn"] {
		font-size: 0.7rem !important;
	}
	.checkbox-form label,
	.checkbox-form label > a {
		font-size: 10px !important;
	}
	
	/* -------------------- OBJECT -------------------- */
	.column-reverse {
		flex-direction: column-reverse;
	}
	.full-height {
		height: auto;
	}
	.box-element-content {
		padding: 120px 40px 120px 40px;
	}
	.grid-intro {
		display: grid;
		grid-template-areas:
			"title title"
			"img1 img2"
			"text text";
		grid-template-rows: auto;
		grid-template-columns: 1fr 1fr;
		grid-row-gap: 40px;
		grid-column-gap: 20px;
	}
	
	/* ----- object - carousel ----- */
	.carousel .flickity-button.previous,
	.carousel .flickity-button.previous:hover {
		left: -10px !important;
	}
	.carousel .flickity-button.next,
	.carousel .flickity-button.next:hover {
		right: -10px !important;
	}
	#carouselAttivita.carousel .flickity-button.previous,
	#carouselAttivita.carousel .flickity-button.previous:hover {
		left: -45px !important;
	}
	#carouselAttivita.carousel .flickity-button.next,
	#carouselAttivita.carousel .flickity-button.next:hover {
		right: -45px !important;
	}
	
	/* -------------------- INCLUDE - CTA -------------------- */
	#cta {
		height: auto;
		min-height: 50vh;
	}
	.col-submit-form-cta {
		flex-direction: column;
		align-items: flex-start !important;
	}
	.col-submit-form-cta button {
		margin-top: 20px
	}
	
	/* -------------------- INCLUDE - CIRCLE -------------------- */
	#animateCircle {
	  height: auto;
		background-position: right bottom 100px;
	  padding-top: 40px !important;
	}
	#animateCircle .container > div {
		position: relative;
		height: auto;
		width: auto;
	}
	#animateCircle .container .row {
		position: relative;
		top: 0;
		margin-top: 0;
		margin-bottom: 40px;
	}
	#animateCircle .circle {	
	  position: relative;
		top: unset;
		bottom: 0;	
	  height: 430px;
		clip-path: circle(30% at 50% 50%);
	}

	/* -------------------- INCLUDE - STRUTTURA -------------------- */
	#animateStruttura {
		display: none;
	}
	
	/* -------------------- INCLUDE - ICONS -------------------- */
	#includeIcons .col-md-5.pb-80 {
  	padding-bottom: 40px !important;
	}
	#includeIcons p.mb-40 {
		margin-bottom: 40px !important;
	}
	#includeIcons .row-icons > .col-12 {
		margin-bottom: 40px;
	}
	#includeIcons .divider-horizontal-center {
		padding: 15px 0 !important;
	}
	#includeIcons .divider-horizontal-center:before {
		left: 25%;
		width: 50%;
	}
	
	/* -------------------- INCLUDE - SCROLL -------------------- */
	#includeScroll .col-md-1 {
		height: 40px;
	}
	
	/* -------------------- INCLUDE - NEWS -------------------- */
	#news {
		padding: 40px 0 !important;
	}
	#news .elenco-img-news {
		display: none;
	}
	#news .mb-80 {
		margin-bottom: 40px !important;
	}
	#news [class*="btn"] {
		display: inline-block;
	}
	
	/* -------------------- INCLUDE - STAFF -------------------- */
	#staff {
		padding: 40px 0 0 0 !important;
	}
	#staff .row[class*="divider"] {
		display: none;
	}
	#staff .row-staff {
		margin-bottom: 40px !important;
	}
	#staff .col-img-staff img {
  	max-width: 80%;
	  margin-bottom: 20px;
	}
	
	/* -------------------- HEADER -------------------- */
	.mainMenu-open #header #mainMenu.menu-overlay nav > ul > li {
		max-width: calc(100% - 30px) !important;
		margin-left: 20px !important;
	}
	.mainMenu-open #header #mainMenu.menu-overlay nav > ul > li a {
		margin-top: 15px;
		margin-bottom: 15px;
	}
	
	/* ----- header - cart ----- */
	.menu-cart-container .menu-cart-content {
		width: 75vw;
	}
	
	/* -------------------- SUBHEADER -------------------- */
	#page-title {
		min-height: 300px;
		padding: 180px 0 100px 0 !important;
	}
	
	/* -------------------- FOOTER -------------------- */
	.btn-footer {
		min-width: 130px !important;
	}
	footer .copyright-content {
		line-height: var(--line-height) !important;
	}
	footer .copyright-content span,
	footer .copyright-content span a {
		font-size: 0.7rem !important;
	}
	
	/* -------------------- AREA UTENTE -------------------- */
	.grid-tab-ac-intro > [class*="tab-ac"] .tab-ac-title-big {
		font-size: 30px;
	}
	
	/* -------------------- HOME -------------------- */
	.divider-vertical-center:before {
		content: none;
	}
	#secTakeStore .pr-100 {
		padding-right: 15px !important;
	  padding-bottom: 40px;
	}
	#secTakeStore .pl-100 {
		padding-left: 15px !important;
	}
	
	/* -------------------- RISTORANTE -------------------- */	
	.row-desc-piatti {
		margin-bottom: 80px !important;
	}
	.carousel-img-container:before {
		bottom: calc(35vw + 110px);
		box-shadow: 0 0 0 110px var(--light-grey);
	}
	.carousel-img-container .carousel-img-piatto img {
		top: calc(50% - 150px);
		left: calc(25% - 85px);
		width: 230px;
		height: 230px;
	}
	.carousel .polo-carousel-item [class*="carousel-piatto"] {
		margin: 0px 40px;
	}
	.carousel-text-container .carousel-text-piatto h4.title-piatto {
		font-size: 1.3rem;
		letter-spacing: 2px;
	}
	
	/* ----- object - modal - gallery ristorante ----- */
	#modalGalleryRistorante > .modal-dialog {
    max-width: 90vw !important;
    height: 45vh;
    margin: 22.5vh auto;
	}
	#modalGalleryRistorante .carousel .flickity-button.previous,
	#modalGalleryRistorante .carousel:hover .flickity-button.previous {
		left: 20px !important;
	}
	#modalGalleryRistorante .carousel .flickity-button.next,
	#modalGalleryRistorante .carousel:hover .flickity-button.next {
		right: 20px !important;
	}
	
	/* -------------------- NEWS -------------------- */	
	.news-filter li {
		margin-bottom: 10px;
	}
	
	/* -------------------- NEWS - DETTAGLIO -------------------- */	
	#blogDettaglio .badge-categoria {
		font-weight: 600;
		font-size: 1rem;
		letter-spacing: 1px;
	}
	#blogDettaglio .post-item .post-item-description {
		padding: 0;
	}
	#blogDettaglio .close-open-sb {
		display: none !important;
	}
	
	/* -------------------- CONTATTI -------------------- */	
	#contattiOrari:before {
		content: none;
	}
	.row-icons-contatti .divider-horizontal-center:before {
		left: 15%;
		width: 70%;
	}
	.row-icons-contatti .d-flex {
		flex-direction: column;
		align-items: center !important;
	}
	.row-icons-contatti .d-flex .text-left {
		text-align: center !important;
		padding-top: 10px;
		margin-left: 0 !important;
	}
	
	/* -------------------- PRODOTTI -------------------- */
	.loghi-pagamenti-sicuri {
		grid-column-gap: 15px;
		padding: 20px 0 0 0;
	}
	
	/* -------------------- CART -------------------- */	
	.shop-cart {
		padding-top: 20px;
	}
	.cart-type-tab .cart-type-el {
		padding: 5px;
	}
	
	/* -------------------- ANIMATIONS -------------------- */	
	@keyframes circle {
		to {
			clip-path: circle(130% at 70% 50%);
		}
	}
	
	/* -------------------- MARGIN E PADDING -------------------- */
	.pt-sm-40 { padding-top: 40px !important; }
	
	.pr-sm-0 { padding-right: 0 !important; }
	.pr-sm-15 { padding-right: 15px !important; }
	.pr-sm-30 { padding-right: 30px !important; }
	
	.pb-sm-40 { padding-bottom: 40px !important; }
	
	.pl-sm-0 { padding-left: 0 !important; }
	.pl-sm-15 { padding-left: 15px !important; }
	.pl-sm-30 { padding-left: 30px !important; }
	
	.mb-sm-0 { margin-bottom: 0 !important; }
	.mb-sm-20 { margin-bottom: 20px !important; }
	.mb-sm-40 { margin-bottom: 40px !important; }
	.mb-sm-60 { margin-bottom: 60px !important; }
	
}

/* -------------------------------------------------- */
/* ------------- SMARTPHONE ------------------------- */
/* ------------- USARE XS- PER LE CLASSI ------------ */
/* -------------------------------------------------- */

@media (max-width: 576px) {
	
	/* -------------------- BACKGROUND -------------------- */
	.bg-intro-academy,
	.bg-intro-servizi,
	.bg-intro-location-eventi-privati {
		background-image: none !important;
	}
	
	/* -------------------- OBJECT -------------------- */
	.d-xs-none {
		display: none;
	}
	.column-reverse-xs {
		flex-direction: column-reverse;
	}
	.flex-column-xs {
		flex-direction: column !important;
	}
	.box-element-content {
		padding: 40px 40px 40px 40px;
	}
	.xs-divider-none:before {
		content: none !important;
	}
	.text-xs-left {
		text-align: left !important;
	}
	.fa-xs-3x {
		font-size: 3em;
	}
	
	/* ----- object - carousel ----- */
	#carouselAttivita.carousel .flickity-button {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 25px;
		height: 25px;
	}
	#carouselAttivita.carousel .flickity-button svg {
		line-height: 25px !important;
		width: 25px !important;
		height: 25px !important;
	}
	#carouselAttivita.carousel .flickity-button.previous,
	#carouselAttivita.carousel .flickity-button.previous:hover {
		left: -25px !important;
	}
	#carouselAttivita.carousel .flickity-button.next,
	#carouselAttivita.carousel .flickity-button.next:hover {
		right: -25px !important;
	}
	
	/* -------------------- HEADER -------------------- */
	
	/* --- header - logo --- */
	#header .header-inner #logo a img {
		padding: 20px 0 !important;
	}
	
	/* --- header - extra --- */
	#header .header-inner .header-extras-cart-user {
	  float: right;	
	}
	#header .header-inner .header-extras-cart-user .topbar-cart {
		margin-right: 10px !important;
	}
	#header .header-inner .header-extras-cart-user .topbar-cart .icon-carrello .badge-cart-header {
		top: -4px;
		left: 12px;
		font-size: 8px !important;
		width: 12px;
		height: 12px;
}
	#header .header-inner .header-extras-cart-user .p-dropdown-user {
		margin-right: 0 !important;
	}
	#header .header-inner .header-extras-cart-user i.fa-lg {
		font-size: 1rem;
		line-height: 1;
	}
	
	/* --- header - menu --- */
	#mainMenu-trigger {	
	  float: left;
	}
	#mainMenu-trigger .lines {
		top: 0;
	}
	
	/* ----- header - cart ----- */
	.menu-cart-container .menu-cart-content {
		width: 100vw;
	}
	
	
	/* -------------------- FOOTER -------------------- */
	.row-footer-pagamento img {
		max-width: 100px;
	  max-height: 50px;
	}
	
	/* -------------------- SLIDER -------------------- */
	.inspiro-slider .flickity-button {
		width: 40px;
		height: 40px;
	}
	.inspiro-slider .flickity-button.previous,
	.inspiro-slider .flickity-button.previous:hover {
		left: 5px !important;
	}
	.inspiro-slider .flickity-button.next,
	.inspiro-slider .flickity-button.next:hover {
		right: 5px !important;
	}
	
	/* -------------------- INCLUDE - CIRCLE -------------------- */
	#animateCircle {
		background-image: none !important;
	}
	#animateCircle .circle {
	  height: 230px;
		clip-path: circle(30% at 70% 50%);
	}
	
	/* -------------------- AREA UTENTE -------------------- */
	.grid-tab-ac-intro {
		display: flex;
		flex-direction: column;
	}
	.grid-tab-ac-intro > [class*="tab-ac"] .tab-ac-title-big {
		font-size: 50px;
	}
	.grid-tab-ac-intro > [class*="tab-ac"] .tab-link-dettaglio,
	.grid-tab-ac-intro > [class*="tab-ac"] .tab-icon {
		top: 15px;
		right: 15px;
		font-size: 12px !important;
	}
	.tab-link:before {
		clip-path: circle(0% at calc(100% - 28.5px) 28.5px);
	}
	.tab-link:hover:before {
		clip-path: circle(150% at calc(100% - 28.5px) 28.5px);
	}
	
	/* -------------------- PRODOTTI -------------------- */
	
	/* --- prodotti - sidebar --- */
	#sidebarfiltri {
		padding-top: 30px;
	}
	
	/* --- prodotti - elenco --- */
	.elenco-prodotti {
		padding-top: 30px;
	}
	.elenco-prodotti .risultati-ricerca > .col-12 {
		padding: 0 15px !important;
	}
	
	/* --- prodotti - dettaglio --- */
	.cart-product-quantity .quantity {
		margin-bottom: 20px;
	}
	.col-acquisto {
		margin-bottom: 20px;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.prodotti-correlati .product-box {
		margin-bottom: 30px;
	}
	.loghi-pagamenti-sicuri {
		grid-column-gap: 25px;
		padding: 20px 10px 0 10px;
	}
	
	/* --- prodotti - carrello --- */
	.wizard > .steps ul {
		margin: 0 !important;
	}
	.wizard > .steps ul li {
		flex: unset !important;
	}
	.wizard[data-style="1"] > .steps ul li > a {
		width: 40px;
		height: 40px;
		padding: 10px;
	}
	.wizard[data-style="1"] > .steps ul li::after {
		top: 20px;
	}
	
	/* -------------------- RISTORANTE -------------------- */
	#includePiatti .container {
  position: relative;
	}
	#includePiatti .container .row-carousel {
		position: absolute;
		bottom: 10px;
		left: 15px;
		width: 100%;
	}
	#carouselPiatti .flickity-slider > .polo-carousel-item {
		display: none;
	}
	.row-desc-piatti {
		padding-bottom: 0;
		margin-bottom: 0 !important;
	}
	.col-piatti-img {
		min-height: 300px;
	}
	.carousel-text-container .carousel-text-piatto h4.title-piatto {
		min-height: calc(var(--line-height) * 7) !important;
	  font-size: 20px;
		line-height: var(--line-height) !important;
		letter-spacing: 3px;
	}
	.carousel-img-container {
		top: 0;
		bottom: unset;
		width: 100vw;
		height: 100vw;
	}
	.carousel-img-container:before {
		top: -25vw;
		bottom: unset;
		width: 60vw;
		height: 60vw;
		box-shadow: 0 0 0 130px var(--light-grey);
	}
	.carousel-img-container .carousel-img-piatto {
		top: 0px;
		left: 0px;
		width: 100vw;
		height: 100vw;
		transform: rotate(-90deg);
		transform-origin: top left;
	}
	.carousel-img-container .carousel-img-piatto.piatto-in {
		transform: rotate(0deg) !important;
	}
	.carousel-img-container .carousel-img-piatto.piatto-out {
		transform: rotate(90deg) !important;
	}
	.carousel-img-container .carousel-img-piatto img {
		top: calc(50% - 160px);
		left: calc(50% - 125px);
		width: 250px;
		height: 250px;
	}
	.carousel .polo-carousel-item [class*="carousel-piatto"] {
		margin: 0px 90px;
	}
	
	/* ----- object - modal - gallery ristorante ----- */
	#modalGalleryRistorante > .modal-dialog {
    height: 30vh;
    margin: 35vh auto;
	}
	#modalGalleryRistorante .carousel .flickity-button.previous,
	#modalGalleryRistorante .carousel:hover .flickity-button.previous {
		left: 10px !important;
	}
	#modalGalleryRistorante .carousel .flickity-button.next,
	#modalGalleryRistorante .carousel:hover .flickity-button.next {
		right: 10px !important;
	}
	
	
	/* ------------------------- LOCATION PER EVENTI ------------------------- */
	
	/* ----- location - general ----- */
	#includeMenuLocation div.d-flex {
		overflow-x: scroll;
	}
	#includeMenuLocation div.d-flex > a {
		
	}
	#includeMenuLocation div.d-flex > a span {
    display: block;
    width: max-content;
	}
	
	/* ----- location - eventi aziendali ----- */
	.grid-mobile-icon-location {
		display: grid !important;
		grid-template-columns: 1fr 1fr;
    grid-gap: 40px;
	}
	.grid-mobile-icon-location > div {
		width: 100% !important;
	}
	
	/* -------------------- NUOVO CARRELLO -------------------- */
	.cart-content-checkout {
    background: none !important;
    padding-bottom: 0;
  }
  .cart-content-checkout .row > .shop-cart {
    background-color: var(--decoration-color);
    padding-top: 20px;
    padding-bottom: 40px
  }
  .row-single-el-cart {
    display: grid;
    grid-template-columns: 30% 70%;
    align-items: center
  }
  .row-single-el-cart .col-single-el-cart-quantity .quantity-cart-checkout,
  .row-single-el-cart h5 {
    margin-bottom: 0!important
  }
  .row-single-el-cart .col-single-el-cart-quantity {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 10px
  }
	
	/* -------------------- CART -------------------- */
	.cart-type-tab {
		position: relative;
		margin-top: 20px;
	}
	.menu-cart-type-tab .menu-cart-type-el a,
	ul.menu-cart-type-tab li.nav-item a.menu-cart-type-el {
		font-size: 12px !important;
	}
	
	/* -------------------- MARGIN E PADDING -------------------- */
	.p-xs-7 { padding: 7px !important; }
	
	.pt-xs-20 { padding-top: 20px !important; }
	.pt-xs-40 { padding-top: 40px !important; }
	
	.pr-xs-15 { padding-right: 15px !important; }
	.pr-xs-20 { padding-right: 20px !important; }

	.pb-xs-10 { padding-bottom: 10px !important; }
	.pb-xs-20 { padding-bottom: 20px !important; }
	.pb-xs-40 { padding-bottom: 40px !important; }
	.pb-xs-60 { padding-bottom: 60px !important; }
	
	.pl-xs-15 { padding-left: 15px !important; }
	.pl-xs-20 { padding-left: 20px !important; }
	
	.mt-xs-60 { margin-top: 60px !important; }
	
	.mr-xs-50 { margin-right: 50px !important; }
	
	.mb-xs-5 { margin-bottom: 5px !important; }
	.mb-xs-10 { margin-bottom: 10px !important; }
	.mb-xs-20 { margin-bottom: 20px !important; }
	.mb-xs-30 { margin-bottom: 30px !important; }
	.mb-xs-40 { margin-bottom: 40px !important; }
	.mb-xs-50 { margin-bottom: 50px !important; }
	.mb-xs-60 { margin-bottom: 60px !important; }
	
	.ml-xs-50 { margin-left: 50px !important; }
	
}