/* --------------------------------------------------- */
/* ------------- LAPTOP BIG -------------------------- */
/* ------------- USARE XXL- PER LE CLASSI ------------ */
/* --------------------------------------------------- */

@media (max-width: 1680px) {

}

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

@media (max-width: 1440px) {

	/* ------------------------- VARIABLES ------------------------- */
	:root {

		--h1-size: 2.8125rem; /* 45px */
		--h1-line-height: 3.4375rem; /* 55px */

		--h2-size: 2.8125rem; /* 45px */
		--h2-line-height: 3.4375rem; /* 55px */

		--h5-size: 1.375rem; /* 22px */
		--h5-line-height: 1.875rem; /* 30px */

		--h6-size: 1.1875rem; /* 19px */
		--h6-line-height: 1.6875rem; /* 27px */

		--section-v: 95px;

	}

	/* -------------------- OBJECT -------------------- */

	/* ----- riga generica ----- */
	.riga-generica .col-lg-5:first-child {
		padding: 0 90px 0 65px;
	}
	.riga-generica .col-lg-5:last-child {
		padding: 0 65px 0 90px;
	}

	/* ----- divisore ----- */
	h2 + .divisore,
	.h2 + .divisore {
		margin-top: var(--p);
		margin-bottom: var(--p);
	}

	/* -------------------- HEADER -------------------- */
	.menu-side-container .menu-side-content {
		--w-sidebar: 40vw;
	}

}

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

@media (max-width: 1200px) {

	/* ------------------------- VARIABLES ------------------------- */
	:root {

		--h1-size: 2.25rem; /* 36px */
		--h1-line-height: 2.875rem; /* 46px */

		--h2-size: 2.25rem; /* 36px */
		--h2-line-height: 2.875rem; /* 46px */

		--h3-size: 1.5625rem; /* 25px */
		--h3-line-height: 2.1875rem; /* 35px */

		--h4-size: 1.25rem; /* 20px */
		--h4-line-height: 1.75rem; /* 28px */

		--h5-size: 1.3125rem; /* 21px */
		--h5-line-height: 1.8125rem; /* 29px */

		--h6-size: 1.125rem; /* 18px */
		--h6-line-height: 1.625rem; /* 26px */

		--section-v: 80px;

	}

	/* ------------------------- BTN ------------------------- */

	/* ----- btn - general ----- */
	[class*="btn"],
	[class*="btn"].btn-apri-menu {
		--p-btn-v: 7px;
		--p-btn-h: 25px;
	}

	/* -------------------- OBJECT -------------------- */

	/* ----- riga generica ----- */
	.riga-generica .col-lg-5:first-child {
		padding: 0 75px 0 50px;
	}
	.riga-generica .col-lg-5:last-child {
		padding: 0 50px 0 75px;
	}

	/* ------------------------- HEADER ------------------------- */

	/* ----- header - cart ----- */
	.menu-side-container .menu-side-content {
		--w-sidebar: 50vw;
	}

	/* ------------------------- SLIDER ------------------------- */
	#slider {
		min-height: 80vh;
		max-height: 100vh;
	}

}

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

@media (max-width: 1024px) {

	/* ------------------------- VARIABLES ------------------------- */
	:root {

		--h1-size: 1.875rem; /* 30px */
		--h1-line-height: 2.5rem; /* 40px */

		--h2-size: 1.875rem; /* 30px */
		--h2-line-height: 2.5rem; /* 40px */

		--h5-size: 1.25rem; /* 20px */
		--h5-line-height: 1.75rem; /* 28px */

		--section-v: 70px;

	}

	/* -------------------- OBJECT -------------------- */

	/* ----- riga generica ----- */
	.riga-generica .col-lg-5:first-child {
		padding: 0 30px 0 var(--col-d);
	}
	.riga-generica .col-lg-5:last-child {
		padding: 0 var(--col-d) 0 30px;
	}

	/* ------------------------- HEADER ------------------------- */

	/* ----- header - logo ----- */
	#header .header-inner .container #logo {
		position: relative !important;
	}
	#header .header-inner .container #logo a > img {
		padding-bottom: 0;
	}

	/* ----- header - menu-side ----- */
	.menu-side-container .menu-side-content {
		--p-sidebar-v: 35px;
		--p-sidebar-h: 35px;
	}
	.menu-side-container .menu-side-content .menu-side-header img {
		max-height: calc(var(--header-h) - var(--p-sidebar-v));
	}

	/* ------------------------- SLIDER ------------------------- */
	#slider .container {
		max-width: unset;
		padding-right: var(--section-o) !important;
		padding-left: var(--section-o) !important;
	}

}

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

@media (max-width: 991px) {

	/* ------------------------- OBJECT ------------------------- */
	.flex-sm-col-reverse {
		flex-direction: column-reverse !important;
	}

	/* ----- riga generica ----- */
	.riga-generica .col-lg-5:first-child {
		padding: 0 var(--col-d);
	}
	.riga-generica .col-lg-5:last-child {
		padding: 0 var(--col-d);
	}

	/* ------------------------- FOOTER ------------------------- */
	#footer .footer-griglia {
		flex-direction: column;
		align-items: flex-start;
	}

	/* ------------------------- MARGIN E PADDING ------------------------- */
	.mb-sm-35 { margin-bottom: 35px !important; }

}

@media (max-width: 768px) {

	/* ------------------------- VARIABLES ------------------------- */
	:root {

		--section-v: 50px;

	}

	/* ------------------------- HEADER ------------------------- */

	/* ----- header - cart ----- */
	.menu-side-container .menu-side-content {
		--w-sidebar: 70vw;
	}


	/* ------------------------- SLIDER ------------------------- */
	#slider .container-immagine-aggiuntiva {
		flex-direction: column-reverse;
	}
	#slider .container-immagine-aggiuntiva > div {
		width: 90%;
	}

}

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

@media (max-width: 576px) {

	/* ------------------------- VARIABLES ------------------------- */
	:root {

		--h1-size: 1.5625rem; /* 25px */
		--h1-line-height: 2.1875rem; /* 35px */

		--h2-size: 1.5625rem; /* 25px */
		--h2-line-height: 2.1875rem; /* 35px */

		--text-footer-copyright-line-height: 1rem;

		--section-v: 30px;
		--section-v-small: 30px;
		--section-o: 15px;

	}

	/* ------------------------- BTN ------------------------- */

	/* ----- btn - general ----- */
	[class*="btn"],
	[class*="btn"].btn-apri-menu {
		--h-btn: 40px;
		--p-btn-v: 5px;
		--p-btn-h: 20px;
	}
	
	/* ------------------------- OBJECT ------------------------- */
	body:before {
		background-image: var(--bg-parallasse-mobile, none);
	}

	.flex-xs-col {
		flex-direction: column;
	}
	.flex-xs-col-reverse {
		flex-direction: column-reverse;
	}
	.w-xs-100 {
		width: 100% !important;
	}

	/* ----- carosello ----- */
	.carosello-controlli-custom {
		--w-freccia: 40px;
		--h-freccia: 40px;
	}

	/* ------------------------- HEADER ------------------------- */

	/* ----- header - cambio-lingue ----- */
	#header .header-inner .container .header-extras .cambio-lingue {
		--d: 40px;
	}

	/* ----- header - sidebar ----- */
	.menu-side-container .menu-side-content {
		--w-sidebar: 100vw;
	}
	#header .header-inner .container .header-extras > .btn-prenota {
		display: none;
	}

	/* ------------------------- SUBHEADER ------------------------- */
	#subheader .breadcrumb ul {
		flex-wrap: wrap;
	}
	#subheader .breadcrumb ul li {
		flex-grow: 0 !important;
	}

	/* ------------------------- FOOTER ------------------------- */
	#footer .footer-contatti {
		width: 100%;
	}

	/* ------------------------- SLIDER ------------------------- */
	#slider .container-immagine-aggiuntiva > div {
		width: 80%;
	}

	/* ------------------------- BLOG ------------------------- */
	.grid-blog .card-blog {
		padding: 20px;
	}
	.grid-blog .card-blog .card-blog-testi {
		grid-template-columns: auto;
		grid-gap: 10px;
	}
	.grid-blog .card-blog .card-blog-testi i {
		justify-content: flex-end;
	}

}

/* -------------------------------------------------- */
/* ------------- HOME ------------------------------- */
/* -------------------------------------------------- */

@media (max-width: 1200px) {

	/* ----- home - il metodo ----- */
	.metodo-passo {
		padding: 25px 20px;
	}

}

@media (max-width: 991px) {

	/* ----- home - punti di forza ----- */
	.punto-forza {
		padding: 25px 20px;
	}
	.punto-forza .punto-forza-titolo {
		white-space: normal;
		justify-content: center;
	}

	/* ----- home - servizi: immagine dentro l'accordion ----- */
	.accordion-pl .accordion-pl-img-mobile {
		display: block;
	}

	/* ----- home - faq: intro non più sticky ----- */
	.faq-intro {
		position: static;
		max-width: none;
	}

	/* ----- home - il metodo: colonna singola ----- */
	.metodo-passi {
		grid-template-columns: minmax(0, 1fr);
	}
	.metodo-passo > i {
		display: inline-block;
		font-size: 1.375rem;
		margin: 0 15px 10px 0;
	}
	.metodo-passo > h3 {
		display: inline-block;
	}

	/* ----- home - staff ----- */
	.staff-intro {
		flex-direction: column;
		align-items: stretch;
	}
	.staff-intro .staff-intro-img {
		padding: 0 30px;
	}
	.staff-intro .staff-intro-img img {
		margin: 0 auto;
	}
	.staff-griglia {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

}

@media (max-width: 576px) {

	/* ----- object ----- */
	.include-wa-icon {
		bottom: 25px;
		right: 24px;
	}
	.include-wa-icon a:before {
		top: -10.5px;
		left: -12.5px;
		width: 64px;
		height: 64px;
		transform: scale(0);
		transform: scale(1);
	}

	/* ----- slider ----- */
	#slider .container {
		max-height: calc(100vh - var(--header-h) * 2);
		padding: 0;
	}
	#slider .container-immagine-aggiuntiva > div {
		width: 100%;
	}
	/* il limite va sull'img: sul div max-height non è un'altezza definita, quindi l'img non si ridimensiona e ne esce */
	#slider .container-immagine-aggiuntiva .slide-immagine-aggiuntiva img {
		width: auto;
		max-width: 100%;
		max-height: calc((100vh - var(--header-h) * 2) / 2);
	}

	/* ----- slider - frecce in basso a sinistra (come .carosello-controlli-custom) ----- */
	#slider.inspiro-slider .flickity-button {
		--w-freccia: 40px;
		--h-freccia: 40px;
		top: auto;
		bottom: 25px;
		display: flex;
		justify-content: center;
		align-items: center;
		width: var(--w-freccia);
		height: var(--h-freccia);
		margin: 0;
		padding: 0;
		box-sizing: border-box;
		color: var(--bianco);
		background-color: var(--primario);
		border: 1.5px solid var(--primario);
		border-radius: 10px;
		opacity: 1;
		transform: none;
		transition: background-color .3s ease-in-out, color .3s ease-in-out;
	}
	#slider.inspiro-slider .flickity-button:hover,
	#slider.inspiro-slider .flickity-button:active,
	#slider.inspiro-slider .flickity-button:focus {
		color: var(--primario);
		background-color: transparent;
		outline: none;
	}
	#slider.inspiro-slider .flickity-button .flickity-button-icon {
		position: static;
		width: 14px;
		height: 14px;
	}
	#slider.inspiro-slider .flickity-button.previous,
	#slider.inspiro-slider .flickity-button.previous:hover {
		right: auto !important;
		left: var(--section-o) !important;
	}
	#slider.inspiro-slider .flickity-button.next,
	#slider.inspiro-slider .flickity-button.next:hover {
		right: auto !important;
		left: calc(var(--section-o) + var(--w-freccia) + 10px) !important;
	}

	/* ----- header - logo nascosto se la slide attiva mostra la foto aggiuntiva mobile ----- */
	#header .header-inner .container #logo {
		transition: opacity .3s ease-in-out, visibility .3s ease-in-out;
	}
	body:has(#slider .slide.is-selected .slide-immagine-aggiuntiva-mobile) #header .header-inner .container #logo {
		opacity: 0;
		visibility: hidden;
	}

	/* ----- home - accordion ----- */
	.accordion-pl {
		padding: 25px 20px 20px;
	}

	/* ----- home - staff ----- */
	.staff-griglia {
		grid-template-columns: minmax(0, 1fr);
	}
	.staff-griglia .accordion-pl {
		padding: 15px;
	}
	.staff-griglia .accordion-pl .accordion-pl-head {
		gap: 15px;
	}

	/* ----- home - contatti ----- */
	.form-contatti {
		padding: 25px 20px 20px;
	}
	.form-contatti .campo-form-select {
		flex-wrap: wrap;
		gap: 10px;
	}
	.form-contatti .select-freccia {
		flex: 1 1 100%;
	}
	.mappa-home {
		height: 400px;
	}

}
