/* ------------------------------------------------------------- */
/* ROOT */
/* ------------------------------------------------------------- */

:root {
--color_orange: #E75120;
--color_grey: #3c3c3b;
--color_white: #ffffff;

--space_x_out: 3rem;
--space_x_out: clamp(3rem, 0.9677rem + 5.6452vw, 10rem);
/*--space_x_ins: 10rem;

--space_y: 2.5rem;
--space_yy: 5rem;
--space_yyy: 7.5rem;*/
}

/*
// <weight>: Use a value from 300 to 800
// <uniquifier>: Use a unique and descriptive class name

.open-sans-<uniquifier> {
  font-family: "Open Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
  font-variation-settings:
    "wdth" 100;
}

.rajdhani-light {
  font-family: "Rajdhani", sans-serif;
  font-weight: 300;
  font-style: normal;
}

.rajdhani-regular {
  font-family: "Rajdhani", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.rajdhani-medium {
  font-family: "Rajdhani", sans-serif;
  font-weight: 500;
  font-style: normal;
}

.rajdhani-semibold {
  font-family: "Rajdhani", sans-serif;
  font-weight: 600;
  font-style: normal;
}

.rajdhani-bold {
  font-family: "Rajdhani", sans-serif;
  font-weight: 700;
  font-style: normal;
}
*/

/* ------------------------------------------------------------- */
/* GENERALE */
/* ------------------------------------------------------------- */

*, *:before, *:after {
box-sizing: border-box;
}
html {
font-size: 62.5%;
scroll-behavior: smooth;
}
body {
min-height: 100vh;
font-family: "Open Sans", sans-serif;
font-optical-sizing: auto;
font-weight: 400;
font-style: normal;
text-size-adjust: none;
text-size-adjust: 100%;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
margin: 0;
padding: 0;
text-align: center;
color: var(--color_grey);
background-color: var(--color_white);
font-feature-settings: "lnum" 1;
}
body.overflow_hidden { overflow: hidden; max-height: 100vh; }
.preload * {
transition: none !important;
}
img { border: none; }
.clearfix:before, .clearfix:after { content: " " !important; display: table !important; }
.clearfix:after { clear: both !important; }
.clearfix { zoom: 1; }
.screen_reader_text { position: absolute; top: -9999px; left: -9999px; }
.row {
display: flex;
flex-direction: row;
}
.column {
display: flex;
flex-direction: column;
}
.wrap {
flex-wrap: wrap;
}
.nowrap {
flex-wrap: nowrap;
}
.fullwidth { display: block; width: 100%; }
.boxed { width: 100%; max-width: 1400px; margin: 0 auto; }
.pad_out_x { padding-left: var(--space_x_out); padding-right: var(--space_x_out); }
.pad_ins_y_t { padding-top: var(--space_y); }
.pad_ins_y_b { padding-bottom: var(--space_y); }
.pad_ins_yy_t { padding-top: var(--space_yy); }
.pad_ins_yy_b { padding-bottom: var(--space_yy); }
.pad_ins_yyy_t { padding-top: var(--space_yyy); }
.pad_ins_yyy_b { padding-bottom: var(--space_yyy); }

/* ------------------------------------------------------------- */
/* COOKIE */
/* ------------------------------------------------------------- */

#box_cookie_bg {
position: fixed;
left: 0;
bottom: 0;
display: none;
width: 100%;
margin: 0;
padding: 3rem var(--space_x_out);
padding: clamp(3rem, 2.4194rem + 1.6129vw, 5rem) var(--space_x_out);
background: var(--color_grey);
z-index: 9999;
}
#box_cookie {
position: relative;
display: block;
width: 100%;
max-width: 1400px;
margin: 0 auto;
padding: 0;
text-align: left;
}
#box_cookie p {
display: inline-block;
font-size: 1.6rem;
font-weight: 400;
margin: 0;
padding: 0;
text-align: left;
line-height: 1.5;
color: var(--color_white);
}
#box_cookie p a {
font-weight: 700;
margin: 0;
padding: 0;
text-decoration: underline;
white-space: normal;
text-transform: uppercase;
transition: color 0.5s;
}
#box_cookie p a, #box_cookie p a:link, #box_cookie p a:visited { color: var(--color_white); }
#box_cookie p a:active, #box_cookie p a:hover, #box_cookie p a:focus { color: var(--color_orange); }
#box_cookie div.buttons {}
#box_cookie a.btn {
display: block;
font-size: 1.6rem;
font-weight: 700;
font-style: normal;
margin: 2em 0 0;
padding: 1rem 2rem;
line-height: 1;
white-space: normal;
text-decoration: none;
letter-spacing: 0.05em;
text-transform: uppercase;
border: 1px solid var(--color_white);
transition: color 0.5s, background-color 0.5s;
}
#box_cookie a.preferenze { margin-right: auto; order: -1; }
#box_cookie a.rifiuta { margin-left: 2em; }
#box_cookie a.preferenze, #box_cookie a.preferenze:link, #box_cookie a.preferenze:visited { color: var(--color_white); background-color: var(--color_grey); }
#box_cookie a.preferenze:active, #box_cookie a.preferenze:hover, #box_cookie a.preferenze:focus { color: var(--color_grey); background-color: var(--color_white); }
#box_cookie a.accetta, #box_cookie a.accetta:link, #box_cookie a.accetta:visited { color: var(--color_grey); background-color: var(--color_white); }
#box_cookie a.accetta:active, #box_cookie a.accetta:hover, #box_cookie a.accetta:focus { color: var(--color_white); background-color: var(--color_grey); }
#box_cookie a.rifiuta, #box_cookie a.rifiuta:link, #box_cookie a.rifiuta:visited { color: var(--color_grey); background-color: var(--color_white); }
#box_cookie a.rifiuta:active, #box_cookie a.rifiuta:hover, #box_cookie a.rifiuta:focus { color: var(--color_white); background-color: var(--color_grey); }

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

#header_bg {
width: 100%;
padding: 0 var(--space_x_out);
text-align: left;
}
header {
position: relative;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
width: 100%;
max-width: 1400px;
margin: 0 auto;
padding: 2.5rem 0;
padding: clamp(2.5rem, 1.7742rem + 2.0161vw, 5rem) 0;
}

/* LOGO */
#logo {
display: block;
width: 6rem;
width: clamp(6rem, 4.5484rem + 4.0323vw, 11rem);
height: auto;
margin: 0;
text-align: left;
flex: 0 0 auto;
}
#header_bg.animation #logo { transition: opacity 1s; opacity: 0; }
#header_bg.animation.on #logo { opacity: 1; }
#logo a {
display: block;
height: 100%;
margin: 0;
padding: 0;
text-align: left;
text-decoration: none;
}
#logo a svg {
display: block;
width: 100%;
margin: 0;
padding: 0;
}
#logo a svg > .orange, #logo a svg > .grey {
transition: fill 0.5s;
}
#logo a svg > .orange, #logo a:link svg > .orange, #logo a:visited svg > .orange { fill: var(--color_orange); }
#logo a:active svg > .orange, #logo a:hover svg > .orange, #logo a:focus svg > .orange { fill: var(--color_grey); }
#logo a svg > .grey, #logo a:link svg > .grey, #logo a:visited svg > .grey { fill: var(--color_grey); }
#logo a:active svg > .grey, #logo a:hover svg > .grey, #logo a:focus svg > .grey { fill: var(--color_orange); }

/* MENU NAV */
#menu_nav {}
#header_bg.animation #menu_nav { transition: opacity 1s 0.2s; opacity: 0; }
#header_bg.animation.on #menu_nav { opacity: 1; }

/* MENU NAV - NAV */
#menu_nav nav { opacity: 1; }
#menu_nav nav > ul {
display: flex;
flex-direction: row;
}
#menu_nav nav > ul > li { }
#menu_nav nav > ul > li:not(:first-child) {
margin-left: 2rem;
margin-left: clamp(2rem, -1.0000rem + 2.5000vw, 3rem);
}
#menu_nav nav > ul > li > a {
position: relative;
font-family: "Rajdhani", sans-serif;
font-size: 2rem;
font-weight: 600;
font-style: normal;
padding: 0.3rem 0;
line-height: normal;
text-decoration: none;
letter-spacing: 0.05em;
text-transform: uppercase;
}
#menu_nav nav > ul > li > a, #menu_nav nav > ul > li > a:link, #menu_nav nav > ul > li > a:visited, #menu_nav nav > ul > li > a:active, #menu_nav nav > ul > li > a:hover, #menu_nav nav > ul > li > a:focus { color: var(--color_grey); }
#menu_nav nav > ul > li.current-menu-item > a, #menu_nav nav > ul > li.current-menu-item > a:link, #menu_nav nav > ul > li.current-menu-item > a:visited, #menu_nav nav > ul > li.current-menu-item > a:active, #menu_nav nav > ul > li.current-menu-item > a:hover, #menu_nav nav > ul > li.current-menu-item > a:focus { color: var(--color_orange); }
#menu_nav nav > ul > li > a::after {
content: "";
position: absolute;
left: 0;
bottom: 0;
display: block;
width: 100%;
height: 1px;
background: var(--color_grey);
transition: transform 0.5s;
}
#menu_nav nav > ul > li.current-menu-item > a::after { background: var(--color_orange); }
#menu_nav nav > ul > li > a::after, #menu_nav nav > ul > li > a:link::after, #menu_nav nav > ul > li > a:visited::after { transform: scaleX(0); }
#menu_nav nav > ul > li > a:active::after, #menu_nav nav > ul > li > a:hover::after, #menu_nav nav > ul > li > a:focus::after { transform: scaleX(1); }
#menu_nav nav > ul > li.current-menu-item > a::after, #menu_nav nav > ul > li.current-menu-item > a:link::after, #menu_nav nav > ul > li.current-menu-item > a:visited::after, #menu_nav nav > ul > li.current-menu-item > a:active::after, #menu_nav nav > ul > li.current-menu-item > a:hover::after, #menu_nav nav > ul > li.current-menu-item > a:focus::after { transform: scaleX(1); }

/* ------------------------------------------------------------- */
/* FOOTER */
/* ------------------------------------------------------------- */

#footer_bg {
display: block;
width: 100%;
padding: 0 var(--space_x_out);
text-align: left;
background-color: var(--color_grey);
}
#footer_bg.animation { transition: opacity 1s; opacity: 0; }
#footer_bg.animation.on { opacity: 1; }
footer {
position: relative;
display: flex;
flex-direction: row;
align-items: center;
width: 100%;
max-width: 1400px;
margin: 0 auto;
padding: 5rem 0;
}

/* FOOTER SOCIAL */
#footer_social {
flex: 0 0 auto;
}
#footer_social ul {
display: flex;
flex-direction: row;
}
#footer_social ul > li {
width:  2.4rem;
}
#footer_social ul > li:not(:first-child) { margin-left: 2rem; }
#footer_social ul > li > a {
display: block;
height: 100%;
margin: 0;
padding: 0;
text-align: left;
text-decoration: none;
transition: opacity 0.5s;
}
#footer_social ul > li > a > svg {
display: block;
width: 100%;
margin: 0;
padding: 0;
}
#footer_social ul > li > a > svg > path { fill: var(--color_white); }
#footer_social ul > li > a, #footer_social ul > li > a:link, #footer_social ul > li > a:visited { opacity: 1; }
#footer_social ul > li > a:active, #footer_social ul > li > a:hover, #footer_social ul > li > a:focus { opacity: 0.5; }

/* FOOTER LEGAL */
#footer_legal {
margin: 0 0 0 6rem;
margin: 0 0 0 clamp(6rem, -6.0000rem + 9.3750vw, 9rem);
opacity: 0.5;
flex: 1 1 auto;
}
#footer_legal p {
font-size: 1.2rem;
line-height: 1.5;
color: var(--color_white);
}
#footer_legal p span { display: inline-block; }
#footer_legal p span.bar:before { content: "| "; display: inline; }

/* FOOTER MENU */
#footer_menu {
flex: 0 0 auto;
}
#footer_menu ul {
display: flex;
flex-direction: row;
text-align: right;
}
#footer_menu ul > li {
font-family: "Rajdhani", sans-serif;
font-size: 1.6rem;
font-weight: 600;
font-style: normal;
line-height: 1;
text-transform: uppercase;
}
#footer_menu ul > li:not(:first-child)::before {
content: "/";
display: inline-block;
margin: 0 1rem;
color: var(--color_white);
}
#footer_menu ul > li > a {
text-decoration: none;
letter-spacing: 0.05em;
color: var(--color_white);
transition: opacity 0.5s;
}
#footer_menu ul > li > a, #footer_menu ul > li > a:link, #footer_menu ul > li > a:visited { opacity: 1; }
#footer_menu ul > li > a:active, #footer_menu ul > li > a:hover, #footer_menu ul > li > a:focus { opacity: 0.5; }

/* ------------------------------------------------------------- */
/* PIXEL RATIO */
/* ------------------------------------------------------------- */

@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (-moz-min-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5) { 


			
}

/* ------------------------------------------------------------- */
/* RESPONSIVE */
/* ------------------------------------------------------------- */

@media (hover: none) and (pointer: coarse) {
    	
}

@media screen and (orientation: landscape) {
    
}

@media screen and (orientation: portrait) {
  
}

@media only screen and (max-width: 1699px) {
	
	
}

@media only screen and (max-width: 1599px) {
	
	
}

@media only screen and (max-width: 1439px) {
	
}

@media only screen and (max-width: 1365px) {
	
}

@media only screen and (max-width: 1279px) {
	
	
}

@media only screen and (max-width: 1199px) {
    
    /* HEADER */
    #menu_nav .menu_icon {
    position: absolute;
    top: 50%;
    right: 0;
    display: block;
    margin: 0;
    padding: 0;
    transform: translateY(-50%);
    z-index: 9300;
    }
    #menu_nav .menu_icon a {
    display: block;
    margin: 0;
    padding: 0;
    text-align: center;
    line-height: 1;
    white-space: normal;
    text-decoration: none;
    cursor: pointer;
    }
    #menu_nav .menu_icon a .icon {
    position: relative;
    display: block;
    width: 32px;
    height: 32px;
    margin: 0;
    padding: 0;
    }
    #menu_nav .menu_icon a .icon span {
    position: absolute;
    right: 0;
    display: block;
    height: 2px;
    width: 100%;
    opacity: 1;
    transform-origin: right center;
    transform: rotate(0deg);
    transition: all 0.5s;
    }
    #menu_nav .menu_icon a .icon span:nth-child(1) { top: 7px; }
    #menu_nav .menu_icon a .icon span:nth-child(2) { top: 15px; }
    #menu_nav .menu_icon a .icon span:nth-child(3) { top: 23px; }
    #menu_nav.open .menu_icon a .icon span:nth-child(1) {
    transform: rotate(-45deg);
    top: 4px;
    right: 5px;
    }
    #menu_nav.open .menu_icon a .icon span:nth-child(2) { width: 0%; opacity: 0; }
    #menu_nav.open .menu_icon a .icon span:nth-child(3) {
    transform: rotate(45deg);
    top: 26px;
    right: 5px;
    width: 100%;
    }
    #menu_nav .menu_icon a .icon span, #menu_nav .menu_icon a:link .icon span, #menu_nav .menu_icon a:visited .icon span { background-color: var(--color_grey); }
    #menu_nav .menu_icon a:active .icon span, #menu_nav .menu_icon a:hover .icon span, #menu_nav .menu_icon a:focus .icon span { background-color: var(--color_grey); }
    #menu_nav.open .menu_icon a .icon span, #menu_nav.open .menu_icon a:link .icon span, #menu_nav.open .menu_icon a:visited .icon span { background-color: var(--color_white); }
    #menu_nav.open .menu_icon a:active .icon span, #menu_nav.open .menu_icon a:hover .icon span, #menu_nav.open .menu_icon a:focus .icon span { background-color: var(--color_white); }
    #menu_nav .menu_icon a .icon span:nth-child(3), #menu_nav .menu_icon a:link .icon span:nth-child(3), #menu_nav .menu_icon a:visited .icon span:nth-child(3) { width: 60%; }
    #menu_nav .menu_icon a:active .icon span:nth-child(3), #menu_nav .menu_icon a:hover .icon span:nth-child(3), #menu_nav .menu_icon a:focus .icon span:nth-child(3) { width: 100%; }
    #menu_nav.open .menu_icon a .icon span:nth-child(3), #menu_nav.open .menu_icon a:link .icon span:nth-child(3), #menu_nav.open .menu_icon a:visited .icon span:nth-child(3) { width: 100%; }
    #menu_nav.open .menu_icon a:active .icon span:nth-child(3), #menu_nav.open .menu_icon a:hover .icon span:nth-child(3), #menu_nav.open .menu_icon a:focus .icon span:nth-child(3) { width: 100%; }
    #menu_nav .mask {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100vh;
    height: 100dvh;
    padding: 0;
    pointer-events: none;
    z-index: 9100;
    }
    #menu_nav.open .mask { pointer-events: auto; overflow-x: hidden; overflow-y: auto; }
    #menu_nav .mask:before {
    content: "";
    position: fixed;
    top: 0;
    right: 0;
    display: block;
    width: 100%;
    height: 100%;
    background-color: var(--color_orange);
    transform: translateX(100%);
    transition: all 0.5s;
    z-index: 9150;
    }
    #menu_nav.open .mask:before { transform: translateX(0); }    
    #menu_nav .mask .mask_inner {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    min-height: 100%;
    padding: 3rem;
    justify-content: center;
    align-items: center;
    transform: translateX(100%);
    transition: all 0.5s;
    z-index: 9500;
    }
    #menu_nav.open .mask .mask_inner { transform: translateX(0); }
    #menu_nav nav {
    opacity: 0;
    transform: translateX(-100px);
    transition: transform 0.8s 0.2s;
    }
    @media (hover: none) and (pointer: coarse) { #menu_nav nav { transition: transform 0.8s 0.2s, opacity 0.8s 0.2s; } }
    #menu_nav.open nav {
    opacity: 1;    
    transform: translateX(0);
    }
    #menu_nav nav > ul { display: block; }
    #menu_nav nav > ul > li { text-align: center; }
    #menu_nav nav > ul > li:not(:first-child) { margin-top: 2rem; margin-left: 0; }
    #menu_nav nav > ul > li > a {
    font-size: 2.5rem;
    font-size: clamp(2.5rem, 1.0000rem + 4.1667vw, 6rem);
    }
    #menu_nav nav > ul > li > a, #menu_nav nav > ul > li > a:link, #menu_nav nav > ul > li > a:visited, #menu_nav nav > ul > li > a:active, #menu_nav nav > ul > li > a:hover, #menu_nav nav > ul > li > a:focus { color: var(--color_white); }
    #menu_nav nav > ul > li.current-menu-item > a, #menu_nav nav > ul > li.current-menu-item > a:link, #menu_nav nav > ul > li.current-menu-item > a:visited, #menu_nav nav > ul > li.current-menu-item > a:active, #menu_nav nav > ul > li.current-menu-item > a:hover, #menu_nav nav > ul > li.current-menu-item > a:focus { color: var(--color_white); }
    #menu_nav nav > ul > li > a::after { background: var(--color_white); }
    #menu_nav nav > ul > li.current-menu-item > a::after { background: var(--color_white); }
    
    /* FOOTER */
    footer { justify-content: space-between; }
    #footer_legal {
    width: 100%;
    margin: 5rem 0 0;
    order: 1;
    }
	
}

@media only screen and (max-width: 1111px) {
		
	
}

@media only screen and (max-width: 1023px) {
	
	
}

@media only screen and (max-width: 833px) {
	
}

@media only screen and (max-width: 767px) {
    
    /* FOOTER */
    #footer_legal p span.bar { display: block; }
    #footer_legal p span.bar:before { content: ""; }
	
}

@media only screen and (max-width: 735px) {
	
}

@media only screen and (max-width: 666px) {
	
    
}
	

@media only screen and (max-width: 599px) {
    
    /* COOKIE */
	#box_cookie div.buttons { display: block; }
	#box_cookie a.btn { margin: 1em 0 0; text-align: center; }
	#box_cookie a.accetta { margin-top: 1.5em; }
	#box_cookie a.rifiuta { margin-left: 0; }    
    #box_cookie a.preferenze { margin-right: 0; }
	
    /* FOOTER */
    footer { display: block; }
    #footer_legal { margin: 4rem 0 2.5rem; }
	
}

@media only screen and (max-width: 567px) {
	
	
}

@media only screen and (max-width: 479px) {
	
	
}

@media only screen and (max-width: 413px) {
	
}

@media only screen and (max-width: 374px) {
    
    /* FOOTER */
    #footer_legal p { font-size: 1.1rem; }
	
}

@media only screen and (max-width: 359px) {
	
}