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

:root {
--color_blue: #4470a1;
--color_azure: #61a0d7;
--color_dark_grey: #3c3c3b;
--color_medium_grey: #838383;
--color_light_grey: #f4f4f4;
--color_white: #ffffff;

--header_top: 60px;
--header_bottom: 50px;
--header_top_fix: 45px;
--header_bottom_fix: 45px;
--header_height: 181px; /* DA RILEVARE E AGGIORNARE */
--header_bg_mobile: 0;

--space_x: 100px;
--space_x_out: 100px;
--space_y: 50px;
--space_yy: calc(var(--space_y) * 2);
--space_yyy: calc(var(--space_y) * 3);
--space_yyyy: calc(var(--space_y) * 4);

--space_yy_negative: calc(0px - var(--space_yy));

--triangle_height: var(--space_yy);
--triangle_height_top_bg: var(--space_yyyy);
--triangle_tip_sx: calc(50% - 600px);
--triangle_tip_dx: calc(50% + 600px);

--languages_width: 4rem;
--languages_items: 4;
}

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

*, *:before, *:after {
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
html { font-size: 62.5%; }
body {
min-height: 100vh;
font-family: 'Raleway', sans-serif;
-webkit-text-size-adjust: none;
-moz-text-size-adjust: none;
-ms-text-size-adjust: none;
-webkit-text-size-adjust: 100%;
-moz-text-size-adjust: 100%;
-ms-text-size-adjust: 100%;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
margin: 0;
padding: 0;
text-align: center;
color: var(--color_dark_grey);
background: var(--color_white);
-webkit-font-feature-settings: "lnum" 1;
-moz-font-feature-settings: "lnum" 1;
-ms-font-feature-settings: "lnum" 1;
font-feature-settings: "lnum" 1;
}
.preload * {
-webkit-transition: none !important;
-moz-transition: none !important;
-ms-transition: none !important;
-o-transition: none !important;
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: -webkit-box;
display: -webkit-flex;
display: -moz-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-webkit-flex-direction: row;
-moz-box-orient: horizontal;
-moz-box-direction: normal;
-ms-flex-direction: row;
flex-direction: row;
}
.column {
display: -webkit-box;
display: -webkit-flex;
display: -moz-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-moz-box-orient: vertical;
-moz-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
}
.wrap {
-webkit-flex-wrap: wrap;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
}
.nowrap {
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
}
.fullwidth { display: block; width: 100%; }
.boxed { width: 100%; max-width: 1400px; margin: 0 auto; }
.half_w > div { width: 50%; }
.bg_azure { background-color: var(--color_azure); }
.bg_white { background-color: var(--color_white); }
.bg_grey { background-color: var(--color_light_grey); }
.pad_out_x { padding-left: var(--space_x_out); padding-right: var(--space_x_out); }
.pad_ins_x_sx { padding-left: var(--space_x); }
.pad_ins_x_dx { padding-right: var(--space_x); }
.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); }
.pad_ins_yyyy_t { padding-top: var(--space_yyyy); }
.pad_ins_yyyy_b { padding-bottom: var(--space_yyyy); }

/*.hide { display: none; }*/

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

#box_cookie_bg {
position: fixed;
left: 0;
bottom: 0;
display: none;
width: 100%;
margin: 0;
padding: var(--space_y) var(--space_x_out);
background: var(--color_dark_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.4rem;
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;
-webkit-transition: color 0.3s;
-o-transition: color 0.3s;
transition: color 0.3s;
}
#box_cookie p a, #box_cookie p a:link, #box_cookie p a:visited { color: var(--color_azure); }
#box_cookie p a:active, #box_cookie p a:hover, #box_cookie p a:focus { color: var(--color_white); }
#box_cookie div.buttons {}
#box_cookie a.btn {
display: block;
font-size: 1.4rem;
font-weight: 700;
margin: 2em 0 0;
padding: 1em 2em;
line-height: 1;
letter-spacing: 0.1em;
text-decoration: none;
white-space: normal;
text-transform: uppercase;
-webkit-transition: color 0.3s, background-color 0.3s;
	 -o-transition: color 0.3s, background-color 0.3s;
		transition: color 0.3s, background-color 0.3s;
}
#box_cookie a.preferenze { margin-right: auto; order: -1; }
#box_cookie a.rifiuta { margin-left: 2em; border: 1px solid var(--color_white); }
#box_cookie a.preferenze, #box_cookie a.preferenze:link, #box_cookie a.preferenze:visited { color: var(--color_white); background-color: var(--color_medium_grey); }
#box_cookie a.preferenze:active, #box_cookie a.preferenze:hover, #box_cookie a.preferenze:focus { color: var(--color_medium_grey); background-color: var(--color_white); }
#box_cookie a.accetta, #box_cookie a.accetta:link, #box_cookie a.accetta:visited { color: var(--color_white); background-color: var(--color_azure); }
#box_cookie a.accetta:active, #box_cookie a.accetta:hover, #box_cookie a.accetta:focus { color: var(--color_azure); background-color: var(--color_white); }
#box_cookie a.rifiuta, #box_cookie a.rifiuta:link, #box_cookie a.rifiuta:visited { color: var(--color_white); background-color: var(--color_dark_grey); }
#box_cookie a.rifiuta:active, #box_cookie a.rifiuta:hover, #box_cookie a.rifiuta:focus { color: var(--color_dark_grey); background-color: var(--color_white); }

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

#header_bg {
position: absolute;
top: 0;
left: 0;
display: block;
width: 100%;
text-align: left;
z-index: 9000;
}
#header_bg.is_fixed {
position: fixed;
box-shadow: 0px 1px 3px 0px rgba(0,0,0,0.2);
background-color: var(--color_white);
-webkit-transform: translate3d(0, -100%, 0);
   -moz-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0);
}
#header_bg.can_animate {
-webkit-transition: visibility 0s 0.3s linear, -webkit-transform 0.3s ease;
transition: visibility 0s 0.3s linear, -webkit-transform 0.3s ease;
-o-transition: transform 0.3s ease, visibility 0s 0.3s linear;
transition: transform 0.3s ease, visibility 0s 0.3s linear;
transition: transform 0.3s ease, visibility 0s 0.3s linear, -webkit-transform 0.3s ease;
}
#header_bg.scroll_up {
-webkit-transform: translate3d(0, 0, 0);
   -moz-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
}
header {
position: relative;
border-bottom: 1px solid rgba(255,255,255,0.25);
}
#header_bg header { margin-top: var(--header_top); }
#header_bg.is_fixed header { margin-top: 0; border-bottom: none; }

/* LOGO */
header div.logo {
display: block;
width: 266px;
height: 70px;
margin-bottom: var(--header_bottom);
padding: 0;
text-align: left;
-webkit-box-flex: 0;
-webkit-flex: 0 0 auto;
-moz-box-flex: 0;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
}
#header_bg.is_fixed header div.logo {
margin-bottom: 0;
-webkit-align-self: center;
-ms-flex-item-align: center;
-ms-grid-row-align: center;
align-self: center;
}
header div.logo a {
display: block;
height: 100%;
margin: 0;
padding: 0;
text-align: left;
text-decoration: none;
}
header div.logo a svg { display: block; width: 100%; margin: 0; padding: 0; }
header div.logo a svg > .blue, header div.logo a svg > .azure {
-webkit-transition: fill 0.3s;
	 -o-transition: fill 0.3s;
   -moz-transition: fill 0.3s;
		transition: fill 0.3s;
}
header div.logo a svg > .blue, header div.logo a:link svg > .blue, header div.logo a:visited svg > .blue { fill: var(--color_white); }
header div.logo a:active svg > .blue, header div.logo a:hover svg > .blue, header div.logo a:focus svg > .blue { fill: rgba(255,255,255,0.6); }
header div.logo a svg > .azure, header div.logo a:link svg > .azure, header div.logo a:visited svg > .azure { fill: rgba(255,255,255,0.6); }
header div.logo a:active svg > .azure, header div.logo a:hover svg > .azure, header div.logo a:focus svg > .azure { fill: rgba(255,255,255,0.3); }
#header_bg.is_fixed header div.logo a svg > .blue, #header_bg.is_fixed header div.logo a:link svg > .blue, #header_bg.is_fixed header div.logo a:visited svg > .blue { fill: var(--color_blue); }
#header_bg.is_fixed header div.logo a:active svg > .blue, #header_bg.is_fixed header div.logo a:hover svg > .blue, #header_bg.is_fixed header div.logo a:focus svg > .blue { fill: var(--color_dark_grey); }
#header_bg.is_fixed header div.logo a svg > .azure, #header_bg.is_fixed header div.logo a:link svg > .azure, #header_bg.is_fixed header div.logo a:visited svg > .azure { fill: var(--color_azure); }
#header_bg.is_fixed header div.logo a:active svg > .azure, #header_bg.is_fixed header div.logo a:hover svg > .azure, #header_bg.is_fixed header div.logo a:focus svg > .azure { fill: var(--color_dark_grey); }

/* MENU NAV */
nav#menu_nav {
display: block;
margin-left: auto;
padding: 0;
text-align: left;
-webkit-align-self: flex-end;
    -ms-flex-item-align: end;
        align-self: flex-end;
z-index: 9100;
}
#header_bg.is_fixed nav#menu_nav {
margin-top: var(--header_top_fix);
 -webkit-align-self: stretch;
-ms-flex-item-align: stretch;
 -ms-grid-row-align: stretch;
         align-self: stretch;
}
#menu_nav .menu_mobile { display: none; }
nav#menu_nav ul li { position: relative; }
nav#menu_nav ul li a span.arrow { display: none; }

/* LVL 1 */
nav#menu_nav > ul { z-index: 9200; }
nav#menu_nav > ul > li {
display: block;
font-size: 1.8rem;
font-weight: 700;
line-height: 1;
margin: 0 0 0 40px;
}
nav#menu_nav > ul > li > a {
display: block;
margin: 0;
padding-bottom: var(--header_bottom);
text-decoration: none;
white-space: nowrap;
-webkit-transition: color 0.3s;
	 -o-transition: color 0.3s;
   -moz-transition: color 0.3s;
		transition: color 0.3s;
}
#header_bg.is_fixed nav#menu_nav > ul > li > a { padding-bottom: var(--header_bottom_fix); }
nav#menu_nav > ul > li > a, nav#menu_nav > ul > li > a:link, nav#menu_nav > ul > li > a:visited { color: rgba(255,255,255,1); }
nav#menu_nav > ul > li > a:active, nav#menu_nav > ul > li > a:hover, nav#menu_nav > ul > li > a:focus { color: rgba(255,255,255,0.5); }
nav#menu_nav > ul > li.active > a, nav#menu_nav > ul > li.active > a:link, nav#menu_nav > ul > li.active > a:visited, nav#menu_nav > ul > li.active > a:active, nav#menu_nav > ul > li.active > a:hover, nav#menu_nav > ul > li.active > a:focus { color: rgba(255,255,255,0.5); }
#header_bg.is_fixed nav#menu_nav > ul > li > a, #header_bg.is_fixed nav#menu_nav > ul > li > a:link, #header_bg.is_fixed nav#menu_nav > ul > li > a:visited { color: var(--color_dark_grey); }
#header_bg.is_fixed nav#menu_nav > ul > li > a:active, #header_bg.is_fixed nav#menu_nav > ul > li > a:hover, #header_bg.is_fixed nav#menu_nav > ul > li > a:focus { color: var(--color_azure); }
#header_bg.is_fixed nav#menu_nav > ul > li.active > a, #header_bg.is_fixed nav#menu_nav > ul > li.active > a:link, #header_bg.is_fixed nav#menu_nav > ul > li.active > a:visited, #header_bg.is_fixed nav#menu_nav > ul > li.active > a:active, #header_bg.is_fixed nav#menu_nav > ul > li.active > a:hover, #header_bg.is_fixed nav#menu_nav > ul > li.active > a:focus { color: var(--color_azure); }

/* LVL 2 */
nav#menu_nav > ul > li > ul {
position: absolute;
top: 100%;
right: -30px;
width: auto;
margin: 0;
padding: 0;
opacity: 0;
visibility: hidden;
-webkit-transition: all 0.3s, height 0ms;
	 -o-transition: all 0.3s, height 0ms;
		transition: all 0.3s, height 0ms;
z-index: 9200;
}
#header_bg.is_fixed nav#menu_nav > ul > li > ul { padding: 1px 0 0; box-shadow: 0px 1px 2px 0px rgba(0,0,0,0.2); }
nav#menu_nav > ul > li > ul:after {
position: absolute;
right: 20px;
top: -10px;
content: "";
display: block;
width: 0;
height: 0;
border-left: 10px solid transparent;
border-right: 10px solid transparent;
border-bottom: 10px solid var(--color_white);
}
#header_bg.is_fixed nav#menu_nav > ul > li > ul:after { top: -9px; border-bottom-color: var(--color_azure); }
nav#menu_nav > ul > li:hover > ul { opacity: 1; visibility: visible; }
nav#menu_nav > ul > li > ul > li {
display: block;
font-size: 1.6rem;
font-weight: 600;
margin: 0;
border-top: 1px solid #ebebeb;
}
nav#menu_nav > ul > li > ul > li:first-child { border-top: none; }
nav#menu_nav > ul > li > ul > li > a {
display: block;
margin: 0;
padding: 15px 30px;
text-decoration: none;
white-space: nowrap;
-webkit-transition: color 0.3s, background-color 0.3s;
	 -o-transition: color 0.3s, background-color 0.3s;
   -moz-transition: color 0.3s, background-color 0.3s;
		transition: color 0.3s, background-color 0.3s;
}
nav#menu_nav > ul > li > ul > li.active:after {
position: absolute;
right: 0;
top: 50%;
content: "";
display: block;
width: 0;
height: 0;
border-top: 8px solid transparent;
border-right: 8px solid var(--color_blue);
border-bottom: 8px solid transparent;
-webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
        transform: translateY(-50%);
}
nav#menu_nav > ul > li > ul > li > a, nav#menu_nav > ul > li > ul > li > a:link, nav#menu_nav > ul > li > ul > li > a:visited { color: var(--color_dark_grey); background-color: var(--color_white); }
nav#menu_nav > ul > li > ul > li > a:active, nav#menu_nav > ul > li > ul > li > a:hover, nav#menu_nav > ul > li > ul > li > a:focus { color: var(--color_blue); background-color: var(--color_light_grey); }
nav#menu_nav > ul > li > ul > li.active > a, nav#menu_nav > ul > li > ul > li.active > a:link, nav#menu_nav > ul > li > ul > li.active > a:visited, nav#menu_nav > ul > li > ul > li.active > a:active, nav#menu_nav > ul > li > ul > li.active > a:hover, nav#menu_nav > ul > li > ul > li.active > a:focus { color: var(--color_blue); background-color: var(--color_light_grey); }

/* LVL 3 */
nav#menu_nav > ul > li > ul > li > ul {
position: absolute;
top: 0;
right: 100%;
width: auto;
margin: 0;
padding: 0 1px 0 0;
opacity: 0;
visibility: hidden;
-webkit-transition: all 0.3s, height 0ms;
	 -o-transition: all 0.3s, height 0ms;
		transition: all 0.3s, height 0ms;
z-index: 9400;
}
#header_bg.is_fixed nav#menu_nav > ul > li > ul > li > ul { box-shadow: -1px 1px 2px 0px rgba(0,0,0,0.2); }
nav#menu_nav > ul > li > ul > li:hover > ul { opacity: 1; visibility: visible; }
nav#menu_nav > ul > li > ul > li > ul > li {
display: block;
font-size: 1.6rem;
font-weight: 600;
margin: 0;
border-top: 1px solid #ebebeb;
}
nav#menu_nav > ul > li > ul > li > ul > li:first-child { border-top: none; }
nav#menu_nav > ul > li > ul > li > ul > li > a {
display: block;
margin: 0;
padding: 15px 30px;
text-decoration: none;
white-space: nowrap;
-webkit-transition: color 0.3s, background-color 0.3s;
	 -o-transition: color 0.3s, background-color 0.3s;
   -moz-transition: color 0.3s, background-color 0.3s;
		transition: color 0.3s, background-color 0.3s;
}
nav#menu_nav > ul > li > ul > li > ul > li.active:after {
position: absolute;
right: 0;
top: 50%;
content: "";
display: block;
width: 0;
height: 0;
border-top: 8px solid transparent;
border-right: 8px solid var(--color_blue);
border-bottom: 8px solid transparent;
-webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
        transform: translateY(-50%);
}
nav#menu_nav > ul > li > ul > li > ul > li > a, nav#menu_nav > ul > li > ul > li > ul > li > a:link, nav#menu_nav > ul > li > ul > li > ul > li > a:visited { color: var(--color_dark_grey); background-color: var(--color_white); }
nav#menu_nav > ul > li > ul > li > ul > li > a:active, nav#menu_nav > ul > li > ul > li > ul > li > a:hover, nav#menu_nav > ul > li > ul > li > ul > li > a:focus { color: var(--color_blue); background-color: var(--color_light_grey); }
nav#menu_nav > ul > li > ul > li > ul > li.active > a, nav#menu_nav > ul > li > ul > li > ul > li.active > a:link, nav#menu_nav > ul > li > ul > li > ul > li.active > a:visited, nav#menu_nav > ul > li > ul > li > ul > li.active > a:active, nav#menu_nav > ul > li > ul > li > ul > li.active > a:hover, nav#menu_nav > ul > li > ul > li > ul > li.active > a:focus { color: var(--color_blue); background-color: var(--color_light_grey); }

/* TOOLS */
#tools {
position: absolute;
top: -8px;
right: 0;
z-index: 9500;
}
#header_bg.is_fixed #tools { display: none; }

/* CONTACTS */
#tools ul.contacts {
-webkit-box-flex: 0;
-webkit-flex: 0 0 auto;
-moz-box-flex: 0;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
}
#tools ul.contacts li {
display: block;
width: 40px;
margin: 0 10px 0 0;
text-align: center;
line-height: 1;
border: 1px solid rgba(255,255,255,0.25);
}
#tools ul.contacts li a {
display: block;
height: 100%;
margin: 0;
padding: 4px 10px;
text-decoration: none;
white-space: normal;
-webkit-transition: background-color 0.3s;
	 -o-transition: background-color 0.3s;
		transition: background-color 0.3s;
}
#tools ul.contacts li a, #tools ul.contacts li a:link, #tools ul.contacts li a:visited { background-color: transparent; }
#tools ul.contacts li a:active, #tools ul.contacts li a:hover, #tools ul.contacts li a:focus { background-color: var(--color_white); }
#tools ul.contacts li a span {
height: 100%;
-webkit-box-align: center;
-webkit-align-items: center;
     -ms-flex-align: center;
        align-items: center;
}
#tools ul.contacts li a svg {
display: block;
width: 100%;
margin: 0;
padding: 0;
}
#tools ul.contacts li a svg > .colore {
-webkit-transition: fill 0.3s;
-o-transition: fill 0.3s;
-moz-transition: fill 0.3s;
transition: fill 0.3s;
}
#tools ul.contacts li a svg > .colore, #tools ul.contacts li a:link svg > .colore, #tools ul.contacts li a:visited svg > .colore { fill: var(--color_white); }
#tools ul.contacts li a:active svg > .colore, #tools ul.contacts li a:hover svg > .colore, #tools ul.contacts li a:focus svg > .colore { fill: var(--color_blue); }

/* LANGUAGES */
#languages {
position: relative;
}
#languages span.choice {
display: block;
margin: 0;
padding: 0;
}
#languages span.choice a {
position: relative;
display: block;
font-size: 1.4rem;
font-weight: 700;
margin: 0;
padding: 0.571428em 0.714285em 0.571428em 2em;
text-align: left;
line-height: 1;
white-space: normal;
text-decoration: none;
text-transform: uppercase;
border: 1px solid rgba(255,255,255,0.25);
-webkit-transition: color 0.3s, background-color 0.3s;
	 -o-transition: color 0.3s, background-color 0.3s;
		transition: color 0.3s, background-color 0.3s;
}
#languages span.choice a, #languages span.choice a:link, #languages span.choice a:visited { color: var(--color_white); background-color: transparent; }
#languages span.choice a:active, #languages span.choice a:hover, #languages span.choice a:focus { color: var(--color_blue); background-color: var(--color_white); }
#languages span.choice a span.arrow {
position: absolute;
left: 10px;
top: 50%;
display: block;
width: 8px;
height: 12px;
margin-top: -6px;
}
#languages span.choice a span.arrow:before, #languages span.choice a span.arrow:after {
content: "";
position: absolute;
left: 50%;
display: block;
width: 2px;
height: 8px;   
-webkit-transition: all 0.3s;
-o-transition: all 0.3s;
-moz-transition: all 0.3s;
transition: all 0.3s;
}
#languages span.choice a span.arrow:before {
top: 50%;
-webkit-transform: translateY(-6px) rotate(-45deg);
    -ms-transform: translateY(-6px) rotate(-45deg);
        transform: translateY(-6px) rotate(-45deg);
}
#languages span.choice a span.arrow:after {
bottom: 50%;
-webkit-transform: translateY(6px) rotate(45deg);
    -ms-transform: translateY(6px) rotate(45deg);
        transform: translateY(6px) rotate(45deg);
}
#languages.open span.choice a span.arrow:before {
-webkit-transform: translateY(-6px) rotate(45deg);
    -ms-transform: translateY(-6px) rotate(45deg);
        transform: translateY(-6px) rotate(45deg);
}
#languages.open span.choice a span.arrow:after {
-webkit-transform: translateY(6px) rotate(-45deg);
    -ms-transform: translateY(6px) rotate(-45deg);
        transform: translateY(6px) rotate(-45deg);
}
#languages span.choice a span.arrow:before, #languages span.choice a:link span.arrow:before, #languages span.choice a:visited span.arrow:before, #languages span.choice a span.arrow:after, #languages span.choice a:link span.arrow:after, #languages span.choice a:visited span.arrow:after { background-color: var(--color_white); }
#languages span.choice a:active span.arrow:before, #languages span.choice a:hover span.arrow:before, #languages span.choice a:focus span.arrow:before, #languages span.choice a:active span.arrow:after, #languages span.choice a:hover span.arrow:after, #languages span.choice a:focus span.arrow:after { background-color: var(--color_blue); }
#languages .mask {
width: 0;
-webkit-transition: width 0.5s;
	 -o-transition: width 0.5s;
		transition: width 0.5s;
overflow: hidden;
order: -1;
}
#languages.open .mask {
width: calc(var(--languages_width) * var(--languages_items));
}
#languages ul { margin: 0; padding: 0; }
#languages ul li {
display: block;
width: var(--languages_width);
margin: 0;
padding: 0;
-webkit-box-flex: 0;
-webkit-flex: 0 0 auto;
-moz-box-flex: 0;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
border-right: 1px solid var(--color_light_grey);
}
#languages ul li a {
position: relative;
display: block;
font-size: 1.4rem;
font-weight: 600;
margin: 0;
padding: 0.571428em 0.714285em;
text-align: center;
line-height: 1;
text-decoration: none;
white-space: normal;
text-transform: uppercase;
border: 1px solid rgba(255,255,255,0.25);
-webkit-transition: color 0.3s, background-color 0.3s;
	 -o-transition: color 0.3s, background-color 0.3s;
   -moz-transition: color 0.3s, background-color 0.3s;
		transition: color 0.3s, background-color 0.3s;
}
#languages ul li a, #languages ul li a:link, #languages ul li a:visited { color: var(--color_dark_grey); background-color: var(--color_white); }
#languages ul li a:active, #languages ul li a:hover, #languages ul li a:focus { color: var(--color_blue); background-color: var(--color_light_grey); }
#languages ul li.active a, #languages ul li.active a:link, #languages ul li.active a:visited, #languages ul li.active a:active, #languages ul li.active a:hover, #languages ul li.active a:focus { color: #cccccc; background-color: var(--color_white); }

/* ------------------------------------------------------------- */
/* TOP BG */
/* ------------------------------------------------------------- */

#top_bg {
position: relative;
padding-top: calc(var(--header_height) + var(--space_x_out));
background: var(--color_blue);
background: linear-gradient(var(--color_blue), var(--color_azure));
z-index: 1;
}
#top_bg:after {
content: "";
position: absolute;
left: 0;
bottom: -5px;
display: block;
width: 100%;
height: var(--triangle_height_top_bg);
background-color: var(--color_white);
-webkit-clip-path: polygon(var(--triangle_tip_dx) 0, 0 -webkit-calc(75% - 5px), 0 100%, 100% 100%, 100% 50%);
        clip-path: polygon(var(--triangle_tip_dx) 0, 0 calc(75% - 5px), 0 100%, 100% 100%, 100% 50%);
z-index: 2;
}

/* ------------------------------------------------------------- */
/* COVER */
/* ------------------------------------------------------------- */

#cover_bg {
position: relative;
z-index: 5;
}

/* COVER */
#cover {
position: relative;
-webkit-align-self: flex-end;
    -ms-flex-item-align: end;
        align-self: flex-end;
}

/* COVER PH */
#cover_ph {
width: 100%;
height: auto;
}
#cover_ph figure {
display: block;
width: 100%;
height: auto;
margin: 0;
padding: 0;
text-align: left;
overflow: hidden;
}
#cover_ph img {
display: block;
width: 100%;
height: auto;
/*-o-object-fit: cover;
object-fit: cover;*/
}

/* TEXT */
#cover_bg .text {
text-align: left;
 -webkit-align-self: center;
-ms-flex-item-align: center;
 -ms-grid-row-align: center;
		 align-self: center;
order: -1;
padding-bottom: calc(var(--triangle_height_top_bg) - var(--space_yy));
}
#cover_bg .text .btn { margin-top: 3rem; }
#cover_bg #cover_text .swiper-wrapper {
-webkit-box-align: center;
-webkit-align-items: center;
     -ms-flex-align: center;
        align-items: center;		 
}

/* PRETITLE */
#cover_bg .text .pre_title {
display: block;
font-size: 1.4rem;
font-weight: 700;
margin: 0 0 0.5em;
padding: 0;
line-height: normal;
letter-spacing: 0.05em;
text-transform: uppercase;
color: var(--color_white);
}
#cover_bg .text .pre_title a {
display: block;
margin: 0;
padding: 0;
text-decoration: underline;
white-space: normal;
-webkit-transition: color 0.3s;
	 -o-transition: color 0.3s;
   -moz-transition: color 0.3s;
		transition: color 0.3s;
}
#cover_bg .text .pre_title a, #cover_bg .text .pre_title a:link, #cover_bg .text .pre_title a:visited { color: rgba(255,255,255,1); }
#cover_bg .text .pre_title a:active, #cover_bg .text .pre_title a:hover, #cover_bg .text .pre_title a:focus { color: rgba(255,255,255,0.5); }

/* TITLE */
#cover_bg .text h1, #cover_bg .text h2 {
display: block;
font-size: 5rem;
font-weight: 700;
margin: 0 0 1rem;
padding: 0;
line-height: 1;
letter-spacing: normal;
color: var(--color_white);
}

/* P */
#cover_bg .text p {
display: block;
font-size: 1.8rem;
font-weight: 400;
margin: 0;
padding: 0;
line-height: 1.5;
letter-spacing: normal;
color: var(--color_white);
}

/* COVER PAG */
#cover_bg ul.cover_pag {
position: absolute;
top: auto;
right: calc(50% + var(--space_x));
bottom: 0;
left: auto;
width: 4rem;
margin: 0;
z-index: 10;
}
#cover_bg ul.cover_pag li {
display: block;
width: 100%;
height: auto;
margin: 0;
-webkit-border-radius: 0;
        border-radius: 0;
background: none;
opacity: 1;
}
#cover_bg ul.cover_pag li:first-child { }
#cover_bg ul.cover_pag li a {
position: relative;
display: block;
height: 3px;
margin: 0;
padding: 0;
border-width: 5px 0;
border-style: solid;
border-color: transparent;
background-clip: padding-box;
-webkit-box-sizing: content-box;
        box-sizing: content-box;
-webkit-transition: background-color 0.3s;
	 -o-transition: background-color 0.3s;
		transition: background-color 0.3s;
}
#cover_bg ul.cover_pag li a:after {
content: "";
position: absolute;
top: 0;
left: 0;
display: block;
width: 50%;
height: 100%;
background-color: var(--color_white);
-webkit-transition: width 0.3s;
	 -o-transition: width 0.3s;
		transition: width 0.3s;
}
#cover_bg ul.cover_pag li.swiper-pagination-bullet-active a:after { width: 0; }
#cover_bg ul.cover_pag li a, #cover_bg ul.cover_pag li a:link, #cover_bg ul.cover_pag li a:visited { background-color: var(--color_blue); }
#cover_bg ul.cover_pag li a:active, #cover_bg ul.cover_pag li a:hover, #cover_bg ul.cover_pag li a:focus { background-color: var(--color_azure); }
#cover_bg ul.cover_pag li.swiper-pagination-bullet-active a, #cover_bg ul.cover_pag li.swiper-pagination-bullet-active a:link, #cover_bg ul.cover_pag li.swiper-pagination-bullet-active a:visited, #cover_bg ul.cover_pag li.swiper-pagination-bullet-active a:active, #cover_bg ul.cover_pag li.swiper-pagination-bullet-active a:hover, #cover_bg ul.cover_pag liswiper-pagination-bullet-active a:focus {  background-color: var(--color_azure); }

/* ------------------------------------------------------------- */
/* PRIMARY */
/* ------------------------------------------------------------- */

#primary { text-align: left; }
#primary em { font-style: oblique; }
#primary strong { font-weight: 700; }

/* HEADING */
#primary .heading .pre_title {
position: relative;
display: block;
font-size: 1.4rem;
font-weight: 700;
margin: 0 0 0.7em;
padding: 0 0 0 6.5rem;
line-height: normal;
letter-spacing: 0.05em;
text-transform: uppercase;
color: var(--color_medium_grey);
}
#primary .heading .pre_title:before {
content: "";
display: block;
width: 5rem;
height: 1rem;
position: absolute;
top: 0.4rem;
left: 0;
background-color: var(--color_azure);
}
#primary .heading h1, #primary .heading h2 {
display: block;
font-size: 5rem;
font-weight: 700;
margin: 0;
padding: 0;
line-height: 1;
letter-spacing: normal;
color: var(--color_blue);
}
#primary .heading h1 span, #primary .heading h2 span { display: inline-block; }
#primary .heading p {
display: block;
font-size: 1.8rem;
font-weight: 600;
margin: 1.5em 0 0;
padding: 0;
line-height: 1.5;
letter-spacing: normal;
color: var(--color_dark_grey);
}

/* TEXT */
#primary .text { margin-top: 2.4em; }
#primary .text *:first-child { margin-top: 0; }
#primary .text p {
display: block;
font-size: 1.6rem;
font-weight: 400;
margin: 1.5em 0 0;
padding: 0;
line-height: 1.5;
letter-spacing: normal;
color: var(--color_dark_grey);
}

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

.btn {
display: inline-block;
margin-top: 4rem;
}
.btn a {
display: block;
font-size: 1.4rem;
font-weight: 700;
margin: 0;
padding: 1em 3.428571em;
line-height: 1;
letter-spacing: 0.1em;
text-decoration: none;
white-space: normal;
text-transform: uppercase;
-webkit-transition: color 0.3s, background-color 0.3s;
	 -o-transition: color 0.3s, background-color 0.3s;
		transition: color 0.3s, background-color 0.3s;
}
.btn.border_white a { border: 1px solid var(--color_white); }
.btn.border_white a, .btn.border_white a:link, .btn.border_white a:visited { color: var(--color_white); background-color: transparent; }
.btn.border_white a:active, .btn.border_white a:hover, .btn.border_white a:focus { color: var(--color_azure); background-color: var(--color_white); }
.btn.border_blue a { border: 1px solid var(--color_blue); }
.btn.border_blue a, .btn.border_blue a:link, .btn.border_blue a:visited { color: var(--color_blue); background-color: transparent; }
.btn.border_blue a:active, .btn.border_blue a:hover, .btn.border_blue a:focus { color: var(--color_white); background-color: var(--color_blue); }
.btn.blue a, .btn.blue a:link, .btn.blue a:visited { color: var(--color_white); background-color: var(--color_blue); }
.btn.blue a:active, .btn.blue a:hover, .btn.blue a:focus { color: var(--color_white); background-color: var(--color_dark_grey); }
.btn.azure a, .btn.azure a:link, .btn.azure a:visited { color: var(--color_white); background-color: var(--color_azure); }
.btn.azure a:active, .btn.azure a:hover, .btn.azure a:focus { color: var(--color_white); background-color: var(--color_dark_grey); }

/* SCROLL */
.btn.scroll { width: 50px; }
.btn.scroll a {
position: relative;
display: block;
height: 100%;
margin: 0;
padding: 0;
}
.btn.scroll a svg {
display: block;
width: 100%;
margin: 0;
padding: 0;
}
.btn.scroll a svg .colore {
-webkit-transition: fill 0.3s;
-o-transition: fill 0.3s;
-moz-transition: fill 0.3s;
transition: fill 0.3s;
}
.btn.scroll a svg .colore, .btn.scroll a:link svg .colore, .btn.scroll a:visited svg .colore { fill: rgba(255,255,255,0); }
.btn.scroll a:active svg .colore, .btn.scroll a:hover svg .colore, .btn.scroll a:focus svg .colore { fill: var(--color_white); }
.btn.scroll a:after {
content: "";
position: absolute;
left: 50%;
top: 50%;
display: block;
width: 12px;
height: 12px;
border-width: 0 2px 2px 0;
border-style: solid;
-webkit-transform: translate(-50%, -100%) rotate(45deg);
    -ms-transform: translate(-50%, -100%) rotate(45deg);
        transform: translate(-50%, -100%) rotate(45deg);
-webkit-transition: border-color 0.3s;
-o-transition: border-color 0.3s;
-moz-transition: border-color 0.3s;
transition: border-color 0.3s;
}
.btn.scroll a:before, .btn.scroll a:link:before, .btn.scroll a:visited:before, .btn.scroll a:after, .btn.scroll a:link:after, .btn.scroll a:visited:after { border-color: var(--color_white); }
.btn.scroll a:active:before, .btn.scroll a:hover:before, .btn.scroll a:focus:before, .btn.scroll a:active:after, .btn.scroll a:hover:after, .btn.scroll a:focus:after { border-color: var(--color_blue); }

/* VIDEO */
.btn.video { margin-top: 3rem; }
.btn.video a {
position: relative;
font-size: 1.8rem;
padding: 18px 0 18px 70px;
letter-spacing: normal;
text-transform: none;
}
.btn.video a, .btn.video a:link, .btn.video a:visited { color: var(--color_dark_grey); }
.btn.video a:active, .btn.video a:hover, .btn.video a:focus { color: var(--color_medium_grey); }
.btn.video a span.icon {
position: absolute;
top: 0;
left: 0;
display: block;
width: 50px;
margin: 0 auto;
padding: 16px 16px 14px 20px;
background-color: var(--color_azure);
-webkit-transition: background-color 0.3s;
	 -o-transition: background-color 0.3s;
		transition: background-color 0.3s;
-webkit-clip-path: polygon(9% 0, 82% 0, 100% 56%, 48% 100%, 0 47%);
        clip-path: polygon(9% 0, 82% 0, 100% 56%, 48% 100%, 0 47%);
}
.btn.video a span.icon, .btn.video a:link span.icon, .btn.video a:visited span.icon { background-color: var(--color_azure); }
.btn.video a:active span.icon, .btn.video a:hover span.icon, .btn.video a:focus span.icon { background-color: var(--color_dark_grey); }
.btn.video a span.icon svg {
display: block;
width: 100%;
margin: 0 auto 10px;
padding: 0;
}
.btn.video a span.icon svg .colore { fill: var(--color_white); }

/* ------------------------------------------------------------- */
/* CTA */
/* ------------------------------------------------------------- */

#cta > div {
width: 100%;
max-width: 820px;
margin: 0 auto;
text-align: center;
}
#cta h4 {
display: block;
font-size: 4rem;
font-weight: 300;
margin: 0;
padding: 0;
line-height: 1.25;
letter-spacing: normal;
color: var(--color_blue);
}

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

#footer_bg {
display: block;
background: var(--color_dark_grey);
/*background: linear-gradient(#666666, var(--color_dark_grey));*/
}

/* CONTACTS */
#footer_bg footer .info .contacts {
text-align: left;
}
#footer_bg footer .info .contacts dl {}
#footer_bg footer .info .contacts dl > div:not(:first-child) {
margin-top: 30px;
}
#footer_bg footer .info .contacts dl dt {
display: block;
font-size: 1.4rem;
font-weight: 700;
margin-bottom: 2px;
line-height: 1;
letter-spacing: normal;
text-transform: uppercase;
color: var(--color_azure);
}
#footer_bg footer .info .contacts dl dd {
display: block;
font-size: 1.6rem;
font-weight: 400;
line-height: 1.5;
letter-spacing: normal;
color: var(--color_white);
}
#footer_bg footer .info .contacts dl dd span { display: inline; }
#footer_bg footer .info .contacts dl dd span:before { content: "- "; }
#footer_bg footer .info .contacts dl dd a {
display: block;
margin: 0;
padding: 0;
letter-spacing: normal;
text-decoration: none;
white-space: normal;
-webkit-transition: color 0.3s;
	 -o-transition: color 0.3s;
   -moz-transition: color 0.3s;
		transition: color 0.3s;
}
#footer_bg footer .info .contacts dl dd a, #footer_bg footer .info .contacts dl dd a:link, #footer_bg footer .info .contacts dl dd a:visited { color: var(--color_white); }
#footer_bg footer .info .contacts dl dd a:active, #footer_bg footer .info .contacts dl dd a:hover, #footer_bg footer .info .contacts dl dd a:focus { color: rgba(255,255,255,0.5); }

/* TIMETABLE */
#footer_bg footer .info .timetable {
text-align: right;
margin-left: auto;
}
#footer_bg footer .info .timetable h6 {
display: block;
font-size: 2rem;
font-weight: 700;
margin: 0 0 25px;
padding: 0;
line-height: 1;
letter-spacing: 0.05em;
color: var(--color_white);
}
#footer_bg footer .info .timetable dl {}
#footer_bg footer .info .timetable dl > div:not(:first-child) {
margin-top: 30px;
}
#footer_bg footer .info .timetable dl dt {
display: block;
font-size: 1.4rem;
font-weight: 700;
margin-bottom: 2px;
line-height: 1;
letter-spacing: normal;
text-transform: uppercase;
color: var(--color_azure);
}
#footer_bg footer .info .timetable dl dd {
display: block;
font-size: 1.6rem;
font-weight: 400;
line-height: 1.5;
letter-spacing: normal;
color: var(--color_white);
}

/* LEGAL */
#footer_bg footer .legal {
margin-top: 7rem;
padding-top: 3rem;
border-top: 1px solid var(--color_medium_grey);
}

/* NAV */
#footer_bg footer .legal ul.nav {
margin-left: auto;
}
#footer_bg footer .legal ul.nav li {
margin-left: 30px;
}
#footer_bg footer .legal ul.nav li a {
display: block;
font-size: 1.6rem;
font-weight: 700;
margin: 0;
padding: 0;
line-height: 1;
letter-spacing: normal;
text-decoration: none;
white-space: normal;
-webkit-transition: color 0.3s;
	 -o-transition: color 0.3s;
   -moz-transition: color 0.3s;
		transition: color 0.3s;
}
#footer_bg footer .legal ul.nav li a, #footer_bg footer .legal ul.nav li a:link, #footer_bg footer .legal ul.nav li a:visited { color: var(--color_white); }
#footer_bg footer .legal ul.nav li a:active, #footer_bg footer .legal ul.nav li a:hover, #footer_bg footer .legal ul.nav li a:focus { color: var(--color_azure); }

/* TEXT */
#footer_bg footer .legal .text {
text-align: left;
order: -1;
}
#footer_bg footer .legal .text p {
display: block;
font-size: 1.4rem;
font-weight: 400;
margin: 0;
padding: 0;
line-height: 1.5;
color: #cbcbcb;
}

/* ------------------------------------------------------------- */
/* TRIANGLE */
/* ------------------------------------------------------------- */

.t_t_sx, .t_t_cx, .t_t_dx, .t_b_sx, .t_b_cx, .t_b_dx { position: relative; z-index: 1; }
.t_t_sx:before, .t_t_cx:before, .t_t_dx:before, .t_b_sx:after, .t_b_cx:after, .t_b_dx:after {
content: "";
position: absolute;
left: 0;
display: block;
width: 100%;
height: var(--triangle_height);
background-color: var(--color_white);
z-index: 2;
}
.t_t_sx, .t_t_cx, .t_t_dx { padding-top: var(--triangle_height); }
.t_b_sx, .t_b_cx, .t_b_dx { padding-bottom: var(--triangle_height); }
.t_t_sx:before, .t_t_cx:before, .t_t_dx:before { top: -5px; }
.t_b_sx:after, .t_b_cx:after, .t_b_dx:after { bottom: -5px; }
.t_t_sx:before {
-webkit-clip-path: polygon(var(--triangle_tip_sx) 100%, 0 -webkit-calc(0% + 5px), 0 0, 100% 0, 100% -webkit-calc(0% + 5px));
        clip-path: polygon(var(--triangle_tip_sx) 100%, 0 calc(0% + 5px), 0 0, 100% 0, 100% calc(0% + 5px));
}
.t_t_cx:before {
-webkit-clip-path: polygon(50% 100%, 0 -webkit-calc(0% + 5px), 0 0, 100% 0, 100% -webkit-calc(0% + 5px));
        clip-path: polygon(50% 100%, 0 calc(0% + 5px), 0 0, 100% 0, 100% calc(0% + 5px));
}
.t_t_dx:before {
-webkit-clip-path: polygon(var(--triangle_tip_dx) 100%, 0 -webkit-calc(0% + 5px), 0 0, 100% 0, 100% -webkit-calc(0% + 5px));
        clip-path: polygon(var(--triangle_tip_dx) 100%, 0 calc(0% + 5px), 0 0, 100% 0, 100% calc(0% + 5px));
}
.t_b_sx:after {
-webkit-clip-path: polygon(var(--triangle_tip_sx) 0, 0 -webkit-calc(100% - 5px), 0 100%, 100% 100%, 100% -webkit-calc(100% - 5px));
        clip-path: polygon(var(--triangle_tip_sx) 0, 0 calc(100% - 5px), 0 100%, 100% 100%, 100% calc(100% - 5px));
}
.t_b_cx:after {
-webkit-clip-path: polygon(50% 0, 0 -webkit-calc(100% - 5px), 0 100%, 100% 100%, 100% -webkit-calc(100% - 5px));
        clip-path: polygon(50% 0, 0 calc(100% - 5px), 0 100%, 100% 100%, 100% calc(100% - 5px));
}
.t_b_dx:after {
-webkit-clip-path: polygon(var(--triangle_tip_dx) 0, 0 -webkit-calc(100% - 5px), 0 100%, 100% 100%, 100% -webkit-calc(100% - 5px));
        clip-path: polygon(var(--triangle_tip_dx) 0, 0 calc(100% - 5px), 0 100%, 100% 100%, 100% calc(100% - 5px));
}

/* ------------------------------------------------------------- */
/* 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 only screen and (max-width: 1699px) {
	
	
}

@media only screen and (max-width: 1599px) {
	
	/* ROOT */
	:root {
	--space_x: 90px;
	--space_x_out: 90px;
	--triangle_tip_sx: calc(0% + (var(--space_x_out) + var(--space_x)));
	--triangle_tip_dx: calc(100% - (var(--space_x_out) + var(--space_x)));
	}
	
}

@media only screen and (max-width: 1439px) {
	
	/* ROOT */
	:root {
	--space_x: 80px;
	--space_x_out: 80px;
	--space_y: 48px;
	}
	
	/* COVER */
	#cover_bg .text h1, #cover_bg .text h2 { font-size: 4.8rem; }
	
	/* PRIMARY */
	#primary .heading h1, #primary .heading h2 { font-size: 4.8rem; }
	
	/* CTA */
	#cta h4 { font-size: 3.9rem; }
	
}

@media only screen and (max-width: 1365px) {
	
	/* ROOT */
	:root {
	--space_x: 70px;
	--space_x_out: 70px;
	--space_y: 46px;
	}
	
	/* COVER */
	#cover_bg .text h1, #cover_bg .text h2 { font-size: 4.6rem; }
	
	/* PRIMARY */
	#primary .heading h1, #primary .heading h2 { font-size: 4.6rem; }
	
	/* CTA */
	#cta h4 { font-size: 3.8rem; }
	
}

@media only screen and (max-width: 1279px) {
	
	/* ROOT */
	:root {
	--space_x: 60px;
	--space_x_out: 60px;
	--space_y: 44px;
	}
	
	/* MENU NAV */
	nav#menu_nav > ul > li { margin: 0 0 0 30px; }
	
	/* COVER */
	#cover_bg .text h1, #cover_bg .text h2 { font-size: 4.4rem; }
	
	/* PRIMARY */
	#primary .heading h1, #primary .heading h2 { font-size: 4.4rem; }
	
	/* CTA */
	#cta h4 { font-size: 3.7rem; }
	
}

@media only screen and (max-width: 1199px) {
	
	/* ROOT */
	:root {
	--space_x: 50px;
	--space_x_out: 50px;
	--space_y: 42px;
	--header_height: 140px;
	--header_bg_mobile: 1;
	}
	
	body.overflow { overflow: hidden; }
		
	/* HEADER */
	#header_bg {
	position: fixed;
	padding: 0;
	background-color: var(--color_white);
	box-shadow: 0px 1px 3px 0px rgba(0,0,0,0.2);
	/*overflow: hidden;
	-webkit-transition: height 0.5s;
		 -o-transition: height 0.5s;
			transition: height 0.5s;*/
	}
	#header_bg:before {
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	display: block;
	width: 100%;
	height: var(--header_height);
	background-color: var(--color_white);
	z-index: 9400;
	}
	#header_bg:after {
	position: fixed;
	top: 0;
	left: 0;
	content: "";
	display: block;
	width: 100%;
	height: 0;
	background-color: var(--color_white);
	-webkit-transition: height 0.3s;
		 -o-transition: height 0.3s;
			transition: height 0.3s;
	z-index: 9190;
	}
	#header_bg.open:after { height: 100%; }	
	#header_bg header {
	display: block;
	margin-top: 0;
	padding-top: 3em;
	border-bottom: none;
	}

	/* LOGO */
	header div.logo { position: relative; margin: 20px 0 20px var(--space_x_out); z-index: 9450; }
	header div.logo a svg > .blue, header div.logo a:link svg > .blue, header div.logo a:visited svg > .blue { fill: var(--color_blue); }
	header div.logo a:active svg > .blue, header div.logo a:hover svg > .blue, header div.logo a:focus svg > .blue { fill: var(--color_dark_grey); }
	header div.logo a svg > .azure, header div.logo a:link svg > .azure, header div.logo a:visited svg > .azure { fill: var(--color_azure); }
	header div.logo a:active svg > .azure, header div.logo a:hover svg > .azure, header div.logo a:focus svg > .azure { fill: var(--color_dark_grey); }
	
	/* MENU NAV */
	nav#menu_nav {
	position: static;
	margin-left: 0;
	}	
	#menu_nav .menu_mobile {
	position: absolute;
	top: calc(55px + 3em);
	right: var(--space_x_out);
	display: block;
	margin: 0;
	padding: 0;
	-webkit-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
			transform: translateY(-50%);
	z-index: 9450;
	}
	#menu_nav .menu_mobile a {
	display: block;
	margin: 0;
	padding: 0;
	text-align: center;
	line-height: 1;
	white-space: normal;
	text-decoration: none;
	cursor: pointer;
	}
	#menu_nav .menu_mobile a .icon {
	position: relative;
	display: block;
	width: 32px;
	height: 32px;
	margin: 0;
	padding: 0;
	}
	#menu_nav .menu_mobile a .icon span {
	position: absolute;
	right: 0;
	display: block;
	height: 2px;
	width: 100%;
	opacity: 1;
	-webkit-transform-origin: right center;
    	-ms-transform-origin: right center;
        	transform-origin: right center;
	-webkit-transform: rotate(0deg);
	    -ms-transform: rotate(0deg);
	        transform: rotate(0deg);
	-webkit-transition: all 0.3s ease-out;
		 -o-transition: all 0.3s ease-out;
			transition: all 0.3s ease-out;
	}
	#menu_nav .menu_mobile a .icon span:nth-child(1) { top: 7px; }
	#menu_nav .menu_mobile a .icon span:nth-child(2) { top: 15px; }
	#menu_nav .menu_mobile a .icon span:nth-child(3) { top: 23px; width: 68.75%; }
	#header_bg.open #menu_nav .menu_mobile a .icon span:nth-child(1) {
	-webkit-transform: rotate(-45deg);
    	-ms-transform: rotate(-45deg);
    		transform: rotate(-45deg);
	top: 4px;
	right: 5px;
	}
	#header_bg.open #menu_nav .menu_mobile a .icon span:nth-child(2) { width: 0%; opacity: 0; }
	#header_bg.open #menu_nav .menu_mobile a .icon span:nth-child(3) {
	-webkit-transform: rotate(45deg);
    	-ms-transform: rotate(45deg);
    		transform: rotate(45deg);
	top: 26px;
	right: 5px;
	width: 100%;
	}
	#menu_nav .menu_mobile a .icon span, #menu_nav .menu_mobile a:link .icon span, #menu_nav .menu_mobile a:visited .icon span { background-color: var(--color_dark_grey); }
	#menu_nav .menu_mobile a:active .icon span, #menu_nav .menu_mobile a:hover .icon span, #menu_nav .menu_mobile a:focus .icon span { background-color: var(--color_azure); }
	
	/* ARROW */
	nav#menu_nav ul li a { position: relative; }
	nav#menu_nav ul li a span.arrow {
	position: absolute;
	top: 0;
	right: var(--space_x_out);
	display: block;
	width: 32px;
  	height: 100%;
	z-index: 9300;
	}
	nav#menu_nav ul li a span.arrow:before, nav#menu_nav ul li a span.arrow:after {
	content: "";
    position: absolute;
	top: 50%;
	left: 6px;
	display: block;
    width: 20px;
    height: 2px;
    background-color: var(--color_dark_grey);
	opacity: 1;
	-webkit-transition: all 0.5s;
		 -o-transition: all 0.5s;
			transition: all 0.5s;
	z-index: 9310;
	}
	nav#menu_nav ul li a span.arrow:before {
	-webkit-transform: rotate(90deg);
		-ms-transform: rotate(90deg);
			transform: rotate(90deg);
	}
	nav#menu_nav ul li.open> a span.arrow:before {
	opacity: 0;
	-webkit-transform: rotate(0deg);
		-ms-transform: rotate(0deg);
			transform: rotate(0deg);
	}

	/* LVL 1 */
	nav#menu_nav > ul {
	position: fixed;
	top: 0;
	left: 0;
	display: block;
	display: none;
	width: 100%;	
	padding-top: var(--header_height);	
	}
	#header_bg.open nav#menu_nav > ul { height: 100%; overflow: auto; }
	nav#menu_nav > ul > li {
	display: block;
	font-size: 1.8rem;
	font-weight: 700;
	margin: 0;
	border-top: 1px solid #ebebeb;
	}
	nav#menu_nav > ul > li:first-child { border-top: 1px solid #ebebeb; }
	nav#menu_nav > ul > li:last-child { border-bottom: 1px solid #ebebeb; }
	nav#menu_nav > ul > li > a {
	display: block;
	margin: 0;
	padding: 15px calc((var(--space_x_out) *2) + 32px) 15px var(--space_x_out);
	text-decoration: none;
	white-space: normal;
	-webkit-transition: color 0.3s, background-color 0.3s;
	-o-transition: color 0.3s, background-color 0.3s;
	-moz-transition: color 0.3s, background-color 0.3s;
	transition: color 0.3s, background-color 0.3s;
	}
	nav#menu_nav > ul > li > a, nav#menu_nav > ul > li > a:link, nav#menu_nav > ul > li > a:visited { color: var(--color_azure); background-color: var(--color_white); }
	nav#menu_nav > ul > li > a:active, nav#menu_nav > ul > li > a:hover, nav#menu_nav > ul > li > a:focus { color: var(--color_dark_grey); background-color: var(--color_white); }
	nav#menu_nav > ul > li.active > a, nav#menu_nav > ul > li.active > a:link, nav#menu_nav > ul > li.active > a:visited, nav#menu_nav > ul > li.active > a:active, nav#menu_nav > ul > li.active > a:hover, nav#menu_nav > ul > li.active > a:focus { color: var(--color_white); background-color: var(--color_azure); }
	nav#menu_nav > ul > li > a span.arrow:before, nav#menu_nav > ul > li > a span.arrow:after { background-color: var(--color_azure); }
	nav#menu_nav > ul > li > a span.arrow:hover:before, nav#menu_nav > ul > li > a span.arrow:hover:after { background-color: var(--color_dark_grey); }
	nav#menu_nav > ul > li.active > a span.arrow:before, nav#menu_nav > ul > li.active > a:link span.arrow:before, nav#menu_nav > ul > li.active > a:visited span.arrow:before, nav#menu_nav > ul > li.active > a:active span.arrow:before, nav#menu_nav > ul > li.active > a:hover span.arrow:before, nav#menu_nav > ul > li.active > a:focus span.arrow:before, nav#menu_nav > ul > li.active > a span.arrow:after, nav#menu_nav > ul > li.active > a:link span.arrow:after, nav#menu_nav > ul > li.active > a:visited span.arrow:after, nav#menu_nav > ul > li.active > a:active span.arrow:after, nav#menu_nav > ul > li.active > a:hover span.arrow:after, nav#menu_nav > ul > li.active > a:focus span.arrow:after { background-color: var(--color_white); }

	/* LVL 2 */
	nav#menu_nav > ul > li > ul {
	position: static;
	display: block;
	display: none;
	width: 100%;
	margin: 0;
	padding: 0;
	opacity: 1;
	visibility: visible;
	}
	nav#menu_nav > ul > li > ul:after { display: none; }
	nav#menu_nav > ul > li > ul > li {
	display: block;
	font-size: 1.6rem;
	font-weight: 600;
	margin: 0;
	line-height: 1;
	border-top: 1px solid #ebebeb;
	}
	nav#menu_nav > ul > li > ul > li:first-child { border-top: 1px solid #ebebeb; }
	nav#menu_nav > ul > li > ul > li.active > a:after {	
	position: absolute;
	left: 0;
	top: 50%;
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-top: 8px solid transparent;
	border-left: 8px solid var(--color_blue);
	border-bottom: 8px solid transparent;
	-webkit-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
			transform: translateY(-50%);
	}
	nav#menu_nav > ul > li > ul > li.active:after { display: none; }
	nav#menu_nav > ul > li > ul > li > a { padding: 15px calc((var(--space_x_out) *2) + 32px) 15px calc(var(--space_x_out) + 25px); white-space: normal; }
	nav#menu_nav > ul > li > ul > li > a, nav#menu_nav > ul > li > ul > li > a:link, nav#menu_nav > ul > li > ul > li > a:visited { color: var(--color_dark_grey); background-color: var(--color_light_grey); }
	nav#menu_nav > ul > li > ul > li > a:active, nav#menu_nav > ul > li > ul > li > a:hover, nav#menu_nav > ul > li > ul > li > a:focus { color: var(--color_blue); background-color: var(--color_light_grey); }
	nav#menu_nav > ul > li > ul > li.active > a, nav#menu_nav > ul > li > ul > li.active > a:link, nav#menu_nav > ul > li > ul > li.active > a:visited, nav#menu_nav > ul > li > ul > li.active > a:active, nav#menu_nav > ul > li > ul > li.active > a:hover, nav#menu_nav > ul > li > ul > li.active > a:focus { color: var(--color_blue); background-color: var(--color_light_grey); }
	nav#menu_nav > ul > li > ul > li > a span.arrow:before, nav#menu_nav > ul > li > ul > li > a span.arrow:after { background-color: var(--color_dark_grey); }
	nav#menu_nav > ul > li > ul > li > a span.arrow:hover:before, nav#menu_nav > ul > li > ul > li > a span.arrow:hover:after { background-color: var(--color_blue); }

	/* LVL 3 */
	nav#menu_nav > ul > li > ul > li > ul {
	position: static;
	display: block;
	display: none;
	width: 100%;
	margin: 0;
	padding: 0;
	opacity: 1;
	visibility: visible;
	}
	nav#menu_nav > ul > li > ul > li > ul > li {
	display: block;
	font-size: 1.6rem;
	font-weight: 400;
	margin: 0;
	line-height: 1;
	border-top: 1px solid #ebebeb;
	}
	nav#menu_nav > ul > li > ul > li > ul > li:first-child { border-top: 1px solid #ebebeb; }
	nav#menu_nav > ul > li > ul > li > ul > li.active { font-weight: 600; }
	nav#menu_nav > ul > li > ul > li > ul > li.active:after { display: none; }
	nav#menu_nav > ul > li > ul > li > ul > li > a { padding: 15px calc((var(--space_x_out) *2) + 32px) 15px calc(var(--space_x_out) + 50px); white-space: normal; }
	nav#menu_nav > ul > li > ul > li > ul > li > a, nav#menu_nav > ul > li > ul > li > ul > li > a:link, nav#menu_nav > ul > li > ul > li > ul > li > a:visited { color: var(--color_dark_grey); background-color: var(--color_white); }
	nav#menu_nav > ul > li > ul > li > ul > li > a:active, nav#menu_nav > ul > li > ul > li > ul > li > a:hover, nav#menu_nav > ul > li > ul > li > ul > li > a:focus { color: var(--color_azure); background-color: var(--color_white); }
	nav#menu_nav > ul > li > ul > li > ul > li.active > a, nav#menu_nav > ul > li > ul > li > ul > li.active > a:link, nav#menu_nav > ul > li > ul > li > ul > li.active > a:visited, nav#menu_nav > ul > li > ul > li > ul > li.active > a:active, nav#menu_nav > ul > li > ul > li > ul > li.active > a:hover, nav#menu_nav > ul > li > ul > li > ul > li.active > a:focus { color: var(--color_blue); background-color: var(--color_white); }

	/* TOOLS */
	#tools {
	top: 0;
	right: auto;
	left: 0;
	width: 100%;
	padding: 0 var(--space_x_out);
	background-color: var(--color_blue);
	}
	#tools ul.contacts { border-left: 1px solid rgba(255,255,255,0.25); }
	#tools ul.contacts li {
	width: 4em;
	height: 3em;
	margin: 0;
	border: none;
	border-right: 1px solid rgba(255,255,255,0.25);
	}
	#tools ul.contacts li a { padding: 0; }
	#tools ul.contacts li a, #tools ul.contacts li a:link, #tools ul.contacts li a:visited { background-color: transparent; }
	#tools ul.contacts li a:active, #tools ul.contacts li a:hover, #tools ul.contacts li a:focus { background-color: transparent; }
	#tools ul.contacts li a span { width: 1.8em; margin: 0 auto; }
	#tools ul.contacts li a svg > .colore, #tools ul.contacts li a:link svg > .colore, #tools ul.contacts li a:visited svg > .colore { fill: rgba(255,255,255,1); }
	#tools ul.contacts li a:active svg > .colore, #tools ul.contacts li a:hover svg > .colore, #tools ul.contacts li a:focus svg > .colore { fill: rgba(255,255,255,0.5); }
	#languages { display: block; margin-left: auto; }	
	#languages span.choice { display: none; }
	#languages .mask { width: auto; overflow: visible; }
	#languages.open .mask { width: auto; }	
	#languages ul { border-left: 1px solid rgba(255,255,255,0.25); }
	#languages ul li { border-right: 1px solid rgba(255,255,255,0.25); }
	#languages ul li a { border: none; }
	#languages ul li a, #languages ul li a:link, #languages ul li a:visited { color: rgba(255,255,255,1); background-color: transparent; }
	#languages ul li a:active, #languages ul li a:hover, #languages ul li a:focus { color: rgba(255,255,255,0.5); background-color: transparent; }
	#languages ul li.active a:before {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	display: block;
	width: 0;
	height: 0;
	margin-left: -5px;
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	border-bottom: 5px solid var(--color_white);
    }
	#languages ul li.active a, #languages ul li.active a:link, #languages ul li.active a:visited, #languages ul li.active a:active, #languages ul li.active a:hover, #languages ul li.active a:focus { color: rgba(255,255,255,0.5); background-color: transparent; }
	
	/* TOP BG */
	#top_bg { padding-top: calc(var(--header_height) + var(--space_x_out) + (var(--space_x_out) /2)); }
	
	/* COVER */
	#cover_bg .text h1, #cover_bg .text h2 { font-size: 4.2rem; }
	
	/* PRIMARY */
	#primary .heading h1, #primary .heading h2 { font-size: 4.2rem; }
	
	/* CTA */
	#cta h4 { font-size: 3.6rem; }
	
	/* FOOTER */
	#footer_bg footer .legal { display: block; }
	#footer_bg footer .legal ul.nav { margin: 0 0 3rem; }
	#footer_bg footer .legal ul.nav li:first-child { margin-left: 0; }
	
}

@media only screen and (max-width: 1111px) {
	
	/* ROOT */
	:root {
	--space_x: 40px;
	--space_x_out: 40px;
	--space_y: 40px;
	}
	
	/* COVER */
	#cover_bg .text h1, #cover_bg .text h2 { font-size: 4rem; }
	#cover_bg .text {
	-webkit-align-self: flex-end;
    	-ms-flex-item-align: end;
			align-self: flex-end;	
	padding-bottom: calc(var(--triangle_height_top_bg) - var(--space_y));
	}
	#cover_bg #cover_text .swiper-wrapper {
	-webkit-box-align: end;
	-webkit-align-items: flex-end;
			  -ms-flex-align: end;
			align-items: flex-end;		 
	}
	
	/* PRIMARY */
	#primary .heading h1, #primary .heading h2 { font-size: 4rem; }
	
	/* CTA */
	#cta h4 { font-size: 3.5rem; }
	
}


@media only screen and (max-width: 1023px) {
	
	/* ROOT */
	:root {
	--space_x: 80px;
	--space_x_out: 80px;
	--triangle_height_top_bg: var(--space_yyy);
	}
	
	/* GENERALE */
	.half_w { display: block; }
	.half_w > div { width: 100%; }
	.pad_ins_x_sx:not(.pad_ins_x_dx) { padding-right: var(--space_x); }
	.pad_ins_x_dx:not(.pad_ins_x_sx) { padding-left: var(--space_x); }
	
	/* TOP BG */
	#top_bg {
	padding-top: var(--header_height);
	padding-right: 0;
	padding-left: 0;
	background: var(--color_blue);
	}
	#top_bg:after { display: none; }
	
	/* COVER */
	#cover_bg { padding-bottom: 0; }
	#cover_bg:after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -5px;
	display: block;
	width: 100%;
	height: var(--triangle_height_top_bg);
	background-color: var(--color_white);
	-webkit-clip-path: polygon(var(--triangle_tip_dx) 0, 0 -webkit-calc(100% - 5px), 0 100%, 100% 100%, 100% 50%);
			clip-path: polygon(var(--triangle_tip_dx) 0, 0 calc(100% - 5px), 0 100%, 100% 100%, 100% 50%);
	z-index: 9;
	}
	#cover_bg .text {
	padding-top: var(--space_yy);
	padding-right: calc(var(--space_x) + var(--space_x_out));
	padding-bottom: calc(var(--triangle_height_top_bg) + var(--space_y));
	padding-left: calc(var(--space_x) + var(--space_x_out));
	background: var(--color_blue);
	background: linear-gradient(var(--color_blue), var(--color_azure));
	}
	#cover_bg #cover_text .swiper-wrapper {
	-webkit-box-align: start;
	-webkit-align-items: flex-start;
			  -ms-flex-align: start;
			align-items: flex-start;
	padding-bottom: 1px;
	}
	#cover_bg ul.cover_pag { right: calc(var(--space_x) + var(--space_x_out)); }
	
	/* BTN */
	.btn.video { margin-top: 2.5rem; }
	
	/* FOOTER */
	#footer_bg footer { padding-top: var(--space_yy); }
	
	
}

@media only screen and (max-width: 833px) {
	
	/* ROOT */
	:root {
	--space_x: 70px;
	--space_x_out: 70px;
	--space_y: 38px;
	}
	
	#footer_bg footer .legal { margin-top: 6rem; }
	
}

@media only screen and (max-width: 767px) {
	
	/* ROOT */
	:root {
	--space_x: 65px;
	--space_x_out: 65px;
	--space_y: 36px;
	--header_height: 130px;
	}
	
	/* COOKIE */
	#box_cookie a.btn { padding: 0.8em 1.6em; }
	
	/* LOGO */
	header div.logo { width: 228px; height: 60px; }
	
	/* MENU NAV */
	#menu_nav .menu_mobile { top: calc(50px + 3em); }

	/* COVER */
	#cover_bg .text h1, #cover_bg .text h2 { font-size: 3.8rem; }
	
	/* PRIMARY */
	#primary .heading h1, #primary .heading h2 { font-size: 3.8rem; }
	
	/* BTN */
	.btn a { padding: 0.928571em 2.857142em; }
	.btn.scroll { width: 46px; }
	
	/* CTA */
	#cta h4 { font-size: 3.4rem; }
	
	/* FOOTER */
	#footer_bg footer .legal { margin-top: 5rem; }
	
}

@media only screen and (max-width: 735px) {
	
	/* ROOT */
	:root {
	--space_x: 60px;
	--space_x_out: 60px;
	--space_y: 34px;
	}
	
	/* CTA */
	#cta h4 { font-size: 3.2rem; }
	
}

@media only screen and (max-width: 666px) {
	
	/* ROOT */
	:root {
	--space_x: 50px;
	--space_x_out: 50px;
	--space_y: 32px;
	}
	
	/* COVER */
	#cover_bg .text h1, #cover_bg .text h2 { font-size: 3.6rem; }
	
	/* PRIMARY */
	#primary .heading h1, #primary .heading h2 { font-size: 3.6rem; }
	
	/* CTA */
	#cta h4 { font-size: 3rem; }
	
	/* FOOTER */
	#footer_bg footer .info { display: block; }
	#footer_bg footer .info .contacts { text-align: center; }
	#footer_bg footer .info .contacts dl dd span { display: block; }
	#footer_bg footer .info .contacts dl dd span:before { content: ""; display: none; }
	#footer_bg footer .info .timetable { text-align: center; margin: 30px 0 0; }
	#footer_bg footer .legal { margin-top: 4rem; text-align: center; }
	#footer_bg footer .legal ul.nav {
	-webkit-box-pack: center;
	-webkit-justify-content: center;
			  -ms-flex-pack: center;
			justify-content: center;
	}
	#footer_bg footer .legal .text { text-align: center; }
	
}
	

@media only screen and (max-width: 599px) {
	
	/* ROOT */
	:root {
	--space_x: 40px;
	--space_x_out: 40px;
	--space_y: 30px;
	--header_height: 120px;
	}	
	
	/* COOKIE */
	#box_cookie a.btn { padding: 0.7em 1.4em; }
	#box_cookie a.rifiuta { margin-left: 1.5em; }
	
	/* LOGO */
	header div.logo { width: 190px; height: 50px; }
	
	/* MENU NAV */
	#menu_nav .menu_mobile { top: calc(45px + 3em); }
	
	/* COVER */
	#cover_bg .text .pre_title { font-size: 1.3rem; }
	#cover_bg .text h1, #cover_bg .text h2 { font-size: 3.4rem; }
	#cover_bg ul.cover_pag {
	display: -webkit-box;
	display: -webkit-flex;
	display: -moz-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-webkit-flex-direction: row;
	-moz-box-orient: horizontal;
	-moz-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
	width: auto;
	height: 3.2rem;
	}
	#cover_bg ul.cover_pag li { height: 100%; }
	#cover_bg ul.cover_pag li a {
	width: 3px;
	height: 100%;
	border-width: 0 6px;
	}
	#cover_bg ul.cover_pag li a:after {
	width: 100%;
	height: 50%;
	-webkit-transition: height 0.3s;
		 -o-transition: height 0.3s;
			transition: height 0.3s;
	}
	#cover_bg ul.cover_pag li.active a:after { width: 100%; height: 0; }
	
	/* PRIMARY */
	#primary .heading .pre_title { font-size: 1.3rem; }
	#primary .heading .pre_title:before { top: 0.3rem; }
	#primary .heading h1, #primary .heading h2 { font-size: 3.4rem; }
	#primary .heading p { margin: 1.3em 0 0; }
	#primary .text { margin-top: 2em; }
	#primary .text p { margin: 1.3em 0 0; }
	
	/* CTA */
	#cta h4 { font-size: 2.8rem; }
	
}

@media only screen and (max-width: 567px) {
	
	/* ROOT */
	:root {
	--space_x: 35px;
	--space_x_out: 35px;
	--space_y: 28px;
	}
	
	/* COVER */
	#cover_bg .text h1, #cover_bg .text h2 { font-size: 3.2rem; }
	
	/* PRIMARY */
	#primary .heading h1, #primary .heading h2 { font-size: 3.2rem; }
	
	/* CTA */
	#cta h4 { font-size: 2.6rem; }
	
}

@media only screen and (max-width: 479px) {
	
	/* ROOT */
	:root {
	--space_x: 30px;
	--space_x_out: 30px;
	--space_y: 26px;
	--header_height: 110px;
	}	
	
	/* COOKIE */
	#box_cookie p { font-size: 1.3rem; }
	#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; }
	
	/* LOGO */
	header div.logo { width: 190px; height: 50px; margin: 15px 0 15px var(--space_x_out); }
	
	/* MENU NAV */
	#menu_nav .menu_mobile { top: calc(40px + 3em); }
	
	/* COVER */
	#cover_bg .text .btn { margin-top: 2rem; }
	#cover_bg .text .pre_title { font-size: 1.2rem; }
	#cover_bg .text h1, #cover_bg .text h2 { font-size: 3rem; }
	#cover_bg .text p { font-size: 1.7rem; }
	
	/* PRIMARY */
	#primary .heading .pre_title { font-size: 1.2rem; padding: 0 0 0 5rem; }
	#primary .heading .pre_title:before { width: 4rem; height: 0.9rem; }
	#primary .heading h1, #primary .heading h2 { font-size: 3rem; }
	#primary .heading p { font-size: 1.7rem; margin: 1em 0 0; }
	#primary .text { margin-top: 1.6em; }
	#primary .text p { margin: 1em 0 0; }
	
	/* BTN */
	.btn { margin-top: 3rem; }
	.btn a { padding: 0.857142em 2.285714em; }
	.btn.scroll { width: 40px; }
	.btn.scroll a:after { width: 10px; height: 10px; }
	.btn.video { margin-top: 2rem; }
	.btn.video a { font-size: 1.7rem; padding-left: 65px; }
	
	/* CTA */
	#cta h4 { font-size: 2.4rem; }
	
	/* FOOTER */
	#footer_bg footer .legal ul.nav li a { font-size: 1.5rem; }
	#footer_bg footer .legal .text p { font-size: 1.3rem; }
	
}

@media only screen and (max-width: 413px) {
	
	/* ROOT */
	:root {
	--space_x: 25px;
	--space_x_out: 25px;
	--space_y: 24px;
	--header_height: 100px;
	}	
	
	/* LOGO */
	header div.logo { margin: 10px 0 10px var(--space_x_out); }
	
	/* MENU NAV */
	#menu_nav .menu_mobile { top: calc(35px + 3em); }
	
	/* COVER */
	#cover_bg .text h1, #cover_bg .text h2 { font-size: 2.8rem; }
	
	/* PRIMARY */
	#primary .heading h1, #primary .heading h2 { font-size: 2.8rem; }
	
	/* CTA */
	#cta h4 { font-size: 2.3rem; }
	
	/* FOOTER */
	#footer_bg footer .info .timetable h6 { font-size: 1.8rem; }
	#footer_bg footer .legal ul.nav li { margin-left: 25px; }
	#footer_bg footer .legal .text p { font-size: 1.2rem; }
	
}

@media only screen and (max-width: 374px) {
	
	/* ROOT */
	:root {
	--space_x: 20px;
	--space_x_out: 20px;
	--space_y: 22px;
	}
	
	/* COVER */
	#cover_bg .text h1, #cover_bg .text h2 { font-size: 2.6rem; }
	
	/* PRIMARY */
	#primary .heading h1, #primary .heading h2 { font-size: 2.6rem; }
	
	/* CTA */
	#cta h4 { font-size: 2.2rem; }
	
}


@media only screen and (max-width: 359px) {
	
	/* ROOT */
	:root {
	--space_x: 15px;
	--space_x_out: 15px;
	--space_y: 20px;
	}	
	
}