/*
//provvisorio per gestire pubblicazione senza sidebar
$sidebar: 0px;
.sidebar
{
    display:none !important;
}
*/
/*
* Fonts
*/
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;700&display=swap");
/*
    sovrascrive il box model di una colonna, solitamente un .col-12 per gestire gli elementi fullwidth che
    devono avere overflow visibile a destra e margine coerente con la griglia a sinistra
*/
* {
  box-sizing: border-box; }

html {
  width: 100%;
  height: 100%;
  margin: 0; }

body {
  width: 100%;
  min-height: 100%;
  margin: 0;
  padding: 0; }
  body::-webkit-scrollbar {
    width: 6px;
    border-radius: 3px; }
  body::-webkit-scrollbar-button {
    display: none; }
  body::-webkit-scrollbar-button:hover {
    display: none; }
  body::-webkit-scrollbar-thumb {
    background-color: rgba(22, 37, 91, 0.15);
    box-shadow: none;
    border-radius: 3px; }
    body::-webkit-scrollbar-thumb:hover {
      background-color: rgba(22, 37, 91, 0.15); }
  body::-webkit-scrollbar-track {
    background-color: transparent;
    border-radius: 3px; }
    body::-webkit-scrollbar-track:hover {
      background-color: transparent; }

[unselectable] {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
      -ms-user-select: none;
          user-select: none; }

.app {
  position: relative; }

.hidden {
  display: none; }

.sticky--menu {
  position: absolute;
  top: 160px;
  width: 100%;
  bottom: 0; }
  .sticky--menu .section--menu {
    position: sticky;
    top: 15px;
    width: 100%;
    z-index: 900; }
    .sticky--menu .section--menu .nav--menu {
      margin-top: 0;
      box-shadow: 0 10px 10px -10px rgba(0, 0, 0, 0.2); }

[data-split-lines] {
  opacity: 0; }
  [data-split-lines] .split-line * {
    transform: translateY(100%); }

body.splitted-texts [data-split-lines] {
  opacity: 1; }

[data-split-lines].in-view .split-line * {
  transform: none; }

[data-split-lines].in-view .underline:after, [data-split-lines].in-view .footer .languages .current:after, .footer .languages [data-split-lines].in-view .current:after {
  opacity: 1;
  transform: none; }

[data-split-lines] .split-line {
  overflow-y: hidden; }

[data-split-lines] .split-line * {
  transition: transform 1s ease-in-out; }

[data-split-lines] .split-line:nth-child(1) *,
[data-split-lines] .split-line:nth-child(1) .underline:after,
[data-split-lines] .split-line:nth-child(1) .footer .languages .current:after,
.footer .languages [data-split-lines] .split-line:nth-child(1) .current:after {
  transition-delay: 200ms; }

[data-split-lines] .split-line:nth-child(2) *,
[data-split-lines] .split-line:nth-child(2) .underline:after,
[data-split-lines] .split-line:nth-child(2) .footer .languages .current:after,
.footer .languages [data-split-lines] .split-line:nth-child(2) .current:after {
  transition-delay: 400ms; }

[data-split-lines] .split-line:nth-child(3) *,
[data-split-lines] .split-line:nth-child(3) .underline:after,
[data-split-lines] .split-line:nth-child(3) .footer .languages .current:after,
.footer .languages [data-split-lines] .split-line:nth-child(3) .current:after {
  transition-delay: 600ms; }

[data-split-lines] .split-line:nth-child(4) *,
[data-split-lines] .split-line:nth-child(4) .underline:after,
[data-split-lines] .split-line:nth-child(4) .footer .languages .current:after,
.footer .languages [data-split-lines] .split-line:nth-child(4) .current:after {
  transition-delay: 800ms; }

[data-split-lines] .split-line:nth-child(5) *,
[data-split-lines] .split-line:nth-child(5) .underline:after,
[data-split-lines] .split-line:nth-child(5) .footer .languages .current:after,
.footer .languages [data-split-lines] .split-line:nth-child(5) .current:after {
  transition-delay: 1000ms; }

[data-split-lines] .underline, [data-split-lines] .footer .languages .current, .footer .languages [data-split-lines] .current {
  transition: inherit;
  transform: inherit;
  opacity: inherit;
  text-decoration: none;
  position: relative;
  overflow: hidden; }
  [data-split-lines] .underline *, [data-split-lines] .footer .languages .current *, .footer .languages [data-split-lines] .current * {
    text-decoration: none !important; }
  [data-split-lines] .underline > div:not(:first-child), [data-split-lines] .footer .languages .current > div:not(:first-child), .footer .languages [data-split-lines] .current > div:not(:first-child) {
    padding-left: 0.25em;
    margin-left: -0.25em;
    display: inline-block; }
  [data-split-lines] .underline:after, [data-split-lines] .footer .languages .current:after, .footer .languages [data-split-lines] .current:after {
    transition: transform 1s ease-in-out;
    transform: translateY(20px);
    opacity: 0;
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 0.1em; }
  [data-split-lines] .underline.blue-grey:after, [data-split-lines] .footer .languages .blue-grey.current:after, .footer .languages [data-split-lines] .blue-grey.current:after {
    background-color: #888b95; }

.container-fluid > .container {
  margin: 0;
  padding: 0;
  max-width: 1440px; }
  .container-fluid > .container.boxed {
    max-width: 1140px; }

* {
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.dropdown {
  display: flex;
  flex-wrap: wrap; }
  .dropdown--link {
    flex: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-right: 1rem;
    max-width: 160px;
    cursor: pointer; }
    .dropdown--link svg {
      text-align: left;
      margin: 0 1rem;
      width: 10px;
      transition: all 0.3s ease-in-out; }
    .dropdown--link.active svg {
      transform: rotate(180deg); }
  .dropdown--list {
    display: none;
    flex: 100%;
    margin: 1rem 0.25rem;
    max-width: 100%; }
    .dropdown--list a, .dropdown--list .cta > span, .dropdown--list .cta--download > span {
      display: block;
      width: 100%;
      text-decoration: underline;
      margin-bottom: 6px; }

body {
  font-family: "Inter", sans-serif;
  font-weight: 400;
  line-height: 1.5;
  background: #433f3d;
  color: #FFFFFF; }
  @media (min-width: 768px) {
    body {
      font-size: 16px; } }
  @media (max-width: 767.98px) {
    body {
      font-size: 14px; } }

.h1, .section--hero--title,
.h2,
.h3,
.section--newsletter--title,
section .section--title,
.section .section--title,
section--light .section--title,
.section--light .section--title,
section--white .section--title,
.section--white .section--title,
section--black .section--title,
.section--black .section--title,
section--primary .section--title,
.section--primary .section--title,
.homepage .section--brands .section--title,
.section--slider .section--title,
.homepage .section--slider--ref .section--title,
.section--slider--prod .section--title,
section--grey .section--title,
.section--grey .section--title,
section--light-grey .section--title,
.section--light-grey .section--title,
section--blue-grey .section--title,
.section--blue-grey .section--title,
section--yellow .section--title,
.section--yellow .section--title,
.h4,
.h5,
.h6,
.info-modal--title {
  font-family: "Inter", sans-serif;
  font-weight: 600;
  line-height: 1.25;
  margin-top: 0; }

.h1, .section--hero--title {
  font-size: 40px;
  margin-bottom: 20px;
  /*
    @include media-up(sm) //768px
    {
        font-size: 52px;
        margin-bottom: 30px;
    }
    @include media-up(md) //992px
    {
        font-size: 80px;
        margin-bottom: 30px;
    }
    @include media-up(ml) //1280px
    {
        font-size: 120px;
        margin-bottom: 30px;
    }
    */ }
  @media (min-width: 768px) {
    .h1, .section--hero--title {
      font-size: 80px;
      margin-bottom: 30px; } }

.h2 {
  font-size: 36px;
  margin-bottom: 20px;
  /*
    @include media-up(sm) //768px
    {
        font-size: 50px;
        margin-bottom: 30px;
    }
    @include media-up(md) //1080px
    {
        font-size: 90px;
        margin-bottom: 30px;
    }
    */ }
  @media (min-width: 768px) {
    .h2 {
      font-size: 60px;
      margin-bottom: 20px; } }


.h3,
.section--newsletter--title,
section .section--title,
.section .section--title,
section--light .section--title,
.section--light .section--title,
section--white .section--title,
.section--white .section--title,
section--black .section--title,
.section--black .section--title,
section--primary .section--title,
.section--primary .section--title,
.homepage .section--brands .section--title,
.section--slider .section--title,
.homepage .section--slider--ref .section--title,
.section--slider--prod .section--title,
section--grey .section--title,
.section--grey .section--title,
section--light-grey .section--title,
.section--light-grey .section--title,
section--blue-grey .section--title,
.section--blue-grey .section--title,
section--yellow .section--title,
.section--yellow .section--title {
  font-size: 32px;
  margin-bottom: 20px;
  /*
    @include media-up(md) //768px
    {
        font-size: 60px;
        margin-bottom: 20px;
    }
    */ }
  @media (min-width: 768px) {
    
    .h3,
    .section--newsletter--title,
    section .section--title,
    .section .section--title,
    section--light .section--title,
    .section--light .section--title,
    section--white .section--title,
    .section--white .section--title,
    section--black .section--title,
    .section--black .section--title,
    section--primary .section--title,
    .section--primary .section--title,
    .homepage .section--brands .section--title,
    .section--slider .section--title,
    .homepage .section--slider--ref .section--title,
    .section--slider--prod .section--title,
    section--grey .section--title,
    .section--grey .section--title,
    section--light-grey .section--title,
    .section--light-grey .section--title,
    section--blue-grey .section--title,
    .section--blue-grey .section--title,
    section--yellow .section--title,
    .section--yellow .section--title {
      font-size: 48px;
      margin-bottom: 20px; } }

.h4 {
  font-size: 28px;
  margin-bottom: 20px;
  /*
    @include media-up(md) //768px
    {
        font-size: 40px;
        margin-bottom: 30px;
    }
    */ }
  @media (min-width: 768px) {
    .h4 {
      font-size: 40px;
      margin-bottom: 20px; } }

.h5 {
  font-size: 24px;
  margin-bottom: 20px;
  /*
    @include media-up(md)
    {
        font-size: 48px;
        //margin-bottom: 30px;
    }
    */ }
  @media (min-width: 768px) {
    .h5 {
      font-size: 32px;
      margin-bottom: 20px; } }


.h6,
.info-modal--title {
  font-size: 20px;
  margin-bottom: 18px; }
  @media (min-width: 768px) {
    
    .h6,
    .info-modal--title {
      font-size: 24px;
      margin-bottom: 20px; } }

/*
.subheading
{
    font-size: 32px;
    line-height: 1.15;
    text-align: left;
    &--small
    {
        @extend .subheading;
        font-size: 24px;
    }
}
*/
/*
.subheading,
.abstract
{
    //font-weight: $font-bold;
    font-size: 32px;
    line-height: 39px;
    text-align: left;
}
*/
.light {
  color: #FFFFFF; }

.white {
  color: #FFFFFF; }

.black {
  color: #000000; }

.primary {
  color: #2d2927; }

.grey {
  color: #cbc5c7; }

.light-grey {
  color: #dbd8d9; }

.blue-grey {
  color: #888b95; }

.yellow {
  color: #fce500; }

.small {
  font-size: 16px; }

.xsmall {
  font-size: 14px; }

.micro, .breadcrumbs {
  font-size: 12px; }

.underline, .footer .languages .current,
.underline *,
.footer .languages .current * {
  text-decoration: underline !important; }

.regular {
  font-weight: 400; }

.bold,
b,
strong,
.strong {
  font-weight: 600; }

p {
  margin-top: 0;
  margin-bottom: 1rem; }

.text-right {
  text-align: right; }

.text-left {
  text-align: left; }

.text-center {
  text-align: center; }

.text ul {
  margin: 0;
  padding: 0;
  padding-left: 1.5em; }
  .text ul li::marker {
    font-size: 1.5em; }
  .text ul li {
    padding-left: 0.5em;
    margin-bottom: 20px; }

button {
  font: inherit; }

a, .cta > span, .cta--download > span,
button, .btn, .panel-markets .btn--close, .panel-search .btn--clear, .panel-search .btn--close {
  display: inline-block;
  padding: 0;
  border: none;
  outline: none;
  background: none;
  -webkit-appearance: none;
          appearance: none;
  cursor: pointer;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  transition: ease-in-out 350ms;
  transition-property: background-color, color, border, opacity;
  /*
	&:hover {
		box-shadow: 0 10px 10px -5px rgba(0, 0, 0, 0.15);
	}
	*/ }
  a, .cta > span, .cta--download > span,
  button, .btn, .panel-markets .btn--close, .panel-search .btn--clear, .panel-search .btn--close, a:active, .cta > span:active, .cta--download > span:active,
  button:active, .btn:active, .panel-markets .btn--close:active, .panel-search .btn--clear:active, .panel-search .btn--close:active, a:focus, .cta > span:focus, .cta--download > span:focus,
  button:focus, .btn:focus, .panel-markets .btn--close:focus, .panel-search .btn--clear:focus, .panel-search .btn--close:focus, a:hover, .cta > span:hover, .cta--download > span:hover,
  button:hover, .btn:hover, .panel-markets .btn--close:hover, .panel-search .btn--clear:hover, .panel-search .btn--close:hover, a:visited, .cta > span:visited, .cta--download > span:visited,
  button:visited, .btn:visited, .panel-markets .btn--close:visited, .panel-search .btn--clear:visited, .panel-search .btn--close:visited {
    color: inherit;
    text-decoration: none;
    outline: none; }
  a[disabled], .cta > span[disabled], .cta--download > span[disabled],
  button[disabled], .btn[disabled], .panel-markets .btn--close[disabled], .panel-search .btn--clear[disabled], .panel-search .btn--close[disabled] {
    opacity: 0.5;
    pointer-events: none; }

.btn--link {
  padding: 0 8px;
  font-weight: 400; }
  .btn--link:hover {
    background: #cbc5c7; }

.btn {
  font-weight: 600;
  font-size: 13px;
  height: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
  padding: 0 16px;
  border: 1px solid; }
  @media (min-width: 768px) {
    .btn--md {
      height: 46px;
      font-size: 16px;
      padding: 0 40px; }
    .btn--lg {
      height: 55px;
      font-size: 18px;
      padding: 0 80px;
      margin-top: 20px; } }
  @media (max-width: 767.98px) {
    .btn--lg {
      display: flex;
      width: 100%;
      margin-top: 20px; } }
  .btn--light, .btn--light:link, .btn--light:active, .btn--light:focus, .btn--light:visited, .btn--light:hover {
    background-color: #FFFFFF;
    border-color: #FFFFFF;
    color: #2d2927; }
  .btn--light.btn--bordered, .btn--light.btn--bordered:link, .btn--light.btn--bordered:active, .btn--light.btn--bordered:focus, .btn--light.btn--bordered:visited, .btn--light.btn--bordered:hover {
    border-color: #2d2927; }
  .btn--dark, .btn--dark:link, .btn--dark:active, .btn--dark:focus, .btn--dark:visited, .btn--dark:hover {
    background-color: #2d2927;
    border-color: #2d2927;
    color: #FFFFFF; }
  .btn--dark.btn--bordered, .btn--dark.btn--bordered:link, .btn--dark.btn--bordered:active, .btn--dark.btn--bordered:focus, .btn--dark.btn--bordered:visited, .btn--dark.btn--bordered:hover {
    border-color: #FFFFFF; }
  .btn:not([disabled]):hover, .btn:not([disabled]):focus {
    background-color: #fce500;
    color: #2d2927;
    border-color: #fce500; }

svg {
  fill: currentColor; }

/*
    sovrascrive il box model di una colonna, solitamente un .col-12 per gestire gli elementi fullwidth che
    devono avere overflow visibile a destra e margine coerente con la griglia a sinistra
*/
.container {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-right: 20px;
  padding-left: 20px; }
  @media (min-width: 768px) {
    .container {
      max-width: calc(100vw - 80px); } }
  @media (min-width: 992px) {
    .container {
      max-width: calc(100vw - 160px - 20px); } }
  @media (min-width: 1680px) {
    .container {
      max-width: calc(1420px - 20px); } }

.container-fluid {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-right: 20px;
  padding-left: 20px; }
  @media (min-width: 768px) {
    .container-fluid {
      max-width: calc(100vw - 80px); } }
  @media (min-width: 992px) {
    .container-fluid {
      max-width: calc(100vw - 160px - 20px); } }
  @media (min-width: 1680px) {
    .container-fluid {
      max-width: calc(100vw - 240px - 20px); } }
  @media (min-width: 1920px) {
    .container-fluid {
      max-width: calc(1920px - 240px - 20px); } }

.row {
  display: flex;
  flex-wrap: wrap;
  margin-right: -20px;
  margin-left: -20px;
  min-width: 100%; }

.container {
  position: relative; }

/*
	%grid-column {
		position: relative;
		width: 100%;
		padding-right: $gutter / 2;
		padding-left: $gutter / 2;
	}
	*/
.col-1 {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

.col-2 {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

.col-3 {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

.col-4 {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

.col-5 {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

.col-6 {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

.col-7 {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

.col-8 {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

.col-9 {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

.col-10 {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

.col-11 {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

.col-12 {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

.col,
.col-auto {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

.col {
  flex-basis: 0;
  flex-grow: 1;
  max-width: 100%; }

.col-auto {
  flex: 0 0 auto;
  width: auto;
  max-width: 100%; }

.col-1 {
  flex: 0 0 8.33333%;
  max-width: 8.33333%; }

.col-2 {
  flex: 0 0 16.66667%;
  max-width: 16.66667%; }

.col-3 {
  flex: 0 0 25%;
  max-width: 25%; }

.col-4 {
  flex: 0 0 33.33333%;
  max-width: 33.33333%; }

.col-5 {
  flex: 0 0 41.66667%;
  max-width: 41.66667%; }

.col-6 {
  flex: 0 0 50%;
  max-width: 50%; }

.col-7 {
  flex: 0 0 58.33333%;
  max-width: 58.33333%; }

.col-8 {
  flex: 0 0 66.66667%;
  max-width: 66.66667%; }

.col-9 {
  flex: 0 0 75%;
  max-width: 75%; }

.col-10 {
  flex: 0 0 83.33333%;
  max-width: 83.33333%; }

.col-11 {
  flex: 0 0 91.66667%;
  max-width: 91.66667%; }

.col-12 {
  flex: 0 0 100%;
  max-width: 100%; }

.order-first {
  order: -1; }

.order-last {
  order: 13; }

.order-0 {
  order: 0; }

.order-1 {
  order: 1; }

.order-2 {
  order: 2; }

.order-3 {
  order: 3; }

.order-4 {
  order: 4; }

.order-5 {
  order: 5; }

.order-6 {
  order: 6; }

.order-7 {
  order: 7; }

.order-8 {
  order: 8; }

.order-9 {
  order: 9; }

.order-10 {
  order: 10; }

.order-11 {
  order: 11; }

.order-12 {
  order: 12; }

.offset-1 {
  margin-left: 8.33333%; }

.offset-2 {
  margin-left: 16.66667%; }

.offset-3 {
  margin-left: 25%; }

.offset-4 {
  margin-left: 33.33333%; }

.offset-5 {
  margin-left: 41.66667%; }

.offset-6 {
  margin-left: 50%; }

.offset-7 {
  margin-left: 58.33333%; }

.offset-8 {
  margin-left: 66.66667%; }

.offset-9 {
  margin-left: 75%; }

.offset-10 {
  margin-left: 83.33333%; }

.offset-11 {
  margin-left: 91.66667%; }

.col-sm-1 {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

.col-sm-2 {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

.col-sm-3 {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

.col-sm-4 {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

.col-sm-5 {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

.col-sm-6 {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

.col-sm-7 {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

.col-sm-8 {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

.col-sm-9 {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

.col-sm-10 {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

.col-sm-11 {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

.col-sm-12 {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

.col-sm,
.col-sm-auto {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

@media (min-width: 768px) {
  .col-sm {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%; }
  .col-sm-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%; }
  .col-sm-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .col-sm-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .col-sm-3 {
    flex: 0 0 25%;
    max-width: 25%; }
  .col-sm-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .col-sm-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .col-sm-6 {
    flex: 0 0 50%;
    max-width: 50%; }
  .col-sm-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .col-sm-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .col-sm-9 {
    flex: 0 0 75%;
    max-width: 75%; }
  .col-sm-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .col-sm-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .col-sm-12 {
    flex: 0 0 100%;
    max-width: 100%; }
  .order-sm-first {
    order: -1; }
  .order-sm-last {
    order: 13; }
  .order-sm-0 {
    order: 0; }
  .order-sm-1 {
    order: 1; }
  .order-sm-2 {
    order: 2; }
  .order-sm-3 {
    order: 3; }
  .order-sm-4 {
    order: 4; }
  .order-sm-5 {
    order: 5; }
  .order-sm-6 {
    order: 6; }
  .order-sm-7 {
    order: 7; }
  .order-sm-8 {
    order: 8; }
  .order-sm-9 {
    order: 9; }
  .order-sm-10 {
    order: 10; }
  .order-sm-11 {
    order: 11; }
  .order-sm-12 {
    order: 12; }
  .offset-sm-0 {
    margin-left: 0; }
  .offset-sm-1 {
    margin-left: 8.33333%; }
  .offset-sm-2 {
    margin-left: 16.66667%; }
  .offset-sm-3 {
    margin-left: 25%; }
  .offset-sm-4 {
    margin-left: 33.33333%; }
  .offset-sm-5 {
    margin-left: 41.66667%; }
  .offset-sm-6 {
    margin-left: 50%; }
  .offset-sm-7 {
    margin-left: 58.33333%; }
  .offset-sm-8 {
    margin-left: 66.66667%; }
  .offset-sm-9 {
    margin-left: 75%; }
  .offset-sm-10 {
    margin-left: 83.33333%; }
  .offset-sm-11 {
    margin-left: 91.66667%; } }

.col-md-1 {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

.col-md-2 {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

.col-md-3 {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

.col-md-4 {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

.col-md-5 {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

.col-md-6 {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

.col-md-7 {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

.col-md-8 {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

.col-md-9 {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

.col-md-10 {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

.col-md-11 {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

.col-md-12 {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

.col-md,
.col-md-auto {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

@media (min-width: 992px) {
  .col-md {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%; }
  .col-md-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%; }
  .col-md-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .col-md-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .col-md-3 {
    flex: 0 0 25%;
    max-width: 25%; }
  .col-md-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .col-md-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .col-md-6 {
    flex: 0 0 50%;
    max-width: 50%; }
  .col-md-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .col-md-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .col-md-9 {
    flex: 0 0 75%;
    max-width: 75%; }
  .col-md-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .col-md-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .col-md-12 {
    flex: 0 0 100%;
    max-width: 100%; }
  .order-md-first {
    order: -1; }
  .order-md-last {
    order: 13; }
  .order-md-0 {
    order: 0; }
  .order-md-1 {
    order: 1; }
  .order-md-2 {
    order: 2; }
  .order-md-3 {
    order: 3; }
  .order-md-4 {
    order: 4; }
  .order-md-5 {
    order: 5; }
  .order-md-6 {
    order: 6; }
  .order-md-7 {
    order: 7; }
  .order-md-8 {
    order: 8; }
  .order-md-9 {
    order: 9; }
  .order-md-10 {
    order: 10; }
  .order-md-11 {
    order: 11; }
  .order-md-12 {
    order: 12; }
  .offset-md-0 {
    margin-left: 0; }
  .offset-md-1 {
    margin-left: 8.33333%; }
  .offset-md-2 {
    margin-left: 16.66667%; }
  .offset-md-3 {
    margin-left: 25%; }
  .offset-md-4 {
    margin-left: 33.33333%; }
  .offset-md-5 {
    margin-left: 41.66667%; }
  .offset-md-6 {
    margin-left: 50%; }
  .offset-md-7 {
    margin-left: 58.33333%; }
  .offset-md-8 {
    margin-left: 66.66667%; }
  .offset-md-9 {
    margin-left: 75%; }
  .offset-md-10 {
    margin-left: 83.33333%; }
  .offset-md-11 {
    margin-left: 91.66667%; } }

.col-ml-1 {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

.col-ml-2 {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

.col-ml-3 {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

.col-ml-4 {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

.col-ml-5 {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

.col-ml-6 {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

.col-ml-7 {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

.col-ml-8 {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

.col-ml-9 {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

.col-ml-10 {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

.col-ml-11 {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

.col-ml-12 {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

.col-ml,
.col-ml-auto {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

@media (min-width: 1280px) {
  .col-ml {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%; }
  .col-ml-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%; }
  .col-ml-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .col-ml-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .col-ml-3 {
    flex: 0 0 25%;
    max-width: 25%; }
  .col-ml-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .col-ml-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .col-ml-6 {
    flex: 0 0 50%;
    max-width: 50%; }
  .col-ml-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .col-ml-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .col-ml-9 {
    flex: 0 0 75%;
    max-width: 75%; }
  .col-ml-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .col-ml-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .col-ml-12 {
    flex: 0 0 100%;
    max-width: 100%; }
  .order-ml-first {
    order: -1; }
  .order-ml-last {
    order: 13; }
  .order-ml-0 {
    order: 0; }
  .order-ml-1 {
    order: 1; }
  .order-ml-2 {
    order: 2; }
  .order-ml-3 {
    order: 3; }
  .order-ml-4 {
    order: 4; }
  .order-ml-5 {
    order: 5; }
  .order-ml-6 {
    order: 6; }
  .order-ml-7 {
    order: 7; }
  .order-ml-8 {
    order: 8; }
  .order-ml-9 {
    order: 9; }
  .order-ml-10 {
    order: 10; }
  .order-ml-11 {
    order: 11; }
  .order-ml-12 {
    order: 12; }
  .offset-ml-0 {
    margin-left: 0; }
  .offset-ml-1 {
    margin-left: 8.33333%; }
  .offset-ml-2 {
    margin-left: 16.66667%; }
  .offset-ml-3 {
    margin-left: 25%; }
  .offset-ml-4 {
    margin-left: 33.33333%; }
  .offset-ml-5 {
    margin-left: 41.66667%; }
  .offset-ml-6 {
    margin-left: 50%; }
  .offset-ml-7 {
    margin-left: 58.33333%; }
  .offset-ml-8 {
    margin-left: 66.66667%; }
  .offset-ml-9 {
    margin-left: 75%; }
  .offset-ml-10 {
    margin-left: 83.33333%; }
  .offset-ml-11 {
    margin-left: 91.66667%; } }

.col-lg-1 {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

.col-lg-2 {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

.col-lg-3 {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

.col-lg-4 {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

.col-lg-5 {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

.col-lg-6 {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

.col-lg-7 {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

.col-lg-8 {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

.col-lg-9 {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

.col-lg-10 {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

.col-lg-11 {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

.col-lg-12 {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

.col-lg,
.col-lg-auto {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

@media (min-width: 1680px) {
  .col-lg {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%; }
  .col-lg-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%; }
  .col-lg-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .col-lg-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .col-lg-3 {
    flex: 0 0 25%;
    max-width: 25%; }
  .col-lg-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .col-lg-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .col-lg-6 {
    flex: 0 0 50%;
    max-width: 50%; }
  .col-lg-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .col-lg-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .col-lg-9 {
    flex: 0 0 75%;
    max-width: 75%; }
  .col-lg-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .col-lg-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .col-lg-12 {
    flex: 0 0 100%;
    max-width: 100%; }
  .order-lg-first {
    order: -1; }
  .order-lg-last {
    order: 13; }
  .order-lg-0 {
    order: 0; }
  .order-lg-1 {
    order: 1; }
  .order-lg-2 {
    order: 2; }
  .order-lg-3 {
    order: 3; }
  .order-lg-4 {
    order: 4; }
  .order-lg-5 {
    order: 5; }
  .order-lg-6 {
    order: 6; }
  .order-lg-7 {
    order: 7; }
  .order-lg-8 {
    order: 8; }
  .order-lg-9 {
    order: 9; }
  .order-lg-10 {
    order: 10; }
  .order-lg-11 {
    order: 11; }
  .order-lg-12 {
    order: 12; }
  .offset-lg-0 {
    margin-left: 0; }
  .offset-lg-1 {
    margin-left: 8.33333%; }
  .offset-lg-2 {
    margin-left: 16.66667%; }
  .offset-lg-3 {
    margin-left: 25%; }
  .offset-lg-4 {
    margin-left: 33.33333%; }
  .offset-lg-5 {
    margin-left: 41.66667%; }
  .offset-lg-6 {
    margin-left: 50%; }
  .offset-lg-7 {
    margin-left: 58.33333%; }
  .offset-lg-8 {
    margin-left: 66.66667%; }
  .offset-lg-9 {
    margin-left: 75%; }
  .offset-lg-10 {
    margin-left: 83.33333%; }
  .offset-lg-11 {
    margin-left: 91.66667%; } }

.col-xl-1 {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

.col-xl-2 {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

.col-xl-3 {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

.col-xl-4 {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

.col-xl-5 {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

.col-xl-6 {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

.col-xl-7 {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

.col-xl-8 {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

.col-xl-9 {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

.col-xl-10 {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

.col-xl-11 {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

.col-xl-12 {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

.col-xl,
.col-xl-auto {
  position: relative;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px; }

@media (min-width: 1920px) {
  .col-xl {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%; }
  .col-xl-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%; }
  .col-xl-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .col-xl-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .col-xl-3 {
    flex: 0 0 25%;
    max-width: 25%; }
  .col-xl-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .col-xl-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .col-xl-6 {
    flex: 0 0 50%;
    max-width: 50%; }
  .col-xl-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .col-xl-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .col-xl-9 {
    flex: 0 0 75%;
    max-width: 75%; }
  .col-xl-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .col-xl-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .col-xl-12 {
    flex: 0 0 100%;
    max-width: 100%; }
  .order-xl-first {
    order: -1; }
  .order-xl-last {
    order: 13; }
  .order-xl-0 {
    order: 0; }
  .order-xl-1 {
    order: 1; }
  .order-xl-2 {
    order: 2; }
  .order-xl-3 {
    order: 3; }
  .order-xl-4 {
    order: 4; }
  .order-xl-5 {
    order: 5; }
  .order-xl-6 {
    order: 6; }
  .order-xl-7 {
    order: 7; }
  .order-xl-8 {
    order: 8; }
  .order-xl-9 {
    order: 9; }
  .order-xl-10 {
    order: 10; }
  .order-xl-11 {
    order: 11; }
  .order-xl-12 {
    order: 12; }
  .offset-xl-0 {
    margin-left: 0; }
  .offset-xl-1 {
    margin-left: 8.33333%; }
  .offset-xl-2 {
    margin-left: 16.66667%; }
  .offset-xl-3 {
    margin-left: 25%; }
  .offset-xl-4 {
    margin-left: 33.33333%; }
  .offset-xl-5 {
    margin-left: 41.66667%; }
  .offset-xl-6 {
    margin-left: 50%; }
  .offset-xl-7 {
    margin-left: 58.33333%; }
  .offset-xl-8 {
    margin-left: 66.66667%; }
  .offset-xl-9 {
    margin-left: 75%; }
  .offset-xl-10 {
    margin-left: 83.33333%; }
  .offset-xl-11 {
    margin-left: 91.66667%; } }

@media (min-width: 992px) and (max-width: 1919.98px) {
  .o-md-1 {
    order: 1; }
  .o-md-2 {
    order: 2; }
  .o-md-3 {
    order: 3; }
  .o-md-4 {
    order: 4; }
  .o-md-5 {
    order: 5; }
  .o-md-6 {
    order: 6; }
  .o-md-7 {
    order: 7; }
  .o-md-8 {
    order: 8; }
  .o-md-9 {
    order: 9; }
  .o-md-10 {
    order: 10; }
  .o-md-11 {
    order: 11; }
  .o-md-12 {
    order: 12; }
  .o-md-13 {
    order: 13; }
  .o-md-14 {
    order: 14; }
  .o-md-15 {
    order: 15; }
  .o-md-16 {
    order: 16; }
  .o-md-17 {
    order: 17; }
  .o-md-18 {
    order: 18; }
  .o-md-19 {
    order: 19; }
  .o-md-20 {
    order: 20; } }

@media (min-width: 768px) and (max-width: 1279.98px) {
  .o-sm-1 {
    order: 1; }
  .o-sm-2 {
    order: 2; }
  .o-sm-3 {
    order: 3; }
  .o-sm-4 {
    order: 4; }
  .o-sm-5 {
    order: 5; }
  .o-sm-6 {
    order: 6; }
  .o-sm-7 {
    order: 7; }
  .o-sm-8 {
    order: 8; }
  .o-sm-9 {
    order: 9; }
  .o-sm-10 {
    order: 10; }
  .o-sm-11 {
    order: 11; }
  .o-sm-12 {
    order: 12; }
  .o-sm-13 {
    order: 13; }
  .o-sm-14 {
    order: 14; }
  .o-sm-15 {
    order: 15; }
  .o-sm-16 {
    order: 16; }
  .o-sm-17 {
    order: 17; }
  .o-sm-18 {
    order: 18; }
  .o-sm-19 {
    order: 19; }
  .o-sm-20 {
    order: 20; } }

@media (max-width: 991.98px) {
  .o-1 {
    order: 1; }
  .o-2 {
    order: 2; }
  .o-3 {
    order: 3; }
  .o-4 {
    order: 4; }
  .o-5 {
    order: 5; }
  .o-6 {
    order: 6; }
  .o-7 {
    order: 7; }
  .o-8 {
    order: 8; }
  .o-9 {
    order: 9; }
  .o-10 {
    order: 10; }
  .o-11 {
    order: 11; }
  .o-12 {
    order: 12; }
  .o-13 {
    order: 13; }
  .o-14 {
    order: 14; }
  .o-15 {
    order: 15; }
  .o-16 {
    order: 16; }
  .o-17 {
    order: 17; }
  .o-18 {
    order: 18; }
  .o-19 {
    order: 19; }
  .o-20 {
    order: 20; } }

@media (max-width: 767.98px) {
  .hidden-xs-down {
    display: none !important; } }

.hidden-xs-up {
  display: none !important; }

@media (max-width: 991.98px) {
  .hidden-sm-down {
    display: none !important; } }

@media (min-width: 768px) {
  .hidden-sm-up {
    display: none !important; } }

@media (max-width: 1279.98px) {
  .hidden-md-down {
    display: none !important; } }

@media (min-width: 992px) {
  .hidden-md-up {
    display: none !important; } }

@media (max-width: 1679.98px) {
  .hidden-ml-down {
    display: none !important; } }

@media (min-width: 1280px) {
  .hidden-ml-up {
    display: none !important; } }

@media (max-width: 1919.98px) {
  .hidden-lg-down {
    display: none !important; } }

@media (min-width: 1680px) {
  .hidden-lg-up {
    display: none !important; } }

.hidden-xl-down {
  display: none !important; }

@media (min-width: 1920px) {
  .hidden-xl-up {
    display: none !important; } }

/*
    sovrascrive il box model di una colonna, solitamente un .col-12 per gestire gli elementi fullwidth che
    devono avere overflow visibile a destra e margine coerente con la griglia a sinistra
*/
.section--hero, .section--hero--short, .section--hero--large, .section--hero--homepage {
  min-height: 100vh;
  display: flex;
  align-items: center;
  position: relative; }
  .section--hero .scroll-to, .section--hero--short .scroll-to, .section--hero--large .scroll-to, .section--hero--homepage .scroll-to {
    position: absolute;
    bottom: 40px;
    left: 0;
    right: 0;
    margin: auto;
    text-align: center; }
  .section--hero--title {
    position: relative;
    display: inline-block; }
    .section--hero--title small {
      font-size: 30%;
      font-weight: 400;
      position: absolute;
      right: 0px;
      transform: translateX(100%); }
      @media (min-width: 992px) {
        .section--hero--title small {
          font-size: 35%;
          right: -20px; } }

@media (orientation: landscape) and (max-height: 600px) {
  .section--hero--title {
    font-size: 40px; } }
  .section--hero--subtitle {
    font-size: 20px;
    margin-top: 60px; }
    .section--hero--subtitle a, .section--hero--subtitle .cta > span, .section--hero--subtitle .cta--download > span {
      text-decoration: underline; }
  .section--hero--short {
    min-height: 0;
    align-items: flex-end;
    padding-bottom: 0; }
    @media (max-width: 767.98px) {
      .section--hero--short {
        display: flex;
        align-items: center; }
        .section--hero--short .hero--content {
          padding: 40px 0 0px 0; } }
    .section--hero--short .content .section--hero--title {
      margin-bottom: 0;
      line-height: 1; }
    .section--hero--short .section--hero--title {
      margin-bottom: 0; }
  .section--hero--large, .section--hero--homepage {
    transition: none;
    min-height: calc(100vh - 60px); }
    @media (min-width: 992px) {
      .section--hero--large, .section--hero--homepage {
        padding: 0;
        min-height: 100vh; } }
    .section--hero--large .content, .section--hero--homepage .content {
      width: 100%; }
      @media (min-width: 768px) {
        .section--hero--large .content, .section--hero--homepage .content {
          max-width: 60%; } }
      @media (min-width: 992px) {
        .section--hero--large .content, .section--hero--homepage .content {
          max-width: 80%; } }
      @media (min-width: 1680px) {
        .section--hero--large .content, .section--hero--homepage .content {
          max-width: 70%; } }
  .section--hero--homepage {
    padding: 0;
    position: relative;
    background-size: cover;
    background-position: center center;
    display: flex;
    flex-direction: column; }
    .section--hero--homepage:after {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: rgba(0, 0, 0, 0.4); }
    .section--hero--homepage .hero--content {
      position: relative;
      z-index: 1;
      min-width: 100%;
      min-height: 100%;
      flex: 1;
      display: flex;
      flex-direction: column;
      justify-content: center; }
      .section--hero--homepage .hero--content .container,
      .section--hero--homepage .hero--content .container-fluid {
        position: relative; }
    @media (min-width: 992px) {
      .section--hero--homepage .section--hero--title {
        max-width: 780px; } }
    .section--hero--homepage .hero--caption {
      position: absolute;
      bottom: 30px;
      left: 20px; }
      .section--hero--homepage .hero--caption a, .section--hero--homepage .hero--caption .cta > span, .section--hero--homepage .hero--caption .cta--download > span {
        text-decoration: underline; }
      @media (min-width: 768px) {
        .section--hero--homepage .hero--caption {
          left: 60px; } }
      @media (min-width: 992px) {
        .section--hero--homepage .hero--caption {
          left: 80px; } }
      @media (min-width: 1680px) {
        .section--hero--homepage .hero--caption {
          left: 120px; } }
    .section--hero--homepage .scroll-to {
      z-index: 100; }
      @media (max-width: 767.98px) {
        .section--hero--homepage .scroll-to {
          display: none; } }
  .section--hero--slider {
    display: block; }
    .section--hero--slider .slick-slider {
      position: relative;
      z-index: 1; }
    .section--hero--slider .slides {
      min-height: calc(100vh - 60px);
      display: flex;
      /*
            position: relative;
            z-index: 1;
            min-width: 100%;
            min-height: 100%;
            flex: 1;
            display: flex;
            flex-direction: column;
            justify-content: center;
            */ }
      @media (min-width: 992px) {
        .section--hero--slider .slides {
          min-height: 100vh; } }
      .section--hero--slider .slides .slick-track {
        height: 100%; }
      .section--hero--slider .slides .slick-slide,
      .section--hero--slider .slides .slick-slide > div {
        display: flex;
        height: 100%;
        flex-direction: column; }
      .section--hero--slider .slides .slick-slide {
        min-width: 100vw; }
        @media (min-width: 992px) {
          .section--hero--slider .slides .slick-slide {
            min-width: calc(100vw - 60px); } }
    .section--hero--slider .hero--content {
      display: flex !important;
      align-items: center;
      background-size: cover;
      background-position: center center;
      background-color: #000000; }
    .section--hero--slider .media {
      position: absolute;
      min-height: 100%;
      min-width: 100%;
      opacity: 0.6;
      background-size: cover;
      background-position: center center; }
    .section--hero--slider .section--hero--title {
      display: block;
      clear: both;
      max-width: 720px; }
    .section--hero--slider .hero--video {
      justify-content: flex-end;
      background: #000000; }
      .section--hero--slider .hero--video .container-fluid {
        padding-bottom: 80px; }
        @media (min-width: 992px) {
          .section--hero--slider .hero--video .container-fluid {
            padding-bottom: 100px; } }
      .section--hero--slider .hero--video .section--hero--title {
        max-width: 100%; }
      .section--hero--slider .hero--video video {
        position: absolute;
        min-height: 100%;
        min-width: 100%; }
    .section--hero--slider .btn {
      display: inline-flex; }
    .section--hero--slider .hero-arrows {
      position: absolute;
      z-index: 1;
      top: 50%;
      left: 0;
      right: 0; }
      .section--hero--slider .hero-arrows .prev,
      .section--hero--slider .hero-arrows .next {
        position: absolute; }
      .section--hero--slider .hero-arrows .prev {
        left: 20px; }
      .section--hero--slider .hero-arrows .next {
        right: 20px; }
      @media (min-width: 1680px) {
        .section--hero--slider .hero-arrows .prev {
          left: 30px; }
        .section--hero--slider .hero-arrows .next {
          right: 30px; } }
    .section--hero--slider .nav {
      position: absolute;
      z-index: 1;
      bottom: 30px;
      right: 20px;
      color: #FFFFFF; }
      .section--hero--slider .nav * {
        font-size: 13px;
        color: #FFFFFF; }
      .section--hero--slider .nav .prev, .section--hero--slider .nav .next {
        display: none; }
      @media (min-width: 768px) {
        .section--hero--slider .nav {
          right: 60px; } }
      @media (min-width: 992px) {
        .section--hero--slider .nav {
          right: 80px; } }
      @media (min-width: 1680px) {
        .section--hero--slider .nav {
          right: 120px; } }
    @media (max-width: 991.98px) {
      .section--hero--slider .arrows svg, .section--hero--slider .arrows--pagination svg {
        width: 20px; }
      .section--hero--slider .hero--content {
        padding-left: 40px;
        padding-right: 40px; } }

.form, .form--text, .form--email, .form--file, .form--select, .form--textarea, .form--checkbox, .form--radio,
form {
  display: block;
  width: 100%; }

.row > form,
.row > .form,
.row > .form--text,
.row > .form--email,
.row > .form--file,
.row > .form--select,
.row > .form--textarea,
.row > .form--checkbox,
.row > .form--radio {
  display: flex;
  flex-wrap: wrap; }

.form, .form--text, .form--email, .form--file, .form--select, .form--textarea, .form--checkbox, .form--radio {
  margin-bottom: 15px;
  border: 1px solid #888b95; }
  @media (min-width: 768px) {
    .form, .form--text, .form--email, .form--file, .form--select, .form--textarea, .form--checkbox, .form--radio {
      margin-bottom: 20px; } }
  .form *, .form--text *, .form--email *, .form--file *, .form--select *, .form--textarea *, .form--checkbox *, .form--radio *,
  .form *:hover,
  .form--text *:hover,
  .form--email *:hover,
  .form--file *:hover,
  .form--select *:hover,
  .form--textarea *:hover,
  .form--checkbox *:hover,
  .form--radio *:hover,
  .form *:focus,
  .form--text *:focus,
  .form--email *:focus,
  .form--file *:focus,
  .form--select *:focus,
  .form--textarea *:focus,
  .form--checkbox *:focus,
  .form--radio *:focus {
    outline: none;
    background: transparent; }
  .form-blocks {
    margin: 60px 0; }
  .form-submit {
    margin-top: 20px; }
  .form input, .form--text input, .form--email input, .form--file input, .form--select input, .form--textarea input, .form--checkbox input, .form--radio input,
  .form textarea,
  .form--text textarea,
  .form--email textarea,
  .form--file textarea,
  .form--select textarea,
  .form--textarea textarea,
  .form--checkbox textarea,
  .form--radio textarea,
  .form select,
  .form--text select,
  .form--email select,
  .form--file select,
  .form--select select,
  .form--textarea select,
  .form--checkbox select,
  .form--radio select,
  .form label,
  .form--text label,
  .form--email label,
  .form--file label,
  .form--select label,
  .form--textarea label,
  .form--checkbox label,
  .form--radio label {
    border: 0;
    padding: 14px 12px;
    font-size: 14px;
    color: #888b95;
    font-family: "Inter", sans-serif;
    font-weight: 400;
    display: block;
    width: 100%;
    background: transparent;
    min-height: 50px;
    transition: all 0.3s ease-in-out; }
    .form input:focus, .form--text input:focus, .form--email input:focus, .form--file input:focus, .form--select input:focus, .form--textarea input:focus, .form--checkbox input:focus, .form--radio input:focus,
    .form textarea:focus,
    .form--text textarea:focus,
    .form--email textarea:focus,
    .form--file textarea:focus,
    .form--select textarea:focus,
    .form--textarea textarea:focus,
    .form--checkbox textarea:focus,
    .form--radio textarea:focus,
    .form select:focus,
    .form--text select:focus,
    .form--email select:focus,
    .form--file select:focus,
    .form--select select:focus,
    .form--textarea select:focus,
    .form--checkbox select:focus,
    .form--radio select:focus,
    .form label:focus,
    .form--text label:focus,
    .form--email label:focus,
    .form--file label:focus,
    .form--select label:focus,
    .form--textarea label:focus,
    .form--checkbox label:focus,
    .form--radio label:focus {
      color: #fce500;
      border: 1px solid #fce500 !important; }
  
  .form label,
  .form--text label,
  .form--email label,
  .form--file label,
  .form--select label,
  .form--textarea label,
  .form--checkbox label,
  .form--radio label {
    font-size: 14px;
    color: #888b95;
    font-family: "Inter", sans-serif;
    font-weight: 400;
    display: block;
    width: 100%; }
  .form--file {
    position: relative;
    padding-right: 48px;
    overflow: hidden; }
    .form--file input {
      opacity: 0;
      position: absolute;
      top: 0;
      left: 0;
      z-index: 1;
      height: 100%;
      width: 100%; }
    .form--file:after {
      content: "";
      position: absolute;
      right: 0;
      top: 0;
      width: 48px;
      height: 100%;
      background-image: url(../svg/upload-bg.svg);
      background-position: center center;
      background-repeat: no-repeat;
      background-color: #888b95; }
  .form--select {
    position: relative;
    padding-right: 48px; }
    .form--select select {
      -webkit-appearance: none;
              appearance: none; }
      .form--select select option {
        background: white;
        color: #111111; }
    .form--select:after {
      content: "";
      position: absolute;
      right: 16px;
      top: 50%;
      transform: translateY(-50%);
      width: 15px;
      height: 8px;
      background-image: url(../svg/select-bg.svg);
      background-position: center center;
      background-repeat: no-repeat; }
  .form--checkbox {
    border: 0; }
    .form--checkbox label {
      padding: 0;
      min-height: auto; }
      .form--checkbox label a, .form--checkbox label .cta > span, .form--checkbox label .cta--download > span {
        text-decoration: underline; }
    .form--checkbox .checkbox--input {
      position: absolute;
      opacity: 0;
      z-index: -1;
      left: -99999px; }
    .form--checkbox .checkbox--label {
      position: relative;
      padding-left: 40px;
      font-size: 12px;
      color: #888b95;
      align-items: center;
      cursor: pointer; }
      @media (max-width: 991.98px) {
        .form--checkbox .checkbox--label {
          min-height: initial;
          padding-top: 0;
          padding-bottom: 0; } }
      .form--checkbox .checkbox--label:before {
        content: "";
        width: 20px;
        height: 20px;
        border: 1px solid #888b95;
        position: absolute;
        left: 0;
        top: 50%;
        transform: translateY(-50%);
        transition: all 0.3s ease-in-out; }
      .form--checkbox .checkbox--label:after {
        content: "";
        width: 14px;
        height: 14px;
        border: 1px solid #888b95;
        position: absolute;
        left: 0;
        top: 50%;
        transform: translateY(-50%);
        transition: all 0.3s ease-in-out;
        margin-left: 4px;
        border: 0; }
    .form--checkbox .checkbox--input.error ~ label:before {
      border-color: #ff6464; }
    .form--checkbox input:checked ~ label:after {
      background-color: #9e989a; }
  .form--radio {
    display: flex;
    border: 0; }
    .form--radio label {
      padding: 0;
      min-height: auto; }
      .form--radio label a, .form--radio label .cta > span, .form--radio label .cta--download > span {
        text-decoration: underline; }
    .form--radio input[type=radio] {
      position: absolute;
      opacity: 0;
      z-index: -1;
      left: -99999px; }
    .form--radio label {
      position: relative;
      padding-left: 28px;
      font-size: 12px;
      color: #FFFFFF;
      align-items: center;
      cursor: pointer; }
      @media (max-width: 991.98px) {
        .form--radio label {
          min-height: initial;
          padding-top: 0;
          padding-bottom: 0; } }
      .form--radio label:before {
        content: "";
        width: 14px;
        height: 14px;
        border: 1px solid #FFFFFF;
        position: absolute;
        left: 0;
        top: 50%;
        transform: translateY(-50%);
        transition: all 0.3s ease-in-out;
        border-radius: 50%; }
      .form--radio label:after {
        content: "";
        width: 8px;
        height: 8px;
        border: 1px solid #FFFFFF;
        position: absolute;
        left: 0;
        top: 50%;
        transform: translateY(-50%);
        transition: all 0.3s ease-in-out;
        margin-left: 4px;
        border: 0;
        border-radius: 50%; }
    .form--radio input:checked ~ label:after {
      background-color: #cbc5c7; }
  .form input.error, .form--text input.error, .form--email input.error, .form--file input.error, .form--select input.error, .form--textarea input.error, .form--checkbox input.error, .form--radio input.error,
  .form input.error:focus,
  .form--text input.error:focus,
  .form--email input.error:focus,
  .form--file input.error:focus,
  .form--select input.error:focus,
  .form--textarea input.error:focus,
  .form--checkbox input.error:focus,
  .form--radio input.error:focus {
    border: 1px solid #ff6464 !important;
    color: #ff6464 !important;
    outline: none; }

.error .form--text {
  box-shadow: 0px 0px 5px 0px #ff6464;
  border-color: transparent; }
  .error .form--text * {
    color: #ff6464; }

.error .form--email {
  box-shadow: 0px 0px 5px 0px #ff6464;
  border-color: transparent; }
  .error .form--email * {
    color: #ff6464; }

.error .form--file {
  box-shadow: 0px 0px 5px 0px #ff6464;
  border-color: transparent; }
  .error .form--file * {
    color: #ff6464; }

.error .form--select {
  box-shadow: 0px 0px 5px 0px #ff6464;
  border-color: transparent; }
  .error .form--select * {
    color: #ff6464; }

.error .form--textarea {
  box-shadow: 0px 0px 5px 0px #ff6464;
  border-color: transparent; }
  .error .form--textarea * {
    color: #ff6464; }

.error .form--checkbox .checkbox--label {
  color: #ff6464; }
  .error .form--checkbox .checkbox--label:before {
    box-shadow: 0px 0px 5px 0px #ff6464;
    border-color: transparent; }

.section--white .form, .section--white .form--text, .section--white .form--email, .section--white .form--file, .section--white .form--select, .section--white .form--textarea, .section--white .form--checkbox, .section--white .form--radio,
.section--white .form *,
.section--white .form--text *,
.section--white .form--email *,
.section--white .form--file *,
.section--white .form--select *,
.section--white .form--textarea *,
.section--white .form--checkbox *,
.section--white .form--radio *,
.section--white .form *:after,
.section--white .form--text *:after,
.section--white .form--email *:after,
.section--white .form--file *:after,
.section--white .form--select *:after,
.section--white .form--textarea *:after,
.section--white .form--checkbox *:after,
.section--white .form--radio *:after,
.section--white .form *:before,
.section--white .form--text *:before,
.section--white .form--email *:before,
.section--white .form--file *:before,
.section--white .form--select *:before,
.section--white .form--textarea *:before,
.section--white .form--checkbox *:before,
.section--white .form--radio *:before,
.section--light-grey .form,
.section--light-grey .form--text,
.section--light-grey .form--email,
.section--light-grey .form--file,
.section--light-grey .form--select,
.section--light-grey .form--textarea,
.section--light-grey .form--checkbox,
.section--light-grey .form--radio,
.section--light-grey .form *,
.section--light-grey .form--text *,
.section--light-grey .form--email *,
.section--light-grey .form--file *,
.section--light-grey .form--select *,
.section--light-grey .form--textarea *,
.section--light-grey .form--checkbox *,
.section--light-grey .form--radio *,
.section--light-grey .form *:after,
.section--light-grey .form--text *:after,
.section--light-grey .form--email *:after,
.section--light-grey .form--file *:after,
.section--light-grey .form--select *:after,
.section--light-grey .form--textarea *:after,
.section--light-grey .form--checkbox *:after,
.section--light-grey .form--radio *:after,
.section--light-grey .form *:before,
.section--light-grey .form--text *:before,
.section--light-grey .form--email *:before,
.section--light-grey .form--file *:before,
.section--light-grey .form--select *:before,
.section--light-grey .form--textarea *:before,
.section--light-grey .form--checkbox *:before,
.section--light-grey .form--radio *:before {
  color: #2d2927;
  border-color: #2d2927; }

.busy {
  position: relative; }
  .busy:after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: .85;
    background: #2d2927; }
    .modal--progetto .busy:after {
      background: #433f3d; }

.cta, .cta--download {
  font-weight: 600;
  font-size: 18px;
  position: relative;
  padding-bottom: 10px;
  line-height: 1;
  min-width: 220px;
  cursor: pointer;
  margin-top: 30px; }
  .cta:before, .cta--download:before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 2px;
    background: #FFFFFF; }
  .cta svg, .cta--download svg {
    width: 24px;
    height: 24px;
    margin-right: -6px;
    margin-left: 8px;
    transition: all 0.3s ease-in-out; }
    .cta svg path, .cta--download svg path {
      fill: #FFFFFF; }
  .cta--content {
    display: flex;
    align-items: center;
    justify-content: space-between; }
  .cta:hover svg, .cta--download:hover svg, .cta:disabled svg, .cta--download:disabled svg {
    transform: translateY(-4px) translateX(4px); }
  .cta--download svg {
    width: 15px;
    height: 20px;
    margin-right: 0;
    margin-left: 10px; }
  .cta--download:hover svg, .cta--download:disabled svg {
    transform: translateY(4px); }
  .cta--large, .cta--xlarge {
    padding-bottom: 20px;
    margin-bottom: 80px;
    width: 100%;
    height: 100%;
    line-height: 1.3;
    display: flex;
    flex-direction: column; }
    .cta--large .cta--content, .cta--xlarge .cta--content {
      font-size: 32px;
      flex: 1;
      display: flex;
      align-items: flex-end; }
    .cta--large svg, .cta--xlarge svg {
      margin-left: 20px;
      min-width: 45px;
      width: 45px;
      height: auto; }
    .cta--large:before, .cta--xlarge:before {
      height: 1px; }
    @media (min-width: 768px) {
      .cta--large, .cta--xlarge {
        margin-bottom: 0px; } }
    @media (min-width: 992px) {
      .cta--large .cta--content, .cta--xlarge .cta--content {
        font-size: 32px; } }
    @media (min-width: 1680px) {
      .cta--large .cta--content, .cta--xlarge .cta--content {
        font-size: 60px; }
      .cta--large svg, .cta--xlarge svg {
        width: 100px; } }
  @media (min-width: 768px) {
    .cta--xlarge {
      margin-bottom: 0px; } }
  @media (min-width: 992px) {
    .cta--xlarge .cta--content {
      font-size: 32px; } }
  @media (min-width: 1680px) {
    .cta--xlarge .cta--content {
      font-size: 80px; }
    .cta--xlarge svg {
      width: 100px; } }
  @media (min-width: 1920px) {
    .cta--xlarge .cta--content {
      font-size: 100px; } }
  .cta.invert span, .invert.cta--download span {
    order: 2;
    flex: 1;
    margin: 0; }
  .cta.invert svg, .invert.cta--download svg {
    order: 1;
    transform: rotate(180deg);
    margin: 0;
    margin-right: 20px;
    margin-left: -10px; }
    @media (min-width: 1680px) {
      .cta.invert svg, .invert.cta--download svg {
        margin-left: -20px; } }
  .cta.invert:hover svg, .invert.cta--download:hover svg {
    transform: rotate(180deg) translateX(4px) translateY(-4px); }
  .cta--light {
    color: #FFFFFF; }
    .cta--light:before {
      background: #FFFFFF; }
    .cta--light svg path {
      fill: #FFFFFF; }
    .cta--light .cta--content {
      color: #FFFFFF; }
  .cta--white {
    color: #FFFFFF; }
    .cta--white:before {
      background: #FFFFFF; }
    .cta--white svg path {
      fill: #FFFFFF; }
    .cta--white .cta--content {
      color: #FFFFFF; }
  .cta--black {
    color: #000000; }
    .cta--black:before {
      background: #000000; }
    .cta--black svg path {
      fill: #000000; }
    .cta--black .cta--content {
      color: #000000; }
  .cta--primary {
    color: #2d2927; }
    .cta--primary:before {
      background: #2d2927; }
    .cta--primary svg path {
      fill: #2d2927; }
    .cta--primary .cta--content {
      color: #2d2927; }
  .cta--grey {
    color: #cbc5c7; }
    .cta--grey:before {
      background: #cbc5c7; }
    .cta--grey svg path {
      fill: #cbc5c7; }
    .cta--grey .cta--content {
      color: #cbc5c7; }
  .cta--light-grey {
    color: #dbd8d9; }
    .cta--light-grey:before {
      background: #dbd8d9; }
    .cta--light-grey svg path {
      fill: #dbd8d9; }
    .cta--light-grey .cta--content {
      color: #dbd8d9; }
  .cta--blue-grey {
    color: #888b95; }
    .cta--blue-grey:before {
      background: #888b95; }
    .cta--blue-grey svg path {
      fill: #888b95; }
    .cta--blue-grey .cta--content {
      color: #888b95; }
  .cta--yellow {
    color: #fce500; }
    .cta--yellow:before {
      background: #fce500; }
    .cta--yellow svg path {
      fill: #fce500; }
    .cta--yellow .cta--content {
      color: #fce500; }

.section-ctas--text {
  font-size: 24px; }

.section-ctas .cta--large, .section-ctas .cta--xlarge {
  margin-top: 0;
  margin-bottom: 0;
  padding-bottom: 0; }
  .section-ctas .cta--large:after, .section-ctas .cta--xlarge:after, .section-ctas .cta--large:before, .section-ctas .cta--xlarge:before {
    display: none; }

.section-ctas .col-12:last-child {
  position: relative;
  padding-bottom: 20px;
  margin-top: 40px; }
  .section-ctas .col-12:last-child:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 20px;
    right: 20px;
    height: 1px;
    background: #FFFFFF; }

@media (min-width: 768px) {
  .section-ctas .col-12:first-child {
    padding-bottom: 20px;
    margin-top: 40px; }
    .section-ctas .col-12:first-child:after {
      content: "";
      position: absolute;
      bottom: 0;
      left: 20px;
      right: 0;
      height: 1px;
      background: #FFFFFF; }
  .section-ctas .col-12:last-child {
    margin-top: 0; }
    .section-ctas .col-12:last-child:after {
      left: 0; } }

@media (min-width: 1680px) {
  .section-ctas--text {
    font-size: 32px;
    max-width: 700px; }
  .section-ctas .col-12:last-child {
    margin-top: 0; }
    .section-ctas .col-12:last-child:after {
      right: 40px; } }

.scroll-to {
  width: 40px;
  height: auto;
  text-align: center;
  cursor: pointer; }
  .scroll-to svg {
    width: 24px;
    height: auto; }

.arrows, .arrows--pagination {
  display: flex;
  align-items: center; }
  .arrows svg, .arrows--pagination svg {
    width: 40px;
    height: auto; }
    .arrows svg path, .arrows--pagination svg path {
      fill: #FFFFFF; }
  .arrows .prev svg, .arrows--pagination .prev svg {
    transform: rotate(180deg); }
  .arrows .prev, .arrows--pagination .prev {
    margin-right: 1.25rem; }
  .arrows .next, .arrows--pagination .next {
    margin-left: 1.25rem; }
  .arrows .prev, .arrows--pagination .prev, .arrows .next, .arrows--pagination .next {
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease-in-out;
    cursor: pointer; }
    .arrows .prev.disabled, .arrows--pagination .prev.disabled,
    .arrows .next.disabled,
    .arrows--pagination .next.disabled {
      opacity: 0.5; }
    @media (min-width: 992px) {
      .arrows .prev:hover, .arrows--pagination .prev:hover,
      .arrows .next:hover,
      .arrows--pagination .next:hover {
        opacity: 0.5; } }
    .arrows .prev:focus, .arrows--pagination .prev:focus,
    .arrows .next:focus,
    .arrows--pagination .next:focus {
      opacity: 1; }
  .arrows--pagination {
    font-size: 16px; }
    .arrows--pagination .prev {
      margin-right: 20px; }
    .arrows--pagination .next {
      margin-left: 20px; }
    .arrows--pagination svg {
      width: 20px;
      height: auto; }
    .arrows--pagination .separator {
      padding: 0 2px; }

main {
  width: 100vw;
  padding: 0; }
  @media (min-width: 992px) {
    main {
      width: calc(100vw - 60px); } }

.sidebars {
  position: fixed;
  z-index: 999999;
  bottom: 0;
  right: 0;
  width: 100vw; }
  @media (min-width: 992px) {
    .sidebars {
      width: auto;
      height: 100vw; } }

body.corporate .sidebars .sidebar, body.corporate .sidebars .sidebar--contract, body.corporate .sidebars .sidebar--corporate, body.corporate .sidebars .sidebar--office {
  bottom: 0; }
  body.corporate .sidebars .sidebar--corporate {
    display: none; }
  body.corporate .sidebars .sidebar--contract {
    bottom: 60px; }
    @media (min-width: 992px) {
      body.corporate .sidebars .sidebar--contract {
        right: 60px; } }
  body.corporate .sidebars .sidebar--office {
    bottom: 0; }
    @media (min-width: 992px) {
      body.corporate .sidebars .sidebar--office {
        right: 0; } }

body.corporate .transition-mobile--corporate {
  display: none; }

body.corporate .transition-mobile--toggle {
  background: #2d2927; }

body.corporate svg path {
  fill: #ffffff; }

body.contract .sidebars .sidebar, body.contract .sidebars .sidebar--contract, body.contract .sidebars .sidebar--corporate, body.contract .sidebars .sidebar--office {
  bottom: 0; }
  body.contract .sidebars .sidebar--corporate {
    bottom: 60px; }
  body.contract .sidebars .sidebar--contract {
    display: none; }
  body.contract .sidebars .sidebar--office {
    bottom: 0; }
    @media (min-width: 992px) {
      body.contract .sidebars .sidebar--office {
        right: 0; } }

body.contract .transition-mobile--info {
  padding-bottom: 120px;
  width: 100%;
  text-align: left; }
  body.contract .transition-mobile--info span {
    display: flex;
    align-items: center;
    font-size: 18px;
    line-height: 1;
    font-weight: 700;
    border-bottom: 1px solid #fff;
    padding-bottom: 12.5px;
    position: relative; }
    body.contract .transition-mobile--info span svg {
      margin-right: 10px; }
      body.contract .transition-mobile--info span svg.right {
        position: absolute;
        right: 0; }

body.contract .transition-mobile--contract {
  display: none; }

body.contract .transition-mobile--toggle {
  background: #ffffff; }
  body.contract .transition-mobile--toggle svg path {
    fill: #2d2927; }

body.contract .link-contattaci {
  position: fixed;
  z-index: 99999;
  bottom: 20px;
  right: 184px;
  transition: 1s; }
  body.contract .link-contattaci a, body.contract .link-contattaci .cta > span, body.contract .link-contattaci .cta--download > span {
    display: flex;
    align-items: center;
    color: #000;
    font-weight: 700;
    font-size: 14px;
    line-height: 1.5;
    padding: 12.5px 32px;
    background: #fff;
    border-radius: 23px; }
    body.contract .link-contattaci a svg, body.contract .link-contattaci .cta > span svg, body.contract .link-contattaci .cta--download > span svg {
      margin-right: 10px; }
  @media (max-width: 1919.98px) {
    body.contract .link-contattaci {
      right: 164px; } }
  @media (max-width: 991.98px) {
    body.contract .link-contattaci {
      bottom: 88px;
      right: 93px; } }
  @media (max-width: 767.98px) {
    body.contract .link-contattaci {
      bottom: 20px;
      right: 84px; }
      body.contract .link-contattaci a, body.contract .link-contattaci .cta > span, body.contract .link-contattaci .cta--download > span {
        padding: 11px 32px; }
      body.contract .link-contattaci + .info-modal--btn {
        display: none; } }

body.office .sidebars .sidebar, body.office .sidebars .sidebar--contract, body.office .sidebars .sidebar--corporate, body.office .sidebars .sidebar--office {
  bottom: 0; }
  body.office .sidebars .sidebar--corporate {
    bottom: 60px; }
    @media (min-width: 992px) {
      body.office .sidebars .sidebar--corporate {
        right: 60px; } }
  body.office .sidebars .sidebar--contract {
    bottom: 0; }
    @media (min-width: 992px) {
      body.office .sidebars .sidebar--contract {
        right: 0; } }
  body.office .sidebars .sidebar--office {
    display: none; }

body.office .transition-mobile--office {
  display: none; }

body.office .transition-mobile--toggle {
  background: #FFFFFF; }
  body.office .transition-mobile--toggle svg path {
    fill: #2d2927; }

.sidebar, .sidebar--contract, .sidebar--corporate, .sidebar--office {
  cursor: pointer;
  height: 60px;
  position: fixed;
  left: 0;
  right: 0;
  padding: 20px; }
  .sidebar:after, .sidebar--contract:after, .sidebar--corporate:after, .sidebar--office:after {
    content: "";
    position: absolute;
    width: 100%;
    height: 60px;
    bottom: 0;
    left: 0;
    transition: all 1s ease-in-out; }
  .sidebar .wrap, .sidebar--contract .wrap, .sidebar--corporate .wrap, .sidebar--office .wrap {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between; }
  .sidebar .logo, .sidebar--contract .logo, .sidebar--corporate .logo, .sidebar--office .logo {
    margin-right: 40px;
    max-width: none;
    height: 20px;
    width: auto;
    position: relative;
    z-index: 1; }
  .sidebar .icon, .sidebar--contract .icon, .sidebar--corporate .icon, .sidebar--office .icon, .sidebar .progetto .resume .info--down .edit, .progetto .resume .info--down .sidebar .edit, .sidebar--contract .progetto .resume .info--down .edit, .progetto .resume .info--down .sidebar--contract .edit, .sidebar--corporate .progetto .resume .info--down .edit, .progetto .resume .info--down .sidebar--corporate .edit, .sidebar--office .progetto .resume .info--down .edit, .progetto .resume .info--down .sidebar--office .edit, .sidebar .progetto .resume .info--down .copy, .progetto .resume .info--down .sidebar .copy, .sidebar--contract .progetto .resume .info--down .copy, .progetto .resume .info--down .sidebar--contract .copy, .sidebar--corporate .progetto .resume .info--down .copy, .progetto .resume .info--down .sidebar--corporate .copy, .sidebar--office .progetto .resume .info--down .copy, .progetto .resume .info--down .sidebar--office .copy, .sidebar .progetto .resume .info--down .delete, .progetto .resume .info--down .sidebar .delete, .sidebar--contract .progetto .resume .info--down .delete, .progetto .resume .info--down .sidebar--contract .delete, .sidebar--corporate .progetto .resume .info--down .delete, .progetto .resume .info--down .sidebar--corporate .delete, .sidebar--office .progetto .resume .info--down .delete, .progetto .resume .info--down .sidebar--office .delete {
    position: relative;
    z-index: 1; }
    .sidebar .icon svg, .sidebar--contract .icon svg, .sidebar--corporate .icon svg, .sidebar--office .icon svg, .sidebar .progetto .resume .info--down .edit svg, .progetto .resume .info--down .sidebar .edit svg, .sidebar--contract .progetto .resume .info--down .edit svg, .progetto .resume .info--down .sidebar--contract .edit svg, .sidebar--corporate .progetto .resume .info--down .edit svg, .progetto .resume .info--down .sidebar--corporate .edit svg, .sidebar--office .progetto .resume .info--down .edit svg, .progetto .resume .info--down .sidebar--office .edit svg, .sidebar .progetto .resume .info--down .copy svg, .progetto .resume .info--down .sidebar .copy svg, .sidebar--contract .progetto .resume .info--down .copy svg, .progetto .resume .info--down .sidebar--contract .copy svg, .sidebar--corporate .progetto .resume .info--down .copy svg, .progetto .resume .info--down .sidebar--corporate .copy svg, .sidebar--office .progetto .resume .info--down .copy svg, .progetto .resume .info--down .sidebar--office .copy svg, .sidebar .progetto .resume .info--down .delete svg, .progetto .resume .info--down .sidebar .delete svg, .sidebar--contract .progetto .resume .info--down .delete svg, .progetto .resume .info--down .sidebar--contract .delete svg, .sidebar--corporate .progetto .resume .info--down .delete svg, .progetto .resume .info--down .sidebar--corporate .delete svg, .sidebar--office .progetto .resume .info--down .delete svg, .progetto .resume .info--down .sidebar--office .delete svg {
      width: 10px;
      height: auto; }
  @media (min-width: 992px) {
    .sidebar, .sidebar--contract, .sidebar--corporate, .sidebar--office {
      top: 0;
      right: 0;
      left: auto;
      height: 100vh;
      width: 60px; }
      .sidebar:after, .sidebar--contract:after, .sidebar--corporate:after, .sidebar--office:after {
        width: 60px;
        height: 100%;
        left: auto;
        right: 0; }
      .sidebar .logo, .sidebar--contract .logo, .sidebar--corporate .logo, .sidebar--office .logo {
        transform-origin: center left;
        position: absolute;
        top: 30px;
        left: 8px;
        margin: auto;
        height: 120px; }
      .sidebar .logo--transition, .sidebar--contract .logo--transition, .sidebar--corporate .logo--transition, .sidebar--office .logo--transition {
        position: fixed;
        height: 100px;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        display: block;
        z-index: 100; }
      .sidebar .icon, .sidebar--contract .icon, .sidebar--corporate .icon, .sidebar--office .icon, .sidebar .progetto .resume .info--down .edit, .progetto .resume .info--down .sidebar .edit, .sidebar--contract .progetto .resume .info--down .edit, .progetto .resume .info--down .sidebar--contract .edit, .sidebar--corporate .progetto .resume .info--down .edit, .progetto .resume .info--down .sidebar--corporate .edit, .sidebar--office .progetto .resume .info--down .edit, .progetto .resume .info--down .sidebar--office .edit, .sidebar .progetto .resume .info--down .copy, .progetto .resume .info--down .sidebar .copy, .sidebar--contract .progetto .resume .info--down .copy, .progetto .resume .info--down .sidebar--contract .copy, .sidebar--corporate .progetto .resume .info--down .copy, .progetto .resume .info--down .sidebar--corporate .copy, .sidebar--office .progetto .resume .info--down .copy, .progetto .resume .info--down .sidebar--office .copy, .sidebar .progetto .resume .info--down .delete, .progetto .resume .info--down .sidebar .delete, .sidebar--contract .progetto .resume .info--down .delete, .progetto .resume .info--down .sidebar--contract .delete, .sidebar--corporate .progetto .resume .info--down .delete, .progetto .resume .info--down .sidebar--corporate .delete, .sidebar--office .progetto .resume .info--down .delete, .progetto .resume .info--down .sidebar--office .delete {
        position: absolute;
        bottom: 30px;
        margin: 0 auto;
        right: 25px; } }
  .sidebar.current, .current.sidebar--contract, .current.sidebar--corporate, .current.sidebar--office {
    display: none; }
  .sidebar--contract:after {
    background-color: #2d2927; }
  .sidebar--contract .icon path, .sidebar--contract .progetto .resume .info--down .edit path, .progetto .resume .info--down .sidebar--contract .edit path, .sidebar--contract .progetto .resume .info--down .copy path, .progetto .resume .info--down .sidebar--contract .copy path, .sidebar--contract .progetto .resume .info--down .delete path, .progetto .resume .info--down .sidebar--contract .delete path {
    fill: #ffffff; }
  .sidebar--corporate:after {
    background-color: #ffffff; }
  .sidebar--corporate .icon path, .sidebar--corporate .progetto .resume .info--down .edit path, .progetto .resume .info--down .sidebar--corporate .edit path, .sidebar--corporate .progetto .resume .info--down .copy path, .progetto .resume .info--down .sidebar--corporate .copy path, .sidebar--corporate .progetto .resume .info--down .delete path, .progetto .resume .info--down .sidebar--corporate .delete path {
    fill: #000000; }
  .sidebar--office:after {
    background-color: #415569; }
  .sidebar--office .icon path, .sidebar--office .progetto .resume .info--down .edit path, .progetto .resume .info--down .sidebar--office .edit path, .sidebar--office .progetto .resume .info--down .copy path, .progetto .resume .info--down .sidebar--office .copy path, .sidebar--office .progetto .resume .info--down .delete path, .progetto .resume .info--down .sidebar--office .delete path {
    fill: #ffffff; }

.transitioning-in .current {
  transition: all 1s ease-in-out; }

.transitioning {
  pointer-events: none; }
  .transitioning .icon, .transitioning .progetto .resume .info--down .edit, .progetto .resume .info--down .transitioning .edit, .transitioning .progetto .resume .info--down .copy, .progetto .resume .info--down .transitioning .copy, .transitioning .progetto .resume .info--down .delete, .progetto .resume .info--down .transitioning .delete {
    display: none; }
  .transitioning .sidebar:not(.sidebar--expanded), .transitioning .sidebar--contract:not(.sidebar--expanded), .transitioning .sidebar--corporate:not(.sidebar--expanded), .transitioning .sidebar--office:not(.sidebar--expanded) {
    opacity: 0;
    top: 100vh; }
  .transitioning .sidebar--expanded {
    display: block !important; }
    .transitioning .sidebar--expanded:after {
      position: fixed;
      height: 100vh; }
  .transitioning .logo--expanded {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    width: 400px;
    height: auto;
    max-width: 80%; }
  @media (min-width: 992px) {
    .transitioning .sidebar:not(.sidebar--expanded), .transitioning .sidebar--contract:not(.sidebar--expanded), .transitioning .sidebar--corporate:not(.sidebar--expanded), .transitioning .sidebar--office:not(.sidebar--expanded) {
      left: 100vw;
      right: auto; }
    .transitioning .sidebar--expanded:after {
      width: 100vw; }
    .transitioning .logo--expanded {
      width: auto;
      height: 100px;
      max-width: auto; } }

.wait .header,
.wait .menu,
.wait .footer,
.wait .info-modal--btn,
.wait .page > *:not(.sidebars) {
  display: none !important; }

.wait .sidebar.current, .wait .current.sidebar--contract, .wait .current.sidebar--corporate, .wait .current.sidebar--office {
  display: block; }

.notransition *, .notransition *:after {
  transition: none !important; }

@media (max-width: 991.98px) {
  .sidebars {
    display: none !important; } }

body.transition-mobile--modal--open .transition-mobile--modal {
  transform: none;
  opacity: 1; }

body.transition-mobile--modal--open .open {
  display: none; }

body.transition-mobile--modal--open .close {
  display: block; }

@media (min-width: 768px) {
  .transition-mobile {
    display: none !important; } }

.transition-mobile--toggle {
  position: fixed;
  z-index: 999999;
  bottom: 20px;
  right: 20px;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center; }
  .transition-mobile--toggle .open {
    width: 19px; }
  .transition-mobile--toggle .close {
    display: none; }

.transition-mobile--modal {
  position: fixed;
  z-index: 999998;
  height: 100vh;
  width: 100vw;
  top: 0;
  left: 0;
  background: rgba(45, 41, 39, 0.9);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-weight: bold;
  opacity: 0;
  transform: translateY(100%);
  transition: all 0.5s ease-in-out; }
  .transition-mobile--modal p {
    line-height: 120%; }
  .transition-mobile--modal a, .transition-mobile--modal .cta > span, .transition-mobile--modal .cta--download > span {
    display: flex;
    padding: 16px 10px;
    justify-content: center;
    flex-wrap: nowrap;
    flex-direction: row;
    align-content: center;
    align-items: center; }
    .transition-mobile--modal a svg, .transition-mobile--modal .cta > span svg, .transition-mobile--modal .cta--download > span svg {
      height: 10px;
      width: 10px;
      transform: translateX(40px); }
    .transition-mobile--modal a img, .transition-mobile--modal .cta > span img, .transition-mobile--modal .cta--download > span img {
      height: auto;
      width: 110px; }

.transition-mobile--corporate:not(:last-child), .transition-mobile--contract:not(:last-child), .transition-mobile--office:not(:last-child) {
  margin-bottom: 50px; }

.transition-mobile--corporate.current, .transition-mobile--contract.current, .transition-mobile--office.current {
  display: none !important; }

.transition-mobile--corporate a, .transition-mobile--corporate .cta > span, .transition-mobile--corporate .cta--download > span {
  background: #ffffff; }
  .transition-mobile--corporate a svg path, .transition-mobile--corporate .cta > span svg path, .transition-mobile--corporate .cta--download > span svg path {
    fill: #2d2927; }

.transition-mobile--contract a, .transition-mobile--contract .cta > span, .transition-mobile--contract .cta--download > span {
  background: #2d2927; }

.transition-mobile--office a, .transition-mobile--office .cta > span, .transition-mobile--office .cta--download > span {
  background: #415569; }

.info-modal--btn {
  position: fixed;
  z-index: 999999;
  background: #FFFFFF;
  width: 44px;
  height: 44px;
  right: 20px;
  bottom: calc(60px + 20px);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s ease-in-out;
  transition-duration: 1s; }
  .info-modal--btn svg {
    width: 24px;
    height: auto; }
  @media (min-width: 768px) {
    .info-modal--btn {
      bottom: calc(60px + 30px);
      right: 30px; } }
  @media (min-width: 992px) {
    .info-modal--btn {
      bottom: 24px;
      right: calc(60px + 40px); } }
  @media (min-width: 1680px) {
    .info-modal--btn {
      bottom: 24px;
      right: calc(60px + 60px); } }

.info-modal--content {
  color: #000000; }
  .info-modal--content .modal-content {
    max-width: 600px;
    max-height: calc(100vh - 40px);
    overflow: scroll;
    font-size: 14px; }
  .info-modal--content .buttons {
    padding-top: 20px; }
    .info-modal--content .buttons .btn:last-child {
      margin-bottom: 0; }
    @media (max-width: 991.98px) {
      .info-modal--content .buttons {
        padding-top: 40px; }
        .info-modal--content .buttons .btn {
          width: 100%; } }
    @media (min-width: 768px) {
      .info-modal--content .buttons {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between; } }

.info-modal--title {
  font-size: 20px; }

.prod--list {
  list-style: none;
  margin: 0;
  padding: 0; }

.prod--slide {
  height: 100%; }

.prod--item {
  height: 100%;
  display: flex;
  flex-direction: column;
  padding-bottom: 20px;
  border-bottom: 1px solid #FFFFFF;
  max-width: 160px;
  width: 160px;
  margin-right: 10px;
  position: relative;
  transition: all 0.3s ease-in-out;
  cursor: pointer; }
  .prod--item.aos-init {
    opacity: 0; }
  .prod--item.aos-animate {
    opacity: 1 !important; }
  .prod--item:hover {
    color: #fce500;
    border-color: #fce500; }
    .prod--item:hover svg path,
    .prod--item:hover svg rect {
      fill: #fce500; }

.prod--line, .prod--info, .prod--name, .prod--brand, .prod--cod, .prod--thumb {
  display: block;
  font-weight: 400;
  margin-bottom: 10px;
  margin-top: 0; }

.prod--info, .prod--name, .prod--brand, .prod--cod {
  font-size: 13px; }

.prod--thumb {
  width: 100%;
  height: 160px;
  background-size: cover;
  background-position: center center;
  margin-bottom: 15px; }

.prod--name {
  font-size: 20px; }

.prod--brand {
  flex: 1; }
  .prod--brand .connubia,
  .prod--brand .calligaris {
    height: 13px;
    width: auto; }
  .prod--brand .ditre {
    height: 20px;
    width: auto; }
  .prod--brand .luce {
    height: 26px;
    width: auto; }

.prod--cod {
  margin-bottom: 0;
  line-height: 100%; }

.prod--icon {
  position: absolute;
  bottom: 20px;
  right: 0;
  width: 14px;
  height: 14px;
  fill: #FFFFFF;
  transition: all 0.3s ease-in-out; }
  .prod--icon img,
  .prod--icon svg {
    width: 14px;
    height: 14px; }

@media (min-width: 992px) {
  .slick-slide .prod--item {
    margin-right: 60px;
    width: 300px;
    max-width: 300px;
    flex-direction: row;
    flex-wrap: wrap; }
  .prod--thumb {
    flex: 100%;
    margin-bottom: 16px;
    height: 300px; }
  .prod--info, .prod--name, .prod--brand, .prod--cod {
    font-size: 13px; }
  .prod--name {
    font-size: 24px;
    flex: calc(100% - 100px);
    display: flex;
    align-items: center; }
  .prod--brand {
    flex: 100px;
    display: flex;
    align-items: center;
    justify-content: flex-end; }
    .prod--brand img,
    .prod--brand svg {
      max-width: 100%; }
    .prod--brand svg,
    .prod--brand path {
      transition: all 0.3s ease-in-out; }
    .prod--brand .connubia,
    .prod--brand .calligaris {
      height: 15px; }
    .prod--brand .ditre {
      height: 22px; }
    .prod--brand .luce {
      height: 27px; }
  .prod--cod {
    margin-bottom: 0; } }

@media (min-width: 992px) {
  .prod--item {
    flex-direction: row;
    flex-wrap: wrap; } }

@media (min-width: 1680px) {
  .prod--item {
    margin-right: 60px; } }

.share {
  margin-top: 40px; }
  .share .dropdown {
    position: relative; }
    .share .dropdown--link {
      min-width: 220px;
      border: 1px solid #888b95;
      font-size: 14px;
      padding: 10px 0px 10px 12px; }
      .share .dropdown--link svg path {
        fill: #888b95; }
    .share .dropdown--list {
      position: absolute;
      top: 100%; }
      .share .dropdown--list a, .share .dropdown--list .cta > span, .share .dropdown--list .cta--download > span {
        padding-left: 10px; }
  @media (min-width: 992px) {
    .share {
      margin-top: 80px; } }

.section-slider .section--subtitle {
  font-size: 20px;
  margin-bottom: 80px;
  max-width: 720px;
  margin-top: 0; }
  @media (min-width: 992px) {
    .section-slider .section--subtitle {
      margin-bottom: 160px !important; } }
  @media (min-width: 1680px) {
    .section-slider .section--subtitle {
      margin-bottom: 200px !important; } }

.section-slider .slider {
  padding-left: 0;
  padding-right: 0;
  width: 100vw;
  max-width: 100vw;
  margin-bottom: 40px;
  position: relative; }
  @media (min-width: 768px) {
    .section-slider .slider {
      padding-left: 20px; } }
  .section-slider .slider .item {
    display: flex !important;
    flex-direction: column;
    margin-right: 40px; }
    .section-slider .slider .item--text {
      order: 2;
      height: 100px;
      display: flex;
      flex-direction: column;
      justify-content: center;
      max-width: calc(100vw - 180px);
      transition: all 0.3s ease-in-out;
      opacity: 0; }
    .section-slider .slider .item--number {
      display: none; }
    .section-slider .slider .item--title {
      margin-bottom: 0;
      font-size: 32px; }
    .section-slider .slider .item--desc {
      display: none;
      margin-bottom: 0; }
    .section-slider .slider .item--image {
      width: 240px;
      order: 1; }
  .section-slider .slider .slider--transition-in .item--text {
    opacity: 0 !important;
    transform: translateY(20px); }
  .section-slider .slider .slick-active .item--text {
    opacity: 1; }
  .section-slider .slider .nav {
    position: absolute;
    left: calc(100vw - 40px);
    bottom: 0;
    transform: translateX(-100%);
    height: 100px;
    display: flex;
    flex-direction: column;
    justify-content: center; }
  @media (max-width: 767.98px) {
    .section-slider .slider {
      margin-left: 20px; } }
  @media (min-width: 768px) {
    .section-slider .slider .nav {
      left: calc(100vw -100px); } }
  @media (min-width: 992px) {
    .section-slider .slider {
      margin-bottom: 80px; }
      .section-slider .slider .item {
        display: flex !important;
        flex-direction: row;
        margin-right: 40px;
        max-width: 50vw; }
        .section-slider .slider .item--text {
          order: 1;
          flex: 50%;
          height: 100%;
          padding-right: 40px;
          padding-top: 160px; }
        .section-slider .slider .item--number {
          display: block;
          font-size: 24px;
          font-weight: 400;
          line-height: 1;
          margin-bottom: 20px; }
        .section-slider .slider .item--title {
          font-size: 34px;
          margin-bottom: 20px; }
        .section-slider .slider .item--desc {
          display: block;
          margin-bottom: 0;
          font-size: 16px; }
        .section-slider .slider .item--image {
          flex: 50%;
          max-width: 400px;
          order: 2; }
      .section-slider .slider .nav {
        position: absolute;
        left: 60%;
        bottom: auto;
        top: 50%;
        transform: translateY(-50%);
        height: auto;
        display: block; } }
  @media (min-width: 1680px) {
    .section-slider .slider .item--text {
      order: 1; }
    .section-slider .slider .item--number {
      font-size: 40px;
      margin-bottom: 60px; }
    .section-slider .slider .item--title {
      font-size: 60px; }
    .section-slider .slider .item--desc {
      padding-right: 25%; }
    .section-slider .slider .item--image {
      max-width: 540px; }
    .section-slider .slider .nav {
      left: calc(60% + 20px); } }
  @media (min-width: 1920px) {
    .section-slider .slider .item--text {
      order: 1; }
    .section-slider .slider .item--number {
      font-size: 40px;
      margin-bottom: 40px; }
    .section-slider .slider .item--title {
      margin-bottom: 40px; } }

.fullwidth-slider, .product .mood .mood--slider, .referenze .detail .ref--slider {
  margin-top: 120px; }
  .fullwidth-slider .item, .product .mood .mood--slider .item, .referenze .detail .ref--slider .item {
    min-height: 550px;
    background-size: cover;
    background-position: center center;
    width: 60vw;
    max-width: 900px; }
  .fullwidth-slider .nav, .product .mood .mood--slider .nav, .referenze .detail .ref--slider .nav {
    margin-top: 20px;
    display: flex;
    justify-content: center; }
  @media (min-width: 768px) {
    .fullwidth-slider .item, .product .mood .mood--slider .item, .referenze .detail .ref--slider .item {
      width: 60vw;
      margin: 0 30px; } }
  @media (max-width: 767.98px) {
    .fullwidth-slider .item, .product .mood .mood--slider .item, .referenze .detail .ref--slider .item {
      width: calc(100vw - 30px);
      margin: 0 15px;
      background-size: contain;
      background-repeat: no-repeat; } }

.modal {
  display: none;
  opacity: 0;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  min-height: 100vh;
  overflow: hidden;
  z-index: 9999;
  transition: all 1s ease-in-out;
  background-color: rgba(0, 0, 0, 0.5); }
  .modal .modal-wrapper {
    width: 100vw;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center; }
  .modal .modal-close {
    position: absolute;
    float: right;
    top: 20px;
    right: 20px;
    height: 28px;
    width: 28px;
    cursor: pointer; }
    .modal .modal-close:after {
      content: "";
      display: block;
      width: 100%;
      height: 1px;
      background: #2d2927;
      transform-origin: center center;
      transform: translateY(-50%) rotate(45deg);
      position: absolute;
      top: 50%;
      left: 0; }
    .modal .modal-close:before {
      content: "";
      display: block;
      width: 100%;
      height: 1px;
      background: #2d2927;
      transform-origin: center center;
      transform: translateY(-50%) rotate(-45deg);
      position: absolute;
      top: 50%;
      left: 0; }
  .modal .modal-content {
    padding: 40px 40px;
    background-color: #FFFFFF;
    position: relative;
    width: calc(100% - 80px);
    overflow-x: hidden;
    overflow-y: auto; }
    .modal .modal-content::-webkit-scrollbar {
      width: 6px;
      border-radius: 3px; }
    .modal .modal-content::-webkit-scrollbar-button {
      display: none; }
    .modal .modal-content::-webkit-scrollbar-button:hover {
      display: none; }
    .modal .modal-content::-webkit-scrollbar-thumb {
      background-color: rgba(22, 37, 91, 0.15);
      box-shadow: none;
      border-radius: 3px; }
      .modal .modal-content::-webkit-scrollbar-thumb:hover {
        background-color: rgba(22, 37, 91, 0.15); }
    .modal .modal-content::-webkit-scrollbar-track {
      background-color: transparent;
      border-radius: 3px; }
      .modal .modal-content::-webkit-scrollbar-track:hover {
        background-color: transparent; }
    @media (min-width: 768px) {
      .modal .modal-content {
        padding: 40px 60px; }
        .modal .modal-content .modal-close {
          top: 40px;
          right: 40px; } }

.modal--add-to-progetto .main-content {
  height: 100%;
  overflow: hidden;
  display: flex;
  flex-direction: column; }

.modal--add-to-progetto #form-aggiungi-a-progetto {
  height: 100%;
  overflow: hidden;
  display: flex;
  flex-direction: column; }

.modal--add-to-progetto form .form--radio label {
  font-size: 18px; }

.modal--add-to-progetto form .form--radio.nuovo-progetto label {
  font-weight: bold; }

.modal--add-to-progetto form .form--radio label {
  font-size: 18px; }

.modal--add-to-progetto form .actions-wrapper .qta-label {
  display: inline-block;
  padding-right: 15px;
  font-size: 18px; }

.modal--add-to-progetto form .actions-wrapper .qta-input-wrapper {
  display: inline-block;
  background: none;
  margin-right: 40px; }

.modal--add-to-progetto form .actions-wrapper .input--qta {
  max-width: 60px; }

.modal--add-to-progetto form .actions-wrapper .flexed {
  align-items: center;
  display: inline-flex;
  padding-top: 40px;
  padding-bottom: 30px; }

.modal--add-to-progetto form .actions-wrapper .prod--bottom {
  padding: 0; }

.modal--add-to-progetto form .actions-wrapper .buttons {
  padding: 0; }
  .modal--add-to-progetto form .actions-wrapper .buttons .btn {
    margin: 0; }

@media (max-width: 767.98px) {
  .modal--add-to-progetto form .actions-wrapper .flexed {
    flex-wrap: wrap; }
  .modal--add-to-progetto form .actions-wrapper .qta-input-wrapper {
    flex: 1; }
  .modal--add-to-progetto form .actions-wrapper .prod--qta {
    justify-content: flex-start;
    padding-left: 1rem; }
  .modal--add-to-progetto form .actions-wrapper .buttons {
    min-width: 100%;
    margin-top: 1rem; } }

.modal--add-to-progetto form .content-wrapper {
  flex: 1;
  overflow-y: scroll;
  padding: 20px 0 16px 0;
  border-top: 1px solid #cbc5c7;
  border-bottom: 1px solid #cbc5c7; }

.modal--add-to-progetto form input:checked ~ label {
  color: #fce500; }
  .modal--add-to-progetto form input:checked ~ label:after {
    background-color: #fce500; }
  .modal--add-to-progetto form input:checked ~ label:before {
    border-color: #fce500; }

.modal--progetto {
  transition: all 0.5s ease-in-out; }
  .modal--progetto .modal-content {
    max-width: calc(100vw - 80px);
    color: #FFFFFF;
    background: #433f3d;
    display: flex;
    flex-direction: column;
    padding: 60px 40px; }
    .modal--progetto .modal-content .main-content {
      flex: 1; }
    .modal--progetto .modal-content .buttons {
      text-align: right;
      display: block; }
    @media (min-width: 992px) {
      .modal--progetto .modal-content {
        min-height: calc(100vh - 80px);
        width: calc(100vw - 80px);
        max-width: 1400px;
        padding: 60px; } }
  .modal--progetto .modal-close:before, .modal--progetto .modal-close:after {
    background: #FFFFFF; }
  .modal--progetto .info-modal--title {
    font-size: 30px;
    margin-bottom: 30px; }
    @media (min-width: 992px) {
      .modal--progetto .info-modal--title {
        margin-bottom: 60px;
        font-size: 60px;
        max-width: 800px; } }
  .modal--progetto .info-modal--subtitle {
    font-size: 20px; }
    @media (min-width: 992px) {
      .modal--progetto .info-modal--subtitle {
        font-size: 32px;
        max-width: 800px; } }
  .modal--progetto .block {
    margin-bottom: 30px; }
    .modal--progetto .block--name {
      font-size: 16px;
      font-weight: 600;
      margin-bottom: 15px;
      padding-bottom: 10px;
      border-bottom: 1px solid #888b95;
      width: 100%; }
      @media (min-width: 992px) {
        .modal--progetto .block--name {
          font-size: 20px;
          margin-bottom: 25px;
          padding-bottom: 20px; } }
    @media (min-width: 992px) {
      .modal--progetto .block {
        margin-bottom: 60px; } }
  @media (max-width: 767.98px) {
    .modal--progetto .info-modal--title {
      font-size: 18px;
      margin-bottom: 20px; }
    .modal--progetto .info-modal--subtitle {
      font-size: 16px; }
    .modal--progetto form .form--radio {
      margin-bottom: 10px; }
    .modal--progetto form .form--radio label {
      font-size: 16px; }
    .modal--progetto form .actions-wrapper .qta-label {
      font-size: 16px; } }

.modal-open {
  overflow: hidden; }
  .modal-open .sidebar, .modal-open .sidebar--contract, .modal-open .sidebar--corporate, .modal-open .sidebar--office {
    transform: translateY(100%) !important; }
    @media (min-width: 992px) {
      .modal-open .sidebar, .modal-open .sidebar--contract, .modal-open .sidebar--corporate, .modal-open .sidebar--office {
        transform: translateX(100%) !important; } }
  .modal-open .modal {
    opacity: 1;
    transform: none;
    height: 100vh;
    z-index: 1000000; }
  .modal-open .info-modal--btn {
    opacity: 0; }
  .modal-open .header {
    z-index: 1; }

.info-modal--btn path {
  fill: #2d2927; }

.section--newsletter {
  color: #2d2927; }
  .section--newsletter #Iscriviti {
    margin-top: 0; }
    @media (max-width: 1919.98px) {
      .section--newsletter #Iscriviti {
        margin-top: 20px; } }
  .section--newsletter.section, section--light.section--newsletter,
  .section--newsletter.section--light, section--white.section--newsletter,
  .section--newsletter.section--white, section--black.section--newsletter,
  .section--newsletter.section--black, section--primary.section--newsletter,
  .section--newsletter.section--primary, .homepage .section--newsletter.section--brands, .section--newsletter.section--slider, .homepage .section--newsletter.section--slider--ref, .section--newsletter.section--slider--prod, section--grey.section--newsletter,
  .section--newsletter.section--grey, section--light-grey.section--newsletter,
  .section--newsletter.section--light-grey, section--blue-grey.section--newsletter,
  .section--newsletter.section--blue-grey, section--yellow.section--newsletter,
  .section--newsletter.section--yellow {
    padding: 40px 0; }
    @media (min-width: 768px) {
      .section--newsletter.section, section--light.section--newsletter,
      .section--newsletter.section--light, section--white.section--newsletter,
      .section--newsletter.section--white, section--black.section--newsletter,
      .section--newsletter.section--black, section--primary.section--newsletter,
      .section--newsletter.section--primary, .homepage .section--newsletter.section--brands, .section--newsletter.section--slider, .homepage .section--newsletter.section--slider--ref, .section--newsletter.section--slider--prod, section--grey.section--newsletter,
      .section--newsletter.section--grey, section--light-grey.section--newsletter,
      .section--newsletter.section--light-grey, section--blue-grey.section--newsletter,
      .section--newsletter.section--blue-grey, section--yellow.section--newsletter,
      .section--newsletter.section--yellow {
        padding: 80px 0; } }
  .section--newsletter .form-blocks {
    margin: 20px 0 0 0; }
  .section--newsletter .form--checkbox {
    margin-bottom: 0; }
  .section--newsletter--title {
    font-size: 24px; }
  @media (max-width: 1279.98px) {
    .section--newsletter .btn {
      width: 100%; } }
  @media (min-width: 768px) {
    .section--newsletter .form-blocks {
      margin-top: 0; } }

.pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px; }
  .pagination .left,
  .pagination .right {
    opacity: 0.5; }
    .pagination .left svg,
    .pagination .right svg {
      height: 12px;
      width: auto; }
      .pagination .left svg polygon,
      .pagination .right svg polygon {
        fill: #FFFFFF; }
    .pagination .left.active, .pagination .left:hover,
    .pagination .right.active,
    .pagination .right:hover {
      opacity: 1; }
  .pagination .pages {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 14px; }
  .pagination .page {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    padding: 3px 0 12px 0;
    border-bottom: 2px solid #FFFFFF;
    margin: 0 2px;
    transition: all 0.3s ease-in-out;
    opacity: 0.5; }
    .pagination .page.active, .pagination .page:hover {
      opacity: 1; }
  @media (min-width: 768px) {
    .pagination {
      font-size: 16px; } }

.downloads .download {
  display: flex;
  margin-bottom: 60px;
  padding-bottom: 20px;
  border-bottom: 1px solid #FFFFFF;
  transition: all 0.3s ease-in-out; }
  .downloads .download svg path {
    transition: all 0.3s ease-in-out; }
  @media (min-width: 992px) {
    .downloads .download {
      margin-bottom: 100px; } }
  .downloads .download--left {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding-right: 20px; }
  .downloads .download--right {
    width: 60px; }
  .downloads .download .name {
    font-size: 20px; }
  .downloads .download .link {
    display: flex;
    align-items: baseline; }
    .downloads .download .link svg {
      width: 15px;
      height: auto;
      margin-left: 40px; }
  .downloads .download:hover {
    color: #fce500;
    border-color: #fce500; }
    .downloads .download:hover svg path,
    .downloads .download:hover svg rect {
      fill: #fce500; }

/*
    sovrascrive il box model di una colonna, solitamente un .col-12 per gestire gli elementi fullwidth che
    devono avere overflow visibile a destra e margine coerente con la griglia a sinistra
*/
.nav--letters, .nav--languages {
  list-style: none;
  padding: 0;
  margin: 0; }

/*
    sovrascrive il box model di una colonna, solitamente un .col-12 per gestire gli elementi fullwidth che
    devono avere overflow visibile a destra e margine coerente con la griglia a sinistra
*/
.ip-check {
  position: fixed;
  z-index: 9999999;
  background: rgba(0, 0, 0, 0.5);
  color: #fff;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh; }
  .ip-check .box {
    background: #433f3d;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    padding: 112px 80px 90px;
    width: 60vw; }
    .ip-check .box .close {
      position: absolute;
      background: url(/ClientContract/docs/svg/close.svg);
      width: 22px;
      height: 22px;
      right: 30px;
      top: 30px;
      z-index: 900; }
    .ip-check .box .tit {
      text-transform: none;
      font-size: 50px;
      line-height: 1;
      margin-bottom: 30px; }
    .ip-check .box .text {
      font-size: 24px;
      line-height: 1.5; }
    .ip-check .box .cta, .ip-check .box .cta--download {
      margin-top: 30px;
      display: flex;
      justify-content: space-evenly; }
      .ip-check .box .cta:before, .ip-check .box .cta--download:before {
        display: none; }
    @media (max-width: 1919.98px) {
      .ip-check .box {
        width: 90vw; } }
    @media (max-width: 1279.98px) {
      .ip-check .box {
        padding: 70px 50px; } }
    @media (max-width: 991.98px) {
      .ip-check .box {
        padding: 70px 30px; }
        .ip-check .box .cta, .ip-check .box .cta--download {
          display: block; }
          .ip-check .box .cta .btn, .ip-check .box .cta--download .btn {
            display: block;
            margin: 20px 0 0 0 !important;
            width: 100%;
            height: auto;
            text-align: center;
            padding: 20px 0; } }

.cont-fascia-video {
  background-color: #2d2927;
  /*.cont-video {
		padding-bottom: 160px;

		@include media-down(sm) {
			padding-bottom: 100px;
		}
	}*/ }
  .cont-fascia-video .brands--video {
    padding: 120px 0 80px !important; }
    .cont-fascia-video .brands--video .container-fluid {
      border-top: 1px solid #FFFFFF;
      padding-top: 50px; }
      @media (max-width: 991.98px) {
        .cont-fascia-video .brands--video .container-fluid .offset-1 {
          margin: 0; } }
    .cont-fascia-video .brands--video .brands-wrap {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between; }
      .cont-fascia-video .brands--video .brands-wrap .brand {
        margin-bottom: 35px; }
      @media (max-width: 767.98px) {
        .cont-fascia-video .brands--video .brands-wrap .brand {
          flex: 0 0 50%;
          max-width: 50%;
          text-align: center; } }
  .cont-fascia-video .fascia-video {
    position: relative;
    z-index: 1;
    height: 0;
    padding-bottom: 56.25%; }
    .cont-fascia-video .fascia-video video, .cont-fascia-video .fascia-video iframe {
      position: absolute;
      z-index: 2;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%; }
    .cont-fascia-video .fascia-video .play-video {
      position: absolute;
      z-index: 3;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%;
      cursor: pointer;
      transition: all 0.3s ease-in-out; }
      .cont-fascia-video .fascia-video .play-video.disabled {
        opacity: 0;
        pointer-events: none; }
      .cont-fascia-video .fascia-video .play-video:after {
        content: '';
        position: absolute;
        z-index: 3;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        background: #000;
        opacity: 0.5; }
      .cont-fascia-video .fascia-video .play-video .button {
        position: absolute;
        z-index: 4;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        background: #CBC5C7;
        width: 152px;
        height: 152px;
        border-radius: 152px;
        text-align: center;
        line-height: 1em;
        cursor: pointer; }
        .cont-fascia-video .fascia-video .play-video .button .text {
          position: absolute;
          z-index: 5;
          left: 50%;
          top: 50%;
          transform: translate(-50%, -50%);
          pointer-events: none;
          color: #2D2927;
          font-size: 24px;
          line-height: 1.25em;
          font-weight: 600; }
      @media (max-width: 1279.98px) {
        .cont-fascia-video .fascia-video .play-video .button {
          width: 100px;
          height: 100px; }
          .cont-fascia-video .fascia-video .play-video .button .text {
            font-size: 20px; } }

/*
* Header
*/
.header {
  position: fixed;
  z-index: 100;
  top: 0;
  left: 0;
  width: 100%;
  background: #2d2927;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 72px;
  transition-timing-function: ease-in-out;
  transition-duration: 500ms;
  transition-property: background-color; }
  @media (min-width: 992px) {
    .header {
      width: calc(100vw - 60px);
      height: 100px; } }
  .header .header-container {
    display: flex;
    align-items: center;
    justify-content: space-between; }
  .header .logo {
    display: flex;
    align-items: center;
    justify-content: space-between;
    transition: all 0.3s ease-in-out;
    color: #FFFFFF;
    width: 130px; }
    .header .logo svg {
      width: 100%;
      height: auto; }
      .header .logo svg path {
        fill: #FFFFFF; }
    @media (min-width: 992px) {
      .header .logo {
        width: 160px;
        height: auto; } }
  .header .menu-toggle {
    display: flex;
    align-items: center;
    cursor: pointer; }
    .header .menu-toggle.mobile {
      display: inline; }
      @media (min-width: 1680px) {
        .header .menu-toggle.mobile {
          display: none; } }
    .header .menu-toggle.desktop {
      display: none; }
      @media (min-width: 1680px) {
        .header .menu-toggle.desktop {
          display: inline; } }
  .header .menu-icon {
    position: relative;
    height: 11px;
    width: 29px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    order: 2; }
    .header .menu-icon:after, .header .menu-icon:before {
      content: "";
      display: block;
      height: 2px;
      width: 100%;
      background: #888b95;
      transition: all 0.3s ease-in-out; }
    .header .menu-icon:before {
      transform-origin: left top; }
    .header .menu-icon:after {
      transform-origin: left bottom; }
  .header .menu-label {
    display: none;
    order: 1;
    font-size: 16px;
    margin-right: 15px; }
    @media (min-width: 992px) {
      .header .menu-label {
        display: inline; } }
  .header .topbar {
    display: none; }
    .header .topbar .menu-toggle {
      opacity: 0; }
    @media (min-width: 1680px) {
      .header .topbar {
        display: flex;
        align-items: center; } }
    .header .topbar .number {
      font-size: 10px;
      display: inline-block;
      transform: translateY(-10px); }
    .header .topbar--items {
      list-style: none;
      display: flex;
      margin-right: 40px; }
    .header .topbar--item {
      font-size: 15px;
      margin-right: 40px;
      transition: color ease-in-out 250ms;
      cursor: pointer; }
      .header .topbar--item svg path {
        transition: all ease-in-out 250ms; }
      .header .topbar--item:hover > a, .header .cta.topbar--item:hover > span, .header .cta--download.topbar--item:hover > span, .header .topbar--item.trigger--search:hover, .header .topbar--item.active {
        color: #fce500; }
        .header .topbar--item:hover > a svg path, .header .cta.topbar--item:hover > span svg path, .header .cta--download.topbar--item:hover > span svg path, .header .topbar--item.trigger--search:hover svg path, .header .topbar--item.active svg path {
          fill: #fce500 !important; }
  .header .search--results--wrapper {
    background: #2d2927; }
  .header .search-lg-content {
    position: fixed;
    width: calc(100vw - 60px);
    top: 100px;
    left: 0;
    right: 0;
    color: #000000;
    display: none;
    background-color: rgba(0, 0, 0, 0.7);
    height: calc(100vh - 100px);
    color: #FFFFFF; }
    .header .search-lg-content .container-fluid {
      position: relative; }
    .header .search-lg-content .search--input {
      background-color: #FFFFFF;
      text-align: center;
      margin-bottom: 0; }
      .header .search-lg-content .search--input input {
        font-size: 32px;
        padding-top: 20px;
        padding-bottom: 20px;
        padding-left: 0;
        padding-right: 0;
        text-align: center;
        color: #000000;
        margin-bottom: 0; }
      .header .search-lg-content .search--input .lens {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        left: 20px;
        height: 30px;
        width: 30px; }
      .header .search-lg-content .search--input .close {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        right: 20px;
        height: 30px;
        width: 30px; }
        .header .search-lg-content .search--input .close span {
          height: 1px;
          width: 100%;
          background: #000000;
          display: inline-block;
          position: absolute;
          top: 50%;
          left: 0; }
          .header .search-lg-content .search--input .close span:first-child {
            transform: rotate(-45deg); }
          .header .search-lg-content .search--input .close span:last-child {
            transform: rotate(45deg); }
    .header .search-lg-content .search--results {
      display: flex;
      flex-wrap: wrap; }
      .header .search-lg-content .search--results .search--block {
        flex: 25%;
        max-width: 25%;
        padding-right: 40px;
        padding-bottom: 60px; }
        .header .search-lg-content .search--results .search--block:nth-child(1), .header .search-lg-content .search--results .search--block:nth-child(2), .header .search-lg-content .search--results .search--block:nth-child(3), .header .search-lg-content .search--results .search--block:nth-child(4) {
          padding-top: 60px; }
      .header .search-lg-content .search--results .search--title {
        font-size: 32px;
        margin-bottom: 18px; }
      .header .search-lg-content .search--results .search--link {
        font-size: 20px;
        display: block;
        margin-bottom: 10px; }
        .header .search-lg-content .search--results .search--link:hover {
          color: #fce500; }
  .header .user > * {
    display: flex; }
    .header .user > * .user-icon {
      width: 14px;
      margin-right: 10px; }
      .header .user > * .user-icon img,
      .header .user > * .user-icon svg {
        width: 100%;
        height: auto;
        transform: translateY(15%); }
        .header .user > * .user-icon img path,
        .header .user > * .user-icon svg path {
          fill: #FFFFFF; }
  .header .search-lg {
    display: flex; }
    .header .search-lg .lens {
      width: 14px;
      margin-right: 10px; }
      .header .search-lg .lens img,
      .header .search-lg .lens svg {
        width: 100%;
        height: auto;
        transform: translateY(15%); }
        .header .search-lg .lens img path,
        .header .search-lg .lens svg path {
          fill: #FFFFFF; }
  .header .submenu-user {
    display: none;
    position: absolute;
    background: #433f3d;
    top: 100%;
    min-width: 150px;
    transform: translateX(-26px) translateY(-16px);
    padding: 18px 32px;
    white-space: nowrap;
    text-align: center;
    border: 1px solid #FFFFFF;
    transition: all 0.3s ease-in-out; }
    .header .submenu-user a, .header .submenu-user .cta > span, .header .submenu-user .cta--download > span {
      display: block; }
      .header .submenu-user a:hover, .header .submenu-user .cta > span:hover, .header .submenu-user .cta--download > span:hover {
        color: #fce500; }
    .header .submenu-user a:not(:last-child), .header .submenu-user .cta > span:not(:last-child), .header .submenu-user .cta--download > span:not(:last-child) {
      margin-bottom: 16px; }
  .header .trigger--markets svg {
    margin-right: 6px; }
  .header .trigger--markets:hover {
    color: #fce500;
    transition: all 0.3s ease-in-out; }
    .header .trigger--markets:hover svg circle {
      fill: #fce500;
      stroke: #fce500; }
    .header .trigger--markets:hover svg path:nth-child(2) {
      stroke: #fce500; }
    .header .trigger--markets:hover svg path:nth-child(3) {
      fill: #fce500;
      stroke: #fce500; }

.menu-open-desktop #toggle-menu-desktop * {
  color: #fce500; }

.menu-open-desktop .topbar .user-icon path,
.menu-open-desktop .topbar .lens path,
.menu-open-desktop .topbar .trigger--search path {
  fill: #000000 !important; }

.menu-open-desktop .topbar .trigger--markets circle {
  fill: #000000;
  stroke: #000000; }

.menu-open-desktop .topbar .trigger--markets path:nth-child(2) {
  stroke: #000000; }

.menu-open-desktop .topbar .trigger--markets path:nth-child(3) {
  fill: #000000;
  stroke: #000000; }

.menu-open-desktop .topbar .menu-toggle {
  opacity: 1; }

.menu-open-desktop .topbar li,
.menu-open-desktop .topbar li a,
.menu-open-desktop .topbar li .cta > span,
.menu-open-desktop .topbar li .cta--download > span {
  color: #000000; }

.search-lg-open {
  overflow: hidden; }
  .search-lg-open .header {
    background-color: #2d2927 !important; }
  .search-lg-open .search-lg-content {
    display: block; }
  .search-lg-open .scroll-to {
    display: none; }

body.scrolling:not(.menu-open) .header {
  background-color: #2d2927; }

.menu {
  display: none;
  position: fixed;
  z-index: 50;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: #888b95;
  padding: 0 20px;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-clip-path: inset(0 0 100vh 0);
          clip-path: inset(0 0 100vh 0);
  opacity: 0;
  transition: ease-in-out 350ms;
  transition-property: opacity, -webkit-clip-path;
  transition-property: clip-path, opacity;
  transition-property: clip-path, opacity, -webkit-clip-path; }
  @media (min-width: 768px) {
    .menu {
      padding: 0 60px; } }
  @media (min-width: 992px) {
    .menu {
      padding: 0 80px;
      height: 100vh; } }
  .menu .wrapper {
    display: flex;
    align-items: flex-start;
    padding-top: calc(72px + 20px);
    height: 100%;
    width: 100%; }
  .menu--items {
    list-style: none;
    margin: 0;
    padding: 0;
    width: 100%; }
  .menu--item {
    font-size: 28px;
    font-weight: 600;
    color: #000000;
    margin-bottom: 6px;
    cursor: pointer; }
    .menu--item > a, .cta.menu--item > span, .cta--download.menu--item > span,
    .menu--item > span {
      position: relative;
      line-height: 1.25; }
      .menu--item > a:after, .cta.menu--item > span:after, .cta--download.menu--item > span:after,
      .menu--item > span:after {
        position: absolute;
        left: 0;
        bottom: 0;
        height: 5px;
        width: 98%;
        margin: 0 1%;
        transform: scaleX(0);
        background-color: #000000;
        transition: all 0.3s ease-in-out;
        transform-origin: center left; }
    .menu--item.active > a:after, .cta.menu--item.active > span:after, .cta--download.menu--item.active > span:after,
    .menu--item.active > span:after,
    .menu--item > a:hover:after,
    .cta.menu--item > span:hover:after,
    .cta--download.menu--item > span:hover:after,
    .menu--item > span:hover:after {
      transform: none; }
  .menu--languages {
    color: #2d2927;
    position: absolute;
    bottom: 40px;
    right: 20px;
    font-size: 12px; }
    @media (max-width: 1279.98px) {
      .menu--languages {
        bottom: 140px; } }
    @media (min-width: 768px) {
      .menu--languages {
        right: 60px; } }
    @media (min-width: 992px) {
      .menu--languages {
        right: 160px; } }
    @media (min-width: 1680px) {
      .menu--languages {
        bottom: 160px; } }
  .menu .search {
    border-top: 1px solid #000000;
    display: block;
    width: 100%;
    margin-top: 20px;
    padding-top: 20px;
    display: flex;
    flex-direction: column; }
    @media (min-width: 768px) {
      .menu .search {
        margin-top: 40px; } }
    .menu .search--input {
      margin-left: -20px;
      margin-right: -20px;
      width: calc(100% + 40px);
      margin-top: 40px;
      margin-bottom: 0; }
      .menu .search--input input {
        border: 0;
        background: #FFFFFF;
        color: #000000;
        text-align: center;
        width: 100%;
        font-size: 32px;
        padding-top: 20px;
        padding-bottom: 20px;
        margin-bottom: 0; }
      @media (min-width: 768px) {
        .menu .search--input {
          margin-left: -60px;
          margin-right: -60px;
          width: calc(100% + 120px); } }
    .menu .search--results {
      display: flex;
      flex-direction: column;
      font-weight: 400;
      font-size: 20px;
      height: calc(100% -260px);
      margin-left: -20px;
      margin-right: -20px;
      width: calc(100% + 40px);
      padding: 40px 40px 0 40px;
      background: #2d2927;
      color: #FFFFFF;
      overflow-x: hidden;
      overflow-y: scroll;
      -ms-overflow-style: none;
      /* IE and Edge */
      scrollbar-width: none;
      /* Firefox */ }
      .menu .search--results::-webkit-scrollbar {
        display: none; }
      @media (min-width: 768px) {
        .menu .search--results {
          margin-left: -60px;
          margin-right: -60px;
          width: calc(100% + 120px); } }
    .menu .search--block {
      margin-bottom: 40px;
      width: 100%; }
    .menu .search--title {
      font-size: 32px;
      margin-bottom: 20px;
      width: 100%; }
    .menu .search--link {
      font-size: 20px;
      margin-bottom: 10px;
      width: 100%; }

.menu--back {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 72px;
  margin-bottom: 20px; }
  .menu--back .menu--close {
    font-size: 14px;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 100%; }
    .menu--back .menu--close svg {
      width: 18px;
      margin-right: 8px; }
  .menu--back .menu-toggle {
    display: flex;
    align-items: center;
    cursor: pointer; }
  .menu--back .menu-icon {
    position: relative;
    height: 11px;
    width: 29px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    order: 2; }
    .menu--back .menu-icon:after, .menu--back .menu-icon:before {
      display: block;
      height: 2px;
      width: 100%;
      background: #000000;
      transition: all 0.3s ease-in-out;
      position: absolute;
      top: 50%;
      left: 0; }
    .menu--back .menu-icon:before {
      transform: rotate(-45deg); }
    .menu--back .menu-icon:after {
      transform: rotate(45deg); }

.menu-2, .menu-3 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 0 20px;
  background: #888b95;
  opacity: 0;
  transition: all 0.3s ease-in-out; }
  .menu-2 ul,
  .menu-2 li, .menu-3 ul,
  .menu-3 li {
    list-style: none;
    padding: 0;
    margin: 0; }
    .menu-2 ul .last,
    .menu-2 li .last, .menu-3 ul .last,
    .menu-3 li .last {
      font-weight: 600;
      line-height: 1.1; }
  .menu-2 ul, .menu-3 ul {
    padding-bottom: 30vh; }
  @media (min-width: 768px) {
    .menu-2, .menu-3 {
      padding: 0 60px; } }
  @media (min-width: 992px) {
    .menu-2, .menu-3 {
      padding: 0 80px; } }
  .menu-2.visible, .menu-3.visible {
    opacity: 1;
    transform: none; }
  .menu-2--title, .menu-3--title {
    color: #fce500;
    display: block;
    margin-bottom: 24px;
    font-size: 32px; }

.menu .menu-2 {
  display: none;
  z-index: 200; }
  @media (max-width: 767px) {
    .menu .menu-2.prodotti-submenu.visible {
      height: auto; } }
  .menu .menu-2--item {
    font-size: 24px;
    margin-bottom: 5px; }

.menu .menu-3 {
  display: none;
  z-index: 300; }
  .menu .menu-3--item {
    font-size: 24px;
    margin-bottom: 10px;
    font-weight: 400; }

.menu-open {
  overflow: hidden; }
  .menu-open .info-modal--btn, .menu-open .link-contattaci {
    bottom: -80px !important;
    opacity: 0; }
  .menu-open .section-slider {
    display: none; }
  .menu-open .menu {
    transform: none;
    -webkit-clip-path: inset(0 0 0 0);
            clip-path: inset(0 0 0 0);
    opacity: 1; }
  .menu-open .header {
    background-color: transparent; }
    .menu-open .header .logo {
      color: #2d2927; }
  .menu-open .mobile .menu-icon:before {
    transform: rotate(45deg) translateY(-7px);
    background-color: #2d2927; }
  .menu-open .mobile .menu-icon:after {
    transform: rotate(-45deg) translateY(7px);
    background-color: #2d2927; }
  @media (max-width: 991.98px) {
    .menu-open .sidebar, .menu-open .sidebar--contract, .menu-open .sidebar--corporate, .menu-open .sidebar--office {
      position: fixed;
      bottom: 0;
      left: 0;
      width: 100%;
      z-index: 9999; } }

body.menu-open .sidebar, body.menu-open .sidebar--contract, body.menu-open .sidebar--corporate, body.menu-open .sidebar--office {
  bottom: auto;
  top: 100%; }

body.menu-open .scroll-to {
  display: none; }

.menu-1-visible .header,
.menu-2-visible .header {
  z-index: 1; }

.menu-desktop {
  display: none;
  position: fixed;
  z-index: 0;
  top: 0;
  left: 0;
  width: calc(100vw - 60px);
  height: calc(100vh - 60px);
  background-color: #888b95;
  padding: 0 20px;
  -webkit-clip-path: inset(0 0 100vh 0);
          clip-path: inset(0 0 100vh 0);
  opacity: 0;
  transition: ease-in-out 350ms;
  transition-property: opacity, -webkit-clip-path;
  transition-property: clip-path, opacity;
  transition-property: clip-path, opacity, -webkit-clip-path; }
  @media (min-width: 768px) {
    .menu-desktop {
      padding: 0; } }
  @media (min-width: 992px) {
    .menu-desktop {
      padding: 0;
      height: 100vh; } }
  .menu-desktop .wrapper {
    display: flex;
    align-items: flex-start;
    padding-top: calc(72px + 20px);
    margin-top: 60px; }
  .menu-desktop .menu--items {
    list-style: none;
    margin: 0;
    padding: 0;
    width: 100%; }
  .menu-desktop .menu--item {
    font-size: 32px;
    font-weight: 600;
    color: #000000;
    margin-bottom: 10px;
    cursor: pointer; }
    .menu-desktop .menu--item > a, .menu-desktop .cta.menu--item > span, .menu-desktop .cta--download.menu--item > span,
    .menu-desktop .menu--item > span {
      position: relative;
      line-height: 1.25; }
      .menu-desktop .menu--item > a:after, .menu-desktop .cta.menu--item > span:after, .menu-desktop .cta--download.menu--item > span:after,
      .menu-desktop .menu--item > span:after {
        position: absolute;
        left: 0;
        bottom: 0;
        height: 5px;
        width: 98%;
        margin: 0 1%;
        transform: scaleX(0);
        background-color: #000000;
        transition: all 0.3s ease-in-out;
        transform-origin: center left; }
    .menu-desktop .menu--item.active > a:after, .menu-desktop .cta.menu--item.active > span:after, .menu-desktop .cta--download.menu--item.active > span:after,
    .menu-desktop .menu--item.active > span:after,
    .menu-desktop .menu--item > a:hover:after,
    .menu-desktop .cta.menu--item > span:hover:after,
    .menu-desktop .cta--download.menu--item > span:hover:after,
    .menu-desktop .menu--item > span:hover:after {
      transform: none; }
  .menu-desktop .menu--languages {
    color: #2d2927;
    position: absolute;
    bottom: 40px;
    right: 120px;
    font-size: 12px; }
  .menu-desktop .search {
    border-top: 1px solid #000000;
    display: block;
    width: 100%;
    margin-top: 20px;
    padding-top: 20px;
    display: flex;
    flex-direction: column; }
    @media (min-width: 768px) {
      .menu-desktop .search {
        margin-top: 40px; } }
    .menu-desktop .search--input {
      margin-left: -20px;
      margin-right: -20px;
      width: calc(100% + 40px);
      margin-top: 40px;
      margin-bottom: 0; }
      .menu-desktop .search--input input {
        border: 0;
        background: #FFFFFF;
        color: #000000;
        text-align: center;
        width: 100%;
        font-size: 32px;
        padding-top: 20px;
        padding-bottom: 20px;
        margin-bottom: 0; }
      @media (min-width: 768px) {
        .menu-desktop .search--input {
          margin-left: -60px;
          margin-right: -60px;
          width: calc(100% + 120px); } }
    .menu-desktop .search--results {
      display: flex;
      flex-direction: column;
      font-weight: 400;
      font-size: 20px;
      height: calc(100% -260px);
      margin-left: -20px;
      margin-right: -20px;
      width: calc(100% + 40px);
      padding: 40px 40px 0 40px;
      background: #2d2927;
      color: #FFFFFF;
      overflow-x: hidden;
      overflow-y: scroll;
      -ms-overflow-style: none;
      /* IE and Edge */
      scrollbar-width: none;
      /* Firefox */ }
      .menu-desktop .search--results::-webkit-scrollbar {
        display: none; }
      @media (min-width: 768px) {
        .menu-desktop .search--results {
          margin-left: -60px;
          margin-right: -60px;
          width: calc(100% + 120px); } }
    .menu-desktop .search--block {
      margin-bottom: 40px;
      width: 100%; }
    .menu-desktop .search--title {
      font-size: 32px;
      margin-bottom: 20px;
      width: 100%; }
    .menu-desktop .search--link {
      font-size: 20px;
      margin-bottom: 10px;
      width: 100%; }
  .menu-desktop .menu--items {
    display: flex;
    position: relative; }
  .menu-desktop .first {
    list-style: none;
    padding: 0;
    margin: 0;
    font-size: 32px;
    flex: 25%; }
    .menu-desktop .first li {
      cursor: pointer; }
  .menu-desktop .selected {
    color: #fce500; }
  .menu-desktop .second {
    list-style: none;
    position: absolute;
    width: 75%;
    left: 25%;
    font-size: 24px;
    color: #000000;
    margin: 0;
    padding: 0;
    transition: all 0.3s ease-in-out;
    transform: translateY(20px);
    opacity: 0;
    z-index: 1;
    height: 100%; }
    .menu-desktop .second.visible {
      transform: none;
      opacity: 1;
      z-index: 10; }
    .menu-desktop .second li {
      margin-bottom: 20px;
      cursor: pointer; }
    .menu-desktop .second .last {
      font-weight: 600; }
    .menu-desktop .second .thumb {
      position: absolute;
      top: 15%;
      left: 65%;
      transform: translateX(-40%) translateY(10%);
      transition: all 0.3s ease-in-out;
      opacity: 0;
      z-index: 1;
      max-width: 50%; }
      .menu-desktop .second .thumb.visible {
        transform: translateX(-40%);
        opacity: 1;
        z-index: 10; }

.menu-open-desktop {
  overflow: hidden; }
  .menu-open-desktop .info-modal--btn, .menu-open-desktop .link-contattaci {
    bottom: -80px !important;
    opacity: 0; }
  .menu-open-desktop .section-slider {
    display: none; }
  .menu-open-desktop .menu-desktop {
    transform: none;
    -webkit-clip-path: inset(0 0 0 0);
            clip-path: inset(0 0 0 0);
    opacity: 1; }
  .menu-open-desktop .header {
    background-color: transparent; }
    .menu-open-desktop .header .logo {
      color: #2d2927; }
  .menu-open-desktop .desktop .menu-icon:before {
    transform: rotate(45deg) translateY(-7px);
    background-color: #2d2927; }
  .menu-open-desktop .desktop .menu-icon:after {
    transform: rotate(-45deg) translateY(7px);
    background-color: #2d2927; }
  @media (max-width: 991.98px) {
    .menu-open-desktop .sidebar, .menu-open-desktop .sidebar--contract, .menu-open-desktop .sidebar--corporate, .menu-open-desktop .sidebar--office {
      position: fixed;
      bottom: 0;
      left: 0;
      width: 100%;
      z-index: 9999; } }

body.menu-open-desktop .scroll-to {
  display: none; }

body.menu-open-desktop .menu-desktop {
  z-index: 50; }

/*
* Footer
*/
.footer {
  background: #cbc5c7;
  color: #2d2927;
  padding-top: 100px;
  padding-bottom: calc(80px + 60px);
  max-width: 100%; }
  @media (min-width: 992px) {
    .footer {
      width: calc(100vw - 60px);
      padding-bottom: 80px; } }
  .footer--block {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 80px; }
    .footer--block.top {
      min-width: 100%;
      margin-bottom: 0; }
    @media (min-width: 768px) {
      .footer--block {
        margin-bottom: 100px; }
        .footer--block.top {
          margin-bottom: 50px; } }
  .footer--title {
    flex: 1;
    min-width: 100%;
    font-size: 24px;
    margin-bottom: 30px; }
  .footer--link {
    flex: 50%;
    max-width: 50%;
    margin-bottom: 20px; }
  .footer--logo {
    flex: 1;
    min-width: 100%; }
    .footer--logo svg {
      width: 100%; }
  .footer--logo-mini {
    text-align: center;
    margin-top: 20px; }
  .footer .copyright {
    order: 2;
    margin-bottom: 40px; }
  .footer .languages {
    order: 1;
    margin-bottom: 100px; }
    @media (max-width: 767.98px) {
      .footer .languages .micro, .footer .languages .breadcrumbs {
        font-size: 16px; } }
  .footer .credits {
    order: 3;
    display: flex;
    justify-content: space-between; }
    .footer .credits a, .footer .credits .cta > span, .footer .credits .cta--download > span {
      display: flex;
      align-items: center; }
    .footer .credits svg {
      margin-right: 10px; }
  @media (min-width: 768px) {
    .footer .container-fluid {
      display: flex;
      flex-wrap: wrap; }
    .footer .brands {
      flex: 100%; }
    .footer .links {
      flex: 50%; }
    .footer .social {
      flex: 50%; }
    .footer .copyright {
      order: 1;
      margin-bottom: 16px; }
    .footer .languages {
      order: 2;
      margin-bottom: 16px; }
    .footer .credits {
      order: 3;
      margin-bottom: 0;
      justify-content: flex-start; }
      .footer .credits .micro, .footer .credits .breadcrumbs {
        flex: 50%; } }
  @media (min-width: 992px) {
    .footer .brands {
      flex: 35%;
      flex-direction: column;
      justify-content: flex-start; }
    .footer--logo-mini {
      margin-top: 0;
      margin-bottom: 10px;
      text-align: left;
      flex: 1; }
    .footer--logo {
      flex: auto;
      height: auto; }
      .footer--logo svg {
        max-width: 280px;
        height: auto; }
    .footer .links {
      flex: 32.5%; }
    .footer .social {
      flex: 32.5%; }
    .footer--bottom {
      display: flex;
      width: 100%; }
    .footer .copyright {
      flex: 35%;
      display: flex;
      align-items: flex-start; }
    .footer .languages {
      flex: 32.5%;
      display: flex;
      align-items: flex-start; }
    .footer .credits {
      flex: 32.5%;
      display: flex;
      align-items: flex-start; }
      .footer .credits .micro, .footer .credits .breadcrumbs {
        max-width: 220px; } }
  @media (min-width: 1680px) {
    .footer--logo-mini {
      margin-top: 0; }
      .footer--logo-mini svg, .footer--logo-mini img {
        min-height: 22px;
        width: auto;
        margin-bottom: 40px; }
      .footer--logo-mini.calligaris svg {
        min-height: 22px; }
      .footer--logo-mini.connubia svg {
        min-height: 17px; }
      .footer--logo-mini.ditre svg {
        min-height: 23px; }
      .footer--logo-mini.luce svg {
        min-height: 40px; }
    .footer .links,
    .footer .social {
      display: inline-block; }
      .footer .links .footer--link,
      .footer .social .footer--link {
        float: left;
        width: 50%;
        max-width: 180px; }
        .footer .links .footer--link:nth-child(even),
        .footer .social .footer--link:nth-child(even) {
          clear: left; } }
  @media (max-width: 1919.98px) {
    .footer--logo-mini.fatboy img {
      max-width: 50px; } }

/*
* Main
*/
/*
main {
	@include media-up(sm) {
		padding: 80px 0;
		min-height: calc(100vh - 62px);
	}

	@include media-down(xs) {
		min-height: 100vh;
	}
}
*/
html, body {
  -ms-overflow-style: none;
  /* IE and Edge */
  scrollbar-width: none;
  /* Firefox */ }
  html::-webkit-scrollbar, body::-webkit-scrollbar {
    display: none; }

.boxed {
  max-width: 640px;
  margin: auto; }

.slick-track {
  transition: all 0.25s ease-out; }

.slick-slide {
  outline: none; }

section,
.section,
section--light,
.section--light,
section--white,
.section--white,
section--black,
.section--black,
section--primary,
.section--primary,
.homepage .section--brands,
.section--slider,
.homepage .section--slider--ref,
.section--slider--prod,
section--grey,
.section--grey,
section--light-grey,
.section--light-grey,
section--blue-grey,
.section--blue-grey,
section--yellow,
.section--yellow {
  padding: 100px 0;
  /*
  .section--title
  {
      margin-bottom:60px;
      @include media-up(md)
      {
          margin-bottom:80px;
      }
      @include media-up(lg)
      {
          margin-bottom:100px;
      }
  }
  */ }
  @media (min-width: 1280px) {
    section,
    .section,
    section--light,
    .section--light,
    section--white,
    .section--white,
    section--black,
    .section--black,
    section--primary,
    .section--primary,
    .homepage .section--brands,
    .section--slider,
    .homepage .section--slider--ref,
    .section--slider--prod,
    section--grey,
    .section--grey,
    section--light-grey,
    .section--light-grey,
    section--blue-grey,
    .section--blue-grey,
    section--yellow,
    .section--yellow {
      padding: 160px 0; } }
  @media (max-width: 991.98px) {
    section .section--title,
    .section .section--title,
    section--light .section--title,
    .section--light .section--title,
    section--white .section--title,
    .section--white .section--title,
    section--black .section--title,
    .section--black .section--title,
    section--primary .section--title,
    .section--primary .section--title,
    .homepage .section--brands .section--title,
    .section--slider .section--title,
    .homepage .section--slider--ref .section--title,
    .section--slider--prod .section--title,
    section--grey .section--title,
    .section--grey .section--title,
    section--light-grey .section--title,
    .section--light-grey .section--title,
    section--blue-grey .section--title,
    .section--blue-grey .section--title,
    section--yellow .section--title,
    .section--yellow .section--title {
      line-height: 1.75;
      margin-bottom: 40px; } }
  @media (min-width: 992px) {
    section .section--title,
    .section .section--title,
    section--light .section--title,
    .section--light .section--title,
    section--white .section--title,
    .section--white .section--title,
    section--black .section--title,
    .section--black .section--title,
    section--primary .section--title,
    .section--primary .section--title,
    .homepage .section--brands .section--title,
    .section--slider .section--title,
    .homepage .section--slider--ref .section--title,
    .section--slider--prod .section--title,
    section--grey .section--title,
    .section--grey .section--title,
    section--light-grey .section--title,
    .section--light-grey .section--title,
    section--blue-grey .section--title,
    .section--blue-grey .section--title,
    section--yellow .section--title,
    .section--yellow .section--title {
      margin-bottom: 60px; } }
  @media (min-width: 1680px) {
    section .section--title,
    .section .section--title,
    section--light .section--title,
    .section--light .section--title,
    section--white .section--title,
    .section--white .section--title,
    section--black .section--title,
    .section--black .section--title,
    section--primary .section--title,
    .section--primary .section--title,
    .homepage .section--brands .section--title,
    .section--slider .section--title,
    .homepage .section--slider--ref .section--title,
    .section--slider--prod .section--title,
    section--grey .section--title,
    .section--grey .section--title,
    section--light-grey .section--title,
    .section--light-grey .section--title,
    section--blue-grey .section--title,
    .section--blue-grey .section--title,
    section--yellow .section--title,
    .section--yellow .section--title {
      font-size: 60px; } }
  section .section--subtitle,
  .section .section--subtitle,
  section--light .section--subtitle,
  .section--light .section--subtitle,
  section--white .section--subtitle,
  .section--white .section--subtitle,
  section--black .section--subtitle,
  .section--black .section--subtitle,
  section--primary .section--subtitle,
  .section--primary .section--subtitle,
  .homepage .section--brands .section--subtitle,
  .section--slider .section--subtitle,
  .homepage .section--slider--ref .section--subtitle,
  .section--slider--prod .section--subtitle,
  section--grey .section--subtitle,
  .section--grey .section--subtitle,
  section--light-grey .section--subtitle,
  .section--light-grey .section--subtitle,
  section--blue-grey .section--subtitle,
  .section--blue-grey .section--subtitle,
  section--yellow .section--subtitle,
  .section--yellow .section--subtitle {
    font-size: 20px;
    margin-top: 0;
    margin-bottom: 40px; }
    @media (min-width: 992px) {
      section .section--subtitle,
      .section .section--subtitle,
      section--light .section--subtitle,
      .section--light .section--subtitle,
      section--white .section--subtitle,
      .section--white .section--subtitle,
      section--black .section--subtitle,
      .section--black .section--subtitle,
      section--primary .section--subtitle,
      .section--primary .section--subtitle,
      .homepage .section--brands .section--subtitle,
      .section--slider .section--subtitle,
      .homepage .section--slider--ref .section--subtitle,
      .section--slider--prod .section--subtitle,
      section--grey .section--subtitle,
      .section--grey .section--subtitle,
      section--light-grey .section--subtitle,
      .section--light-grey .section--subtitle,
      section--blue-grey .section--subtitle,
      .section--blue-grey .section--subtitle,
      section--yellow .section--subtitle,
      .section--yellow .section--subtitle {
        margin-bottom: 60px; } }
  section--light,
  .section--light {
    background-color: #FFFFFF; }
    section--light ~ .section--light,
    .section--light ~ .section--light {
      padding-top: 0; }
  section--white,
  .section--white {
    background-color: #FFFFFF; }
    section--white ~ .section--white,
    .section--white ~ .section--white {
      padding-top: 0; }
  section--black,
  .section--black {
    background-color: #000000; }
    section--black ~ .section--black,
    .section--black ~ .section--black {
      padding-top: 0; }
  section--primary,
  .section--primary,
  .homepage .section--brands,
  .section--slider,
  .homepage .section--slider--ref,
  .section--slider--prod {
    background-color: #2d2927; }
    section--primary ~ .section--primary, .homepage section--primary ~ .section--brands, section--primary ~ .section--slider, .homepage section--primary ~ .section--slider--ref, section--primary ~ .section--slider--prod,
    .section--primary ~ .section--primary,
    .homepage .section--brands ~ .section--primary,
    .section--slider ~ .section--primary,
    .homepage .section--slider--ref ~ .section--primary,
    .section--slider--prod ~ .section--primary,
    .homepage .section--primary ~ .section--brands,
    .homepage .section--brands ~ .section--brands,
    .homepage .section--slider ~ .section--brands,
    .homepage .section--slider--ref ~ .section--brands,
    .homepage .section--slider--prod ~ .section--brands,
    .section--primary ~ .section--slider,
    .homepage .section--brands ~ .section--slider,
    .section--slider ~ .section--slider,
    .homepage .section--slider--ref ~ .section--slider,
    .section--slider--prod ~ .section--slider,
    .homepage .section--primary ~ .section--slider--ref,
    .homepage .section--brands ~ .section--slider--ref,
    .homepage .section--slider ~ .section--slider--ref,
    .homepage .section--slider--ref ~ .section--slider--ref,
    .homepage .section--slider--prod ~ .section--slider--ref,
    .section--primary ~ .section--slider--prod,
    .homepage .section--brands ~ .section--slider--prod,
    .section--slider ~ .section--slider--prod,
    .homepage .section--slider--ref ~ .section--slider--prod,
    .section--slider--prod ~ .section--slider--prod {
      padding-top: 0; }
  section--grey,
  .section--grey {
    background-color: #cbc5c7; }
    section--grey ~ .section--grey,
    .section--grey ~ .section--grey {
      padding-top: 0; }
  section--light-grey,
  .section--light-grey {
    background-color: #dbd8d9; }
    section--light-grey ~ .section--light-grey,
    .section--light-grey ~ .section--light-grey {
      padding-top: 0; }
  section--blue-grey,
  .section--blue-grey {
    background-color: #888b95; }
    section--blue-grey ~ .section--blue-grey,
    .section--blue-grey ~ .section--blue-grey {
      padding-top: 0; }
  section--yellow,
  .section--yellow {
    background-color: #fce500; }
    section--yellow ~ .section--yellow,
    .section--yellow ~ .section--yellow {
      padding-top: 0; }

img {
  max-width: 100%; }

.cursor {
  position: fixed;
  width: 150px;
  height: 150px;
  border-radius: 50%;
  background-color: #000000;
  pointer-events: none;
  z-index: 999;
  transition: transform,opacity 0.2s;
  color: #FFFFFF;
  font-size: 24px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  max-width: 50%; }
  .cursor span {
    line-height: 1.25;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100%;
    font-weight: 600; }

.breadcrumbs {
  color: #888b95; }

.items-count {
  display: inline-block;
  font-size: 35%;
  font-weight: 400;
  transform: translateY(-130%);
  line-height: 1; }

.panel-markets {
  position: fixed;
  top: 0;
  left: 0;
  width: 300px;
  height: 100vh;
  padding: 90px 0 30px 0;
  overflow-x: hidden;
  overflow-y: auto;
  z-index: 10000;
  background: #FFFFFF;
  color: #2d2927;
  transform: translateX(-100%);
  transition: transform ease-in-out 350ms; }
  .panel-markets::-webkit-scrollbar {
    width: 6px;
    border-radius: 3px; }
  .panel-markets::-webkit-scrollbar-button {
    display: none; }
  .panel-markets::-webkit-scrollbar-button:hover {
    display: none; }
  .panel-markets::-webkit-scrollbar-thumb {
    background-color: rgba(22, 37, 91, 0.15);
    box-shadow: none;
    border-radius: 3px; }
    .panel-markets::-webkit-scrollbar-thumb:hover {
      background-color: rgba(22, 37, 91, 0.15); }
  .panel-markets::-webkit-scrollbar-track {
    background-color: transparent;
    border-radius: 3px; }
    .panel-markets::-webkit-scrollbar-track:hover {
      background-color: transparent; }
  .country-search--active .panel-markets {
    transform: translateX(0); }
  .panel-markets .title {
    font-size: 24px;
    font-weight: 600;
    margin-bottom: 30px; }
  .panel-markets .abstract {
    margin-bottom: 30px; }
  .panel-markets .form-control {
    border: none;
    outline: none;
    font-size: 19px;
    border-bottom: 2px solid #aaa;
    border-radius: 0;
    padding: 5px 00;
    width: 100%;
    margin-bottom: 30px; }
  .panel-markets .btn--close {
    position: absolute;
    top: 40px; }
    .panel-markets .btn--close svg {
      width: 20px;
      height: 20px;
      line-height: 1;
      fill: currentColor; }
  @media (min-width: 768px) {
    .panel-markets {
      width: 360px;
      padding: 90px 30px 30px 30px; }
      .panel-markets .btn--close {
        left: 50px; } }
  @media (max-width: 767.98px) {
    .panel-markets {
      width: 300px;
      padding: 90px 0 30px 0; }
      .panel-markets .btn--close {
        left: 20px; } }
  @media (max-width: 1279.98px) {
    .panel-markets {
      padding-bottom: 100px; } }

.nav--letters {
  display: flex;
  flex-direction: column;
  font-size: 0.9em;
  line-height: 1.8;
  border-bottom: 1px solid #ccc;
  padding-bottom: 10px;
  margin-bottom: 10px; }
  .nav--letters > .nav__item {
    display: flex;
    justify-content: space-between; }
    .nav--letters > .nav__item:first-child {
      font-weight: 600; }

.nav--languages {
  display: flex;
  align-items: center; }
  .nav--languages > .nav__item + .nav__item:before {
    display: inline-block;
    content: '|';
    margin: 0 4px;
    opacity: 0.5; }

.panel-search {
  position: fixed;
  top: 0;
  left: 0;
  width: 300px;
  height: 100vh;
  padding: 90px 0 30px 0;
  overflow-x: hidden;
  overflow-y: auto;
  z-index: 10000;
  background: #FFFFFF;
  color: #2d2927;
  transform: translateX(-100%);
  transition: transform ease-in-out 350ms; }
  .panel-search::-webkit-scrollbar {
    width: 6px;
    border-radius: 3px; }
  .panel-search::-webkit-scrollbar-button {
    display: none; }
  .panel-search::-webkit-scrollbar-button:hover {
    display: none; }
  .panel-search::-webkit-scrollbar-thumb {
    background-color: rgba(22, 37, 91, 0.15);
    box-shadow: none;
    border-radius: 3px; }
    .panel-search::-webkit-scrollbar-thumb:hover {
      background-color: rgba(22, 37, 91, 0.15); }
  .panel-search::-webkit-scrollbar-track {
    background-color: transparent;
    border-radius: 3px; }
    .panel-search::-webkit-scrollbar-track:hover {
      background-color: transparent; }
  .site-search--active .panel-search {
    transform: translateX(0); }
  .panel-search .title {
    font-size: 24px;
    font-weight: 600;
    margin-bottom: 30px; }
  .panel-search .abstract {
    margin-bottom: 30px; }
  .panel-search .form-control {
    border: none;
    outline: none;
    font-size: 19px;
    border-bottom: 2px solid #aaa;
    border-radius: 0;
    padding: 5px 00;
    width: 100%;
    margin-bottom: 30px; }
  .panel-search .group--control {
    display: flex;
    justify-content: space-between;
    align-items: center; }
  .panel-search .btn--clear {
    margin-left: 15px;
    margin-bottom: 30px;
    padding: 7px 9px;
    font-size: 12px;
    border: 1px solid black; }
    .panel-search .btn--clear svg {
      width: 20px;
      height: 20px;
      line-height: 1;
      fill: currentColor; }
  .panel-search .btn--close {
    position: absolute;
    top: 40px; }
    .panel-search .btn--close svg {
      width: 20px;
      height: 20px;
      line-height: 1;
      fill: currentColor; }
  @media (min-width: 768px) {
    .panel-search {
      width: 360px;
      padding: 90px 30px 30px 30px; }
      .panel-search .btn--close {
        left: 50px; } }
  @media (max-width: 767.98px) {
    .panel-search {
      width: 300px;
      padding: 90px 0 30px 0; }
      .panel-search .btn--close {
        left: 20px; } }

.card--result {
  border-bottom: 1px solid #ccc;
  padding-bottom: 10px;
  margin-bottom: 20px; }
  .card--result .card__title {
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 10px; }
  .card--result .card__picture {
    display: flex;
    justify-content: center;
    align-items: center; }
    .card--result .card__picture > img {
      width: 100%;
      -o-object-fit: cover;
         object-fit: cover; }
  .card--result .group--cta {
    display: flex;
    justify-content: space-between;
    align-items: center; }
    .card--result .group--cta a, .card--result .group--cta .cta > span, .card--result .group--cta .cta--download > span {
      font-size: 14px;
      line-height: 17px;
      text-decoration: underline;
      margin-bottom: 5px; }
    .card--result .group--cta .count {
      font-size: 14px;
      color: #ccc; }

.product {
  background: #2d2927; }
  .product .header {
    background: transparent; }
  .product--detail-slider {
    max-width: 540px;
    margin-bottom: 40px; }
    .product--detail-slider .breadcrumb {
      color: #888b95;
      font-size: 12px;
      display: block;
      margin-bottom: 30px; }
    .product--detail-slider .slick-slide img {
      width: 100%; }
    .product--detail-slider .nav {
      display: flex;
      align-items: center;
      justify-content: center;
      margin-top: 20px; }
      .product--detail-slider .nav * {
        font-size: 16px; }
  .product .step {
    opacity: 0.5;
    transition: all 0.3s ease-in-out; }
    .product .step.ok, .product .step.next {
      opacity: 1; }
  .product .template {
    display: none !important; }
  .product .side:not(.side--measures) .heading, .product .side--1:not(.side--measures) .heading, .product .side--2:not(.side--measures) .heading, .product .side--3:not(.side--measures) .heading, .product .side--4:not(.side--measures) .heading {
    display: none !important; }
  .product [data-active-step="1"] [data-step="1"] {
    opacity: 1;
    cursor: pointer; }
  .product [data-side-open="1"] {
    z-index: 102; }
    .product [data-side-open="1"] .side--1 {
      transform: none; }
  .product [data-active-step="2"] [data-step="2"] {
    opacity: 1;
    cursor: pointer; }
  .product [data-side-open="2"] {
    z-index: 102; }
    .product [data-side-open="2"] .side--2 {
      transform: none; }
  .product [data-active-step="3"] [data-step="3"] {
    opacity: 1;
    cursor: pointer; }
  .product [data-side-open="3"] {
    z-index: 102; }
    .product [data-side-open="3"] .side--3 {
      transform: none; }
  .product [data-active-step="4"] [data-step="4"] {
    opacity: 1;
    cursor: pointer; }
  .product [data-side-open="4"] {
    z-index: 102; }
    .product [data-side-open="4"] .side--4 {
      transform: none; }
  .product [data-active-step="5"] [data-step="5"] {
    opacity: 1;
    cursor: pointer; }
  .product [data-side-open="5"] {
    z-index: 102; }
    .product [data-side-open="5"] .side--5 {
      transform: none; }
  .product [data-active-step="6"] [data-step="6"] {
    opacity: 1;
    cursor: pointer; }
  .product [data-side-open="6"] {
    z-index: 102; }
    .product [data-side-open="6"] .side--6 {
      transform: none; }
  .product [data-active-step="7"] [data-step="7"] {
    opacity: 1;
    cursor: pointer; }
  .product [data-side-open="7"] {
    z-index: 102; }
    .product [data-side-open="7"] .side--7 {
      transform: none; }
  .product [data-active-step="8"] [data-step="8"] {
    opacity: 1;
    cursor: pointer; }
  .product [data-side-open="8"] {
    z-index: 102; }
    .product [data-side-open="8"] .side--8 {
      transform: none; }
  .product [data-active-step="9"] [data-step="9"] {
    opacity: 1;
    cursor: pointer; }
  .product [data-side-open="9"] {
    z-index: 102; }
    .product [data-side-open="9"] .side--9 {
      transform: none; }
  .product [data-active-step="10"] [data-step="10"] {
    opacity: 1;
    cursor: pointer; }
  .product [data-side-open="10"] {
    z-index: 102; }
    .product [data-side-open="10"] .side--10 {
      transform: none; }
  .product [data-side-open="measures"] [data-side="measures"],
  .product [data-side-open="downloads"] [data-side="downloads"] {
    z-index: 102;
    transform: none; }
  .product [data-side-open="measures"],
  .product [data-side-open="downloads"] {
    z-index: 102; }
    .product [data-side-open="measures"] .misure,
    .product [data-side-open="downloads"] .misure {
      display: flex; }
    .product [data-side-open="measures"] .data, .product [data-side-open="measures"] .img,
    .product [data-side-open="downloads"] .data,
    .product [data-side-open="downloads"] .img {
      flex: 50%;
      text-align: left; }
      .product [data-side-open="measures"] .data img, .product [data-side-open="measures"] .img img,
      .product [data-side-open="downloads"] .data img,
      .product [data-side-open="downloads"] .img img {
        max-width: 100%; }
  .product .badge {
    width: 34px;
    height: 34px;
    border: 1px solid #FFFFFF;
    border-radius: 50%;
    position: relative;
    background-size: contain;
    background-position: center center; }
  .product .prod .title {
    font-size: 32px;
    margin-bottom: 15px;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center; }
    .product .prod .title .mto {
      color: #FCE500;
      text-transform: uppercase;
      font-size: 13px;
      font-weight: 600;
      margin-left: 32px;
      text-decoration: underline;
      position: relative;
      padding-left: 18px;
      cursor: pointer; }
      .product .prod .title .mto svg {
        position: absolute;
        left: 0;
        top: 50%;
        transform: translateY(-50%); }
  .product .prod .info {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 14px;
    color: #cbc5c7;
    margin-bottom: 24px; }
  .product .prod .feats {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 30px; }
    .product .prod .feats .feat {
      display: flex;
      align-items: center;
      color: #cbc5c7; }
    .product .prod .feats .icon, .product .prod .feats .progetto .resume .info--down .edit, .progetto .resume .info--down .product .prod .feats .edit, .product .prod .feats .progetto .resume .info--down .copy, .progetto .resume .info--down .product .prod .feats .copy, .product .prod .feats .progetto .resume .info--down .delete, .progetto .resume .info--down .product .prod .feats .delete {
      padding-right: 8px; }
      .product .prod .feats .icon svg, .product .prod .feats .progetto .resume .info--down .edit svg, .progetto .resume .info--down .product .prod .feats .edit svg, .product .prod .feats .progetto .resume .info--down .copy svg, .progetto .resume .info--down .product .prod .feats .copy svg, .product .prod .feats .progetto .resume .info--down .delete svg, .progetto .resume .info--down .product .prod .feats .delete svg,
      .product .prod .feats .icon img,
      .product .prod .feats .progetto .resume .info--down .edit img,
      .progetto .resume .info--down .product .prod .feats .edit img,
      .product .prod .feats .progetto .resume .info--down .copy img,
      .progetto .resume .info--down .product .prod .feats .copy img,
      .product .prod .feats .progetto .resume .info--down .delete img,
      .progetto .resume .info--down .product .prod .feats .delete img {
        height: 16px;
        width: 16px; }
    .product .prod .feats .text {
      font-size: 12px;
      padding-right: 40px; }
  .product .prod .textinfo {
    font-size: 13px;
    color: #cbc5c7;
    margin-bottom: 30px; }
  .product .prod .steps {
    margin-bottom: 30px; }
    .product .prod .steps .step {
      display: flex;
      width: 100%;
      background: #433f3d;
      padding: 20px 24px;
      cursor: pointer; }
      .product .prod .steps .step.disabled {
        opacity: 0.5; }
      .product .prod .steps .step:not(:first-child) {
        border-top: 1px solid rgba(203, 197, 199, 0.3); }
    .product .prod .steps .icon, .product .prod .steps .progetto .resume .info--down .edit, .progetto .resume .info--down .product .prod .steps .edit, .product .prod .steps .progetto .resume .info--down .copy, .progetto .resume .info--down .product .prod .steps .copy, .product .prod .steps .progetto .resume .info--down .delete, .progetto .resume .info--down .product .prod .steps .delete {
      width: 36px;
      display: flex;
      align-items: center;
      justify-content: center; }
      .product .prod .steps .icon svg, .product .prod .steps .progetto .resume .info--down .edit svg, .progetto .resume .info--down .product .prod .steps .edit svg, .product .prod .steps .progetto .resume .info--down .copy svg, .progetto .resume .info--down .product .prod .steps .copy svg, .product .prod .steps .progetto .resume .info--down .delete svg, .progetto .resume .info--down .product .prod .steps .delete svg {
        max-width: 20px; }
        .product .prod .steps .icon svg path, .product .prod .steps .progetto .resume .info--down .edit svg path, .progetto .resume .info--down .product .prod .steps .edit svg path, .product .prod .steps .progetto .resume .info--down .copy svg path, .progetto .resume .info--down .product .prod .steps .copy svg path, .product .prod .steps .progetto .resume .info--down .delete svg path, .progetto .resume .info--down .product .prod .steps .delete svg path {
          fill: #FFFFFF; }
    .product .prod .steps .step .content {
      flex: 1;
      display: flex;
      align-items: center;
      justify-content: space-between; }
      .product .prod .steps .step .content .text {
        padding-left: 24px;
        padding-right: 24px; }
        .product .prod .steps .step .content .text .title {
          font-weight: 600;
          font-size: 14px;
          margin-bottom: 8px; }
        .product .prod .steps .step .content .text .extract {
          font-size: 13px;
          margin-bottom: 0; }
      .product .prod .steps .step .content .toggle {
        display: flex;
        align-items: center;
        font-size: 12px;
        font-weight: 600; }
        .product .prod .steps .step .content .toggle svg {
          margin-left: 14px;
          width: 12px;
          height: auto; }
          .product .prod .steps .step .content .toggle svg path,
          .product .prod .steps .step .content .toggle svg rect,
          .product .prod .steps .step .content .toggle svg polygon {
            fill: #FFFFFF; }
  .product .prod .buttons {
    display: flex;
    flex-wrap: wrap; }
    .product .prod .buttons .btn {
      flex: 1;
      min-width: 100%;
      margin-bottom: 24px; }
    .product .prod .buttons .disabled {
      opacity: 0.5 !important;
      cursor: initial; }
      .product .prod .buttons .disabled:hover, .product .prod .buttons .disabled:focus {
        background-color: #FFFFFF;
        border-color: #FFFFFF; }
  .product .side, .product .side--1, .product .side--2, .product .side--3, .product .side--4 {
    position: fixed;
    top: 0;
    right: 0;
    width: 540px;
    max-width: 100vw;
    background: #FFFFFF;
    z-index: 999999;
    color: #2d2927;
    transform: translateX(100%);
    transition: all 0.3s ease-in-out;
    height: 100vh; }
    .product .side .panel, .product .side--1 .panel, .product .side--2 .panel, .product .side--3 .panel, .product .side--4 .panel {
      position: relative;
      margin: 80px;
      height: calc(100% - 160px); }
    .product .side .close, .product .side--1 .close, .product .side--2 .close, .product .side--3 .close, .product .side--4 .close {
      cursor: pointer;
      position: absolute;
      top: 0;
      right: 0;
      z-index: 9999; }
      .product .side .close svg, .product .side--1 .close svg, .product .side--2 .close svg, .product .side--3 .close svg, .product .side--4 .close svg {
        width: 20px;
        height: auto; }
    .product .side .title, .product .side--1 .title, .product .side--2 .title, .product .side--3 .title, .product .side--4 .title {
      display: block;
      font-size: 32px;
      font-weight: 600;
      padding-top: 32px;
      margin-bottom: 60px; }
    .product .side .content, .product .side--1 .content, .product .side--2 .content, .product .side--3 .content, .product .side--4 .content {
      margin-bottom: 40px;
      font-size: 14px; }
      .product .side .content .heading, .product .side--1 .content .heading, .product .side--2 .content .heading, .product .side--3 .content .heading, .product .side--4 .content .heading {
        font-weight: 600;
        margin-left: -20px; }
      .product .side .content .scroll, .product .side--1 .content .scroll, .product .side--2 .content .scroll, .product .side--3 .content .scroll, .product .side--4 .content .scroll {
        margin-left: -20px;
        margin-bottom: 0;
        height: calc(70vh);
        overflow-x: visible;
        overflow-y: scroll;
        -ms-overflow-style: none;
        scrollbar-width: none; }
        .product .side .content .scroll::-webkit-scrollbar, .product .side--1 .content .scroll::-webkit-scrollbar, .product .side--2 .content .scroll::-webkit-scrollbar, .product .side--3 .content .scroll::-webkit-scrollbar, .product .side--4 .content .scroll::-webkit-scrollbar {
          display: none; }
      .product .side .content .v-row, .product .side--1 .content .v-row, .product .side--2 .content .v-row, .product .side--3 .content .v-row, .product .side--4 .content .v-row {
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 16px;
        padding-top: 2px;
        cursor: pointer; }
        .product .side .content .v-row.clicked .dot, .product .side--1 .content .v-row.clicked .dot, .product .side--2 .content .v-row.clicked .dot, .product .side--3 .content .v-row.clicked .dot, .product .side--4 .content .v-row.clicked .dot {
          background: #000000; }
        .product .side .content .v-row.clicked .badge, .product .side--1 .content .v-row.clicked .badge, .product .side--2 .content .v-row.clicked .badge, .product .side--3 .content .v-row.clicked .badge, .product .side--4 .content .v-row.clicked .badge {
          position: relative; }
          .product .side .content .v-row.clicked .badge:before, .product .side--1 .content .v-row.clicked .badge:before, .product .side--2 .content .v-row.clicked .badge:before, .product .side--3 .content .v-row.clicked .badge:before, .product .side--4 .content .v-row.clicked .badge:before {
            content: "";
            width: 42px;
            height: 42px;
            border: 2px solid #888b95;
            border-radius: 50%;
            left: 50%;
            top: 50%;
            transform: translateY(-50%) translateX(-50%); }
      .product .side .content .icon, .product .side--1 .content .icon, .product .side--2 .content .icon, .product .side--3 .content .icon, .product .side--4 .content .icon, .product .side .content .progetto .resume .info--down .edit, .progetto .resume .info--down .product .side .content .edit, .product .side--1 .content .progetto .resume .info--down .edit, .progetto .resume .info--down .product .side--1 .content .edit, .product .side--2 .content .progetto .resume .info--down .edit, .progetto .resume .info--down .product .side--2 .content .edit, .product .side--3 .content .progetto .resume .info--down .edit, .progetto .resume .info--down .product .side--3 .content .edit, .product .side--4 .content .progetto .resume .info--down .edit, .progetto .resume .info--down .product .side--4 .content .edit, .product .side .content .progetto .resume .info--down .copy, .progetto .resume .info--down .product .side .content .copy, .product .side--1 .content .progetto .resume .info--down .copy, .progetto .resume .info--down .product .side--1 .content .copy, .product .side--2 .content .progetto .resume .info--down .copy, .progetto .resume .info--down .product .side--2 .content .copy, .product .side--3 .content .progetto .resume .info--down .copy, .progetto .resume .info--down .product .side--3 .content .copy, .product .side--4 .content .progetto .resume .info--down .copy, .progetto .resume .info--down .product .side--4 .content .copy, .product .side .content .progetto .resume .info--down .delete, .progetto .resume .info--down .product .side .content .delete, .product .side--1 .content .progetto .resume .info--down .delete, .progetto .resume .info--down .product .side--1 .content .delete, .product .side--2 .content .progetto .resume .info--down .delete, .progetto .resume .info--down .product .side--2 .content .delete, .product .side--3 .content .progetto .resume .info--down .delete, .progetto .resume .info--down .product .side--3 .content .delete, .product .side--4 .content .progetto .resume .info--down .delete, .progetto .resume .info--down .product .side--4 .content .delete {
        width: 80px;
        min-height: 43px;
        display: flex;
        align-items: center;
        justify-content: center; }
        .product .side .content .icon .dot, .product .side--1 .content .icon .dot, .product .side--2 .content .icon .dot, .product .side--3 .content .icon .dot, .product .side--4 .content .icon .dot, .product .side .content .progetto .resume .info--down .edit .dot, .progetto .resume .info--down .product .side .content .edit .dot, .product .side--1 .content .progetto .resume .info--down .edit .dot, .progetto .resume .info--down .product .side--1 .content .edit .dot, .product .side--2 .content .progetto .resume .info--down .edit .dot, .progetto .resume .info--down .product .side--2 .content .edit .dot, .product .side--3 .content .progetto .resume .info--down .edit .dot, .progetto .resume .info--down .product .side--3 .content .edit .dot, .product .side--4 .content .progetto .resume .info--down .edit .dot, .progetto .resume .info--down .product .side--4 .content .edit .dot, .product .side .content .progetto .resume .info--down .copy .dot, .progetto .resume .info--down .product .side .content .copy .dot, .product .side--1 .content .progetto .resume .info--down .copy .dot, .progetto .resume .info--down .product .side--1 .content .copy .dot, .product .side--2 .content .progetto .resume .info--down .copy .dot, .progetto .resume .info--down .product .side--2 .content .copy .dot, .product .side--3 .content .progetto .resume .info--down .copy .dot, .progetto .resume .info--down .product .side--3 .content .copy .dot, .product .side--4 .content .progetto .resume .info--down .copy .dot, .progetto .resume .info--down .product .side--4 .content .copy .dot, .product .side .content .progetto .resume .info--down .delete .dot, .progetto .resume .info--down .product .side .content .delete .dot, .product .side--1 .content .progetto .resume .info--down .delete .dot, .progetto .resume .info--down .product .side--1 .content .delete .dot, .product .side--2 .content .progetto .resume .info--down .delete .dot, .progetto .resume .info--down .product .side--2 .content .delete .dot, .product .side--3 .content .progetto .resume .info--down .delete .dot, .progetto .resume .info--down .product .side--3 .content .delete .dot, .product .side--4 .content .progetto .resume .info--down .delete .dot, .progetto .resume .info--down .product .side--4 .content .delete .dot {
          width: 14px;
          height: 14px;
          border-radius: 50%;
          border: 1px solid #000000;
          background: transparent;
          position: relative;
          margin-left: 20px; }
        .product .side .content .icon .badge, .product .side--1 .content .icon .badge, .product .side--2 .content .icon .badge, .product .side--3 .content .icon .badge, .product .side--4 .content .icon .badge, .product .side .content .progetto .resume .info--down .edit .badge, .progetto .resume .info--down .product .side .content .edit .badge, .product .side--1 .content .progetto .resume .info--down .edit .badge, .progetto .resume .info--down .product .side--1 .content .edit .badge, .product .side--2 .content .progetto .resume .info--down .edit .badge, .progetto .resume .info--down .product .side--2 .content .edit .badge, .product .side--3 .content .progetto .resume .info--down .edit .badge, .progetto .resume .info--down .product .side--3 .content .edit .badge, .product .side--4 .content .progetto .resume .info--down .edit .badge, .progetto .resume .info--down .product .side--4 .content .edit .badge, .product .side .content .progetto .resume .info--down .copy .badge, .progetto .resume .info--down .product .side .content .copy .badge, .product .side--1 .content .progetto .resume .info--down .copy .badge, .progetto .resume .info--down .product .side--1 .content .copy .badge, .product .side--2 .content .progetto .resume .info--down .copy .badge, .progetto .resume .info--down .product .side--2 .content .copy .badge, .product .side--3 .content .progetto .resume .info--down .copy .badge, .progetto .resume .info--down .product .side--3 .content .copy .badge, .product .side--4 .content .progetto .resume .info--down .copy .badge, .progetto .resume .info--down .product .side--4 .content .copy .badge, .product .side .content .progetto .resume .info--down .delete .badge, .progetto .resume .info--down .product .side .content .delete .badge, .product .side--1 .content .progetto .resume .info--down .delete .badge, .progetto .resume .info--down .product .side--1 .content .delete .badge, .product .side--2 .content .progetto .resume .info--down .delete .badge, .progetto .resume .info--down .product .side--2 .content .delete .badge, .product .side--3 .content .progetto .resume .info--down .delete .badge, .progetto .resume .info--down .product .side--3 .content .delete .badge, .product .side--4 .content .progetto .resume .info--down .delete .badge, .progetto .resume .info--down .product .side--4 .content .delete .badge {
          border-color: #888b95; }
        .product .side .content .icon .dot:before, .product .side--1 .content .icon .dot:before, .product .side--2 .content .icon .dot:before, .product .side--3 .content .icon .dot:before, .product .side--4 .content .icon .dot:before, .product .side .content .progetto .resume .info--down .edit .dot:before, .progetto .resume .info--down .product .side .content .edit .dot:before, .product .side--1 .content .progetto .resume .info--down .edit .dot:before, .progetto .resume .info--down .product .side--1 .content .edit .dot:before, .product .side--2 .content .progetto .resume .info--down .edit .dot:before, .progetto .resume .info--down .product .side--2 .content .edit .dot:before, .product .side--3 .content .progetto .resume .info--down .edit .dot:before, .progetto .resume .info--down .product .side--3 .content .edit .dot:before, .product .side--4 .content .progetto .resume .info--down .edit .dot:before, .progetto .resume .info--down .product .side--4 .content .edit .dot:before, .product .side .content .progetto .resume .info--down .copy .dot:before, .progetto .resume .info--down .product .side .content .copy .dot:before, .product .side--1 .content .progetto .resume .info--down .copy .dot:before, .progetto .resume .info--down .product .side--1 .content .copy .dot:before, .product .side--2 .content .progetto .resume .info--down .copy .dot:before, .progetto .resume .info--down .product .side--2 .content .copy .dot:before, .product .side--3 .content .progetto .resume .info--down .copy .dot:before, .progetto .resume .info--down .product .side--3 .content .copy .dot:before, .product .side--4 .content .progetto .resume .info--down .copy .dot:before, .progetto .resume .info--down .product .side--4 .content .copy .dot:before, .product .side .content .progetto .resume .info--down .delete .dot:before, .progetto .resume .info--down .product .side .content .delete .dot:before, .product .side--1 .content .progetto .resume .info--down .delete .dot:before, .progetto .resume .info--down .product .side--1 .content .delete .dot:before, .product .side--2 .content .progetto .resume .info--down .delete .dot:before, .progetto .resume .info--down .product .side--2 .content .delete .dot:before, .product .side--3 .content .progetto .resume .info--down .delete .dot:before, .progetto .resume .info--down .product .side--3 .content .delete .dot:before, .product .side--4 .content .progetto .resume .info--down .delete .dot:before, .progetto .resume .info--down .product .side--4 .content .delete .dot:before,
        .product .side .content .icon .badge:before,
        .product .side--1 .content .icon .badge:before,
        .product .side--2 .content .icon .badge:before,
        .product .side--3 .content .icon .badge:before,
        .product .side--4 .content .icon .badge:before,
        .product .side .content .progetto .resume .info--down .edit .badge:before,
        .progetto .resume .info--down .product .side .content .edit .badge:before,
        .product .side--1 .content .progetto .resume .info--down .edit .badge:before,
        .progetto .resume .info--down .product .side--1 .content .edit .badge:before,
        .product .side--2 .content .progetto .resume .info--down .edit .badge:before,
        .progetto .resume .info--down .product .side--2 .content .edit .badge:before,
        .product .side--3 .content .progetto .resume .info--down .edit .badge:before,
        .progetto .resume .info--down .product .side--3 .content .edit .badge:before,
        .product .side--4 .content .progetto .resume .info--down .edit .badge:before,
        .progetto .resume .info--down .product .side--4 .content .edit .badge:before,
        .product .side .content .progetto .resume .info--down .copy .badge:before,
        .progetto .resume .info--down .product .side .content .copy .badge:before,
        .product .side--1 .content .progetto .resume .info--down .copy .badge:before,
        .progetto .resume .info--down .product .side--1 .content .copy .badge:before,
        .product .side--2 .content .progetto .resume .info--down .copy .badge:before,
        .progetto .resume .info--down .product .side--2 .content .copy .badge:before,
        .product .side--3 .content .progetto .resume .info--down .copy .badge:before,
        .progetto .resume .info--down .product .side--3 .content .copy .badge:before,
        .product .side--4 .content .progetto .resume .info--down .copy .badge:before,
        .progetto .resume .info--down .product .side--4 .content .copy .badge:before,
        .product .side .content .progetto .resume .info--down .delete .badge:before,
        .progetto .resume .info--down .product .side .content .delete .badge:before,
        .product .side--1 .content .progetto .resume .info--down .delete .badge:before,
        .progetto .resume .info--down .product .side--1 .content .delete .badge:before,
        .product .side--2 .content .progetto .resume .info--down .delete .badge:before,
        .progetto .resume .info--down .product .side--2 .content .delete .badge:before,
        .product .side--3 .content .progetto .resume .info--down .delete .badge:before,
        .progetto .resume .info--down .product .side--3 .content .delete .badge:before,
        .product .side--4 .content .progetto .resume .info--down .delete .badge:before,
        .progetto .resume .info--down .product .side--4 .content .delete .badge:before {
          content: "";
          position: absolute;
          left: -16px;
          top: 50%;
          transform: translateY(-40%); }
        
        .product .side .content .icon .badge:before,
        .product .side--1 .content .icon .badge:before,
        .product .side--2 .content .icon .badge:before,
        .product .side--3 .content .icon .badge:before,
        .product .side--4 .content .icon .badge:before,
        .product .side .content .progetto .resume .info--down .edit .badge:before,
        .progetto .resume .info--down .product .side .content .edit .badge:before,
        .product .side--1 .content .progetto .resume .info--down .edit .badge:before,
        .progetto .resume .info--down .product .side--1 .content .edit .badge:before,
        .product .side--2 .content .progetto .resume .info--down .edit .badge:before,
        .progetto .resume .info--down .product .side--2 .content .edit .badge:before,
        .product .side--3 .content .progetto .resume .info--down .edit .badge:before,
        .progetto .resume .info--down .product .side--3 .content .edit .badge:before,
        .product .side--4 .content .progetto .resume .info--down .edit .badge:before,
        .progetto .resume .info--down .product .side--4 .content .edit .badge:before,
        .product .side .content .progetto .resume .info--down .copy .badge:before,
        .progetto .resume .info--down .product .side .content .copy .badge:before,
        .product .side--1 .content .progetto .resume .info--down .copy .badge:before,
        .progetto .resume .info--down .product .side--1 .content .copy .badge:before,
        .product .side--2 .content .progetto .resume .info--down .copy .badge:before,
        .progetto .resume .info--down .product .side--2 .content .copy .badge:before,
        .product .side--3 .content .progetto .resume .info--down .copy .badge:before,
        .progetto .resume .info--down .product .side--3 .content .copy .badge:before,
        .product .side--4 .content .progetto .resume .info--down .copy .badge:before,
        .progetto .resume .info--down .product .side--4 .content .copy .badge:before,
        .product .side .content .progetto .resume .info--down .delete .badge:before,
        .progetto .resume .info--down .product .side .content .delete .badge:before,
        .product .side--1 .content .progetto .resume .info--down .delete .badge:before,
        .progetto .resume .info--down .product .side--1 .content .delete .badge:before,
        .product .side--2 .content .progetto .resume .info--down .delete .badge:before,
        .progetto .resume .info--down .product .side--2 .content .delete .badge:before,
        .product .side--3 .content .progetto .resume .info--down .delete .badge:before,
        .progetto .resume .info--down .product .side--3 .content .delete .badge:before,
        .product .side--4 .content .progetto .resume .info--down .delete .badge:before,
        .progetto .resume .info--down .product .side--4 .content .delete .badge:before {
          left: -14px; }
      .product .side .content .text, .product .side--1 .content .text, .product .side--2 .content .text, .product .side--3 .content .text, .product .side--4 .content .text {
        display: flex;
        flex: 1; }
      .product .side .content .v-col, .product .side--1 .content .v-col, .product .side--2 .content .v-col, .product .side--3 .content .v-col, .product .side--4 .content .v-col {
        flex: 1; }
    .product .side .info, .product .side--1 .info, .product .side--2 .info, .product .side--3 .info, .product .side--4 .info {
      font-size: 13px;
      margin-bottom: 40px;
      color: #2d2927; }
    .product .side .confirm .btn, .product .side--1 .confirm .btn, .product .side--2 .confirm .btn, .product .side--3 .confirm .btn, .product .side--4 .confirm .btn {
      width: 100%; }
    @media (min-width: 992px) {
      .product .side .confirm, .product .side--1 .confirm, .product .side--2 .confirm, .product .side--3 .confirm, .product .side--4 .confirm {
        position: absolute;
        bottom: 0; }
        .product .side .confirm .btn, .product .side--1 .confirm .btn, .product .side--2 .confirm .btn, .product .side--3 .confirm .btn, .product .side--4 .confirm .btn {
          margin: 0; }
      .product .side .scroll, .product .side--1 .scroll, .product .side--2 .scroll, .product .side--3 .scroll, .product .side--4 .scroll {
        margin-bottom: 100px; } }
    .product .side--1 .v-col {
      text-align: center; }
    .product .side--2 .v-col {
      text-align: left; }
    .product .side--3 .v-col {
      text-align: left; }
    .product .side--4 .v-col {
      text-align: left; }
    @media (min-width: 992px) {
      .product .side, .product .side--1, .product .side--2, .product .side--3, .product .side--4 {
        right: 60px; } }
    @media (max-width: 767.98px) {
      .product .side, .product .side--1, .product .side--2, .product .side--3, .product .side--4 {
        height: 100%; }
        .product .side .panel, .product .side--1 .panel, .product .side--2 .panel, .product .side--3 .panel, .product .side--4 .panel {
          margin: 0;
          height: 100%;
          padding: 48px 20px;
          display: flex;
          flex-direction: column; }
        .product .side .title, .product .side--1 .title, .product .side--2 .title, .product .side--3 .title, .product .side--4 .title {
          padding-top: 0;
          margin-bottom: 30px; }
        .product .side .close, .product .side--1 .close, .product .side--2 .close, .product .side--3 .close, .product .side--4 .close {
          top: 64px;
          right: 20px; }
        .product .side .content, .product .side--1 .content, .product .side--2 .content, .product .side--3 .content, .product .side--4 .content {
          flex: 1;
          max-height: calc(100% - 70px);
          margin-bottom: 100px; }
          .product .side .content .heading, .product .side--1 .content .heading, .product .side--2 .content .heading, .product .side--3 .content .heading, .product .side--4 .content .heading, .product .side .content .scroll, .product .side--1 .content .scroll, .product .side--2 .content .scroll, .product .side--3 .content .scroll, .product .side--4 .content .scroll {
            margin-left: 0; }
          .product .side .content .scroll, .product .side--1 .content .scroll, .product .side--2 .content .scroll, .product .side--3 .content .scroll, .product .side--4 .content .scroll {
            height: 100%; }
        .product .side .info, .product .side--1 .info, .product .side--2 .info, .product .side--3 .info, .product .side--4 .info {
          margin-bottom: 16px; }
        .product .side .confirm .btn, .product .side--1 .confirm .btn, .product .side--2 .confirm .btn, .product .side--3 .confirm .btn, .product .side--4 .confirm .btn {
          margin-bottom: 0; } }
  .product .details {
    margin-top: 60px; }
    .product .details--title {
      font-size: 32px; }
    .product .details .detail {
      margin-top: 20px;
      font-weight: 600;
      font-size: 16px;
      border-bottom: 2px solid #888b95;
      padding: 18px 18px 18px 0;
      display: flex;
      align-items: center;
      justify-content: space-between;
      cursor: pointer;
      transition: all 0.3s ease-in-out; }
      .product .details .detail svg {
        transition: all 0.3s ease-in-out;
        width: 12px;
        height: auto; }
        .product .details .detail svg polygon {
          fill: #FFFFFF;
          transition: all 0.3s ease-in-out; }
      .product .details .detail:hover {
        color: #fce500;
        border-color: #fce500; }
        .product .details .detail:hover svg {
          transform: translateX(18px); }
          .product .details .detail:hover svg polygon {
            fill: #fce500; }
    .product .details .content {
      max-height: 360px;
      overflow-x: visible;
      overflow-y: scroll;
      padding-right: 20px; }
      .product .details .content::-webkit-scrollbar {
        width: 6px;
        border-radius: 3px; }
      .product .details .content::-webkit-scrollbar-button {
        display: none; }
      .product .details .content::-webkit-scrollbar-button:hover {
        display: none; }
      .product .details .content::-webkit-scrollbar-thumb {
        background-color: rgba(22, 37, 91, 0.15);
        box-shadow: none;
        border-radius: 3px; }
        .product .details .content::-webkit-scrollbar-thumb:hover {
          background-color: rgba(22, 37, 91, 0.15); }
      .product .details .content::-webkit-scrollbar-track {
        background-color: transparent;
        border-radius: 3px; }
        .product .details .content::-webkit-scrollbar-track:hover {
          background-color: transparent; }
    .product .details [data-side="downloads"] .content {
      max-height: calc(100% - 180px); }
      @media (max-width: 767.98px) {
        .product .details [data-side="downloads"] .content {
          max-height: calc(100% - 70px);
          margin-bottom: 0px; } }
    .product .details .download-side {
      display: flex;
      border-bottom: 1px solid #2d2927;
      color: #2d2927;
      padding-bottom: 12px;
      margin-bottom: 40px; }
      .product .details .download-side .title {
        margin: 0;
        padding: 0;
        font-size: 14px;
        font-weight: 400;
        margin-bottom: 18px; }
      .product .details .download-side .download-link {
        font-weight: 600;
        font-size: 18px; }
      .product .details .download-side .doc {
        width: 45px; }
      .product .details .download-side .right svg * {
        stroke: #2d2927; }
      .product .details .download-side .left {
        flex: calc(100% - 50px);
        padding-right: 20px; }
        .product .details .download-side .left svg {
          width: 20px;
          height: auto;
          transform: translateY(3px);
          margin-left: 40px; }
          .product .details .download-side .left svg * {
            fill: #2d2927; }
    .product .details.details-side .download-side {
      align-items: flex-end; }
    @media (min-width: 992px) {
      .product .details {
        margin-top: 120px; }
        .product .details.details-side {
          margin-top: 60px; } }
  .product .mood {
    padding-top: 0; }
    .product .mood--title {
      font-size: 32px;
      margin-bottom: 60px; }
    .product .mood--info {
      font-size: 20px; }

@media (max-width: 991.98px) {
  .page[data-side-open] .sidebar, .page[data-side-open] .sidebar--contract, .page[data-side-open] .sidebar--corporate, .page[data-side-open] .sidebar--office {
    transform: translateY(100%) !important; } }

.homepage .header {
  background: transparent; }

.homepage .section--brands .row {
  position: relative;
  min-height: 200px; }

.homepage .section--brands .brands {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  margin: 0 0 35px 0;
  position: initial; }
  .homepage .section--brands .brands .brands-wrap {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    width: 100%; }
  .homepage .section--brands .brands .brand {
    flex: 0 0 50%;
    max-width: 50%;
    text-align: center;
    padding: 35px 0px;
    display: flex;
    align-items: center;
    justify-content: center; }
  .homepage .section--brands .brands .calligaris img {
    width: 90px;
    height: auto; }
    @media (min-width: 1680px) {
      .homepage .section--brands .brands .calligaris img {
        width: 123px; } }
  .homepage .section--brands .brands .connubia img {
    width: 90px;
    height: auto; }
    @media (min-width: 1680px) {
      .homepage .section--brands .brands .connubia img {
        width: 123px; } }
  .homepage .section--brands .brands .ditre img {
    width: 60px;
    height: auto; }
    @media (min-width: 1680px) {
      .homepage .section--brands .brands .ditre img {
        width: 85px; } }
  .homepage .section--brands .brands .luce img {
    width: 35px;
    height: auto; }
    @media (min-width: 1680px) {
      .homepage .section--brands .brands .luce img {
        width: 45px; } }
  @media (min-width: 992px) {
    .homepage .section--brands .brands {
      margin: 0; }
      .homepage .section--brands .brands .brands-wrap {
        position: absolute;
        top: 50%;
        left: 70%;
        transform: translateY(-50%) translateX(-50%);
        width: calc(50% - 40px);
        max-width: 400px; } }
  @media (min-width: 1680px) {
    .homepage .section--brands .brands .brand {
      padding: 45px 0; } }

.homepage .section--brands .text {
  max-width: 780px; }
  .homepage .section--brands .text p:last-child {
    margin-bottom: 0; }

.homepage .section-slider {
  background-color: #2d2927; }

.homepage .section--slider--ref .ref--list {
  list-style: none;
  margin: 0;
  padding: 0; }

.homepage .section--slider--ref .ref--slide {
  height: 100%; }

.homepage .section--slider--ref .ref--item {
  height: 100%;
  display: flex;
  flex-direction: column;
  padding-bottom: 16px;
  border-bottom: 1px solid #FFFFFF;
  max-width: 250px;
  width: 250px;
  margin-right: 40px; }

.homepage .section--slider--ref .ref--line, .homepage .section--slider--ref .ref--thumb, .homepage .section--slider--ref .ref--info, .homepage .section--slider--ref .ref--name, .homepage .section--slider--ref .ref--from, .homepage .section--slider--ref .ref--prod, .homepage .section--slider--ref .ref--studio {
  display: block;
  font-weight: 400;
  margin-bottom: 10px;
  margin-top: 0; }

.homepage .section--slider--ref .ref--thumb {
  width: 100%;
  height: 250px;
  background-size: cover;
  background-position: center center;
  margin-bottom: 15px;
  order: 1; }

.homepage .section--slider--ref .ref--info, .homepage .section--slider--ref .ref--name, .homepage .section--slider--ref .ref--from, .homepage .section--slider--ref .ref--prod, .homepage .section--slider--ref .ref--studio {
  font-size: 13px; }

.homepage .section--slider--ref .ref--name {
  order: 2;
  font-size: 24px; }

.homepage .section--slider--ref .ref--from {
  order: 3; }

.homepage .section--slider--ref .ref--prod {
  order: 4; }

.homepage .section--slider--ref .ref--studio {
  order: 5; }

.homepage .section--slider--ref .ref .slick-slide {
  transform: translateX(20px); }

@media (min-width: 768px) {
  .homepage .section--slider--ref .ref .slick-slide {
    transform: translateX(60px); } }

@media (min-width: 992px) {
  .homepage .section--slider--ref .ref .slick-slide {
    transform: translateX(80px); }
  .homepage .section--slider--ref .ref--item {
    margin-right: 60px;
    width: 350px;
    max-width: 350px; }
  .homepage .section--slider--ref .ref--thumb {
    order: 3;
    margin-bottom: 16px; }
  .homepage .section--slider--ref .ref--info, .homepage .section--slider--ref .ref--name, .homepage .section--slider--ref .ref--from, .homepage .section--slider--ref .ref--prod, .homepage .section--slider--ref .ref--studio {
    font-size: 13px; }
  .homepage .section--slider--ref .ref--name {
    order: 1;
    font-size: 32px;
    flex: 1; }
  .homepage .section--slider--ref .ref--from {
    order: 2;
    font-size: 16px;
    margin-bottom: 40px; }
  .homepage .section--slider--ref .ref--prod {
    order: 4;
    margin-bottom: 16px;
    line-height: 100%; }
  .homepage .section--slider--ref .ref--studio {
    order: 5;
    margin-bottom: 0;
    line-height: 100%; } }

@media (min-width: 1680px) {
  .homepage .section--slider--ref .ref .slick-slide {
    transform: translateX(120px); }
  .homepage .section--slider--ref .ref--item {
    margin-right: 60px;
    width: 540px;
    max-width: 540px; }
  .homepage .section--slider--ref .ref--thumb {
    height: 300px; } }

.section--slider .slick-slide, .homepage .section--slider--ref .slick-slide, .section--slider--prod .slick-slide {
  height: 100%; }

.section--slider .slick-track, .homepage .section--slider--ref .slick-track, .section--slider--prod .slick-track {
  display: flex; }

.section--slider .slick-slide, .homepage .section--slider--ref .slick-slide, .section--slider--prod .slick-slide {
  height: inherit; }

.section--slider .slick-slide > div, .homepage .section--slider--ref .slick-slide > div, .section--slider--prod .slick-slide > div {
  height: 100%; }

.section--slider .nav, .homepage .section--slider--ref .nav, .section--slider--prod .nav {
  display: flex;
  width: 100%;
  margin-top: 40px;
  padding: 0 20px;
  justify-content: flex-end; }
  @media (min-width: 992px) {
    .section--slider .nav, .homepage .section--slider--ref .nav, .section--slider--prod .nav {
      padding-right: 80px;
      margin-top: 60px; } }
  @media (min-width: 1680px) {
    .section--slider .nav, .homepage .section--slider--ref .nav, .section--slider--prod .nav {
      padding-right: 120px;
      margin-top: 70px; } }

@media (min-width: 1680px) {
  .section--slider .section--title, .homepage .section--slider--ref .section--title, .section--slider--prod .section--title {
    margin-bottom: 80px; } }

.section--slider--prod .prod .slick-slide {
  transform: translateX(20px); }

@media (min-width: 768px) {
  .section--slider--prod .prod .slick-slide {
    transform: translateX(60px); } }

@media (min-width: 992px) {
  .section--slider--prod .prod .slick-slide {
    transform: translateX(80px); } }

@media (min-width: 1680px) {
  .section--slider--prod .prod .slick-slide {
    transform: translateX(120px); } }

.listing {
  background: #2d2927; }
  .listing .no-results {
    padding-left: 15px; }
    @media (min-width: 1680px) {
      .listing .no-results {
        padding-left: 30px; } }
  @media (min-width: 992px) {
    .listing .section--listing {
      padding-top: 100px; } }
  .listing .list {
    display: flex;
    flex-wrap: wrap; }
    .listing .list--item {
      width: 50%;
      max-width: 50%;
      flex: 50%; }
      .listing .list--item:nth-child(even) {
        padding-left: 15px; }
      .listing .list--item:nth-child(odd) {
        padding-right: 15px; }
      @media (min-width: 1280px) {
        .listing .list--item {
          /*
                &:nth-child(3n+1)
                {
                    border:1px solid red;
                }
                &:nth-child(3n+2)
                {
                    border:1px solid green;
                }
                &:nth-child(3n+3)
                {
                    border:1px solid blue;
                }
                */
          width: 300px;
          max-width: 33.33%; }
          .listing .list--item:nth-child(even), .listing .list--item:nth-child(odd) {
            padding-left: 15px;
            padding-right: 15px; } }
      @media (min-width: 1680px) {
        .listing .list--item {
          width: 450px; }
          .listing .list--item:nth-child(even), .listing .list--item:nth-child(odd) {
            padding-left: 30px;
            padding-right: 30px; } }
    .listing .list .prod--item {
      margin-right: 0;
      width: 100%;
      max-width: 100%;
      margin-bottom: 100px;
      height: auto; }
    .listing .list .prod--thumb {
      height: auto; }
  .listing--buttons {
    text-align: center; }
  .listing--wrapper {
    display: flex;
    flex-wrap: wrap; }
    .listing--wrapper.loading {
      position: relative; }
      .listing--wrapper.loading .listing--buttons,
      .listing--wrapper.loading .list {
        display: none; }
      .listing--wrapper.loading .listing--items:after {
        content: "";
        position: absolute;
        background-image: url("../svg/spinner.svg");
        top: 0;
        left: 0;
        right: 0;
        margin: 0 auto;
        background-size: contain;
        height: 40px;
        width: 40px; }
  .listing--filters {
    flex: 100%; }
    @media (min-width: 992px) {
      .listing--filters {
        flex: 220px;
        padding-right: 40px;
        max-width: 220px; } }
    @media (min-width: 1280px) {
      .listing--filters {
        padding-right: 20px; } }
    @media (min-width: 1680px) {
      .listing--filters {
        flex: 260px;
        padding-right: 45px;
        max-width: 260px; } }
  .listing--items {
    position: relative;
    flex: 100%; }
    @media (min-width: 992px) {
      .listing--items {
        flex: calc(100% - 220px);
        max-width: calc(100% - 220px); } }
    @media (min-width: 1680px) {
      .listing--items {
        flex: calc(100% - 260px);
        max-width: calc(100% - 260px); } }

.listing--wrapper .listing--filters {
  max-width: 100%; }

.listing--wrapper .active-filters {
  font-size: 13px; }
  .listing--wrapper .active-filters .erase {
    width: 8px;
    height: auto;
    margin-left: 6px; }
    .listing--wrapper .active-filters .erase path, .listing--wrapper .active-filters .erase polygon {
      fill: #FFFFFF; }
  .listing--wrapper .active-filters .filter {
    display: inline-block;
    padding-right: 20px;
    cursor: pointer;
    transition: all 0.3s ease-in-out;
    margin-bottom: 8px;
    margin-right: 20px;
    white-space: nowrap;
    position: relative;
    margin-bottom: 20px; }
    .listing--wrapper .active-filters .filter:before, .listing--wrapper .active-filters .filter:after {
      content: "";
      height: 1px;
      width: 12px;
      position: absolute;
      top: 50%;
      right: 0;
      background: #FFFFFF;
      transform-origin: center center;
      transition: all 0.3s ease-in-out; }
    .listing--wrapper .active-filters .filter:after {
      transform: translateY(-50%) rotate(45deg); }
    .listing--wrapper .active-filters .filter:before {
      transform: translateY(-50%) rotate(-45deg); }
    .listing--wrapper .active-filters .filter:hover {
      color: #fce500; }
      .listing--wrapper .active-filters .filter:hover:after, .listing--wrapper .active-filters .filter:hover:before {
        background: #fce500; }

.listing--wrapper .all-filters {
  font-size: 14px; }
  .listing--wrapper .all-filters .chevron {
    width: 10px;
    height: auto;
    margin-left: 8px; }
    .listing--wrapper .all-filters .chevron path, .listing--wrapper .all-filters .chevron polygon {
      fill: #FFFFFF; }
  .listing--wrapper .all-filters .filter {
    display: block;
    cursor: pointer;
    transition: all 0.3s ease-in-out; }
    .listing--wrapper .all-filters .filter:hover {
      color: #fce500; }
  .listing--wrapper .all-filters .sub-filtro {
    padding-top: 20px; }
  .listing--wrapper .all-filters .filters-block {
    border-bottom: 1px solid #FFFFFF;
    padding-bottom: 23px;
    margin-bottom: 23px; }
  .listing--wrapper .all-filters .filters-toggle {
    cursor: pointer; }
  .listing--wrapper .all-filters .filters-list {
    display: none; }
    .listing--wrapper .all-filters .filters-list .filter {
      display: flex;
      align-items: center;
      position: relative;
      margin-top: 20px;
      font-size: 13px;
      transition: all 0.3s ease-in-out; }
      .listing--wrapper .all-filters .filters-list .filter:first-child {
        margin-top: 23px; }
      .listing--wrapper .all-filters .filters-list .filter:last-child {
        margin-bottom: 3px; }
      .listing--wrapper .all-filters .filters-list .filter:before {
        content: "";
        display: inline-block;
        height: 16px;
        width: 16px;
        border: 1px solid #FFFFFF;
        margin-right: 14px;
        transition: all 0.3s ease-in-out; }
      .listing--wrapper .all-filters .filters-list .filter.active {
        color: #fce500; }
        .listing--wrapper .all-filters .filters-list .filter.active:before {
          border-color: #fce500;
          background: #fce500; }
  .listing--wrapper .all-filters .open .filters-toggle svg {
    transform: rotate(180deg); }
  .listing--wrapper .all-filters .open .filters-list {
    display: block; }

.listing--wrapper .filters-open-menu {
  width: 100%;
  display: flex;
  align-items: center;
  border-top: 1px solid #FFFFFF;
  border-bottom: 1px solid #FFFFFF;
  padding: 20px 0;
  margin-bottom: 20px;
  font-weight: 600; }
  .listing--wrapper .filters-open-menu svg {
    width: 14px;
    height: auto;
    margin-left: 10px; }
    .listing--wrapper .filters-open-menu svg path {
      fill: #FFFFFF; }
  @media (min-width: 992px) {
    .listing--wrapper .filters-open-menu {
      display: none; } }

@media (max-width: 991.98px) {
  .listing--wrapper .all-filters {
    position: fixed;
    display: none;
    top: 0;
    bottom: 0;
    left: 0;
    width: 100vw;
    overflow-y: scroll;
    background: #888b95;
    z-index: 1;
    opacity: 0;
    transition: all 0.3s ease-in-out;
    padding-top: 20px;
    padding-bottom: 20px; }
  .listing--wrapper .all-filters .filters-block {
    padding-left: 16px;
    padding-right: 16px;
    color: #000000;
    border-bottom-color: #000000; }
    .listing--wrapper .all-filters .filters-block .filter:before {
      border-color: #000000; }
    .listing--wrapper .all-filters .filters-block .filters-toggle .chevron polygon {
      fill: #000000; }
  .listing--wrapper .active-filters {
    display: flex;
    width: 100%;
    overflow-x: scroll; }
  .listing--wrapper .close-mobile-filters {
    background: #888b95;
    color: #000000;
    font-weight: 600;
    font-size: 32px;
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    line-height: 1;
    padding: 20px 24px 32px 16px; }
    .listing--wrapper .close-mobile-filters svg {
      width: 20px;
      height: auto; }
  .listing--wrapper .apply-mobile-filters {
    position: fixed;
    position: fixed;
    background: #888b95;
    height: 80px;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 16px;
    margin: auto; }
    .listing--wrapper .apply-mobile-filters .btn {
      width: 100%; } }

@media (min-width: 992px) {
  .listing--wrapper .close-mobile-filters,
  .listing--wrapper .apply-mobile-filters {
    display: none; } }

.menu-filters-open {
  overflow: hidden; }
  .menu-filters-open .sidebar, .menu-filters-open .sidebar--contract, .menu-filters-open .sidebar--corporate, .menu-filters-open .sidebar--office {
    top: auto;
    bottom: 0;
    transform: translateY(100%) !important; }
  .menu-filters-open .header {
    top: 0;
    transform: translateY(-100%); }
  .menu-filters-open .all-filters {
    opacity: 1;
    transform: none; }

.listing--wrapper ul, .listing--wrapper li {
  list-style: none;
  margin: 0;
  padding: 0; }

.referenze {
  background: #2d2927; }
  .referenze .section--hero--short {
    background: transparent; }
    .referenze .section--hero--short .section--hero--title {
      margin-bottom: 40px; }
      @media (min-width: 768px) {
        .referenze .section--hero--short .section--hero--title {
          margin-bottom: 60px; } }
    .referenze .section--hero--short .section--subtitle {
      max-width: 600px; }
  .referenze .listing-referenze {
    padding-top: 0; }
  .referenze .filters {
    margin: 20px 0 40px 0;
    display: flex;
    flex-wrap: wrap; }
    .referenze .filters form {
      display: block;
      width: 100%; }
    .referenze .filters .filter {
      flex: 100%; }
      .referenze .filters .filter.filter-settore {
        flex: 0;
        padding: 0 !important;
        opacity: 0;
        width: 0;
        pointer-events: none;
        display: none; }
    .referenze .filters .submit .btn {
      width: 100%;
      margin-top: 0;
      padding: 0 20px; }
    @media (min-width: 992px) {
      .referenze .filters .filter {
        flex: 50%;
        /*&:nth-child(odd) {
					padding-right: 15px;
				}

				&:nth-child(even) {
					padding-left: 15px;
				}

				&:last-child {
					padding: 0;
				}*/ }
        .referenze .filters .filter.filter-utilizzo {
          padding-right: 15px; }
        .referenze .filters .filter.filter-location {
          padding-left: 15px; }
      .referenze .filters .submit {
        flex: 100%;
        padding: 0 0 0 0 !important; } }
    @media (min-width: 1025px) {
      .referenze .filters {
        margin: 20px 0 140px 0; }
        .referenze .filters .filter {
          padding: 0;
          flex: 1; }
          .referenze .filters .filter > div,
          .referenze .filters .filter .btn {
            margin-bottom: 0;
            height: 100%; }
          .referenze .filters .filter:nth-child(odd), .referenze .filters .filter:nth-child(even), .referenze .filters .filter:last-child {
            padding: 0 60px 0 0; } }
  .referenze .items {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    .referenze .items .items {
      flex: 0 0 100%;
      max-width: 100%; }
  .referenze .item {
    margin-bottom: 60px;
    padding: 0 !important;
    flex: 0 0 calc(50% - 30px);
    max-width: calc(50% - 30px); }
    .referenze .item .content {
      height: 100%;
      display: flex;
      flex-direction: column;
      transition: all 0.3s ease-in-out;
      border-bottom: 1px solid #FFFFFF;
      padding-bottom: 10px; }
      .referenze .item .content .title {
        flex: 1; }
      .referenze .item .content:hover {
        border-color: #fce500; }
        .referenze .item .content:hover .info, .referenze .item .content:hover .title {
          color: #fce500; }
    @media (min-width: 768px) {
      .referenze .item {
        margin-bottom: 130px;
        /*&:nth-child(odd) {
				padding-right: 30px;
			}

			&:nth-child(even) {
				padding-left: 30px;
			}*/ } }
    @media (max-width: 991.98px) {
      .referenze .item {
        flex: 0 0 100%;
        max-width: 100%; } }
  .referenze .thumb {
    height: 240px;
    background-size: cover;
    background-position: center center; }
    @media (min-width: 768px) {
      .referenze .thumb {
        height: 400px; } }
  .referenze .title {
    font-size: 24px;
    margin: 15px 0;
    transition: all 0.3s ease-in-out; }
  .referenze .info {
    font-size: 13px;
    transition: all 0.3s ease-in-out; }
  .referenze .line {
    display: block;
    clear: both;
    margin-bottom: 10px; }
  .referenze .detail .section--hero--short {
    padding-bottom: 0; }
  .referenze .detail .section--ref--detail {
    padding-top: 0; }
  .referenze .detail .infos {
    display: flex;
    flex-wrap: wrap; }
  .referenze .detail .info {
    color: #FFFFFF;
    flex: 50%; }
    .referenze .detail .info.info-24 {
      display: none; }
    .referenze .detail .info .title, .referenze .detail .info .content {
      font-size: 14px;
      margin-bottom: 0; }
    .referenze .detail .info .title {
      font-weight: 600;
      margin-bottom: 4px; }
    @media (min-width: 768px) {
      .referenze .detail .info {
        flex: none;
        margin-right: 80px; } }
    @media (min-width: 992px) {
      .referenze .detail .info {
        margin-right: 100px; } }
    @media (min-width: 1680px) {
      .referenze .detail .info {
        margin-right: 160px; } }
  .referenze .section--ref--content {
    padding-top: 0; }
    .referenze .section--ref--content .large-text {
      font-size: 24px;
      margin-bottom: 40px; }
      @media (min-width: 992px) {
        .referenze .section--ref--content .large-text {
          margin-bottom: 60px; } }
    .referenze .section--ref--content .common-text {
      font-size: 20px; }

.progetti {
  background: #2d2927; }
  .progetti .filters {
    padding-top: 100px;
    padding-bottom: 60px; }
    .progetti .filters .radios {
      display: flex;
      align-items: center;
      justify-content: flex-start;
      flex-wrap: wrap; }
      .progetti .filters .radios .form--radio {
        display: flex;
        align-items: center;
        flex-wrap: wrap; }
        .progetti .filters .radios .form--radio label {
          font-size: 14px; }
        @media (max-width: 991.98px) {
          .progetti .filters .radios .form--radio {
            flex: 100%; } }
        @media (min-width: 992px) {
          .progetti .filters .radios .form--radio {
            width: auto;
            padding-right: 80px; } }
    @media (max-width: 991.98px) {
      .progetti .filters .btn {
        margin-top: 40px;
        width: 100%; } }
  .progetti .listing {
    padding-top: 0; }
    .progetti .listing .list-item {
      padding-bottom: 80px;
      position: relative;
      cursor: pointer; }
      .progetti .listing .list-item * {
        transition: all 0.3s ease-in-out; }
      .progetti .listing .list-item:hover * {
        color: #fce500 !important;
        border-color: #fce500 !important;
        fill: #fce500 !important; }
      .progetti .listing .list-item .title {
        color: #FFFFFF;
        font-size: 24px;
        font-weight: 400;
        margin-bottom: 10px;
        margin-top: 0; }
        @media (min-width: 992px) {
          .progetti .listing .list-item .title {
            font-size: 32px; } }
      .progetti .listing .list-item .arrow {
        position: absolute;
        top: -50px;
        right: 0px;
        width: 20px;
        height: auto; }
        .progetti .listing .list-item .arrow path {
          fill: #FFFFFF; }
      .progetti .listing .list-item .progetto-details {
        position: relative;
        color: #cbc5c7;
        font-weight: 400;
        font-size: 14px;
        display: flex;
        align-items: center;
        border-bottom: 1px solid #cbc5c7;
        padding-bottom: 20px;
        flex-wrap: wrap; }
      .progetti .listing .list-item .progetto-data {
        padding-right: 30px; }
        @media (max-width: 1279.98px) {
          .progetti .listing .list-item .progetto-data {
            flex: 100%; } }
      .progetti .listing .list-item .progetto-citta {
        padding-right: 30px; }
        @media (max-width: 1279.98px) {
          .progetti .listing .list-item .progetto-citta {
            flex: 100%; } }
      .progetti .listing .list-item .progetto-nazione {
        padding-right: 30px; }
        @media (max-width: 1279.98px) {
          .progetti .listing .list-item .progetto-nazione {
            flex: 100%; } }
      .progetti .listing .list-item .progetto-tipo-costruzione {
        padding-right: 30px; }
      .progetti .listing .list-item .progetto-stato {
        flex: 1;
        text-align: right; }

#btn--elimina-progetti .delete {
  position: relative;
  top: 3px;
  width: 18px;
  margin-right: 10px; }
  #btn--elimina-progetti .delete * {
    transition: all 0.3s ease-in-out; }

#btn--elimina-progetti:hover .delete * {
  fill: #000; }

.progetto {
  background: #2d2927; }
  .progetto .aos-init {
    opacity: 0; }
  .progetto .aos-animate {
    opacity: 1 !important; }
  @media (max-width: 1279.98px) {
    .progetto .sidebar, .progetto .sidebar--contract, .progetto .sidebar--corporate, .progetto .sidebar--office {
      display: none; } }
  .progetto .resume {
    padding-top: 40px;
    padding-bottom: 0px; }
    @media (min-width: 992px) {
      .progetto .resume {
        padding-top: 60px;
        padding-bottom: 0px; } }
    .progetto .resume .info--top {
      display: flex;
      flex-wrap: wrap;
      border-bottom: 1px solid #FFFFFF; }
      .progetto .resume .info--top .box {
        flex: 50%;
        display: flex;
        flex-wrap: wrap;
        align-items: flex-end;
        padding: 18px 0; }
        .progetto .resume .info--top .box strong,
        .progetto .resume .info--top .box span {
          flex: 100%;
          padding-bottom: 8px; }
        @media (min-width: 1680px) {
          .progetto .resume .info--top .box {
            flex: 25%; } }
    .progetto .resume .info--down {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: flex-start;
      padding: 20px 0; }
      .progetto .resume .info--down .icon, .progetto .resume .info--down .edit, .progetto .resume .info--down .copy, .progetto .resume .info--down .delete {
        margin-right: 24px;
        cursor: pointer; }
        .progetto .resume .info--down .icon svg, .progetto .resume .info--down .edit svg, .progetto .resume .info--down .copy svg, .progetto .resume .info--down .delete svg {
          width: 14px;
          height: auto; }
          .progetto .resume .info--down .icon svg *, .progetto .resume .info--down .edit svg *, .progetto .resume .info--down .copy svg *, .progetto .resume .info--down .delete svg * {
            transition: all 0.3s ease-in-out; }
        .progetto .resume .info--down .icon:hover svg path, .progetto .resume .info--down .edit:hover svg path, .progetto .resume .info--down .copy:hover svg path, .progetto .resume .info--down .delete:hover svg path {
          fill: #fce500; }
  .progetto .total {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100vw;
    display: flex;
    background: #FFFFFF;
    color: #2d2927;
    padding: 20px;
    z-index: 1; }
    .progetto .total--top {
      flex: 50%;
      display: flex;
      flex-direction: column; }
      .progetto .total--top span {
        font-size: 18px; }
      @media (max-width: 1279.98px) {
        .progetto .total--top strong {
          font-weight: 400; } }
    .progetto .total--down {
      flex: 50%; }
      .progetto .total--down .btn {
        margin-bottom: 0;
        width: 100%;
        background: #2d2927;
        color: #FFFFFF;
        border: 0; }
        .progetto .total--down .btn.disabled {
          background: #959392 !important;
          color: rgba(45, 41, 39, 0.5) !important; }
          .progetto .total--down .btn.disabled:hover {
            background: #959392 !important;
            color: rgba(45, 41, 39, 0.5) !important; }
    @media (min-width: 1280px) {
      .progetto .total {
        position: sticky;
        top: 100px;
        left: 67.5%;
        width: 300px;
        margin-top: -155px;
        background: transparent;
        color: #FFFFFF;
        padding: 0;
        flex-wrap: wrap;
        margin-bottom: 60px; }
        .progetto .total--top {
          flex: 100%;
          border-bottom: 1px solid #FFFFFF;
          margin-bottom: 30px;
          padding-bottom: 20px; }
          .progetto .total--top strong {
            margin-bottom: 10px; }
          .progetto .total--top span {
            font-size: 24px; }
        .progetto .total--down {
          flex: 100%; }
          .progetto .total--down .btn {
            margin: 0;
            color: #2d2927;
            background-color: #FFFFFF;
            width: auto;
            font-size: 16px;
            padding-left: 40px;
            padding-right: 40px; }
            .progetto .total--down .btn:hover {
              background-color: #fce500; } }
  @media (max-width: 991.98px) {
    .progetto .products {
      padding-top: 60px; } }
  @media (min-width: 992px) {
    .progetto .products {
      padding-top: 100px; }
      .progetto .products .section--title {
        font-size: 48px; } }
  .progetto .prod {
    display: flex;
    flex-wrap: wrap;
    border-bottom: 1px solid #FFFFFF;
    margin-bottom: 40px;
    max-width: 900px; }
    @media (min-width: 1280px) {
      .progetto .prod {
        padding-bottom: 10px;
        margin-bottom: 60px; } }
    .progetto .prod--top {
      flex: 100%;
      display: flex; }
      @media (min-width: 992px) {
        .progetto .prod--top {
          flex: 50%; } }
    .progetto .prod--thumb {
      flex: none;
      width: 75px;
      height: 75px; }
      .progetto .prod--thumb img {
        width: 100%;
        height: auto;
        margin-bottom: 0; }
      @media (min-width: 992px) {
        .progetto .prod--thumb {
          width: 120px;
          height: 120px; } }
    .progetto .prod--info, .progetto .prod--name, .progetto .prod--brand, .progetto .prod--cod {
      display: flex;
      flex-direction: column;
      padding-left: 15px; }
      @media (min-width: 992px) {
        .progetto .prod--info, .progetto .prod--name, .progetto .prod--brand, .progetto .prod--cod {
          padding-left: 24px;
          flex-direction: row;
          flex-wrap: wrap; } }
    .progetto .prod--name {
      margin-top: 0;
      margin-bottom: 0;
      font-size: 20px;
      padding-left: 0;
      margin-bottom: 5px; }
      @media (min-width: 992px) {
        .progetto .prod--name {
          flex: 100%;
          margin-bottom: 0;
          font-size: 24px; } }
    .progetto .prod--cat {
      font-size: 14px;
      margin-top: 0;
      margin-bottom: 3px; }
      @media (min-width: 992px) {
        .progetto .prod--cat {
          margin-bottom: 0;
          flex: 100%; } }
    .progetto .prod--code {
      font-size: 14px;
      margin-top: 0;
      margin-bottom: 0; }
      @media (min-width: 992px) {
        .progetto .prod--code {
          margin-bottom: 0;
          flex: 100%; } }
    .progetto .prod--bottom {
      flex: 100%;
      display: flex;
      white-space: nowrap;
      font-size: 14px;
      color: #FFFFFF;
      padding: 20px 0 30px 0; }
      .progetto .prod--bottom input {
        display: inline-block;
        width: 100%;
        border: 0;
        background: transparent;
        color: #FFFFFF;
        outline: none !important;
        text-align: right; }
      .progetto .prod--bottom .input--qta {
        /* Chrome, Safari, Edge, Opera */
        /* Firefox */ }
        .progetto .prod--bottom .input--qta::-webkit-outer-spin-button, .progetto .prod--bottom .input--qta::-webkit-inner-spin-button {
          -webkit-appearance: none;
          margin: 0; }
        .progetto .prod--bottom .input--qta[type=number] {
          -moz-appearance: textfield; }
      .progetto .prod--bottom > div {
        width: auto;
        flex: 1 1 120px; }
        .progetto .prod--bottom > div.prod--qta {
          flex: 1 1 90px; }
        .progetto .prod--bottom > div.prod--delete, .progetto .prod--bottom > div.prod--edit {
          flex: 1 1 40px; }
      @media (min-width: 992px) {
        .progetto .prod--bottom {
          justify-content: space-between;
          flex: 50%; }
          .progetto .prod--bottom > div {
            justify-content: flex-end;
            text-align: right;
            justify-content: flex-end; }
            .progetto .prod--bottom > div > input {
              text-align: right; }
          .progetto .prod--bottom > .prod--qta > input {
            text-align: center; }
          .progetto .prod--bottom * {
            font-size: 20px; } }
      @media (max-width: 991.98px) {
        .progetto .prod--bottom {
          justify-content: space-around; }
          .progetto .prod--bottom > div {
            justify-content: center; }
            .progetto .prod--bottom > div > input {
              text-align: center; } }
    .progetto .prod--qta {
      width: 75px;
      display: flex;
      align-items: center;
      justify-content: center; }
      .progetto .prod--qta--add {
        padding: 0 4px;
        transition: all 0.3s ease-in-out;
        cursor: pointer; }
        .progetto .prod--qta--add:hover {
          color: #fce500; }
      .progetto .prod--qta--remove {
        padding: 0 4px;
        transition: all 0.3s ease-in-out;
        cursor: pointer; }
        .progetto .prod--qta--remove:hover {
          color: #fce500; }
      @media (min-width: 992px) {
        .progetto .prod--qta {
          width: auto; } }
    .progetto .prod--unit {
      width: 75px;
      display: flex;
      align-items: center;
      justify-content: flex start;
      padding-left: 15px; }
      @media (min-width: 992px) {
        .progetto .prod--unit {
          width: auto; } }
    .progetto .prod--total {
      flex: 1;
      padding-left: 10px;
      display: flex;
      align-items: center;
      justify-content: center; }
      @media (min-width: 992px) {
        .progetto .prod--total {
          flex: none; } }
    .progetto .prod--edit, .progetto .prod--delete {
      flex: 1;
      display: flex;
      align-items: center;
      justify-content: flex-end;
      cursor: pointer; }
      .progetto .prod--edit svg, .progetto .prod--delete svg {
        width: 14px;
        height: auto;
        float: right; }
        .progetto .prod--edit svg *, .progetto .prod--delete svg * {
          transition: all 0.3s ease-in-out; }
      .progetto .prod--edit:hover svg path, .progetto .prod--delete:hover svg path {
        fill: #fce500; }
      @media (min-width: 992px) {
        .progetto .prod--edit, .progetto .prod--delete {
          flex: none; } }
  .progetto .infobox {
    max-width: 900px;
    margin: 0;
    margin-bottom: 80px; }
    .progetto .infobox .section--title {
      margin-bottom: 40px; }
    @media (min-width: 992px) {
      .progetto .infobox {
        margin-bottom: 120px; }
        .progetto .infobox .section--subtitle {
          font-size: 32px; } }
  .progetto .downloads {
    padding-top: 0; }
    .progetto .downloads .items {
      max-width: 900px; }
  @media (min-width: 768px) and (max-width: 991.98px) {
    .progetto .section--hero--title {
      max-width: calc(100% - 80px); }
      .progetto .section--hero--title small {
        top: 0; } }
  .progetto .total .downloads {
    display: none; }
    .progetto .total .downloads .listing-downloads {
      padding-top: 40px;
      left: 0;
      right: 10;
      top: 100%;
      width: 100%; }
      .progetto .total .downloads .listing-downloads .list-item:nth-child(1n) {
        padding: 0; }
      .progetto .total .downloads .listing-downloads .list-item {
        margin-bottom: 30px; }
      .progetto .total .downloads .listing-downloads .download {
        padding-bottom: 0px; }
        .progetto .total .downloads .listing-downloads .download .left .title {
          font-size: 14px; }
        .progetto .total .downloads .listing-downloads .download .right .download-icon {
          width: 20px;
          height: auto; }
    @media (min-width: 1280px) {
      .progetto .total .downloads {
        display: inline; } }

.area-riservata {
  background: #2d2927; }
  .area-riservata .form--text.name {
    border: 0;
    font-size: 20px;
    height: 100%; }
  .area-riservata section.fields:not(:last-child) {
    padding-bottom: 0; }
  .area-riservata section.fields .col-md-3 {
    margin-bottom: 20px; }
    @media (min-width: 1680px) {
      .area-riservata section.fields .col-md-3 {
        padding-right: 40px; } }

.downloads {
  background: #2d2927; }
  .downloads .section--hero--short {
    background: transparent; }
    .downloads .section--hero--short .section--hero--title {
      margin-bottom: 40px; }
      @media (min-width: 768px) {
        .downloads .section--hero--short .section--hero--title {
          margin-bottom: 60px; } }
    .downloads .section--hero--short .section--subtitle {
      max-width: 600px; }
  .downloads .filters-downloads {
    padding-top: 0;
    padding-bottom: 40px; }
    @media (min-width: 992px) {
      .downloads .filters-downloads {
        padding-bottom: 140px; } }
  .downloads .filters {
    margin: 20px 0 0px 0;
    display: flex;
    flex-wrap: wrap; }
    .downloads .filters form {
      display: block;
      width: 100%; }
    .downloads .filters .filter {
      flex: 100%; }
    .downloads .filters .submit .btn {
      width: 100%; }
    @media (min-width: 768px) {
      .downloads .filters .filter {
        flex: 50%; }
        .downloads .filters .filter:nth-child(odd) {
          padding-right: 15px; }
        .downloads .filters .filter:nth-child(even) {
          padding-left: 15px; }
        .downloads .filters .filter:last-child {
          padding: 0; }
      .downloads .filters .submit {
        flex: 100%;
        padding: 0 0 0 0 !important; } }
    @media (min-width: 992px) {
      .downloads .filters .filter {
        padding: 0;
        flex: 25%;
        max-width: 25%; }
        .downloads .filters .filter > div,
        .downloads .filters .filter .btn {
          margin-bottom: 0;
          height: 100%; }
        .downloads .filters .filter:nth-child(odd), .downloads .filters .filter:nth-child(even), .downloads .filters .filter:last-child {
          padding: 0 60px 0 0; } }
  .downloads .listing-downloads {
    padding-top: 0; }
    .downloads .listing-downloads .items {
      /*
            max-width: 1440px;
            min-width: auto;
            width:100%;
            */ }
    .downloads .listing-downloads .list-item {
      padding-bottom: 80px;
      position: relative;
      display: flex;
      cursor: pointer; }
      .downloads .listing-downloads .list-item * {
        transition: all 0.3s ease-in-out; }
      .downloads .listing-downloads .list-item:hover * {
        color: #fce500 !important;
        border-color: #fce500 !important; }
      .downloads .listing-downloads .list-item .download {
        width: 100%;
        margin-bottom: 0; }
      @media (min-width: 992px) {
        .downloads .listing-downloads .list-item:nth-child(odd) {
          padding-right: 40px; }
        .downloads .listing-downloads .list-item:nth-child(even) {
          padding-left: 40px; } }
      .downloads .listing-downloads .list-item .left {
        display: flex;
        flex-direction: column;
        flex: 1; }
        .downloads .listing-downloads .list-item .left .title {
          color: #FFFFFF;
          font-size: 20px;
          font-weight: 400;
          margin-bottom: 10px;
          margin-top: 0;
          padding-right: 20px; }
        .downloads .listing-downloads .list-item .left .download-link {
          display: flex;
          align-items: flex-start;
          font-weight: 600;
          height: 100%;
          align-items: flex-end;
          font-size: 18px;
          line-height: 1; }
          .downloads .listing-downloads .list-item .left .download-link .download-icon {
            width: 20px;
            height: auto;
            margin-left: 60px; }
      .downloads .listing-downloads .list-item .right .doc {
        width: 60px;
        height: auto; }

.contatti {
  background: #2d2927; }
  .contatti .section--hero--short {
    background: transparent; }
    .contatti .section--hero--short .section--hero--title {
      margin-bottom: 40px; }
      @media (min-width: 768px) {
        .contatti .section--hero--short .section--hero--title {
          margin-bottom: 60px; } }
    .contatti .section--hero--short .section--subtitle {
      max-width: 600px; }
  .contatti .sub-row {
    display: flex;
    flex-wrap: wrap;
    width: 100%; }
    .contatti .sub-row .side, .contatti .sub-row .product .side--1, .product .contatti .sub-row .side--1, .contatti .sub-row .product .side--2, .product .contatti .sub-row .side--2, .contatti .sub-row .product .side--3, .product .contatti .sub-row .side--3, .contatti .sub-row .product .side--4, .product .contatti .sub-row .side--4 {
      flex: 100%;
      order: 1;
      margin-bottom: 40px;
      font-size: 14px; }
    .contatti .sub-row .sub {
      flex: 100%;
      order: 2; }
      .contatti .sub-row .sub .section--subtitle {
        max-width: 820px; }
    @media (min-width: 992px) {
      .contatti .sub-row .side, .contatti .sub-row .product .side--1, .product .contatti .sub-row .side--1, .contatti .sub-row .product .side--2, .product .contatti .sub-row .side--2, .contatti .sub-row .product .side--3, .product .contatti .sub-row .side--3, .contatti .sub-row .product .side--4, .product .contatti .sub-row .side--4 {
        flex: 25%;
        order: 2;
        padding-left: 30px; }
      .contatti .sub-row .sub {
        flex: 75%;
        order: 1; }
        .contatti .sub-row .sub .section--subtitle {
          padding-right: 40px;
          padding-top: 40px; } }
  .contatti .contacts-form {
    padding-top: 40px; }
    @media (min-width: 992px) {
      .contatti .contacts-form {
        padding-top: 60px; } }
    .contatti .contacts-form .col-12 {
      margin-bottom: 20px; }

/*
main
{
    width:100vw;
    padding:0;
    @include media-up(md)
    {
        width:calc(100vw - 2*60px);
    }
}

body
{
    &.wait
    {
        .header,
        .menu,
        .footer,
        .info-modal--btn
        .page > *:not(.sidebar)
        {
            display:none;
        }

        *
        {
            transition:none !important;
        }

        &.contract
        {
            background:#ffffff;
        }

        &.corporate
        {
            background:#2d2927;
        }
        
        .background-contract,//.background-dark,
        .logo-corporate
        {
            opacity:1 !important;
            path
            {
                fill:#ffffff;
            }
        }
    }

    .sidebar
    {
        transition:all 1s ease-in-out;
        cursor:pointer;
        .sidebar--wrap
        {
            transition:opacity 0.5s ease-in-out;
            z-index: 99999;
        }
        .sidebartx--logo
        {
            display:none;
            transition:all 0.5s ease-in-out;
            position:absolute;
            left:0;
            top:0;
            width:100%;
            height:100%;
            &--corporate
            {
                svg path
                {
                    fill:#ffffff;
                }
                &.background-from
                {
                    background-color:#2d2927;
                }
                &.background-to
                {
                    background-color:#ffffff;
                }
    
            }
            &--contract
            {
                svg path
                {
                    fill:#2d2927;
                }
                &.background-from
                {
                    background-color:#ffffff;
                }
                &.background-to
                {
                    background-color:#2d2927;
                }
            }
            .background-from,
            .background-to
            {
                transition:all 0.5s ease-in-out;
                width:100%;
                height:100%;    
                position: absolute;
            }

            .background-from
            {
                z-index: 10;
            }
            .background-to
            {
                opacity:0;
                z-index: 20;
                position:absolute;
                top:0;
                height:100vh;
            }

            .logo-from,
            .logo-to
            {
                transition:all 0.5s ease-in-out;
                opacity:0;
                position:absolute;
                top:50%;
                left:50%;
                transform:translateX(-50%) translateY(-50%);    
                height:60px;
                width:auto;    
                z-index: 100;
            }
        }
    }

    &.sidebar-expanded
    {
        .header,.footer,.info-modal--btn
        {
            opacity: 0;
        }
        .sidebar.expanded
        {
            width:100vw;
            .sidebartx--logo > *:not(.target) {
                display: none !important;
            }
        }
        .sidebar:not(.expanded)
        {
            opacity:0;
        }
        .sidebar--wrap
        {
            width:60px;
            float:right;
            opacity:0;
        }
        .sidebartx--logo
        {
            display: block;
            opacity:1;
        }
    }
    
    .logo-corporate,
    .logo-contract,
    .logo-office
    {
        position:absolute;
        width:100%;
        height:100%;
        top:0;
        left:0;
        transition:all 1s ease-in-out;
        opacity:0;
        z-index:100;
        svg
        {
            height:60px;
            width:auto;
            position:absolute;
            top:50%;
            left:50%;
            transform:translateY(-50%) translateX(-50%);
        }
    }

    .background-contract,//.background-dark,
    .background-corporate, //.background-light
    .background-office
    {
        position:absolute;
        width:100%;
        height:100%;
        top:0;
        left:0;
        transition:all 1s ease-in-out;
        opacity:0;
    }

    .background-contract //.background-dark,
    {
        background-color:#2d2927;
    }

    .background-corporate //.background-light
    {
        background-color:#ffffff;
    }

    .background-office
    {
        background-color:#415569;
    }

    .logo-contract
    {
        &.visible-path {
            path
            {
                fill: #ffffff;
            }
        }
    }

    .logo-corporate
    {
        &.visible-path {
            path
            {
                fill: #2d2d2d;
            }
        }
    }

    .logo-office
    {
        &.visible-path {
            path
            {
                fill: #ffffff;
            }
        }
    }

    .visible
    {
        opacity:1 !important;
    }
}

    .dark-path
    {
        path
        {
            fill: #2d2d2d;
        }
    }
    .light-path
    {
        path
        {
            fill: #ffffff;
        }
    }
*/
