*
{
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

*:focus,
*:active
{
  outline: 0;
}

html
{
  min-height: 100%;
  overflow-x: hidden;
  scroll-behavior: smooth;
  width: 100%;
}

body
{
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background-color: #FFFFFF;
  color: #000000;
  -webkit-text-size-adjust: 100%;
  font-family: "Sora", sans-serif;
  font-size: 1rem;
  line-height: 1.35;
  min-height: 100%;
  overflow-x: hidden;
  width: 100%;
}

[unselectable]
{
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

a
{
  color: #000000;
  opacity: 1;
  -webkit-transition: all 250ms cubic-bezier(0.63, 0, 0.7, 1.01);
  -o-transition: all 250ms cubic-bezier(0.63, 0, 0.7, 1.01);
  transition: all 250ms cubic-bezier(0.63, 0, 0.7, 1.01);
}

a:hover
{
  opacity: 0.75;
}

a:visited, a:active
{
  color: #000000;
}

img, media, svg
{
  display: block;
  height: auto;
  max-width: 100%;
}

img.svg-symbols, media.svg-symbols, svg.svg-symbols
{
  display: none;
}

ul, ol
{
  margin: 0;
}

/* Chrome autocomplete form fix */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active
{
  -webkit-box-shadow: 0 0 0 30px white inset;
}

.h-hide
{
  display: none !important;
  visibility: hidden;
}

.h-visually-hidden
{
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.h-noscroll
{
  overflow: hidden;
}

/* SWUP ANIMATIONS - TRANSITIONS */
.swup-transition-panel
{
  -webkit-transition: 1.2s cubic-bezier(0.39, 0.76, 0.2, 1.02);
  -o-transition: 1.2s cubic-bezier(0.39, 0.76, 0.2, 1.02);
  transition: 1.2s cubic-bezier(0.39, 0.76, 0.2, 1.02);
  -webkit-transform: translateX(-100%);
  -ms-transform: translateX(-100%);
  transform: translateX(-100%);
}

html.is-animating .swup-transition-panel
{
  -webkit-transform: translateX(0%);
  -ms-transform: translateX(0%);
  transform: translateX(0%);
}

.burger-menu
{
  cursor: pointer;
  height: 1.25rem;
  position: relative;
  -webkit-transform: rotate(0deg);
  -ms-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: all 250ms cubic-bezier(0.63, 0, 0.7, 1.01);
  -o-transition: all 250ms cubic-bezier(0.63, 0, 0.7, 1.01);
  transition: all 250ms cubic-bezier(0.63, 0, 0.7, 1.01);
  width: 2.1875rem;
}

@media (min-width: 48em)
{
  .burger-menu
  {
    display: none;
  }
}

.burger-menu span
{
  background-color: #000000;
  display: block;
  height: calc(1.25rem / 5);
  left: 0;
  opacity: 1;
  position: absolute;
  -webkit-transform: rotate(0deg);
  -ms-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: all 250ms cubic-bezier(0.63, 0, 0.7, 1.01);
  -o-transition: all 250ms cubic-bezier(0.63, 0, 0.7, 1.01);
  transition: all 250ms cubic-bezier(0.63, 0, 0.7, 1.01);
  width: 100%;
}

.burger-menu span:nth-child(1)
{
  top: 0;
}

.burger-menu span:nth-child(2)
{
  top: calc(2 * calc(1.25rem / 5));
}

.burger-menu span:nth-child(3)
{
  top: calc(4 * calc(1.25rem / 5));
}

.burger-menu.open span:nth-child(1)
{
  top: calc(2 * calc(1.25rem / 5));
  -webkit-transform: rotate(135deg);
  -ms-transform: rotate(135deg);
  transform: rotate(135deg);
}

.burger-menu.open span:nth-child(2)
{
  opacity: 0;
  left: -2.1875rem;
}

.burger-menu.open span:nth-child(3)
{
  top: calc(2 * calc(1.25rem / 5));
  -webkit-transform: rotate(-135deg);
  -ms-transform: rotate(-135deg);
  transform: rotate(-135deg);
}

.double-box
{
  border-bottom: 2px solid #000000;
}

@media (min-width: 48em)
{
  .double-box
  {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    max-width: 100%;
  }

  .double-box > div
  {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    max-width: calc(50% + 1px);
  }
}

.double-box .box-text
{
  border-bottom: 2px solid #000000;
}

@media (min-width: 48em)
{
  .double-box .box-text
  {
    border-bottom: 0;
    border-right: 2px solid #000000;
  }
}

.double-box .box-text.box-text--flex
{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.double-box .text-wrapper:not(.no-container)
{
  padding-left: 10vw;
  padding-right: 10vw;
  max-width: 100%;
  padding-bottom: 2.8125rem;
  padding-top: 2.8125rem;
}

@media (min-width: 48em)
{
  .double-box .text-wrapper:not(.no-container)
  {
    padding-left: 0;
    padding-right: 0;
  }
}

@media (min-width: 48em)
{
  .double-box .text-wrapper:not(.no-container)
  {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 33.3333333333vw;
    flex: 0 0 33.3333333333vw;
    max-width: 33.3333333333vw;
    margin-left: 8.3333333333vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding-bottom: 5.625rem;
    padding-top: 5.625rem;
  }
}

.double-box .box-image
{
  overflow: hidden;
}

.double-box .box-image picture, .double-box .box-image img
{
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
}

.double-box .box-video
{
  background-color: #000000;
  min-height: 40vh;
  overflow: hidden;
  position: relative;
}

@media (min-width: 48em)
{
  .double-box .box-video
  {
    min-height: auto;
  }
}

.double-box .box-video video
{
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
}

.double-box.double-box--reverse
{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -ms-flex-direction: column-reverse;
  flex-direction: column-reverse;
}

@media (min-width: 48em)
{
  .double-box.double-box--reverse
  {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
}

.double-box.double-box--reverse .box-text
{
  border-bottom: none;
  border-left: none;
  border-right: none;
  border-top: 2px solid #000000;
}

@media (min-width: 48em)
{
  .double-box.double-box--reverse .box-text
  {
    border-left: 2px solid #000000;
    border-top: none;
  }
}

.double-box.double-box--noimage-mobile .box-text
{
  border-bottom: none;
}

.double-box.double-box--noimage-mobile .box-image
{
  display: none;
}

@media (min-width: 48em)
{
  .double-box.double-box--noimage-mobile .box-image
  {
    display: block;
  }
}

.hero-grid
{
  --grid-element-size: 16vw;
  --grid-element-padding: 2vw;
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}

@media (min-width: 36em)
{
  .hero-grid
  {
    --grid-element-size: 10vw;
    --grid-element-padding: 1.2vw;
  }
}

@media (min-width: 48em)
{
  .hero-grid
  {
    --grid-element-size: 10vw;
    --grid-element-padding: 1.2vw;
    bottom: -1px;
    top: -1px;
  }
}

@media (min-width: 64em)
{
  .hero-grid
  {
    --grid-element-size: 9vw;
    --grid-element-padding: 1vw;
  }
}

@media (min-width: 75em)
{
  .hero-grid
  {
    --grid-element-size: 7vw;
    --grid-element-padding: .75vw;
  }
}

.hero-grid .grid-elem
{
  display: block;
  height: var(--grid-element-size);
  padding: var(--grid-element-padding);
  position: absolute;
  width: var(--grid-element-size);
  will-change: transform;
}

.hero-grid .grid-elem.grid-elem--blue
{
  background-color: #4E75AF;
}

.hero-grid .grid-elem.grid-elem--green
{
  background-color: #4FAF68;
}

.hero-grid .grid-elem.grid-elem--orange
{
  background-color: #F65D23;
}

.hero-grid .grid-elem.grid-elem--white
{
  background-color: #FFFFFF;
}

.hero-grid .grid-elem.grid-elem--1
{
  left: 0;
  top: 0;
}

.hero-grid .grid-elem.grid-elem--2
{
  left: calc(4 * var(--grid-element-size));
  top: 0;
}

.hero-grid .grid-elem.grid-elem--3
{
  display: none;
}

@media (min-width: 48em)
{
  .hero-grid .grid-elem.grid-elem--3
  {
    display: block;
    right: calc(3 * var(--grid-element-size));
    top: 0;
  }
}

.hero-grid .grid-elem.grid-elem--4
{
  left: calc(3 * var(--grid-element-size));
  top: var(--grid-element-size);
}

.hero-grid .grid-elem.grid-elem--5
{
  bottom: calc(2 * var(--grid-element-size));
  right: 0;
}

.hero-grid .grid-elem.grid-elem--6
{
  display: none;
}

@media (min-width: 48em)
{
  .hero-grid .grid-elem.grid-elem--6
  {
    display: block;
    bottom: var(--grid-element-size);
    left: calc(4 * var(--grid-element-size));
  }
}

.hero-grid .grid-elem.grid-elem--7
{
  bottom: var(--grid-element-size);
  right: var(--grid-element-size);
}

.hero-grid .grid-elem.grid-elem--8
{
  bottom: 0;
  left: 0;
}

.hero-grid .grid-elem.grid-elem--9
{
  display: none;
}

@media (min-width: 48em)
{
  .hero-grid .grid-elem.grid-elem--9
  {
    display: block;
    bottom: 0;
    left: calc(3 * var(--grid-element-size));
  }
}

.hero-grid .grid-elem.grid-elem--10
{
  display: none;
}

@media (min-width: 48em)
{
  .hero-grid .grid-elem.grid-elem--10
  {
    display: block;
    bottom: 0;
    right: calc(4 * var(--grid-element-size));
  }
}

.hero-grid .grid-elem.grid-elem--11
{
  display: none;
}

@media (min-width: 48em)
{
  .hero-grid .grid-elem.grid-elem--11
  {
    display: block;
    bottom: 0;
    right: calc(2 * var(--grid-element-size));
  }
}

.hero-grid .grid-elem-special--1
{
  -webkit-animation-duration: 5s;
  animation-duration: 5s;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-name: lineScrolling1;
  animation-name: lineScrolling1;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  background-image: url("../images/zigzag-full-white.svg");
  background-repeat: repeat-x;
  background-position-x: 0;
  background-position-y: 50%;
  bottom: calc(1.75 * var(--grid-element-size));
  height: calc(0.5 * var(--grid-element-size));
  left: 0;
  position: absolute;
  width: calc(1.35 * var(--grid-element-size));
}

.hero-grid .grid-elem-special--2
{
  -webkit-animation-duration: 8s;
  animation-duration: 8s;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-name: lineScrolling2;
  animation-name: lineScrolling2;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  background-image: url("../images/zigzag-strokes-white.svg");
  background-repeat: repeat-x;
  background-position-x: 0;
  background-position-y: 50%;
  height: calc(0.75 * var(--grid-element-size));
  position: absolute;
  right: 0;
  top: calc(0.45 * var(--grid-element-size));
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
  -webkit-transform-origin: 50% 50%;
  -ms-transform-origin: 50% 50%;
  transform-origin: 50% 50%;
  width: calc(0.7 * var(--grid-element-size));
}

@-webkit-keyframes lineScrolling1
{
  from
  {
    background-position-x: 0;
  }

  to
  {
    background-position-x: calc(1.35 * var(--grid-element-size));
  }
}

@keyframes lineScrolling1
{
  from
  {
    background-position-x: 0;
  }

  to
  {
    background-position-x: calc(1.35 * var(--grid-element-size));
  }
}

@-webkit-keyframes lineScrolling2
{
  from
  {
    background-position-x: 0;
  }

  to
  {
    background-position-x: calc(0.7 * var(--grid-element-size));
  }
}

@keyframes lineScrolling2
{
  from
  {
    background-position-x: 0;
  }

  to
  {
    background-position-x: calc(0.7 * var(--grid-element-size));
  }
}

.icon
{
  display: block;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  pointer-events: none;
}

.icon.icon--rotate-45
{
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

.icon.icon--rotate-90
{
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
}

.icon.icon--rotate-180
{
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}

.icon.icon--rotate-270
{
  -webkit-transform: rotate(270deg);
  -ms-transform: rotate(270deg);
  transform: rotate(270deg);
}

.icon.icon--blue-fill
{
  fill: #4E75AF;
}

.icon.icon--blue-fill circle,
.icon.icon--blue-fill path,
.icon.icon--blue-fill polygon,
.icon.icon--blue-fill rect
{
  fill: #4E75AF;
}

.icon.icon--green-fill
{
  fill: #4FAF68;
}

.icon.icon--green-fill circle,
.icon.icon--green-fill path,
.icon.icon--green-fill polygon,
.icon.icon--green-fill rect
{
  fill: #4FAF68;
}

.icon.icon--orange-fill
{
  fill: #F65D23;
}

.icon.icon--orange-fill circle,
.icon.icon--orange-fill path,
.icon.icon--orange-fill polygon,
.icon.icon--orange-fill rect
{
  fill: #F65D23;
}

.icon.icon--white-fill
{
  fill: #FFFFFF;
}

.icon.icon--white-fill circle,
.icon.icon--white-fill path,
.icon.icon--white-fill polygon,
.icon.icon--white-fill rect
{
  fill: #FFFFFF;
}

.icon.icon--white-stroke
{
  fill: none;
  stroke: #FFFFFF;
}

.icon.icon--white-stroke circle,
.icon.icon--white-stroke path,
.icon.icon--white-stroke polygon,
.icon.icon--white-stroke rect
{
  fill: none;
  stroke: #FFFFFF;
}

.icon.icon--logo
{
  height: 3.125rem;
  width: 4rem;
}

@media (min-width: 48em)
{
  .icon.icon--logo
  {
    height: 3.1875rem;
    width: 4rem;
  }
}

.icon.icon--logo-transition
{
  aspect-ratio: 1;
  max-width: 450px;
  width: 80vw;
}

@media (min-width: 48em)
{
  .icon.icon--logo-transition
  {
    width: 60vw;
  }
}

.icon.icon--shape-grid
{
  height: 100%;
  width: 100%;
}

.icon.icon--shape-symbol, .icon.icon--shape-about
{
  aspect-ratio: 1;
}

.icon.icon--shape-project
{
  height: 7.5rem;
  width: 7.5rem;
}

@media (min-width: 48em)
{
  .icon.icon--shape-project
  {
    height: 15.625rem;
    width: 15.625rem;
  }
}

.icon.icon--logo-footer
{
  width: 100%;
}

.page-transition-block
{
  background-color: #F65D23;
  border-right: 2px solid #000000;
  bottom: 0;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  left: 0;
  pointer-events: none;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 1;
}

.partner
{
  margin-bottom: 2.1875rem;
  margin-left: 1.5625rem;
  margin-right: 1.5625rem;
}

.partner .partner-label
{
  margin-bottom: 1.125rem;
}

.partner .partner-wrapper
{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.partner .partner-logo:not(:first-child)
{
  margin-left: 1.5625rem;
}

.partner .partner-logo img
{
  height: 2.5rem;
  max-width: 6.25rem;
  width: 100%;
}

.partner .partner-logo.partner-logo--ilmargine
{
  margin-left: 2.5rem;
  margin-top: -0.8125rem;
}

/************************/
/* Swiper general rules */
/************************/
.swiper
{
  z-index: 0;
}

.swiper .swiper-button
{
  display: inline-block;
  height: auto;
  margin: 0 5px 5px;
  opacity: 1;
  position: static;
  -webkit-transition: all 250ms cubic-bezier(0.63, 0, 0.7, 1.01);
  -o-transition: all 250ms cubic-bezier(0.63, 0, 0.7, 1.01);
  transition: all 250ms cubic-bezier(0.63, 0, 0.7, 1.01);
  width: auto;
}

.swiper .swiper-button.swiper-button-disabled
{
  opacity: 0.25;
}

.swiper .swiper-button:hover
{
  opacity: 0.75;
}

@media (min-width: 48em)
{
  .swiper .swiper-button
  {
    display: none;
  }
}

.swiper .swiper-wrapper .swiper-slide
{
  height: 100%;
  width: auto;
}

.swiper-button
{
  display: inline-block;
  height: auto;
  margin: 0 5px 5px;
  opacity: 1;
  position: static;
  -webkit-transition: all 250ms cubic-bezier(0.63, 0, 0.7, 1.01);
  -o-transition: all 250ms cubic-bezier(0.63, 0, 0.7, 1.01);
  transition: all 250ms cubic-bezier(0.63, 0, 0.7, 1.01);
  width: auto;
}

.swiper-button.swiper-button-disabled
{
  opacity: 0.25;
}

.swiper-button:hover
{
  opacity: 0.75;
}

@media (min-width: 48em)
{
  .swiper-button
  {
    display: none;
  }
}

/*******************/
/* SCustom swipers */
/*******************/
.swiper--about
{
  height: 100%;
}

.swiper--about .swiper-button-next,
.swiper--about .swiper-button-prev
{
  color: #FFFFFF;
  text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
}

.video-bg
{
  height: 100%;
  left: 50%;
  -o-object-fit: cover;
  object-fit: cover;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  -webkit-transition: -webkit-filter 175ms cubic-bezier(0.63, 0, 0.7, 1.01);
  transition: -webkit-filter 175ms cubic-bezier(0.63, 0, 0.7, 1.01);
  -o-transition: filter 175ms cubic-bezier(0.63, 0, 0.7, 1.01);
  transition: filter 175ms cubic-bezier(0.63, 0, 0.7, 1.01);
  transition: filter 175ms cubic-bezier(0.63, 0, 0.7, 1.01), -webkit-filter 175ms cubic-bezier(0.63, 0, 0.7, 1.01);
  width: 100%;
}

.video-bg.video-bg--ready
{
  -webkit-filter: blur(0) !important;
  filter: blur(0) !important;
}

.footer
{
  background-color: #F5F5F5;
}

.footer .footer-wrapper
{
  padding-left: 10vw;
  padding-right: 10vw;
  max-width: 100%;
}

@media (min-width: 64em)
{
  .footer .footer-wrapper
  {
    padding-left: 0;
    padding-right: 0;
  }
}

@media (min-width: 48em)
{
  .footer .footer-wrapper
  {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 91.6666666667vw;
    flex: 0 0 91.6666666667vw;
    max-width: 91.6666666667vw;
    margin-left: 4.1666666667vw;
  }
}

.footer .footer-top
{
  padding-bottom: 3.4375rem;
  padding-top: 5rem;
}

@media (min-width: 48em)
{
  .footer .footer-top
  {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding-bottom: 3.4375rem;
    padding-top: 3.4375rem;
  }
}

.footer .footer-left
{
  margin-bottom: 3.75rem;
  text-align: left;
}

@media (min-width: 48em)
{
  .footer .footer-left
  {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-bottom: 1.875rem;
    padding-right: 0.9375rem;
    text-align: right;
  }
}

.footer .footer-right
{
  margin-left: -1.5625rem;
  margin-right: -1.5625rem;
}

@media (min-width: 48em)
{
  .footer .footer-right
  {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    margin-left: 0;
    margin-right: -1.5625rem;
    max-width: 90%;
    padding-left: 0.9375rem;
  }
}

@media (min-width: 64em)
{
  .footer .footer-right
  {
    max-width: 80%;
  }
}

@media (min-width: 75em)
{
  .footer .footer-right
  {
    max-width: 70%;
  }
}

.footer .footer-right-row
{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.footer .footer-bottom
{
  padding-bottom: 3.125rem;
  padding-top: 7.5rem;
}

@media (min-width: 48em)
{
  .footer .footer-bottom
  {
    padding-top: 12.5rem;
  }
}

.footer .footer--logo-mobile
{
  aspect-ratio: 1;
  display: block;
}

@media (min-width: 48em)
{
  .footer .footer--logo-mobile
  {
    display: none;
  }
}

.footer .footer--logo-desktop
{
  display: none;
}

@media (min-width: 48em)
{
  .footer .footer--logo-desktop
  {
    display: block;
  }
}

.header
{
  border-bottom: 2px solid #000000;
  height: 5.625rem;
  padding-bottom: 1.25rem;
  padding-top: 1.25rem;
}

.header .header-wrapper
{
  padding-left: 10vw;
  padding-right: 10vw;
  max-width: 100%;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

@media (min-width: 64em)
{
  .header .header-wrapper
  {
    padding-left: 0;
    padding-right: 0;
  }
}

@media (min-width: 48em)
{
  .header .header-wrapper
  {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 91.6666666667vw;
    flex: 0 0 91.6666666667vw;
    max-width: 91.6666666667vw;
    margin-left: 4.1666666667vw;
    height: 100%;
  }
}

.header .header-menu
{
  display: none;
}

@media (min-width: 48em)
{
  .header .header-menu
  {
    display: block;
    height: 100%;
  }
}

@media (max-width: 47.99em)
{
  .header .header-menu
  {
    background-color: #F65D23;
    bottom: 0;
    display: block;
    left: 0;
    position: fixed;
    right: 0;
    top: 5.625rem;
    -webkit-transition: all 250ms cubic-bezier(0.63, 0, 0.7, 1.01);
    -o-transition: all 250ms cubic-bezier(0.63, 0, 0.7, 1.01);
    transition: all 250ms cubic-bezier(0.63, 0, 0.7, 1.01);
    -webkit-transform: translateX(101%);
    -ms-transform: translateX(101%);
    transform: translateX(101%);
    z-index: 1;
  }

  .header .header-menu.open
  {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }
}

.menu--footer .menu-list
{
  list-style: none;
  margin: 0;
  padding-left: 0;
}

.menu--footer .menu-list > li
{
  padding: 0;
}

.menu--footer .menu-list > a
{
  display: inline-block;
}

.menu--footer .menu-item
{
  display: inline-block;
}

.menu--footer .menu-item:not(:last-child)::after
{
  content: "/";
  display: inline-block;
  margin-left: 0.05rem;
  margin-right: 0.05rem;
}

.menu--footer .menu-link
{
  text-transform: uppercase;
}

.menu--main
{
  height: 100%;
}

.menu--main .menu-list
{
  list-style: none;
  margin: 0;
  padding-left: 0;
  height: 100%;
}

.menu--main .menu-list > li
{
  padding: 0;
}

.menu--main .menu-list > a
{
  display: inline-block;
}

.menu--main .menu-item
{
  display: inline-block;
  height: 100%;
  margin-left: 1.5625rem;
  margin-right: 1.5625rem;
}

.menu--main .menu-item:last-child
{
  margin-right: 0;
}

.menu--main .menu-link
{
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  height: 100%;
  position: relative;
  text-decoration: none;
}

.menu--main .menu-link::before
{
  background-color: #F5F5F5;
  border-radius: 50%;
  content: "";
  display: block;
  height: 2.5rem;
  left: 50%;
  position: absolute;
  top: 50%;
  -webkit-transform: scale(0) translate(-50%, -50%);
  -ms-transform: scale(0) translate(-50%, -50%);
  transform: scale(0) translate(-50%, -50%);
  -webkit-transform-origin: 50% 50%;
  -ms-transform-origin: 50% 50%;
  transform-origin: 50% 50%;
  -webkit-transition: -webkit-transform 175ms cubic-bezier(0.63, 0, 0.7, 1.01);
  transition: -webkit-transform 175ms cubic-bezier(0.63, 0, 0.7, 1.01);
  -o-transition: transform 175ms cubic-bezier(0.63, 0, 0.7, 1.01);
  transition: transform 175ms cubic-bezier(0.63, 0, 0.7, 1.01);
  transition: transform 175ms cubic-bezier(0.63, 0, 0.7, 1.01), -webkit-transform 175ms cubic-bezier(0.63, 0, 0.7, 1.01);
  width: 2.5rem;
  z-index: -1;
}

.menu--main .menu-link:hover
{
  opacity: 1;
}

.menu--main .menu-link:hover::before
{
  -webkit-transform: scale(1) translate(-50%, -50%);
  -ms-transform: scale(1) translate(-50%, -50%);
  transform: scale(1) translate(-50%, -50%);
}

.menu--main .menu-link.menu-link--blue::before
{
  background-color: #4E75AF;
}

.menu--main .menu-link.menu-link--green::before
{
  background-color: #4FAF68;
}

.menu--main .menu-link.menu-link--orange::before
{
  background-color: #1D1D1B;
}

@media (min-width: 48em)
{
  .menu--main .menu-link.menu-link--orange::before
  {
    background-color: #F65D23;
  }
}

@media (max-width: 47.99em)
{
  .menu--main .menu-list
  {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }

  .menu--main .menu-item
  {
    display: block;
    height: auto;
    margin: 4vh 0;
  }

  .menu--main .menu-link
  {
    color: #FFFFFF;
    font-size: 2.5rem;
    text-align: center;
  }
}

.section--beauty .box-text
{
  background-color: #F65D23;
}

.section--beauty .section-shape
{
  margin-bottom: 5.625rem;
  max-width: 12vw;
}

.section--beauty .section-text
{
  font-weight: 400;
  margin: 0;
  color: #FFFFFF;
  font-size: 1.375rem;
  line-height: 1.25;
  text-transform: uppercase;
}

@media (min-width: 48em)
{
  .section--beauty .section-text
  {
    font-size: 2rem;
  }
}

@media (min-width: 64em)
{
  .section--beauty .section-text
  {
    font-size: 2.5rem;
  }
}

.section--graphic-days
{
  min-height: 60vh;
}

.section--graphic-days .box-text
{
  background-color: #FFFFFF;
}

.section--graphic-days .text-wrapper
{
  height: 100%;
}

.section--graphic-days .section-text
{
  font-weight: 400;
  margin: 0;
  color: #000000;
  font-size: 1.125rem;
  line-height: 1.25;
  text-transform: uppercase;
}

@media (min-width: 64em)
{
  .section--graphic-days .section-text
  {
    font-size: 1.5625rem;
    text-transform: none;
  }
}

.section--hero
{
  border-bottom: 2px solid #000000;
  height: 55vh;
  position: relative;
}

@media (min-width: 48em)
{
  .section--hero
  {
    height: 75vh;
  }
}

.section--intro
{
  background-color: #4E75AF;
  border-bottom: 2px solid #000000;
}

.section--intro .section-wrapper
{
  padding-left: 10vw;
  padding-right: 10vw;
  max-width: 100%;
  padding-bottom: 3.75rem;
  padding-top: 3.75rem;
}

@media (min-width: 64em)
{
  .section--intro .section-wrapper
  {
    padding-left: 0;
    padding-right: 0;
  }
}

@media (min-width: 48em)
{
  .section--intro .section-wrapper
  {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 83.3333333333vw;
    flex: 0 0 83.3333333333vw;
    max-width: 83.3333333333vw;
    margin-left: 8.3333333333vw;
    padding-bottom: 5.3125rem;
    padding-top: 5.3125rem;
  }
}

.section--intro .text
{
  font-weight: 400;
  margin: 0;
  color: #FFFFFF;
  font-size: 1.375rem;
  line-height: 1.25;
  text-transform: uppercase;
}

@media (min-width: 48em)
{
  .section--intro .text
  {
    font-size: 2rem;
  }
}

@media (min-width: 64em)
{
  .section--intro .text
  {
    font-size: 2.5rem;
  }
}

.section--limes
{
  min-height: 60vh;
}

.section--limes .box-text
{
  background-color: #4FAF68;
}

.section--limes .text-wrapper
{
  height: 100%;
}

.section--limes .section-text
{
  font-weight: 400;
  margin: 0;
  color: #FFFFFF;
  font-size: 1.125rem;
  line-height: 1.25;
  text-transform: uppercase;
}

@media (min-width: 64em)
{
  .section--limes .section-text
  {
    font-size: 1.5625rem;
    text-transform: none;
  }
}

.section--mega .box-text
{
  background-color: #4E75AF;
}

.section--mega .section-text
{
  font-weight: 400;
  margin: 0;
  color: #FFFFFF;
  font-size: 1.375rem;
  line-height: 1.25;
  text-transform: uppercase;
}

@media (min-width: 48em)
{
  .section--mega .section-text
  {
    font-size: 2rem;
  }
}

@media (min-width: 64em)
{
  .section--mega .section-text
  {
    font-size: 2.5rem;
  }
}

.section--mini .box-text
{
  background-color: #4FAF68;
}

.section--mini .section-text
{
  font-weight: 400;
  margin: 0;
  color: #FFFFFF;
  font-size: 1.375rem;
  line-height: 1.25;
  text-transform: uppercase;
}

@media (min-width: 48em)
{
  .section--mini .section-text
  {
    font-size: 2rem;
  }
}

@media (min-width: 64em)
{
  .section--mini .section-text
  {
    font-size: 2.5rem;
  }
}

.section--objectives .section-pattern
{
  -webkit-animation-duration: 12s;
  animation-duration: 12s;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-name: lineScrollingPattern;
  animation-name: lineScrollingPattern;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  background-color: #FFFFFF;
  background-image: url("../images/wave-pattern.svg");
  background-repeat: repeat-x;
  background-position: 0;
  border-bottom: 2px solid #000000;
  height: 15vh;
}

@media (min-width: 48em)
{
  .section--objectives .section-pattern
  {
    height: 12.5rem;
  }
}

.section--objectives .section-title
{
  font-weight: 400;
  margin: 0;
  color: #000000;
  font-size: 1.375rem;
  line-height: 1.25;
  text-transform: uppercase;
  margin-bottom: 1.25rem;
}

@media (min-width: 48em)
{
  .section--objectives .section-title
  {
    font-size: 2rem;
  }
}

@media (min-width: 64em)
{
  .section--objectives .section-title
  {
    font-size: 2.5rem;
  }
}

.section--objectives .section-text
{
  font-weight: 400;
  margin: 0;
  color: #000000;
  font-size: 0.875rem;
  line-height: 1.25;
}

@media (min-width: 64em)
{
  .section--objectives .section-text
  {
    font-size: 1rem;
  }
}

@-webkit-keyframes lineScrollingPattern
{
  from
  {
    background-position-x: 0;
  }

  to
  {
    background-position-x: 100%;
  }
}

@keyframes lineScrollingPattern
{
  from
  {
    background-position-x: 0;
  }

  to
  {
    background-position-x: 100%;
  }
}

.section--opening .box-text
{
  background-color: #4FAF68;
}

.section--opening .section-shape
{
  margin-bottom: 5.625rem;
  max-width: 12vw;
}

.section--opening .section-text
{
  font-weight: 400;
  margin: 0;
  color: #FFFFFF;
  font-size: 1.375rem;
  line-height: 1.25;
  text-transform: uppercase;
}

@media (min-width: 48em)
{
  .section--opening .section-text
  {
    font-size: 2rem;
  }
}

@media (min-width: 64em)
{
  .section--opening .section-text
  {
    font-size: 2.5rem;
  }
}

.section--presentation .text-wrapper
{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  height: 100%;
}

.section--presentation .box-text
{
  padding-top: 2.8125rem;
}

@media (min-width: 48em)
{
  .section--presentation .box-text
  {
    padding-top: 5.625rem;
  }
}

.section--presentation .section-title
{
  padding-left: 10vw;
  padding-right: 10vw;
  max-width: 100%;
  font-weight: 400;
  margin: 0;
  color: #000000;
  font-size: 1.375rem;
  line-height: 1.25;
  text-transform: uppercase;
  margin-bottom: 0.9375rem;
}

@media (min-width: 48em)
{
  .section--presentation .section-title
  {
    padding-left: 0;
    padding-right: 0;
  }
}

@media (min-width: 48em)
{
  .section--presentation .section-title
  {
    font-size: 2rem;
  }
}

@media (min-width: 64em)
{
  .section--presentation .section-title
  {
    font-size: 2.5rem;
  }
}

@media (min-width: 48em)
{
  .section--presentation .section-title
  {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 33.3333333333vw;
    flex: 0 0 33.3333333333vw;
    max-width: 33.3333333333vw;
    margin-left: 8.3333333333vw;
    margin-bottom: 1.25rem;
  }
}

.section--presentation .section-text
{
  padding-left: 10vw;
  padding-right: 10vw;
  max-width: 100%;
  font-weight: 400;
  margin: 0;
  color: #000000;
  font-size: 0.875rem;
  line-height: 1.25;
  border-bottom: 2px solid #000000;
  padding-bottom: 1.5625rem;
}

@media (min-width: 48em)
{
  .section--presentation .section-text
  {
    padding-left: 0;
    padding-right: 0;
  }
}

@media (min-width: 64em)
{
  .section--presentation .section-text
  {
    font-size: 1rem;
  }
}

@media (min-width: 48em)
{
  .section--presentation .section-text
  {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 33.3333333333vw;
    flex: 0 0 33.3333333333vw;
    max-width: 33.3333333333vw;
    margin-left: 8.3333333333vw;
    border-bottom: none;
    margin-bottom: 4.375rem;
    padding-bottom: 0;
  }
}

.section--presentation .section-text-2-prewrapper
{
  background-color: #F5F5F5;
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
}

.section--presentation .section-text-2
{
  padding-left: 10vw;
  padding-right: 10vw;
  max-width: 100%;
  font-weight: 400;
  margin: 0;
  color: #000000;
  font-size: 0.875rem;
  line-height: 1.25;
  padding-bottom: 2.8125rem;
  padding-top: 2.8125rem;
}

@media (min-width: 48em)
{
  .section--presentation .section-text-2
  {
    padding-left: 0;
    padding-right: 0;
  }
}

@media (min-width: 64em)
{
  .section--presentation .section-text-2
  {
    font-size: 1rem;
  }
}

@media (min-width: 48em)
{
  .section--presentation .section-text-2
  {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 33.3333333333vw;
    flex: 0 0 33.3333333333vw;
    max-width: 33.3333333333vw;
    margin-left: 8.3333333333vw;
    padding-bottom: 2.8125rem;
  }
}

.section--project
{
  border-bottom: 2px solid #000000;
}

.section--project .section-wrapper
{
  padding-left: 10vw;
  padding-right: 10vw;
  max-width: 100%;
  padding-bottom: 1.875rem;
  padding-top: 1.875rem;
}

@media (min-width: 64em)
{
  .section--project .section-wrapper
  {
    padding-left: 0;
    padding-right: 0;
  }
}

@media (min-width: 48em)
{
  .section--project .section-wrapper
  {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 91.6666666667vw;
    flex: 0 0 91.6666666667vw;
    max-width: 91.6666666667vw;
    margin-left: 4.1666666667vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding-bottom: 3.75rem;
    padding-top: 3.75rem;
  }
}

@media (min-width: 64em)
{
  .section--project .section-wrapper
  {
    padding-bottom: 5.3125rem;
    padding-top: 5.3125rem;
  }
}

@media (min-width: 48em)
{
  .section--project .project-wrapper-left
  {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 16.6666666667vw;
    flex: 0 0 16.6666666667vw;
    max-width: 16.6666666667vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.section--project .section-title
{
  font-weight: 400;
  margin: 0;
  color: #000000;
  font-size: 1.375rem;
  line-height: 1.25;
  text-transform: uppercase;
}

@media (min-width: 48em)
{
  .section--project .section-title
  {
    font-size: 2rem;
  }
}

@media (min-width: 64em)
{
  .section--project .section-title
  {
    font-size: 2.5rem;
  }
}

.section--project .section-shape
{
  margin-bottom: 1.25rem;
  margin-top: 2.5rem;
}

@media (min-width: 48em)
{
  .section--project .section-shape
  {
    margin-bottom: 0;
    margin-top: auto;
  }
}

@media (min-width: 48em)
{
  .section--project .project-wrapper-center
  {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 25vw;
    flex: 0 0 25vw;
    max-width: 25vw;
    margin-left: 12.5vw;
  }
}

@media (min-width: 48em)
{
  .section--project .project-wrapper-right
  {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 25vw;
    flex: 0 0 25vw;
    max-width: 25vw;
    margin-left: 8.3333333333vw;
  }
}

.section--project .section-content .content-title
{
  font-weight: 400;
  margin: 0;
  color: #000000;
  font-size: 1.125rem;
  line-height: 1.25;
  text-transform: uppercase;
  margin-bottom: 0.9375rem;
}

@media (min-width: 64em)
{
  .section--project .section-content .content-title
  {
    font-size: 1.5625rem;
    text-transform: none;
  }
}

@media (min-width: 48em)
{
  .section--project .section-content .content-title
  {
    margin-bottom: 1.875rem;
  }
}

.section--project .section-content .content-text
{
  font-weight: 400;
  margin: 0;
  color: #000000;
  font-size: 0.875rem;
  line-height: 1.25;
  margin-bottom: 3.125rem;
}

@media (min-width: 64em)
{
  .section--project .section-content .content-text
  {
    font-size: 1rem;
  }
}

.section--symbols
{
  border-bottom: 2px solid #000000;
}

.section--symbols .section-wrapper
{
  padding-left: 10vw;
  padding-right: 10vw;
  max-width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding-bottom: 1.875rem;
  padding-top: 1.875rem;
}

@media (min-width: 48em)
{
  .section--symbols .section-wrapper
  {
    padding-left: 0;
    padding-right: 0;
  }
}

@media (min-width: 48em)
{
  .section--symbols .section-wrapper
  {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 91.6666666667vw;
    flex: 0 0 91.6666666667vw;
    max-width: 91.6666666667vw;
    margin-left: 4.1666666667vw;
    padding-bottom: 2.8125rem;
    padding-top: 2.8125rem;
  }
}

@media (min-width: 64em)
{
  .section--symbols .section-wrapper
  {
    padding-bottom: 3.625rem;
    padding-top: 3.625rem;
  }
}

.section--symbols .symbol
{
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  max-width: 14vw;
}

@media (min-width: 48em)
{
  .section--symbols .symbol
  {
    max-width: 6vw;
  }
}

@media (min-width: 64em)
{
  .section--symbols .symbol
  {
    max-width: 5vw;
  }
}

.section--symbols .symbol:nth-child(n+5)
{
  display: none;
}

@media (min-width: 48em)
{
  .section--symbols .symbol:nth-child(n+5)
  {
    display: block;
  }
}
/*# sourceMappingURL=maps/master.css.map */
