/* ============================================
VARIABLES
===============================================*/

:root {
	--blue: #1e0cff;
	--dark-blue: #1a00d9;
	--pink: #ff00f0;
	--teal: #52d7bd;
	--bubblegum: #f014a5;
	--purple: #6f00ff;
	--sky-blue: #3bb3f1;
	--dark-blue-600: #1810a3;
	--primary: var(--blue);
	--secondary: var(--pink);
	--info: var(--teal);
	--font-family-sans-serif: "Roboto", sans-serif;
	--font-family-sans-serif-title: "Roboto Condensed", sans-serif;
	--font-weight-light: 300;
	--font-weight-regular: 400;
	--font-weight-medium: 500;
	--font-weight-bold: 700;
	--marquee-speed: 40s;
}

/* ============================================
GENERAL
===============================================*/
body {
	font-family: var(--font-family-sans-serif);
	margin-top: 90px;
}

body.has-sidebar-opened {
	overflow: hidden;
}

body * {
	scroll-margin-top: 90px;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: var(--font-family-sans-serif-title);
	font-weight: var(--font-weight-bold);
	margin-bottom: 32px;
}

h2 {
	font-size: 40px;
}

h3 {
	font-size: 28px;
}

img {
	height: auto;
	max-width: 100%;
}

@media (max-width: 1600px) {

	h2 {
		font-size: calc(19px + 0.7425vw);
	}

	h3 {
		font-size: calc(16px + 0.7425vw);
	}
}

@media (max-width: 991px) {

	p {
		margin-bottom: 0.5rem;
	}
}

@media (max-width: 575px) {

	body {
		margin-top: 70px;
	}

	body * {
		scroll-margin-top: 70px;
	}
}

/* ============================================
UTILS
===============================================*/
.bg-gradient {
	background: hsla(242, 87%, 37%, 1);
	background: linear-gradient(180deg, hsla(242, 87%, 37%, 1) 0%, hsla(244, 100%, 52%, 1) 100%);
}

.bg-gradient--blue {
	background: hsla(242, 87%, 37%, 1);
	background: linear-gradient(180deg, hsla(242, 87%, 37%, 1) 0%, hsla(244, 100%, 52%, 1) 100%);
}

.bg-gradient--blue.bg-gradient--reverse {
	background: hsla(244, 100%, 52%, 1);
	background: linear-gradient(180deg, hsla(244, 100%, 52%, 1) 0%, hsla(242, 87%, 37%, 1) 100%);
}

.bg-gradient--pink {
	background: hsla(304, 100%, 50%, 1);
	background: linear-gradient(180deg, hsla(293, 97%, 36%, 1) 0%, hsla(304, 100%, 50%, 1) 100%);
}

.bg-gradient--pink.bg-gradient--reverse {
	background: hsla(293, 97%, 36%, 1);
	background: linear-gradient(180deg, hsla(304, 100%, 50%, 1) 0%, hsla(293, 97%, 36%, 1) 100%);
}

.bg-gradient-oblique {
	background: rgba(0, 0, 73, 1);
}

.bg-gradient-oblique::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: linear-gradient(41deg, rgba(65, 19, 133, 0.8) 0%, rgba(0, 0, 73, 1) 15%, rgba(0, 0, 73, 1) 85%, rgba(65, 19, 133, 0.8) 100%);
}

.bg-iced {
	background-image: url("../img/title-iced-bg.jpg");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
}

.text-teal {
	color: var(--teal);
}

.text-pink {
	color: var(--pink);
}

.text-blue {
	color: var(--blue);
}

.bg-teal {
	background-color: var(--teal);
}

.text-sky-blue {
	color: var(--sky-blue);
}

.text-dark-blue-600 {
	color: var(--dark-blue);
}

.text-purple {
	color: var(--purple);
}

.bg-pink {
	background-color: var(--pink);
}

.bg-blue {
	background-color: var(--blue);
}

.bg-dark-blue {
	background-color: var(--dark-blue);
}

.bg-sky-blue {
	background-color: var(--sky-blue);
}

.bg-dark-blue-600 {
	background-color: var(--dark-blue);
}

.bg-purple {
	background-color: var(--purple);
}

.py-32 {
	padding-top: 32px;
	padding-bottom: 32px;
}

.font-family-body {
	font-family: var(--font-family-sans-serif) !important;
}

.font-family-title {
	font-family: var(--font-family-sans-serif-title) !important;
}

.text-decoration-underline {
	text-decoration: underline !important;
}

.font-weight-medium {
	font-weight: var(--font-weight-medium) !important;
}

@media (max-width: 1600px) {

	.display-1 {
		font-size: calc(40px + 2.19vw);
	}
}

.strong-teal strong {
	color: var(--teal);
}

.nobr {
	white-space: nowrap !important;
}

.container.container-xxl {
	max-width: 1700px;
}

/* ============================================
BUTTONS
===============================================*/
.btnvigorsol {
	background-color: var(--blue);
	border-radius: 50rem;
	padding: 10px 35px;
	color: var(--white);
	border: 2px solid var(--blue);
	text-transform: uppercase;
	font-weight: var(--font-weight-medium);
	outline: none;
	transition: all 0.3s;
	font-size: 21px;
	box-shadow: 0 15px 15px 0 rgb(0 0 0 / 15%);
	cursor: pointer;
	display: inline-block;
}

.btnvigorsol:hover {
	background-color: var(--white);
	color: var(--blue);
	border: 2px solid var(--white);
	transition: all 0.3s;
	text-decoration: none;
}

.btnvigorsol.btnvigorsol--big {
	padding: 10px 120px;
}

.btnvigorsol.btnvigorsol--pink {
	background-color: var(--pink);
	border-color: var(--pink);
}

.btnvigorsol:hover.btnvigorsol--pink {
	background-color: var(--white);
	border-color: var(--white);
	color: var(--pink);
}

.btnvigorsol.btnvigorsol--teal {
	background-color: var(--teal);
	border-color: var(--teal);
	color: var(--blue);
}

.btnvigorsol:hover.btnvigorsol--teal {
	background-color: var(--white);
	border-color: var(--white);
	color: var(--blue);
}

.btnvigorsol.btnvigorsol--dark-blue-600 {
	background-color: var(--dark-blue-600);
	border-color: var(--dark-blue-600);
}

.btnvigorsol:hover.btnvigorsol--dark-blue-600 {
	background-color: var(--white);
	border-color: var(--white);
	color: var(--dark-blue-600);
}

.btnvigorsol-outline {
	background-color: transparent;
	border-radius: 50rem;
	padding: 10px 35px;
	color: var(--white);
	border: 1px solid var(--blue);
	text-transform: uppercase;
	font-weight: var(--font-weight-medium);
	outline: none;
	transition: all 0.3s;
	font-size: 21px;
	cursor: pointer;
}

.btnvigorsol-outline:hover {
	background-color: var(--white);
	color: var(--blue);
}

.btnvigorsol-outline.btnvigorsol-outline--big {
	padding: 10px 120px;
}

.btnvigorsol-outline.btnvigorsol-outline--teal {
	border: 1px solid var(--teal);
	background-color: transparent;
	color: var(--white);
}

.btnvigorsol-outline:hover.btnvigorsol-outline--teal {
	background-color: var(--teal);
	color: var(--blue);
}

.btnvigorsol-outline.btnvigorsol-outline--pink {
	border: 1px solid var(--pink);
	background-color: transparent;
	color: var(--white);
}

.btnvigorsol-outline:hover.btnvigorsol-outline--pink {
	background-color: var(--white);
	color: var(--pink);
	border-color: var(--pink);
}

.btnvigorsol__loading .spinner-border {
	height: 21px;
	width: 21px;
	font-size: 21px;
}

@media (max-width: 1600px) {

	.btnvigorsol,
	.btnvigorsol-outline {
		font-size: calc(15px + 0.315vw);
		line-height: 1.25;
	}

	.btnvigorsol__loading .spinner-border {
		height: calc(15px + 0.315vw);
		width: calc(15px + 0.315vw);
		font-size: calc(15px + 0.315vw);
	}
}

/* ============================================
MENU
===============================================*/
.navbar {
	position: fixed;
	top: 0;
	z-index: 200;
	width: 100%;
	transition: 0.4s;
	overflow: hidden;
	height: 90px;
	background-color: var(--blue);
	padding: 0;
}

.navbar .container-xl {
	padding: 0 15px;
}

.navbar-brand {
	float: left;
}

.navbar-brand img {
	max-height: 44px;
}

.navbar.sticky {
	box-shadow: 0 15px 15px 0 rgb(0 0 0 / 15%);
}

.menu-item.active a,
.menu-item a:hover {
	color: var(--teal);
	text-decoration: none;
}

.sidenav .menu-item.active a,
.sidenav .menu-item a:hover {
	-webkit-text-fill-color: transparent; /* Will override color (regardless of order) */
	-webkit-text-stroke-width: 2px;
	-webkit-text-stroke-color: var(--teal);
}


@media (max-width: 575px) {

	.navbar {
		height: 70px;
	}
}

/* ============================================
HEADING COMPONENT
===============================================*/
.heading {
	font-family: var(--font-family-sans-serif-title);
	font-weight: var(--font-weight-bold);
	margin-bottom: 32px;
	line-height: 1.5;
}

.heading--title {
	font-size: 40px;
	line-height: 1.2;
}

.heading--abstract {
	font-size: 21px;
}

.heading--small {
	font-size: 18px;
}

.heading--subtitle {
	font-family: var(--font-family-sans-serif);
	font-weight: var(--font-weight-regular);
	font-size: 23px;
	margin-bottom: 0;
}

.heading--subtitle p:last-child {
	margin-bottom: 0;
}

@media (max-width: 1600px) {

	.heading {
		font-size: calc(19px + 0.7425vw);
	}

	.heading--abstract {
		font-size: calc(15px + 0.315vw);
		line-height: 1.25;
	}

	.heading--small {
		font-size: calc(16px + 0.0975vw);
	}

	.heading--subtitle {
		font-size: calc(15px + 0.315vw);
		line-height: 1.25;
	}
}

@media (max-width: 991px) {

	.heading {
		margin-bottom: 20px;
		line-height: 1.2;
	}
}

/* ============================================
TITLE SEPARATOR COMPONENT
===============================================*/
.title-separator {
	display: block;
	font-family: var(--font-family-sans-serif-title);
	font-weight: var(--font-weight-bold);
	font-size: 32px;
	background-color: var(--blue);
	color: var(--white);
	text-align: center;
	margin: 0;
	padding: 35px 15px;
}

.title-separator.title-separator--pink {
	background-color: var(--pink);
	color: var(--white);
}

.title-separator.title-separator--teal {
	background-color: var(--teal);
	color: var(--blue);
}

@media (max-width: 1600px) {

	.title-separator {
		font-size: calc(22px + 0.39vw);
		padding: 20px 15px;
	}
}

@media (max-width: 991px) {

	.title-separator {
		line-height: 1.2;
	}
}

/* ============================================
TEXT-IMAGE-ROW COMPONENT
===============================================*/
.text-image-row {
	background-color: var(--blue);
	color: var(--white);
	position: relative;
}

.text-image-row.text-image-row--pink {
	background-color: var(--pink);
}

.text-image-row.text-image-row--teal {
	background-color: var(--teal);
	color: var(--blue);
}

.text-image-row.text-image-row--purple {
	background-color: var(--purple);
	color: var(--white);
}

.text-image-row.text-image-row--sky-blue {
	background-color: var(--sky-blue);
	color: var(--dark-blue-600);
}

.text-image-row__image-col,
.text-image-row__text-col {
	min-height: 29.95vw;
}

.text-image-row.text-image-row--marquee .text-image-row__text-col {
	z-index: 2;
}

.text-image-row__image-col {
	position: unset;
}

.text-image-row__text {
	z-index: 1;
}

.text-image-row__image-link {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}

.text-image-row__image-container {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	width: 50%;
	overflow: hidden;
}

.text-image-row__image {
	position: absolute;
	top: 50%;
	right: 50%;
	width: auto;
	height: calc(100% + 1px);
	max-width: unset;
	transform: translateY(-50%) translateX(50%);
}

.text-image-row__image.text-image-row__image--width-visible {
	height: auto;
	max-width: 100%;
}

.text-image-row__text-col {
	padding-top: 5vw;
	padding-bottom: 5vw;
}

.text-image-row__row.text-image-row__row--reverse {
	flex-direction: row-reverse;
}

.text-image-row__row.text-image-row__row--reverse .text-image-row__image-container {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: unset;
	background-position-x: left;
}

.text-image-row__row.text-image-row__row--reverse .text-image-row__image {
	right: unset;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
}

.text-image-row__title {
	font-size: 40px;
	margin-bottom: 32px;
}

.text-image-row__title.text-image-row__title--big {
	font-size: 60px;
}

.text-image-row__description {
	font-size: 23px;
	margin-bottom: 0;
}

.text-image-row__description + .text-image-row__cta {
	margin-top: 32px;
}

.text-image-row__abstract {
	font-size: 23px;
	margin-bottom: 24px;
}

.text-image-row__abstract.text-image-row__abstract--big {
	font-size: 26px;
}

.text-image-row__marquee-container {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1;
	pointer-events: none;
	opacity: 0.4;
}

.text-image-row__before-title h2 {
	margin-bottom: 0;
}

@media (min-width: 1921px) {

	.text-image-row__image-col,
	.text-image-row__text-col {
		height: 29.5vw;
		/* max-height: 566px; */
		min-height: unset;
	}

	.owl-carousel .owl-item img.text-image-row__image,
	.text-image-row__image {
		width: 100%;
		height: auto;
	}
}

@media (max-width: 1600px) {

	.text-image-row__title {
		font-size: calc(19px + 0.7425vw);
	}

	.text-image-row__title.text-image-row__title--big {
		font-size: calc(30px + 1.17vw);
	}

	.text-image-row__description,
	.text-image-row__abstract {
		font-size: calc(15px + 0.315vw);
		line-height: 1.25;
	}

	.text-image-row__abstract.text-image-row__abstract--big {
		font-size: calc(20px + 0.2325vw);
	}
}

@media (max-width: 991px) {

	.text-image-row {
		padding: 0;
	}

	.text-image-row__container {
		max-width: unset;
	}

	.text-image-row__text-col {
		padding: 21px 15px 28px;
		min-height: unset;
	}

	.text-image-row.text-image-row--marquee .text-image-row__text-col {
		padding: 15px 15px 40px;
	}

	.text-image-row__image-col {
		position: relative;
		padding: 0;
		height: auto;
	}

	.text-image-row__row .text-image-row__image-container,
	.text-image-row__row.text-image-row__row--reverse .text-image-row__image-container {
		position: relative;
		width: 100%;
		height: auto;
	}

	.text-image-row__row .text-image-row__image,
	.text-image-row__row.text-image-row__row--reverse .text-image-row__image {
		position: static;
		transform: none;
		max-width: 100%;
		height: auto;
		width: 100%;
	}

	.text-image-row__description + .text-image-row__cta {
		margin-top: 20px;
	}

	.text-image-row__title {
		margin-bottom: 10px;
	}
}

/* ============================================
PRODUCT-CARD COMPONENT
===============================================*/
.product-card {
	text-align: center;
}

.product-card img {
	width: 100%;
	max-width: 100%;
}

.product-card__title {
	font-size: 21px;
	font-weight: var(--font-weight-medium);
}

.product-card a:hover {
	text-decoration: none;
}

@media (max-width: 1600px) {

	.product-card__title {
		font-size: calc(15px + 0.315vw);
		line-height: 1.25;
	}
}

@media (max-width: 991px) {

	.product-card {
		padding: 0 30px 10px;
	}
}

/* ============================================
HEADER SOCIALS
===============================================*/
.header__socials {
	margin: 0 50px 0 0;
}

.header__social-item + .header__social-item {
	margin-left: 35px;
}

.header__social {
	font-size: 30px;
}

@media (max-width: 1600px) {

	.header__socials {
		margin: 0 35px 0 0;
	}

	.header__social-item + .header__social-item {
		margin-left: 20px;
	}

	.header__social {
		font-size: 25px;
	}
}

/* ============================================
MAIN MENU MOBILE SOCIALS
===============================================*/
.main-menu-mobile__socials {
	margin: 60px 0 0 0;
}

.main-menu-mobile__social-item + .main-menu-mobile__social-item {
	margin-left: 35px;
}

.main-menu-mobile__social {
	color: #fff !important;
	-webkit-text-fill-color: unset !important; /* Will override color (regardless of order) */
    -webkit-text-stroke-width: unset !important;
    -webkit-text-stroke-color: unset !important;
}

/* ============================================
FOOTER
===============================================*/
.footer__social {
	font-size: 35px;
}

.footer__social-item + .footer__social-item {
	margin-left: 35px;
}

/* ============================================
MARQUE COMPONENT
===============================================*/
.marquee {
	overflow: hidden;
	height: calc(57px + 3.65vw);
	position: relative;
}

.marquee__text {
	-webkit-box-flex: 0;
	-webkit-flex: 0 0 auto;
	-ms-flex: 0 0 auto;
	flex: 0 0 auto;
	color: transparent;
	/* stylelint-disable-next-line property-no-unknown */
	text-stroke: 2px var(--white);
	-webkit-text-stroke: 2px var(--white);
	text-transform: uppercase;
	font-size: calc(57px + 3.65vw);
	line-height: 0.9;
	font-family: var(--font-family-sans-serif-title);
	font-weight: var(--font-weight-bold);
}

.marquee__text-wrapper {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	-webkit-justify-content: flex-start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	position: absolute;
	white-space: nowrap;
	will-change: transform;
	animation-name: marquee-horizontal;
	animation-timing-function: linear;
	animation-duration: var(--marquee-speed);
	animation-iteration-count: infinite;
}

@keyframes marquee-horizontal {

	from {
		transform: translateX(0);
	}

	to {
		transform: translateX(-50%);
	}
}

@media (max-width: 1400px) {

	.marquee__text-wrapper {
		animation-duration: calc(var(--marquee-speed) * 1400 / 1920);
	}
}

@media (max-width: 1200px) {

	.marquee__text-wrapper {
		animation-duration: calc(var(--marquee-speed) * 1200 / 1920);
	}
}

@media (max-width: 991px) {

	.marquee__text-wrapper {
		animation-duration: calc(var(--marquee-speed) * 991 / 1920);
	}
}

/* ============================================
CAROSELLO OWL
===============================================*/
.item-video {
	height: auto;
	background-color: rgba(33, 0, 255, 0.8);
	display: block;
}

.owl-nav button {
	position: absolute;
	top: 50%;
	background-color: #000;
	color: #fff;
	margin: 0;
	transition: all 0.3s ease-in-out;
}

.owl-nav button.owl-prev {
	left: 0;
}

.owl-nav button.owl-next {
	right: 0;
}

.owl-dots {
	text-align: center;
	padding-top: 15px;
	bottom: 50px;
	position: absolute;
	display: flex;
	justify-content: center;
	width: 100%;
}

.owl-dots button.owl-dot {
	width: 10px;
	height: 10px;
	border-radius: 0;
	display: inline-block;
	background: rgba(255, 255, 255, 0.3);
	margin: 0;
}

.owl-dots button.owl-dot + button.owl-dot {
	margin-left: 10px;
}

.owl-dots button.owl-dot.active {
	background-color: var(--white);
}

.owl-dots button.owl-dot:focus {
	outline: none;
}

.owl-nav button {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background: rgba(255, 255, 255, 0.38) !important;
}

.owl-nav button:focus {
	outline: none;
}

.ico-play {
	width: 100%;
	font-size: 60px;
	position: absolute;
	top: 50%;
	z-index: 150;
}

.owl-carousel.mobile {
	display: none;
}

.owl-carousel.owl-drag .owl-item {
	overflow: hidden;
}

.owl-nav__icon {
	width: 60px;
}

@media screen and (max-width: 991px) {

	.owl-item .date {
		margin: 0;
		padding: 0;
	}

	.owl-item .product-name {
		margin: 0;
	}

	.owl-item h1 {
		font-size: 2rem;
	}

	/* .owl-carousel.desktop {
		display: none !important;
	}

	.owl-carousel.mobile {
		display: block;
	} */
}


/* ============================================
CAROSELLO OWL HP
===============================================*/
.page-template-tpl-home .owl-carousel--hp .owl-dots {
	position: absolute;
	bottom: unset;
	top: 25px;
	left: calc(((100vw - 1400px) / 2) + 15px);
	width: auto;
	padding-top: 0;
	text-align: center;
}

.page-template-tpl-home .owl-carousel--hp .text-image-row__image-col,
.page-template-tpl-home .owl-carousel--hp .text-image-row__text-col,
.page-template-tpl-home .masthead {
	height: 29.6vw;
	min-height: auto;
}

.page-template-tpl-home .owl-carousel--hp .text-image-row__image-container {
	width: calc(((100% - 1400px) / 2) + (1400px / 12 * 8));
}

.page-template-tpl-home .owl-carousel--hp .text-image-row__text-col {
	padding: 5% 30px;
}

.page-template-tpl-home .owl-carousel--hp .text-image-row__image {
	position: static;
	height: 100%;
	width: 100%;
	max-width: none;
	object-fit: cover;
	object-position: center;
	transform: none;
}

.page-template-tpl-home .owl-carousel--hp .text-image-row__marquee-container {
	opacity: 1;
}

.page-template-tpl-home .owl-carousel--hp:not(.owl-loaded) {
	display: block;
}

.page-template-tpl-home .owl-carousel--hp:not(.owl-loaded) > .item {
	display: block;
}

.page-template-tpl-home .owl-carousel--hp:not(.owl-loaded) > .item ~ .item {
	display: none;
}

@media (min-width: 1921px) {

	.page-template-tpl-home .owl-carousel--hp .text-image-row__image-col,
	.page-template-tpl-home .owl-carousel--hp .text-image-row__text-col,
	.page-template-tpl-home .masthead {
		height: 27.4vw;
		/* max-height: 566px; */
		min-height: unset;
	}
}

@media screen and (max-width: 1400px) {

	.page-template-tpl-home .owl-carousel--hp .text-image-row__image-container {
		width: calc(100% / 12 * 8);
	}

	.page-template-tpl-home .owl-carousel--hp .owl-dots {
		left: 15px;
	}
}

@media screen and (max-width: 1200px) {

	.page-template-tpl-home .owl-carousel--hp .text-image-row__image-container {
		width: calc(((100% - 960px) / 2) + (960px / 12 * 8));
	}
}

@media screen and (max-width: 991px) {

	.page-template-tpl-home .owl-carousel--hp .text-image-row {
		padding: 0;
	}

	.page-template-tpl-home .owl-carousel--hp .text-image-row__container {
		max-width: unset;
	}

	.page-template-tpl-home .owl-carousel--hp .text-image-row__image-col {
		position: relative;
		padding: 0;
		height: 55vw;
	}

	.page-template-tpl-home .owl-carousel--hp .text-image-row__text-col {
		padding-bottom: 15.12vw;
	}

	.page-template-tpl-home .owl-carousel--hp .text-image-row__image-col,
	.page-template-tpl-home .owl-carousel--hp .text-image-row__text-col,
	.page-template-tpl-home .masthead {
		height: auto;
		min-height: unset;
	}

	.page-template-tpl-home .owl-carousel--hp .text-image-row__image-container {
		position: static;
		width: 100%;
		height: 77.72vw;
	}

	/* .page-template-tpl-home .owl-carousel--hp .text-image-row__image {
		height: 100%;
		width: auto;
		max-width: none;
	} */

	.page-template-tpl-home .owl-carousel--hp .owl-dots {
		position: absolute;
		padding-top: 0;
		text-align: center;
		justify-content: flex-end;
	}

	.page-template-tpl-home .owl-carousel--hp .marquee {
		height: calc(120px + 3.65vw);
	}

	.page-template-tpl-home .owl-carousel--hp .marquee__text {
		font-size: calc(120px + 3.65vw);
	}
}

@media screen and (max-width: 575px) {

	.page-template-tpl-home .owl-carousel--hp .marquee {
		height: calc(80px + 3.65vw);
	}

	.page-template-tpl-home .owl-carousel--hp .marquee__text {
		font-size: calc(80px + 3.65vw);
	}
}

/* ============================================
HOMEPAGE STYLE
===============================================*/
.page-template-tpl-home .page-header .heading {
	margin-bottom: 16px;
}

.page-template-tpl-home .product-card__title {
	margin-top: 32px;
}

@media screen and (max-width: 991px) {

	.page-template-tpl-home .page-header {
		padding: 35px 15px 20px;
	}

	.page-template-tpl-home .page-header__image {
		margin-top: calc((35px + 9vw) * -1);
		margin-bottom: -35px;
	}

	.page-template-tpl-home .page-header .heading.heading--title {
		margin-bottom: 5px;
	}

	.page-template-tpl-home .product-card__title {
		margin-top: 0;
	}
}

/* ============================================
PRODUCT DETAIL STYLE
===============================================*/
@media screen and (max-width: 1600px) {

	.single-prodotti .heading.heading--title {
		font-size: calc(24px + 0.7425vw);
	}
}

/* ============================================
CONTESTS INDEX STYLE
===============================================*/
@media screen and (max-width: 991px) {

	.page-template-tpl-concorsi .text-image-row__abstract {
		margin-bottom: 10px;
	}
}

/* ============================================
PRODUCTS INDEX STYLE
===============================================*/
@media (max-width: 1600px) {

	.page-template-tpl-prodotti .product-card__title {
		font-size: calc(20px + 0.0375vw);
	}
}

/* ============================================
PAGE HEADER COMPONENT
===============================================*/
.page-header {
	background: var(--teal);
	color: var(--blue);
	padding: 35px 15px;
}

.page-header.page-header--with-image {
	padding-top: 0;
}

.page-header__text-container {
	position: relative;
	z-index: 11;
	max-width: 1400px;
	margin: auto;
	padding-left: 15px;
	padding-right: 15px;
}

.page-header__text-container *:last-child {
	margin-bottom: 0;
}

.page-header__image {
	position: relative;
	margin-top: -105px;
	margin-bottom: -70px;
	z-index: 10;
}

.page-header.page-header--blue {
	background: var(--blue);
	color: var(--white);
}

.page-header.page-header--pink {
	background: var(--pink);
	color: var(--white);
}

@media (min-width: 1921px) {

	.page-header__image {
		margin-top: -1.6vw;
		margin-bottom: -1.6vw;
	}
}

@media (max-width: 991px) {

	.page-header {
		padding: 26px 15px;
	}

	.page-header__image {
		margin-top: calc((26px + 9vw) * -1);
		margin-bottom: -50px;
	}

	.page-header .heading.heading--title {
		line-height: 1.2;
		margin-bottom: 8px;
	}

	.page-header .heading.heading--subtitle {
		margin-bottom: 0;
	}
}

@media (max-width: 767px) {

	.page-header__image {
		margin-bottom: -20px;
	}
}

/* ============================================
PAGE SCHEDA PRODOTTO
===============================================*/
.product__abstract {
	font-size: 21px;
	margin-bottom: 32px;
	font-weight: var(--font-weight-bold);
}


.product__description {
	font-size: 23px;
	margin-bottom: 0;
}

@media (max-width: 1600px) {

	.product__abstract {
		font-size: calc(15px + 0.315vw);
		line-height: 1.25;
	}

	.product__description {
		font-size: calc(15px + 0.315vw);
		line-height: 1.25;
	}
}

@media (max-width: 991px) {

	.product__abstract {
		margin-bottom: 16px;
	}
}

/* ============================================
PRODUCTS
===============================================*/
.products__section-title {
	display: block;
	font-family: var(--font-family-sans-serif-title);
	font-weight: var(--font-weight-bold);
	font-size: 30px;
	background-color: var(--pink);
	color: var(--white);
	text-align: center;
	margin: 0;
	padding: 28px 15px;
	text-transform: uppercase;
}

@media (max-width: 1600px) {

	.products__section-title {
		font-size: calc(20px + 0.39vw);
	}
}

/* ============================================
SLIDE VIDEO
===============================================*/
.slide-video {
	position: relative;
	display: flex;
}

.slide-video.slide-video--min-height {
	position: relative;
	min-height: 560px;
}

.slide-video.slide-video--min-height .slide-video__cover {
	position: absolute;
	top: 0;
	left: 50%;
	max-width: unset;
	height: 100%;
	width: auto;
	transform: translateX(-50%);
}

.slide-video__play {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	font-size: 85px;
	color: var(--white);
	cursor: pointer;
	opacity: 0.75;
}

.slide-video__play.slide-video__play--in-content {
	position: static;
	top: unset;
	left: unset;
	transform: unset;
}

.slide-video__play.slide-video__play--blue {
	color: var(--blue);
}

.slide-video__play.slide-video__play--pink {
	color: var(--pink);
}

.slide-video__play.slide-video__play--teal {
	color: var(--teal);
}

.slide-video__play:hover {
	opacity: 1;
}

.slide-video__content {
	position: relative;
	width: 80%;
	margin: auto 10% 32px;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: center;
}

@media (max-width: 575px) {

	.slide-video__play {
		font-size: 46px;
	}
}

/* ============================================
OWL SLIDER VIDEO
===============================================*/
.owl-carousel--video .owl-item {
	overflow: hidden;
}

.owl-carousel--video .owl-item.active::before {
	content: none;
}

.owl-carousel--video .owl-item::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-color: var(--blue);
	opacity: 0.6;
	z-index: 1;
}

.owl-carousel--video .slide-video__play {
	display: none;
}

.owl-carousel--video .owl-item.active .slide-video__play {
	display: block;
}


.owl-carousel--video .owl-nav button {
	color: var(--white);
	font-size: 50px;
	background: transparent !important;
}

.owl-carousel--video .owl-nav button.owl-prev {
	left: 5.7vw;
}

.owl-carousel--video .owl-nav button.owl-next {
	right: 5.7vw;
}

@media (max-width: 991px) {

	.owl-carousel--video .owl-dots {
		bottom: 20px;
	}

	.owl-carousel--video .slide-video__play {
		display: block;
	}
}

@media (max-width: 576px) {

	.owl-carousel--video .slide-video__play {
		font-size: 60px;
	}

	.owl-carousel--video .owl-item::before {
		content: none;
	}
}


/* ============================================
HEADER MENU
===============================================*/
.header-menu {
	display: flex;
	gap: 2rem;
}

.header-menu .menu-item {
	text-transform: uppercase;
	font-size: 21px;
	font-weight: var(--font-weight-bold);
}

@media (max-width: 1600px) {
	.header-menu {
		gap: 1rem;
	}

	.header-menu .menu-item {
		font-size: calc(15px + 0.28vw);
		line-height: 1.25;
	}
}

/* ============================================
LOGIN
===============================================*/

.openNavLogin {
	font-size: 18px;
}

.openNavLogout {
	width: 32px;
	height: 32px;
	background-image: url("../img/ico-personal.png");
	background-repeat: no-repeat;
	background-size: cover;
	cursor: pointer;
}

.openNavLogout:focus {
	outline: none;
}

@media (max-width: 575px) {

	.openNavLogin {
		font-size: 16px;
		padding: 4px 8px;
	}
}


/* ============================================
HAMBURGER MENU
===============================================*/
.hamburger-menu {
	width: 36px;
	cursor: pointer;
}

.hamburger-menu::before,
.hamburger-menu::after {
	content: "";
}

.hamburger-menu::before,
.hamburger-menu::after,
.hamburger-menu div {
	background: var(--white);
	display: block;
	height: 3px;
	border-radius: 5rem;
	margin: 6px 0;
	transition: 0.5s;
}

.hamburger-menu--close::before {
	transform: translateY(9px) rotate(135deg);
}

.hamburger-menu--close::after {
	transform: translateY(-9px) rotate(-135deg);
}

.hamburger-menu--close div {
	transform: scale(0);
}

/* ============================================
SIDENAV
===============================================*/

.sidenav {
	height: 0;
	width: 100%;
	position: fixed;
	left: 0;
	background-color: rgba(33, 0, 255, 0.9);
	overflow-x: hidden;
	transition: 0.5s;
	text-align: center;
	background-size: 100% auto;
	background-repeat: no-repeat;
	z-index: 1080;
}

.sidenav.h-100 {
	height: calc(100% - 90px) !important;
}

.main-menu-mobile {
	list-style: none;
	margin: 0;
	padding: 0;
	padding-inline-start: 0;
}

.main-menu-mobile .menu-item {
	margin-top: 20px;
	margin-bottom: 20px;
}

.main-menu-mobile .menu-item a {
	line-height: 1;
}

@media (max-width: 575px) {

	.sidenav.h-100 {
		height: calc(100% - 70px) !important;
	}
}


/* ============================================
VIDEO MODAL
===============================================*/

.video-modal .modal-dialog {
	width: calc((((16 / 9) * 100) * 1vh) - 100px);
	margin: 0 auto;
	max-width: 100vw;
}

.video-modal .modal-content {
	background: transparent;
	border: none;
}

.video-modal .modal-header {
	background-color: transparent;
	border-color: transparent;
}

.video-modal .modal-header {
	position: relative;
	height: 40px;
}

.video-modal .modal-header .close {
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 50;
	font-size: 40px;
	color: var(--white);
	text-shadow: none;
	opacity: 1;
	padding: 0;
	margin: 0;
}

.video-modal .modal-header .close:hover,
.video-modal .modal-header .close:focus {
	opacity: 1;
	outline: none;
}

/* ============================================
VISUAL IMAGE MARQUEE
===============================================*/

.visual-image-marquee {
	height: 21.46vw;
	text-align: center;
	position: relative;
}

.visual-image-marquee__image {
	position: relative;
	max-height: 100%;
	z-index: 2;
}

.visual-image-marquee__marquee-container {
	position: absolute;
	bottom: 1vw;
	width: 100%;
	z-index: 1;
}

.visual-image-marquee .marquee__text {
	font-size: 17vw;
}

.visual-image-marquee .marquee {
	height: 17vw;
}

@media (max-width: 991px) {

	.visual-image-marquee {
		height: 44.15vw;
	}

	.visual-image-marquee .marquee__text {
		font-size: 12.5vw;
	}

	.visual-image-marquee .marquee {
		height: 12.5vw;
	}
}

/* ============================================
VISUAL TITLE
===============================================*/

.visual-title {
	height: 33vw;
	text-align: left;
	position: relative;
	min-height: 420px;
	overflow: hidden;
}

.visual-title__image {
	position: absolute;
	height: 33vw;
	min-height: 100%;
	max-height: 100%;
	z-index: -2;
	max-width: unset;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}

.visual-title__marquee-container {
	position: absolute;
	bottom: 0;
	width: 100%;
	z-index: 1;
}

.visual-title .marquee__text {
	font-size: calc(100px + 1.3vw);
}

.visual-title .marquee {
	height: calc(100px + 1.3vw);
}

.visual-title__tile {
	color: var(--white);
	font-size: calc(44px + 0.83vw);
}

@media (max-width: 991px) {

	.visual-title {
		height: 77.72vw;
		min-height: unset;
	}

	.visual-title__image {
		height: 77.72vw;
	}
}

@media (max-width: 576px) {

	.visual-title .marquee__text {
		font-size: calc(80px + 1.3vw);
	}

	.visual-title .marquee {
		height: calc(80px + 1.3vw);
	}
}

/* ============================================
OVERLAY
===============================================*/

.header_login {
	line-height: 60px;
}

/* ============================================
TOOLTIP MENU LOGGED USER
===============================================*/
.tooltip .tooltip-inner {
	background-color: var(--teal);
	border-radius: 0;
}

.tooltip .arrow {
	animation-name: none;
}

.tooltip.bs-tooltip-bottom .arrow::before {
	border-bottom-color: var(--teal);
}

.tooltip .user-menu .menu-item {
	display: flex;
	justify-content: center;
}

.tooltip .user-menu .menu-item:hover {
	background-color: var(--blue);
}

.tooltip .user-menu .menu-item a {
	text-transform: uppercase;
	text-decoration: none;
	padding: 5px 10px;
	font-weight: 500;
	width: 100%;
}

.tooltip .user-menu .menu-item.active a,
.tooltip .user-menu .menu-item a:hover {
	background-color: var(--blue);
}

/* ============================================
FORM STYLE
===============================================*/

.area-personale .form-group__label {
	font-size: 23px;
	color: var(--white);
}

@media (max-width: 1600px) {

	.area-personale .form-group__label {
		font-size: calc(16px + 0.435vw);
	}
}

/* ============================================
TEXT OVER IMAGE
===============================================*/

.text-over-image {
	position: relative;
	min-height: 33.75vw;
	overflow: hidden;
}

.text-over-image__image-container {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: -1;
}

.text-over-image__text {
	color: var(--white);
}

.text-over-image__image {
	height: 100%;
	max-width: unset;
}

.text-over-image__title {
	font-family: var(--font-family-sans-serif-title);
	font-weight: var(--font-weight-bold);
	font-size: 40px;
	margin-bottom: 32px;
}

.text-over-image__description {
	font-size: 23px;
	margin-bottom: 0;
}

.text-over-image__description + .text-over-image__cta {
	margin-top: 32px;
}

.text-over-image__link-container {
	margin: 16px 0 0;
}

.text-over-image__link {
	margin: 0;
	font-size: 21px;
}

a.text-over-image__link {
	text-decoration: underline;
}

@media (max-width: 1600px) {

	.text-over-image__title {
		font-size: calc(19px + 0.7425vw);
	}

	.text-over-image__description,
	.text-over-image__abstract {
		font-size: calc(15px + 0.315vw);
		line-height: 1.25;
	}

	.text-over-image__link {
		font-size: calc(15px + 0.315vw);
		line-height: 1.25;
	}
}

@media screen and (max-width: 991px) {

	.text-over-image {
		height: 55vw;
	}

	.text-over-image__image {
		height: auto;
		max-width: 100%;
	}
}

/* ============================================
ICON CARD COMPONENT
===============================================*/
.icon-card {
	margin-bottom: 0;
}

.icon-card__image-container {
	height: 170px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 16px;
}

.icon-card__text-container {
	text-align: center;
}

.icon-card__image {
	max-width: 100%;
	max-height: 170px;
}

.icon-card__description {
	font-size: 23px;
	font-weight: var(--font-weight-medium);
	line-height: 1.3;
	margin-bottom: 0;
}

.icon-card__description a {
	text-decoration: underline;
}

.icon-card__description em {
	font-weight: var(--font-weight-regular);
}

@media (max-width: 1600px) {

	.icon-card__description {
		font-size: calc(15px + 0.315vw);
		line-height: 1.25;
	}
}

@media (max-width: 992px) {

	.icon-card {
		margin-bottom: 32px;
	}
}

/* ============================================
SECTION TITLE
===============================================*/

.section-title {
	font-family: var(--font-family-sans-serif-title);
	font-weight: var(--font-weight-bold);
	font-size: 32px;
	text-align: center;
	margin-bottom: 5px;
}

@media (max-width: 1600px) {

	.section-title {
		font-size: calc(22px + 0.39vw);
	}
}

/* ============================================
CONTEST MODAL
===============================================*/

.contest-modal .modal-content {
	background: transparent;
	border: none;
}

.contest-modal .modal-header {
	background-color: transparent;
	border-color: transparent;
	position: relative;
	height: 40px;
}

.contest-modal .modal-body {
	border-radius: 0;
	background-color: rgba(30, 12, 255, 0.9);
}

.contest-modal .modal-body.modal-body--pink {
	background-color: rgba(255, 0, 240, 0.9);
}

.contest-modal .modal-header .close {
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 50;
	font-size: 40px;
	color: var(--white);
	text-shadow: none;
	opacity: 1;
	padding: 0;
	margin: 0;
}

.contest-modal .modal-header .close:hover,
.contest-modal .modal-header .close:focus {
	opacity: 1;
	outline: none;
}

.contest-modal .contact-form {
	max-width: 600px;
}

.contest-modal .form-group {
	min-height: calc(90px - 1.4rem);
}

.contest-modal .form-group.form-check {
	min-height: auto;
}

.contest-modal .contact-form form {
	min-height: unset;
}

/* ============================================
FORMS
===============================================*/

.custom-file-input:lang(it) ~ .custom-file-label::after {
	content: "Sfoglia";
}

.custom-file,
.custom-file-label,
.custom-file-input {
	height: 50px;
}

.custom-file-label::after {
	display: flex;
	align-items: center;
	height: 44px;
	margin-top: 2px;
	margin-right: 2px;
	padding-left: 75px;
	padding-right: 75px;
	border-radius: 50vw;
	background-color: var(--blue);
	color: var(--white);
	text-transform: uppercase;
	font-style: normal;
}

.contact-form .custom-file-label {
	display: flex;
	align-items: center;
	margin: 0;
	padding-left: 25px;
	font-weight: 300;
	font-size: 18px;
	font-style: italic;
	line-height: 1.5;
	color: #353535;
	cursor: pointer;
	border-radius: 50vw;
	z-index: 100;
}

.custom-file-input.error + .custom-file-label {
	border: 3px solid #f00;
}

.custom-file-input.error + .custom-file-label::after {
	border: 0;
	margin-top: 0;
	margin-right: 0;
}

.contact-form .form-check-input {
	position: absolute;
	margin-top: 3px;
	margin-left: 0;
}


@media (max-width: 1200px) {

	.custom-file-label::after {
		padding-left: 35px;
		padding-right: 35px;
	}
}

@media (max-width: 576px) {

	.custom-file-label::after {
		padding-left: 15px;
		padding-right: 15px;
	}
}

/* ============================================
UPLOAD LOADER
===============================================*/

.upload-loader {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	background-color: rgba(30, 12, 255, 0.9);
	z-index: 200;
	flex-direction: column;
	justify-content: center;
}

.upload-loader__container {
	height: 36px;
	width: 80%;
	display: flex;
	align-items: center;
	background-color: var(--pink);
	border: 6px solid var(--pink);
}

.upload-loader__label {
	font-size: 23px;
	text-transform: uppercase;
	font-style: italic;
	font-weight: var(--font-weight-bold);
	margin-bottom: 40px;
}

.upload-loader__progress {
	width: 100%;
	height: 24px;
	background-color: transparent;
	border-radius: 0;
}

.upload-loader__progress-bar {
	background: hsla(244, 100%, 52%, 1);
	background: linear-gradient(90deg, transparent 0%, hsla(244, 100%, 52%, 1) 100%);
}

@media (max-width: 1600px) {

	.upload-loader__label {
		font-size: calc(15px + 0.315vw);
		line-height: 1.25;
	}
}

/* ============================================
CONTEST THANKS MODAL
===============================================*/
.contest-modal-thanks {
	width: 90%;
	margin: auto;
	padding-top: 10vw;
	padding-bottom: 10vw;
}

/* ============================================
CASTER SLIDER
===============================================*/
.caster-slide__video-title-container {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	height: 100%;
}

.caster-slide__video-title-container .slide-video__play {
	position: static;
	top: 0;
	left: 0;
	transform: unset;
}

.caster-slider .owl-carousel .text-image-row .text-image-row__image-col,
.caster-slider .owl-carousel .text-image-row .text-image-row__text-col {
	min-height: 36vw;
	position: relative;
}

.caster-slider .owl-carousel .owl-item .text-image-row__image-container {
	width: 100%;
}

.caster-slider .owl-carousel .owl-item img.text-image-row__image {
	position: absolute;
	top: 0;
	right: 50%;
	width: auto;
	height: 100%;
	max-width: initial;
	max-height: 100%;
	transform: translateX(calc(50% + 2px));
}

.caster-slider .owl-carousel .text-image-row__title {
	font-family: var(--font-family-sans-serif-title);
	font-weight: var(--font-weight-bold);
	text-transform: uppercase;
	line-height: 1.1;
}

.caster-slider .owl-carousel .text-image-row__abstract {
	font-family: var(--font-family-sans-serif-title);
	font-weight: var(--font-weight-bold);
	line-height: 1.05;
}

.caster-slider .owl-carousel .text-image-row__description {
	line-height: 1.18;
	/* min-height: 4.5vw; */
}

.caster-slider .owl-carousel .text-image-row__text-col {
	flex: 0 0 38%;
	max-width: 38%;
	width: 100%;
	padding: 2.3% 30px 2.8% 70px;
}

.caster-slider .owl-carousel .text-image-row__image-col {
	flex: 0 0 62%;
	max-width: 62%;
	width: 100%;
	padding-right: 15px;
	padding-left: 15px;
}

.caster-slider .owl-carousel .text-image-row__text.text-lg-left {
	padding-top: 25%;
	padding-right: calc(((100vw - 1400px) / 2) + 15px);
}

.caster-slider .owl-carousel .owl-nav button {
	color: var(--white);
	font-size: 50px;
	background: transparent !important;
}

.caster-slider .owl-carousel .owl-nav button.owl-prev {
	left: calc((((100vw - 1400px) / 2) - 60px) / 2);
}

.caster-slider .owl-carousel .owl-nav button.owl-next {
	right: calc((((100vw - 1400px) / 2) - 60px) / 2);
}

.caster-slider .owl-carousel .owl-dots {
	bottom: 20px;
}

.caster-slider .owl-carousel .owl-stage {

	/* display: flex;
	flex: 1 0 auto; */
	display: block;
	height: 100%;
}

.caster-slider .owl-carousel .owl-item {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	justify-content: stretch;
}

.caster-slider .owl-carousel .owl-item .item {
	display: flex;
	height: 100%;
}

.caster-slider .owl-carousel .owl-item .item .text-image-row {
	height: 100%;
	display: flex;
	flex-direction: column;
}

.caster-slider .owl-carousel .owl-item .item .text-image-row__container {
	height: 100%;
	display: flex;
	flex-direction: column;
}

.caster-slider .owl-carousel .owl-item .item .text-image-row__container .text-image-row__row {
	height: 100%;
}

.caster-slider .owl-carousel .owl-item.active {
	z-index: 1;
}

.caster-slider .owl-carousel .owl-nav button {
	line-height: 1;
}

@media screen and (max-width: 1550px) {

	.caster-slider .owl-carousel .owl-nav button.owl-prev {
		left: 0;
	}

	.caster-slider .owl-carousel .owl-nav button.owl-next {
		right: 0;
	}
}

@media screen and (max-width: 1400px) {

	.caster-slider .owl-carousel .text-image-row__text.text-lg-left {
		padding-top: 0;
		padding-right: 15px;
		padding-left: 15px;
	}

	.caster-slider .owl-carousel .text-image-row__text-col {
		padding: 2.3% 70px 2.8% 30px;
	}
}

@media screen and (max-width: 991px) {

	.caster-slider .owl-carousel .text-image-row {
		padding: 0;
	}

	.caster-slider .owl-carousel .text-image-row__container {
		max-width: unset;
	}

	.caster-slider .owl-carousel .text-image-row__image-col,
	.caster-slider .owl-carousel .text-image-row__text-col {
		flex: 0 0 100%;
		max-width: 100%;
		padding-right: 30px;
	}

	.caster-slider .owl-carousel .text-image-row__image-col {
		position: relative;
		padding: 0;
		height: 56.17vw;
	}

	.caster-slider .owl-carousel .text-image-row__text.text-lg-left {
		padding: 0;
		flex: 0 0 67.22%;
		max-width: 67.22%;
	}

	.caster-slider .owl-carousel .text-image-row .text-image-row__text-col {
		padding-top: 40px;
		padding-bottom: 35px;
		min-height: 280px;
	}

	.caster-slider .owl-carousel .text-image-row__image-container {
		position: static;
		width: 100%;
		height: 56.17vw;
	}

	.caster-slider .owl-carousel .owl-item .item .text-image-row__container .text-image-row__row {
		align-content: flex-start;
		margin: 0;
	}

	.caster-slider .owl-carousel .owl-item img.text-image-row__image.text-image-row__image--caster {
		right: 5%;
		transform: none;
	}

	.caster-slider .owl-carousel .text-image-row__title.text-image-row__title--big {
		font-size: calc(25px + 1.17vw);
	}

	.caster-slider .owl-carousel .text-image-row__abstract.text-image-row__abstract--big {
		font-size: calc(15px + 0.315vw);
		line-height: 1.18;
	}

	.caster-slider .owl-carousel .owl-nav button {
		top: 56.17vw;
	}

	.caster-slider .owl-carousel .owl-nav .owl-nav__icon {
		width: 36px;
		display: flex;
	}

	.caster-slider .owl-carousel .owl-item img.text-image-row__image {
		transform: translateX(50%);
	}

	/* .caster-slider .owl-carousel .owl-stage {
		display: inline-block;
		flex: none;
	}

	.caster-slider .owl-carousel .owl-item .item .text-image-row__container .text-image-row__row {
		height: unset;
		width: unset !important;
	} */
}

/* ============================================
TEXT IMAGE ROW - SLIDER
===============================================*/
.text-image-row__image-container .owl-carousel,
.text-image-row__image-container .owl-carousel .owl-stage-outer,
.text-image-row__image-container .owl-carousel .owl-stage-outer .owl-stage,
.text-image-row__image-container .owl-carousel .owl-stage-outer .owl-stage .owl-item,
.text-image-row__image-container .owl-carousel .owl-stage-outer .owl-stage .owl-item .item {
	height: 100%;
}

.text-image-row__image-container .owl-carousel .owl-stage-outer .owl-stage .owl-item .item img {
	object-fit: cover;
	height: 100%;
}

.text-image-row__image-container .owl-carousel .owl-dots {
	bottom: 10px;
	right: 10px;
	justify-content: end;
}

@media screen and (max-width: 991px) {

	.text-image-row__image-container .owl-carousel .owl-dots {
		right: unset;
		justify-content: center;
	}
}

/* ============================================
SITE MESSAGES COMPONENT
===============================================*/
.site-messages {
	position: fixed;
	top: 90px;
	z-index: 200;
	width: 100%;
}

.site-messages .alert {
	border-radius: 0;
	text-align: center;
	font-size: 15px;
	font-weight: var(--font-weight-medium);
}

.site-messages .alert-danger {
	color: var(--white);
	background-color: var(--pink);
	border-color: var(--pink);
}

.site-messages .alert-danger .close:hover {
	color: var(--white);
	opacity: 1;
}

.site-messages .alert-text p:last-child {
	margin-bottom: 0;
}

@media (max-width: 576px) {

	.site-messages {
		top: 70px;
	}
}

/* ============================================
BG GRADIENT DOTS
===============================================*/

.bg-gradient-dots {
	position: relative;
}

.bg-gradient-dots::before,
.bg-gradient-dots::after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}

.bg-gradient-dots::before {
	background-image: linear-gradient(
		129deg,
		hsl(291.97, 60.77%, 40.98%) 0%,
		hsl(291.63, 60.64%, 40.98%) 5.3%,
		hsl(290.66, 60.31%, 40.98%) 10%,
		hsl(289.14, 59.82%, 40.97%) 14.3%,
		hsl(287.14, 59.23%, 40.94%) 18.5%,
		hsl(284.71, 58.59%, 40.9%) 22.6%,
		hsl(281.93, 57.94%, 40.84%) 26.8%,
		hsl(278.87, 57.32%, 40.76%) 31.4%,
		hsl(275.62, 56.76%, 40.65%) 36.5%,
		hsl(272.29, 56.26%, 40.54%) 42.2%,
		hsl(268.99, 55.84%, 40.41%) 48.7%,
		hsl(265.86, 55.5%, 40.29%) 56.3%,
		hsl(263.06, 55.24%, 40.18%) 65%,
		hsl(260.81, 55.05%, 40.08%) 75.1%,
		hsl(259.3, 54.94%, 40.02%) 86.7%,
		hsl(258.75, 54.9%, 40%) 100%
	);
	z-index: -2;
}

.bg-gradient-dots::after {
	background-image: radial-gradient(rgba(255, 255, 255, 0.2) 1px, transparent 2px);
	background-size: calc(25 * 1px) calc(25 * 1px);
	z-index: -1;
}

@media (max-width: 991px) {

	.bg-gradient-dots::before {
		background-image: linear-gradient(
			175deg,
			hsl(315.97, 75.49%, 40%) 0%,
			hsl(315.62, 75.44%, 39.92%) 12.6%,
			hsl(314.62, 75.3%, 39.69%) 23.2%,
			hsl(313.06, 75.07%, 39.33%) 31.9%,
			hsl(311.01, 74.78%, 38.87%) 39.1%,
			hsl(308.54, 74.41%, 38.31%) 45%,
			hsl(305.71, 73.99%, 37.69%) 50%,
			hsl(302.6, 73.51%, 37.02%) 54.4%,
			hsl(299.29, 73.24%, 36.63%) 58.3%,
			hsl(296.12, 73.78%, 37.4%) 62.2%,
			hsl(293.27, 74.27%, 38.1%) 66.3%,
			hsl(290.82, 74.69%, 38.73%) 70.9%,
			hsl(288.8, 75.02%, 39.25%) 76.3%,
			hsl(287.28, 75.28%, 39.65%) 82.7%,
			hsl(286.31, 75.43%, 39.91%) 90.5%,
			hsl(285.97, 75.49%, 40%) 100%
		);
		z-index: -2;
	}
}

@media (max-width: 767px) {

	.bg-gradient-dots::after {
		background-image: radial-gradient(rgba(255, 255, 255, 0.2) 1px, transparent 1px);
		background-size: calc(10 * 1px) calc(10 * 1px);
		z-index: -1;
	}
}

/* ============================================
TEXT UNDER IMAGE
===============================================*/

.text-under-image {
	display: flex;
	flex-direction: column;
}

.text-under-image__text-container {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 40px 0;
}

.text-under-image:nth-child(even) .text-under-image__text-container {
	padding-right: calc((100vw - 1400px) / 2);
	padding-left: calc(1400px / 12 * 1);
}

.text-under-image:nth-child(odd) .text-under-image__text-container {
	padding-left: calc(((100vw - 1400px) / 2) + calc(1400px / 12 * 1));
	padding-right: 30px;
}

.text-under-image__title {
	font-family: var(--font-family-sans-serif-title);
	font-weight: var(--font-weight-bold);
	font-size: 32px;
	margin-bottom: 8px;
}

.text-under-image__description {
	font-size: 23px;
}

.text-under-image__image {
	width: 100%;
	max-width: none;
}

@media screen and (max-width: 1400px) {

	.text-under-image:nth-child(even) .text-under-image__text-container {
		padding-right: 30px;
		padding-left: 30px;
	}

	.text-under-image:nth-child(odd) .text-under-image__text-container {
		padding-left: 30px;
	}
}

@media (max-width: 1600px) {

	.text-under-image__title {
		font-size: calc(22px + 0.39vw);
	}

	.text-under-image__description {
		font-size: calc(15px + 0.315vw);
		line-height: 1.25;
	}
}

@media (max-width: 991px) {

	.text-under-image__text-container {
		padding: 20px 15px 10px;
	}
}

/* ============================================
IMAGE MODAL
===============================================*/

.image-modal .modal-content {
	background: transparent;
	border: none;
}

.image-modal .modal-body {
	background-color: transparent;
	border-color: transparent;
}

.image-modal .modal-body {
	position: relative;
}

.image-modal .modal-body .close {
	position: absolute;
	right: 10px;
	top: 0;
	z-index: 50;
	font-size: 40px;
	color: var(--white);
	text-shadow: none;
	opacity: 1;
	padding: 0;
	margin: 0;
}

.image-modal .modal-body .close:hover,
.image-modal .modal-body .close:focus {
	opacity: 1;
	outline: none;
}

/* ============================================
DISCLAIMER TEXT COMPONENT
===============================================*/

.disclaimer-text {
	font-size: 18px;
}

.disclaimer-text a {
	text-decoration: underline;
}

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

@media (max-width: 1600px) {

	.disclaimer-text {
		font-size: calc(16px + 0.0975vw);
	}
}

/* ============================================
CONTEST FRESH STYLE RUMBLE CUSTOM TEMPLATE
===============================================*/

.concorsi-template-tpl-contest-fresh-style-rumble .icon-card__image-container {
	margin-bottom: 0;
}

.concorsi-template-tpl-contest-fresh-style-rumble .heading.heading--title {
	margin-bottom: 24px;
}

@media (max-width: 991px) {

	.concorsi-template-tpl-contest-fresh-style-rumble .heading.heading--title {
		margin-bottom: 8px;
	}
}

/* ============================================
SUCCESS FORM MESSAGE
===============================================*/

.success-form-message {
	padding: 5vw 30px 8vw;
}

.success-form-message .msg-title {
	font-size: 60px;
	text-transform: uppercase;
	color: transparent;
	/* stylelint-disable-next-line property-no-unknown */
	text-stroke: 2px var(--white);
	-webkit-text-stroke: 2px var(--white);
	line-height: 1;
	font-family: var(--font-family-sans-serif-title);
	font-weight: var(--font-weight-bold);
	margin-bottom: 60px;
}

.success-form-message .msg-text {
	color: var(--white);
	font-size: 24px;
	text-transform: uppercase;
}

@media (max-width: 1600px) {

	.success-form-message .msg-title {
		font-size: calc(35px + 0.975vw);
	}

	.success-form-message .msg-text {
		font-size: calc(20px + 0.1575vw);
	}
}

/* ============================================
HEADER USER SELECT
===============================================*/

.header-user-select {
	width: 265px;
	font-family: var(--font-family-sans-serif);
	font-weight: var(--font-weight-medium);
	font-size: 18px;
	color: var(--blue);
	background: var(--teal) url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2230px%22%20height%3D%2215px%22%20viewBox%3D%220%200%20330%20330%22%3E%3Cpath%20fill%3D%22%231e0cff%22%20d%3D%22M325.607%2C79.393c-5.857-5.857-15.355-5.858-21.213%2C0.001l-139.39%2C139.393L25.607%2C79.393c-5.857-5.857-15.355-5.858-21.213%2C0.001c-5.858%2C5.858-5.858%2C15.355%2C0%2C21.213l150.004%2C150c2.813%2C2.813%2C6.628%2C4.393%2C10.606%2C4.393s7.794-1.581%2C10.606-4.394l149.996-150C331.465%2C94.749%2C331.465%2C85.251%2C325.607%2C79.393z%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E") no-repeat right 0.75rem center/30px 15px;
	border-radius: 50rem;
	padding: 10px 35px 10px 10px;
	border-color: var(--teal);
	height: 50px;
	text-align: center;
}

.header-user-select option[disabled]:first-child {
	display: none;
}

@media (max-width: 1600px) {

	.header-user-select {
		font-size: 16px;
	}
}

/* ============================================
OWL CAROUSEL INSTRUCTION
===============================================*/
.owl-carousel.owl-carousel--instruction .owl-dots {
	bottom: 0;
}

.owl-carousel.owl-carousel--instruction .owl-dots button.owl-dot + button.owl-dot {
	margin-left: 13px;
}

.owl-carousel.owl-carousel--instruction .owl-dots button.owl-dot {
	background: rgba(0, 0, 0, 0.3);
}

.owl-carousel.owl-carousel--instruction .owl-dots button.owl-dot.active {
	background-color: var(--pink);
}

.owl-carousel.owl-carousel--instruction .owl-nav button {
	background: transparent !important;
}


@media (max-width: 991px) {

	.owl-carousel.owl-carousel--instruction .owl-nav button.owl-prev {
		left: calc((100vw - 720px) / -2);
	}

	.owl-carousel.owl-carousel--instruction .owl-nav button.owl-next {
		right: calc((100vw - 720px) / -2);
	}
}

@media (max-width: 767px) {

	.owl-carousel.owl-carousel--instruction .owl-nav__icon {
		width: 36px;
	}

	.owl-carousel.owl-carousel--instruction .owl-nav button.owl-prev {
		left: calc((100vw - 540px) / -2);
	}

	.owl-carousel.owl-carousel--instruction .owl-nav button.owl-next {
		right: calc((100vw - 540px) / -2);
	}
}

@media (max-width: 575px) {

	.owl-carousel.owl-carousel--instruction .owl-nav button.owl-prev {
		left: 0;
	}

	.owl-carousel.owl-carousel--instruction .owl-nav button.owl-next {
		right: 0;
	}
}

/* ============================================
OWL CAROUSEL DOTS VARIANT
ob -> Outside Bottom
===============================================*/

@media (max-width: 991px) {

	.owl-carousel.owl-carousel--nav-ob {
		margin-bottom: 60px;
	}

	.owl-carousel.owl-carousel--nav-ob::after {
		content: "";
		position: absolute;
		bottom: -60px;
		left: 0;
		right: 0;
		height: 60px;
		background-color: var(--blue);
		z-index: -1;
	}

	.owl-carousel.owl-carousel--nav-ob.owl-carousel--nav-ob-gradient::after {
		background: hsla(244, 100%, 52%, 1);
		background: linear-gradient(180deg, hsla(244, 100%, 52%, 1) 0%, hsla(242, 87%, 37%, 1) 100%);
	}

	.owl-carousel.owl-carousel--nav-ob .owl-dots {
		bottom: calc((60px + 10px) / -2);
	}

	.owl-carousel.owl-carousel--nav-ob .owl-dots button.owl-dot + button.owl-dot {
		margin-left: 13px;
	}

	.owl-carousel.owl-carousel--nav-ob .owl-dots button.owl-dot {
		background: rgba(0, 0, 0, 0.3);
	}

	.owl-carousel.owl-carousel--nav-ob .owl-dots button.owl-dot.active {
		background-color: var(--pink);
	}
}

/* ============================================
MODALS
===============================================*/

.modal-dialog.modal-full {
	max-width: none;
	margin: 0;
}

/* ============================================
ACTION STEPS
===============================================*/
.action-steps {
	display: flex;
}

.action-step {
	height: 7px;
	margin: 0 5px;
	background-color: #0e067b;
	border-radius: 7px;
	flex-basis: 0;
	flex-grow: 1;
}

.action-step.action-step--active {
	background-color: var(--pink);
}

/* ============================================
ACTION STEPS
===============================================*/
.title-separator-iced__text {
	font-size: 40px;
	line-height: 1.2;
	margin-bottom: 0;
	font-family: var(--font-family-sans-serif-title);
	font-weight: var(--font-weight-bold);
	text-transform: uppercase;
}

@media (max-width: 1600px) {

	.title-separator-iced__text {
		font-size: calc(19px + 0.7425vw);
	}
}


.contest-modal--gg2022 .croppie-container {
	width: auto;
	height: auto;
}

.contest-modal--gg2022 .croppie-container .cr-resizer,
.contest-modal--gg2022 .croppie-container .cr-viewport {
	box-shadow: 0 0 2000px 2000px var(--gg2022-blue);
	border: none;
}

/* ============================================
SUBMIT LOADER
===============================================*/

.submit-wrapper {
	display: inline-block;
	position: relative;
}

.submit-wrapper.loading input[type="submit"]:not(.btnvigorsol--big) {
	padding-right: 55px;
}

.submit-wrapper.loading .btnvigorsol__loading {
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
}

/* ============================================
SECTION LOADER
===============================================*/
.tsl-section-updating {
	position: relative;
}

.tsl-section-updating::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-color: rgba(16, 6, 140, 0.8);
	z-index: 10;
}

.tsl-section-updating .tsl-section-loading {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	color: var(--white);
	z-index: 15;
}

/* ============================================
TIR IFRAME
===============================================*/
.text-image-row__iframe,
.text-image-row__iframe-content {
	height: 100%;
	width: 100%;
}

@media (max-width: 991px) {

	.text-image-row__iframe {
		height: 59.5vw;
		width: 100%;
	}
}

/* ============================================
FRESH STUDIO
===============================================*/
.page-template-tpl-fresh-studio .page-header {
	background: var(--purple);
    color: var(--white);
	padding: 60px 15px;
}

.page-template-tpl-fresh-studio .page-header a {
	text-decoration: underline;
}

.page-template-tpl-fresh-studio .page-header .heading__image {
	margin-top: 36px;
	max-width: 280px;
}

.page-template-tpl-fresh-studio .owl-carousel--video .owl-item::before {
	background-color: var(--purple);
	opacity: 0.39;
}

.page-template-tpl-fresh-studio .owl-carousel.owl-carousel--one-item.owl-carousel--nav-ob {
	padding-bottom: 0;
	margin-bottom: 0;
}

.page-template-tpl-fresh-studio .owl-carousel.owl-carousel--one-item.owl-carousel--nav-ob::after {
	content: unset;
}

/* ============================================
FRESH STUDIO - Text image row component
===============================================*/
.page-template-tpl-fresh-studio .text-image-row.text-image-row--pink {
	background-color: var(--bubblegum);
}

.page-template-tpl-fresh-studio .text-image-row .text-image-row__title {
	font-size: 40px;
	margin-bottom: 0;
}

.page-template-tpl-fresh-studio .text-image-row .text-image-row__subtitle {
	font-size: 32px;
	margin-bottom: 32px;
}

.page-template-tpl-fresh-studio .text-image-row .text-image-row__text {
	font-size: 23px;
	margin-bottom: 0;
	margin-top: 23px;
}

.page-template-tpl-fresh-studio .text-image-row .text-image-row__title + .text-image-row__cta,
.page-template-tpl-fresh-studio .text-image-row .text-image-row__subtitle + .text-image-row__cta,
.page-template-tpl-fresh-studio .text-image-row .text-image-row__text + .text-image-row__cta {
	margin-top: 32px;
}

@media (max-width: 1600px) {

	.page-template-tpl-fresh-studio .page-header .heading__image {
		max-width: calc(170px + 2vw);
	}

	.page-template-tpl-fresh-studio .text-image-row .text-image-row__title {
		font-size: calc(19px + 0.7425vw);
	}

	.page-template-tpl-fresh-studio .text-image-row .text-image-row__subtitle {
		font-size: calc(20px + 0.2325vw);
	}

	.page-template-tpl-fresh-studio .text-image-row .text-image-row__text {
		font-size: calc(15px + 0.315vw);
		line-height: 1.25;
	}
}

@media (max-width: 991px) {

	.page-template-tpl-fresh-studio .page-header .heading__image {
		max-width: calc(140px + 2vw);
	}

	.page-template-tpl-fresh-studio .text-image-row .text-image-row__title + .text-image-row__cta,
	.page-template-tpl-fresh-studio .text-image-row .text-image-row__subtitle + .text-image-row__cta,
	.page-template-tpl-fresh-studio .text-image-row .text-image-row__text + .text-image-row__cta {
		margin-top: 20px;
	}

	.page-template-tpl-fresh-studio .text-image-row .text-image-row__subtitle {
		margin-bottom: 10px;
	}

	.page-template-tpl-fresh-studio .text-image-row .text-image-row__text {
		margin-top: 10px;
	}
}

body.admin-bar .navbar {
	top: 32px;
}

@media (max-width: 991px) {
	body.admin-bar .navbar {
		top: 0;
	}
}

section.video-section {
	display: grid;
	grid-template-columns: 1fr 2fr 1fr;
}

section.video-section .video-wrapper {
	position: relative;
	padding-top: 56%;
}

section.video-section .video-wrapper .thumbnail {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}

section.video-section .video-wrapper .thumbnail img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

section.video-section .video-wrapper .thumbnail i {
	color: white;
	opacity: 0.9;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	font-size: 80px;
	cursor: pointer;
}

section.video-section .video-wrapper .thumbnail i:hover {
	opacity: 1;
}

section.video-section .video-wrapper video {
	max-width: 100%;
	max-height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}

section.video-section .video-wrapper video.hidden {
	display: none;
}

section.video-section .side-img {
	position: relative;
	overflow: hidden;
}

section.video-section .side-img::after {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-color: blue;
	opacity: 0.6;
}

section.video-section .side-img img {
	position: absolute;
	top: 0;
	bottom: 0;
	max-width: none;
	width: 200%;
	height: auto;
	object-fit: cover;
}

section.video-section .side-img__left img {
	right: 0;
}

section.video-section .side-img__right img {
	left: 0;
}