:root
{
	--color-white: #FFFFFF;
	--color-dark: #000000;
	--color-violet: #7B2683;
	--color-violet-light: #A45A95;  
	--color-violet-extralight: #F7E8FA;
	--font-family-primary: 'Montserrat', serif;
	--color-grey: #7D7D7D;  
	/* --font-family-secondary: 'Inter', sans-serif; */
	--font-family-FontAwesome: 'Font Awesome 6 Free';
}


.position_relative { position: relative; }
.position_absolute { position: absolute !important; }
.position_fixed { position: fixed !important; }


img.cropjef { object-fit: cover; object-position: center; width: 100%; height: 100%; position: absolute; top: 0; left: 0; }
img.cropjef.center_right { object-position: center right; }
img.cropjef.relative { position: relative; }
img.cropjef.width_height_more { width:110%; height: 110%; }
img.cropjef.height_lower { top: 5%; height: 90%; }
.img-responsive { max-width: 100%; height: auto; }

.myrow { display:inline-block; width: 100%; }
.hover_link, .cover_web {position:absolute;top:0; left:0; width:100%; height: 100%;}
.cover_web { z-index: 3; }
.cover_web.half { height: 50%; }
.cover_web.bottom { top: unset; bottom: 0;}
.hover_link { z-index: 7;}
.text_left, .align_left {text-align: left !important;}
.text_center, .align_center {text-align: center !important;}
.text_right, .align_right {text-align: right !important;}
.text_justify {text-align: justify !important;}
.bolder {font-weight: 700 !important;}
.extrabolder {font-weight: 900 !important;}
.semibolder {font-weight: 500 !important;}
.thin {font-weight: 300 !important;}

.text_uppercase 
{
    text-transform: uppercase;
}

.padding_top_zero {padding-top:0 !important}
.padding_left_zero {padding-left:0 !important}
.padding_bottom_zero {padding-bottom:0 !important}
.padding_right_zero {padding-right:0 !important}
.no_padding {padding:0 !important; }

.padding_top_15 { padding-top:15px }
.padding_top_25 { padding-top:25px }
.padding_top_40 { padding-top:40px }
.padding_top_80 { padding-top:80px }
.padding_top_120 { padding-top:120px }

.padding_bottom_15 { padding-bottom:15px }
.padding_bottom_25 { padding-bottom:25px }
.padding_bottom_40 { padding-bottom:40px }
.padding_bottom_80 { padding-bottom:80px }
.padding_bottom_120 { padding-bottom:120px }


.no_margin {margin:0 !important; }

.margin_top_zero, .no_margin_top {margin-top:0 !important}
.margin_top_5 { margin-top:5px }
.margin_top_10 { margin-top:10px }
.margin_top_15 { margin-top:15px }
.margin_top_25 { margin-top:25px }
.margin_top_40 { margin-top:40px }
.margin_top_80 { margin-top:80px }
.margin_top_120 { margin-top:120px }
.margin_top_240 { margin-top:240px }

.margin_bottom_zero, .no_margin_bottom {margin-bottom:0 !important}
.margin_bottom_5 { margin-bottom: 5px }
.margin_bottom_10 { margin-bottom: 10px }
.margin_bottom_15 { margin-bottom:15px }
.margin_bottom_25 { margin-bottom:25px }
.margin_bottom_40 { margin-bottom:40px }
.margin_bottom_80 { margin-bottom:80px }
.margin_bottom_120 { margin-bottom:120px }
.margin_bottom_240 { margin-bottom:240px }


body { margin: 0; padding: 0; font-family: var(--font-family-primary); font-weight: 400; color: var(--color-dark); overflow-x: hidden; background-color: #FFF; }
/*GENERALE*/
@media screen and (min-width:1420px) {
	.container
	{
		max-width: 80vw;
	}
}
@media screen and (min-width:1920px) {
	.container
	{
		max-width: 1420px;
	}
}

strong {
	font-weight: 700;
}
#wrapperWebsite
{
	min-height: 60vh; display: block;
	position: relative; z-index: 1;
	margin-bottom: 40px;
}
.main_title_website { font-family: var(--font-family-primary); font-weight: 400; font-style: normal; color: var(--color-violet); font-size: 2.7rem; line-height: 3.0rem; margin: 0 0 25px; }

.main_title_website strong, .main_title_website.bigger.bolder, .main_title_website.medium.bolder, .main_title_website.extrabigger.bolder {  font-weight: 900 !important; }

.main_title_website.medium {  font-size: 4.0rem; line-height: 4.2rem;  }
.main_title_website.bigger {  font-size: 4.3rem; line-height: 4.6rem; font-weight: 300;  }
.main_title_website.extrabigger {  font-size: 6rem; line-height: 6.2rem; font-weight: 300; }
.main_title_website.smaller {  font-size:2rem; line-height: 2.2rem;  }

.main_title_website.smaller strong {  font-weight: 500 ;  }

.main_title_website.extra_smaller {  font-size:1.5rem; line-height: 1.8rem;  }
.main_title_website p { margin-bottom: 0; }


.main_testo_website { font-family: var(--font-family-primary); font-weight: 300; font-style: normal; color: var(--color-dark); font-size: 1.25rem; line-height: 1.5rem; }
.main_testo_website.smaller {  font-size: 0.9rem; line-height: 1.2rem; font-weight: 400; }
.main_testo_website.extra_smaller {  font-size:11px; line-height:16px; font-weight: 400; }
.main_testo_website.smaller strong, .main_testo_website.extra_smaller strong { font-weight: 500; }
/* .main_testo_website strong {  font-weight: 500;   } */
.main_testo_website.bigger {  font-size: 1.8rem; line-height: 2.4rem; font-weight: 300; }
.main_testo_website.medium {  font-size: 1.5rem; line-height: 1.8rem; font-weight: 300;  }


@media only screen and (max-width: 1199px) 
{
	.main_title_website br { float: left; display: none; }
	.main_testo_website br:not(br + br) { float: left; display: none; }
	.content_footer .main_testo_website br:not(br + br) { float: none; display: inherit; }
}

@media only screen and (max-width: 991px) 
{	
	.main_title_website, .main_title_website.smaller {  font-size: 1.8rem; line-height: 2.0rem;  }
	.main_title_website.bigger, .main_title_website.medium  { font-size: 2.2rem; line-height: 2.4rem; }

	.main_testo_website { font-size: 1.0rem;  }
	.main_testo_website.bigger {  font-size: 20px; line-height: 24px; }
	.main_testo_website.medium {  font-size: 18px; line-height: 24px; }
}

.button_website 
{ 
	background-color: var(--color-violet); 
	color: var(--color-white);
	padding: 10px 25px; 
	display: inline-block; font-weight:900; 
	font-size: 1.3rem; 
	line-height: 1.6rem;
	cursor: pointer;
	display: inline-flex; 
	align-items: center;
	position: relative;
	white-space: nowrap;
    text-decoration: none;
}
.button_website.bigger { font-size: 1.8rem; line-height: 2.2rem; }
.button_website.smaller { font-size:0.9rem; line-height: 1.0rem; }

.button_website:hover { background-color:var(--color-violet-light); color: var(--color-white); }

.button_website > img,
.button_website > span 
{
	margin-left: 25px; display: flex; align-items: center; 
	-webkit-transition: all 0.3s ease-out;
	-moz-transition: all 0.3s ease-out;
	-o-transition: all 0.3s ease-out;
	transition: all 0.3s ease-out;
}

.button_website:hover > img,
.button_website:hover > span 
{ 
	margin-left: 40px; 
	-webkit-transition: all 0.3s ease-out;
	-moz-transition: all 0.3s ease-out;
	-o-transition: all 0.3s ease-out;
	transition: all 0.3s ease-out;
}
.button_website > span > svg {
	height: 15px;
	width: 8px;
}
.button_website > span > svg > path { fill: var(--color-white); }

@media only screen and (max-width: 767px) 
{
	.button_website {
		font-size: 1rem;
		line-height: 1.2rem;
		white-space: unset;
	}	 
}

.whiteColor { color: #FFF; }

.introHome
{
    padding: 40px 0;
    aspect-ratio: 3/1;
}
.bloccoHomeCta
{
    background-color: var(--color-violet-extralight);
    border-radius: 25px;
    margin-bottom: 40px;
    background-image: url("img/patternBG.png");
    background-repeat: no-repeat;
    background-position: right top;
}
.bloccoHomeCta .innerBox
{
    padding: 40px;
}

@media screen and (max-width:991px) {
    .introHome
    {
        padding: 40px 0;
        aspect-ratio: 3/2;
    }
    .bloccoHomeCta {
        background-position: right bottom;
        background-size: 80% 100%;
    }
}