@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');

* {
    vertical-align: baseline;
    font-weight: inherit;
    font-family: inherit;
    font-style: inherit;
    font-size: 100%;
    border: 0 none;
    outline: 0;
    padding: 0;
    margin: 0;
}

*, *::before, *::after {
    box-sizing: border-box;
  }

:root {
  --rosso: #E30613;
  --nero: #3C3C3B;
  --grigio: #F6F6F6;
  --bianco: #FFFFFF;
}

.container-fluid {
  padding-left: 7%;
  padding-right: 7%;
}

/* TIPOGRAFIA ED ELEMENTI GLOBALI */

body {
  font-family: 'Montserrat', sans-serif;
  font-weight: 200;
  color: white;
  font-size: 1.1em;
  line-height: 1.5em;
  background: var(--nero);
}

h1 {
  font-family: 'Montserrat', sans-serif;
  font-weight: 400;
  color: white;
  font-size: 2.2em;
  text-wrap: balance;
  white-space: pre-line;
}

h2 {
  font-family: 'Montserrat', sans-serif;
  font-weight: 200;
  color: white;
  font-size: 1.7em;
  text-wrap: balance;
  white-space: pre-line;
}

h3 {
  font-family: 'Montserrat', sans-serif;
  font-weight: 800;
  color: var(--rosso);
  font-size: 3em;
  line-height: 1.2em;
  text-wrap: balance;
}

h4 {
  font-family: 'Montserrat', sans-serif;
  font-weight: 300;
  font-size: 2em;
  line-height: 1.3em;
  text-wrap: balance;
  white-space: pre-line;
}

h5 {
  font-family: 'Montserrat', sans-serif;
  font-weight: 200;
  font-size: 1.2em;
  line-height: 1.3em;
  text-wrap: balance;
  white-space: pre-line;
}

.font-weight-bold {
  font-weight: 700!important;
}

a {
  color: white;

  &:hover {
    color: white;
    text-decoration: none;
  }
}




/* PADDING - MARGINI */
.pd-top-200 {
  padding-top: 200px;
}

.pd-top-100 {
  padding-top: 100px;
}

.pd-top-50 {
  padding-top: 50px;
}

.pd-top-25 {
  padding-top: 25px;
}

.pd-top-10 {
  padding-top: 10px;
}

.pd-top-btm-100 {
  padding: 100px 0;
}

.pd-btm-50 {
  padding-bottom: 50px;
}

.pd-btm-25 {
  padding-bottom: 25px;
}

.pd-btm-10 {
  padding-bottom: 10px;
}

.mg-top-100 {
  margin-top: 100px;
}


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




/* ------------------------------------------------ HOME PAGE ------------------------------------------------ */

.cont-head {
  width: 100%;
  display: flex;
  padding: 100px 0;
  justify-content: space-between;
  align-items: center;

  .logo {
    width: 300px;
  }

  h2 {
    text-transform: uppercase;
    text-align: right;
    padding-right: 7%;
  }
}

.freccia-linea {
  width: 75px;
  position: relative;
  z-index: 2;
}

/* BCG ANIMATO */
@keyframes gradient {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}

.animated-gradient {
  background: linear-gradient(90deg, #C43B41, #FED309, #5DBCA8);
  background-size: 200% 200%;
  animation: gradient 5s ease infinite;
}

.linea {
  display: block;
  width: 100%;
  height: 2px;
  background: linear-gradient(90deg, #C43B41, #FED309, #5DBCA8);
  background-size: 200% 200%;
  animation: gradient 10s ease infinite;
}

.linea-oriz {
  position: relative;
  display: flex;
  align-items: center;

  .freccia-linea {
    position: absolute;
    right: 5.8rem;
  }
}

.linea-vert {
  display: block;
  width: 2px;
  height: 100vh;
  background: linear-gradient(180deg, #5DBCA8, #FED309, #C43B41);
  background-size: 200% 200%;
  animation: gradient 10s ease infinite;
  position: fixed;
  right: 8rem;
  z-index: 1;
}

#seconda {
  padding: 100px 0;

  .cont-loghi {
    display: flex;
    justify-content: space-between;
    padding-right: 7rem;

    .box-logo {
      display: flex;
      align-items: start;
      transition: all .3s cubic-bezier(.215, .61, .355, 1);

      &:hover {
        transform: translateY(-10px);
      }

      .logo {
        width: 100px;
        position: relative;
        top: 25px;
      }

      .freccia {
        width: 50px;
        position: relative;
        left: 10px;
        transition: all .3s cubic-bezier(.215, .61, .355, 1);

        &:hover {
          transform: rotate(-90deg);
        }
      }
    }
  }

  h1 {
    text-align: right;
    padding-right: 7rem;
    padding-top: 200px;
  }
}

#terza {

  p {
    padding-left: 75px;
    padding-right: 75px;
  }

  .due {
    position: relative;
    z-index: 4;
  }
}

.cont-marquee {
  overflow: hidden;
  width: 100%;
  position: relative;
  z-index: 3;

  h3 {
  display: flex;
  white-space: nowrap;
  align-items: center;
  font-size: 6em;
  font-weight: 300;
  text-transform: uppercase;
  color: var(--nero);
  padding-bottom: 0px;
  background-color: #E1E4DF;
  }

  .marquee-inner {
    display: flex;
    width: max-content;
    padding-top: 10px;
  }
}

#quarta {
  background: #E1E4DF;
  padding: 100px 0 100px;
  margin-top: -50px;
  color: var(--nero);
  position: relative;
  z-index: 2;

  p {
    padding-right: 75px;
    font-weight: 300;
  }

  h4 {
    text-align: right;
  }

  .row {
    align-items: flex-end;
  }

  .linea-oriz {
    padding-top: 100px;

    .freccia-linea {
      right: 40rem;
    }
  }

  .linea-vert {
    position: absolute;
    top: 0;
    right: 42.3rem;
  }
}

#quinta {
  padding: 100px 0 50px;
  text-align: right;

  .row {
    align-items: center;
  }

  h4, h5 {
    padding-right: 8rem;
  }

  .linea-oriz {
    padding-top: 100px;
  }
}

footer {
  padding-bottom: 25px;
  
  small {
    font-size: 80%;
  }
}