.hero-tecniche-left {
	position: relative;
	padding-top: 50px;
	padding-right: 30px;
	padding-left: 30px;
}

.hero-tecniche-left::before {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: calc(100% + 40px);
	z-index: -1;
	background: var(--light-grey);
}

.hero-label {
	color: var(--text-grey);
	font-size: 10px;
	letter-spacing: 3px;
	text-transform: uppercase;
	margin-bottom: 30px;
}

.hero-title {
	font-size: 32px;
	line-height: 1.1;
	color: var(--title-color);
	margin-bottom: 30px;
}

.hero-text {
	color: var(--text-grey);
	margin-bottom: 40px;
}

.hero-tecniche-image {
	position: relative;
	padding-right: 30px;
	padding-left: 30px;
}

.hero-tecniche-image::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	height: 45%;
	width: 100%;
	background: var(--light-grey);
	z-index: -1;
}

.hero-tecniche-image img {
	width: 100%;
	height: auto;
}

.hero-tecniche-content {
	padding-top: 50px;
	padding-bottom: 10px;
	padding-right: 30px;
	padding-left: 30px;
}

@media (min-width: 768px) {
	.hero-title {
		font-size: 48px;
		margin-bottom: 32px;
	}

	.hero-tecniche-image {
		padding: 0 0 70px;
	}

	.hero-tecniche-image::before {
		display: none;
	}

	.hero-tecniche-left {
		max-width: 655px;
		margin-left: auto;
		padding-top: 70px;
		padding-right: 50px;
		padding-bottom: 70px;
	}

	.hero-tecniche-left::before {
		width: 200%;
		height: 100%;
	}

	.hero-tecniche-content {
		max-width: 655px;
		margin-left: auto;
		padding-top: 70px;
		padding-bottom: 70px;
		padding-right: 50px;
	}

	.hero-text:last-child {
		margin-bottom: 0;
	}
}

@media (min-width: 992px) {
	.hero-title {
		font-size: 60px;
		line-height: 70px;
		margin-bottom: 45px;
	}

	.hero-tecniche-left {
		padding-top: 90px;
		padding-right: 70px;
		padding-bottom: 90px;
	}

	.hero-tecniche-content {
		padding-top: 90px;
		padding-right: 70px;
		padding-bottom: 90px;
	}

	.hero-tecniche-image {
		padding-bottom: 90px;
	}
}

@media (min-width: 1200px) {
	.hero-tecniche-left {
		padding-top: 120px;
		padding-right: 100px;
		padding-bottom: 120px;
	}

	.hero-tecniche-content {
		padding-right: 100px;
	}
}






/*=========================================
    Section Blocks
=========================================*/
.section-blocks {
	padding-bottom: 50px;
}

.section-blocks .title-caps {
	/*max-width: 750px;*/
	margin: 0 auto 30px;
}

.container.container-blocks {
	padding-left: 0;
	padding-right: 0;
}

.blocks-container {
	overflow: hidden;
}

.blocks-wrapper {
	width: 100%;
	overflow-x: scroll;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
}

.blocks-wrapper::-webkit-scrollbar {
	display: none
}

.blocks-inner {
	width: 100%;
}

.blocks-item {
	padding-right: 0;
}

.blocks-item:first-child {
	padding-left: 30px;
}

.blocks-item:last-child {
	padding-right: 30px;
}

.blocks-item-content {
	padding: 30px;
	min-width: 290px;
	/* background-color: #f4f4f4; */
	height: 100%;
}

.blocks-label-step {
	color: var(--title-color);
	font-size: 46px;
	letter-spacing: -1px;
	font-weight: 300;
	margin-bottom: 30px;
}

.blocks-title {
	color: var(--title-color);
	font-size: 26px;
	margin-bottom: 30px;
}

.blocks-text {
	font-size: 16px;
}

@media (min-width: 992px) {
	.section-blocks {
		padding-bottom: 115px;
	}

	.section-blocks .title-caps {
		margin-bottom: 85px;
	}

	.container.container-blocks {
		padding-left: 30px;
		padding-right: 30px;
	}

	.blocks-container {
		margin-left: -8px;
		margin-right: -8px;
	}

	.blocks-item,
	.blocks-item:first-child,
	.blocks-item:last-child {
		padding-left: 8px;
		padding-right: 8px;
	}

	.blocks-item-content {
		padding: 40px 30px 60px;
	}

	.blocks-label-step {
		font-size: 66px;
	}

	.blocks-title {
		font-size: 33px;
		margin-bottom: 35px;
	}
}


.section-body {
	padding-bottom: 50px;
}

.section-body .body-title {
	max-width: 750px;
	margin: 0 auto;
}

.section-body .title-caps {
	margin-bottom: 30px;
}


.video-wrapper {
	position: relative;
	background: var(--text-grey);
	cursor: pointer;
}

.video-wrapper picture {
	-webkit-transition: opacity 200ms ease 0s;
	transition: opacity 200ms ease 0s;
}

.video-wrapper.loading picture {
	opacity: 0;
}

.video-wrapper.loaded .video-embed iframe {
	opacity: 1;
}

.video-embed iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: .3;
	-webkit-transition: opacity 500ms ease 0s;
	transition: opacity 500ms ease 0s;
}

@media (min-width: 768px) {
	.section-body {
		padding-bottom: 70px;
	}
}

@media (min-width: 992px) {
	.section-body {
		padding-bottom: 100px;
	}
}



.section-featured-left {
	background-color: var(--light-grey);
}


.featured-col-left {
	padding-top: 50px;
	padding-bottom: 50px;
	padding-right: 30px;
	padding-left: 30px;
}

.featured-label {
	color: var(--text-grey);
	font-size: 10px;
	letter-spacing: 3px;
	text-transform: uppercase;
	margin-bottom: 30px;
}

.featured-title {
	font-size: 26px;
	line-height: 1.4;
	color: var(--title-color);
	margin-bottom: 30px;
}

.featured-text {
	color: var(--text-grey);
	margin-bottom: 30px;
}

.featured-text:last-child {
	margin-bottom: 0;
}

.featured-text a {
	color: inherit;
}

.featured-col-right {
	position: relative;
}

.featured-small-picture {
	position: absolute;
	bottom: -20px;
	right: 0;
	width: 190px;
}

@media (min-width: 768px) {
	.section-featured-left {
		padding-bottom: 25px;
		margin-top: 25px;
	}

	.section-featured-space {
		margin-bottom: 80px;

	}

	.featured-col-left {
		max-width: 655px;
		margin-left: auto;
	}

	.featured-col-right {
		overflow-x: hidden;
		-webkit-transform: translateY(-25px);
		transform: translateY(-25px);
	}

	.featured-big-picture {
		width: 100%;
	}

	.featured-big-picture img {
		float: right;
	}

	.featured-title {
		font-size: 32px;
	}

	.featured-small-picture {
		bottom: -50px;
		right: auto;
		left: 40px;
		width: 300px;
	}
}

@media (min-width: 992px) {
	.section-featured-left {
		padding-bottom: 55px;
		margin-top: 45px;
	}

	.featured-col-right {
		-webkit-transform: translateY(-45px);
		transform: translateY(-45px);
	}

	.featured-small-picture {
		bottom: -70px;
		left: 70px;
		width: 400px;
	}

	.featured-col-left {
		padding-right: 50px;
	}

	.featured-label {
		font-size: 12px;
		margin-bottom: 50px;
	}

	.featured-title {
		font-size: 38px;
		margin-bottom: 55px;
	}

	.featured-text {
		margin-bottom: 50px;
	}
}

@media (min-width: 1200px) {
	.featured-label {
		margin-bottom: 60px;
	}

	.featured-text {
		margin-bottom: 70px;
	}

	.featured-small-picture {
		bottom: -100px;
		left: 120px;
		width: 455px;
	}
}

@media (min-width: 1600px) {
	.featured-big-picture img {
		float: left;
	}
}

/* Image left */
.section-featured-right {
	background-color: var(--light-grey);
}

@media (min-width: 768px) {
	.section-featured-right {
		padding-bottom: 25px;
		margin-top: 25px;
	}

	.section-featured-right .featured-col-left {
		margin-left: 0;
		margin-right: auto;
	}

	.section-featured-right .featured-big-picture img {
		float: left;
	}

	.section-featured-right .featured-big-picture img.main-starlight {
		float: right;
	}

	.section-featured-right .featured-small-picture {
		left: auto;
		right: 40px;
	}
}

@media (min-width: 992px) {
	.section-featured-right {
		padding-bottom: 55px;
		margin-top: 45px;
	}

	.section-featured-right .featured-small-picture {
		right: 70px;
	}

	.section-featured-right .featured-col-left {
		padding-left: 60px;
	}
}

@media (min-width: 1200px) {
	.section-featured-right {
		margin-bottom: 45px;
	}

	.section-featured-right .featured-small-picture {
		right: 120px;
	}

	.section-featured-space {
		margin-bottom: 120px;

	}
}

@media (min-width: 1600px) {
	.section-featured-right .featured-big-picture img {
		float: right;
	}
}




.section-images {
	padding-top: 50px;
	padding-bottom: 50px;
}

.section-images.tpa {
	padding-bottom: 0;
}

.section-images .blocks-item-content {
	padding: 0;
	min-width: 200px;
}

.section-images .blocks-item:not(:first-child) {
	padding-left: 4px;
}

@media (min-width: 768px) {
	.section-images {
		padding-top: 90px;
		padding-bottom: 50px;
	}

	.section-images .blocks-item,
	.section-images .blocks-item:first-child,
	.section-images .blocks-item:last-child,
	.section-images .blocks-item:not(:first-child) {
		padding-left: 8px;
		padding-right: 8px;
	}
}

@media (min-width: 992px) {
	.section-images {
		padding-top: 135px;
		padding-bottom: 70px;
	}
}

@media (min-width: 992px) {
	.section-images {
		padding-top: 155px;
		padding-bottom: 110px;
	}
}

.section-cta-formula {
	padding-top: 50px;
	padding-bottom: 50px;
	background: var(--light-grey);
}

.cta-formula-inner {
	text-align: center;
	max-width: 840px;
	margin: 0 auto;
}

.formula-title {
	color: var(--title-color);
	font-size: 26px;
	margin-bottom: 30px;
}

@media (min-width: 768px) {
	.section-cta-formula {
		margin-top: 100px;
	}

	.cta-formula-inner {
		text-align: left;
	}

	.formula-title {
		font-size: 30px;
		margin-bottom: 0;
	}
}

@media (min-width: 992px) {
	.section-cta-formula {
		padding-top: 70px;
		padding-bottom: 70px;
		margin-top: 135px;
	}

	.formula-title {
		font-size: 34px;
	}
}

@media (min-width: 1200px) {
	.section-cta-formula {
		margin-top: 155px;
	}
}








.section-menu-formula {
	padding-top: 50px;
}


.menu-formula-left {
	margin-top: -50px;
	padding-right: 30px;
	padding-left: 30px;
}

.menu-formula-title {
	text-align: center;
	padding: 0 30px 30px;
}

.menu-formula-item {
	padding: 50px 15px;
	background: var(--light-grey);
	text-align: center;
	margin-bottom: 10px;
}

.menu-formula-item:last-child {
	margin-bottom: 0;
}

.menu-formula-item-title {
	font-weight: 500;
	color: var(--title-color);
	font-size: 26px;
	margin-bottom: 30px;
}

.menu-formula-item p {
	color: var(--text-grey);
	margin-bottom: 30px;
}



@media (min-width: 768px) {
	.section-menu-formula {
		padding-top: 70px;
	}

	.menu-formula-title {
		text-align: left;
		padding: 0 30px 50px 0;
	}

	.menu-formula-left {
		margin-left: auto;
		max-width: 655px;
	}

	.menu-formula-big-picture {
		width: 100%;
	}

	.menu-formula-big-picture img {
		float: left;
	}


	.menu-formula-item {
		padding-left: 15px;
		padding-right: 30px;
		text-align: left;
		width: calc(100% + 100px);
	}

	.menu-formula-item-title {
		font-size: 30px;
		margin-bottom: 10px;
	}

	.menu-formula-item p {
		margin-bottom: 0;
	}
}

@media (min-width: 992px) {
	.section-menu-formula {
		padding-top: 90px;
	}

	.menu-formula-title {
		padding: 0 50px 70px 30px;
	}

	.menu-formula-item {
		width: calc(100% + 180px);
		padding-right: 40px;
	}

	.menu-formula-item-title {
		font-size: 34px;
	}
}

@media (min-width: 1200px) {
	.section-menu-formula {
		padding-top: 110px;
	}

	.menu-formula-title {
		padding: 0 100px 90px 30px;
	}

	.menu-formula-item {
		width: calc(100% + 240px);
	}

	.menu-formula-item-title {
		font-size: 38px;
	}
}

@media (min-width: 1600px) {
	.menu-formula-big-picture img {
		float: right;
	}
}


/*=========================================
    Section recent posts
=========================================*/
.section-recent-posts {
	padding-top: 50px;
}

.section-recent-posts .title-caps {
	margin-bottom: 30px;
}

.section-recent-posts .col-12 {
	margin-bottom: 15px;
}

.blog-item {
	position: relative;
	display: block;
	background: #f4f4f4;
}

.blog-item-image {
	position: relative;
}

.blog-item-image::before {
	content: '';
	display: block;
	padding-bottom: 56%;
}

.blog-item-image img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.blog-item-info {
	padding: 35px 30px 25px;
}

.blog-item-title {
	color: var(--title-color);
	font-size: 26px;
	margin-bottom: 30px;
	font-weight: 500;
}

.posted-on {
	color: var(--title-color);
	font-size: 10px;
	letter-spacing: 5px;
}

@media (min-width: 768px) {
	.section-recent-posts {
		padding-top: 70px;
	}

	.section-recent-posts .col-12 {
		margin-bottom: 30px;
	}

	.blog-item {
		height: 100%;
	}

	.blog-item-info {
		padding-top: 40px;
		padding-bottom: 60px;
	}

	.blog-item-title {
		font-size: 30px;
		margin-bottom: 0;
	}

	.posted-on {
		position: absolute;
		bottom: 25px;
		left: 30px;
		font-size: 12px;
		letter-spacing: 6px;
	}
}

@media (min-width: 992px) {
	.section-recent-posts .title-caps {
		margin-bottom: 50px;
	}

	.blog-item-info {
		padding-bottom: 70px;
	}
}

@media (min-width: 1200px) {
	.section-recent-posts {
		padding-top: 100px;
	}

	.blog-item-info {
		padding-bottom: 80px;
	}
}





/* Starlight fix */
.page-starlight .section-images:not(.has-space),
.page-royal .section-images:not(.has-space) {
	padding-top: 0;
}

.page-starlight .section-cta-formula,
.page-royal .section-cta-formula {
	margin-top: 0;
}
/* FIX mobile: sotto i 768px .featured-big-picture img non ha vincoli di larghezza
   (width:100% e overflow-x:hidden esistono solo da >=768px) e l'immagine rende
   a dimensione naturale sbordando dal viewport */
@media (max-width: 767px) {
	.featured-big-picture img {
		display: block;
		width: 100%;
		height: auto;
	}
}

/* FIX mobile: stesso problema su .menu-formula-big-picture img (sezione "altre
   tecniche"). L'immagine e' 900x1170 e sotto i 768px non ha vincoli di larghezza:
   rende a dimensione naturale e sborda dal viewport mostrando solo un ritaglio */
@media (max-width: 767px) {
	.menu-formula-big-picture img {
		display: block;
		width: 100%;
		height: auto;
	}
}
