.banner.interno {
  font-family: "DM Sans", sans-serif;
  .conteudo {
    .info_banner {
      margin-left: unset;
      margin-right: auto;
      padding-left: 60px;
      padding-right: 100px;
      width: 500px;

      &:before {
        background-image: url(/site/imagens/shape_banner.svg);
        background-size: 690px;
        width: 114%;
        height: 363%;
        top: 126%;
        left: 0;
      }

      .nome {
        font-weight: 600;
        font-size: 25px;
        line-height: 100%;
        position: relative;
        z-index: 1;
        color: #ffffff;
        margin-top: -150px;
      }

      .descricao {
        font-weight: 400;
        font-size: 20px;
        line-height: 150%;
        color: #f0f4f5;
        margin-top: 30px;
        max-width: 470px;
        position: relative;
        z-index: 1;
      }
    }
  }
  @media screen and (max-width: 767px) {
    & {
      overflow: hidden;
      .conteudo {
        .info_banner {
          &:before {
            top: -46%;
            right: unset;
            transform: unset;
            -moz-transform: unset;
            -webkit-transform: unset;
          }
        }
      }
    }
  }
}

#solucoes {
  .title_solucoes {
    padding: 110px 0 0;

    @media (max-width: 991px) {
      & {
        padding: 80px 0;
      }
    }
  }

  .bloco_listagem {
    background-image: url(/site/imagens/fundo_solucoes.png);
    background-repeat: no-repeat;
    background-size: 100% auto;
    background-position: center top;

    .bloco_solucao {
      position: relative;
      padding: 15% 0;
      max-width: 960px;
      margin: 0 auto;

      .img {
        position: absolute;
        left: 0;
        top: 50%;
        -webkit-transform: translateY(-50%);
        -moz-transform: translateY(-50%);
        -o-transform: translateY(-50%);
        transform: translateY(-50%);
        box-shadow: 0px 166px 66px rgba(0, 0, 0, 0.01),
          0px 93px 56px rgba(0, 0, 0, 0.05), 0px 42px 42px rgba(0, 0, 0, 0.09),
          0px 10px 23px rgba(0, 0, 0, 0.1);
        border-radius: 82px;
        z-index: 1;

        @media (max-width: 991px) {
          & {
            max-width: 240px;
            top: 27%;
          }
        }
      }

      .helper_content {
        max-width: 715px;
        margin-left: auto;
        padding: 30px 75px 60px;
        background: #ffffff;
        box-shadow: 0px 354px 142px rgba(0, 0, 0, 0.01),
          0px 199px 119px rgba(0, 0, 0, 0.05), 0px 88px 88px rgba(0, 0, 0, 0.09),
          0px 22px 49px rgba(0, 0, 0, 0.1);
        border-radius: 82px;
        position: relative;
        z-index: 2;

        @media (max-width: 991px) {
          & {
            max-width: 525px;
            padding: 40px 40px 40px;
          }
        }

        @media (max-width: 767px) {
          & {
            max-width: 100%;
            margin-left: 26%;
          }
        }

        @media (max-width: 500px) {
          & {
            max-width: 100%;
            margin-top: 190px;
            margin-left: 0;
            margin-right: 0;
          }
        }

        .nome {
          font-weight: 500;
          font-size: 40px;
          line-height: 80px;
          color: #ff0025;

          @media (max-width: 650px) {
            & {
              font-size: 25px;
              line-height: 55px;
            }
          }
        }

        .descricao {
          font-weight: 400;
          font-size: 28px;
          line-height: 36px;
          color: #000000;
          margin-bottom: 25px;

          @media (max-width: 650px) {
            & {
              font-size: 20px;
              line-height: 30px;
            }
          }
        }

        .content {
          font-weight: 400;
          font-size: 18px;
          line-height: 23px;
          color: #000000;
          margin-bottom: 30px;

          table {
            width: 100%;
            font-weight: 400;
            font-size: 20px;
            line-height: 26px;
            background: linear-gradient(90deg, #ff0025 0%, #811336 100%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
            text-fill-color: transparent;
            border: 0;

            td {
              display: inline-flex;
              width: Calc(100% / 3);
              padding: 0 15px;

              @media screen and (max-width: 992px) {
                width: Calc(100% / 2);
                padding: 15px !important;
              }
              @media screen and (max-width: 767px) {
                width: 100%;
                padding: 15px !important;
              }
            }

            img {
              vertical-align: middle;
              margin-right: 10px;
            }
          }
        }

        a {
          text-decoration: none;
        }
      }

      &:nth-child(even) {
        .img {
          right: 0;
          left: unset;
        }

        .helper_content {
          margin-left: unset;
          margin-right: auto;

          @media (max-width: 767px) {
            & {
              margin-left: 0;
              margin-right: 26%;
            }
          }

          @media (max-width: 500px) {
            & {
              margin-left: 0;
              margin-right: 0;
            }
          }
        }
      }
    }
  }
}

#servico {
  .banner_servico {
    position: relative;

    &:before {
      content: "";
      background: linear-gradient(0deg, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.8));
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      position: absolute;
      z-index: 2;
      opacity: 0.9;
    }
    .img {
      position: relative;
      img {
        width: 100%;
      }
    }

    .content {
      position: absolute;
      z-index: 3;
      top: 50%;
      -webkit-transform: translateY(-50%);
      -moz-transform: translateY(-50%);
      -o-transform: translateY(-50%);
      transform: translateY(-50%);
      width: 100%;
      left: 0;
      text-align: center;

      h1 {
        margin-top: 40px;
        margin-bottom: 40px;
        font-weight: 600;
        font-size: 40px;
        line-height: 40px;
        background: linear-gradient(180deg, #ffffff 0%, #999999 100%);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
        text-fill-color: transparent;
      }

      .descricao {
        font-weight: 500;
        font-size: 20px;
        line-height: 25px;
        color: #ffffff;
      }
    }

    @media screen and (max-width: 992px) {
      .img {
        position: relative;
        padding-bottom: 90%;
        img {
          width: 100%;
          height: 100%;
          position: absolute;
          top: 0;
          left: 0;
          object-fit: cover;
        }
      }
      .content {
        h1 {
          font-size: 30px;
          line-height: 120%;
          margin: 20px 0;
        }

        .descricao {
          font-size: 18px;
          line-height: 120%;
          margin-top: 20px;
        }
        .icon {
          width: 50px;
          height: 50px;
          object-fit: contain;
          margin: 0 auto;
        }
      }
    }

    @media screen and (max-width: 567px) {
      .img {
        padding-bottom: 120%;
      }
      .content {
        h1 {
          font-size: 25px;
          margin: 20px 0;
        }

        .descricao {
          font-size: 16px;
        }
      }
    }
  }

  .fundo_servico {
    background-image: url(/site/imagens/fundo_servico.png);
    background-repeat: no-repeat;
    background-position: left bottom;

    @media screen and (max-width: 992px) {
      & {
        background-position: left center;
        background-size: 100%;
      }
    }
  }

  .content_servico {
    padding: 8.4% 0;

    .img {
      height: 100%;
      position: relative;
      img,
      video {
        width: 100%;
        border-radius: 80px;
        overflow: hidden;
        object-fit: cover;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
      }
    }

    ul {
      --icon-space: 1.4em;
      list-style: none;
      padding: 0;
    }

    li {
      padding-left: Calc(var(--icon-space) + 20px);
      margin-bottom: 60px;
      position: relative;
      max-width: 420px;
      font-weight: 400;
      font-size: 17px;
      line-height: 120%;
      color: #000000;

      &:nth-child(2) {
        margin-left: 15px;
      }
      &:nth-child(3) {
        margin-left: 30px;
      }
      &:nth-child(4) {
        margin-left: 45px;
      }

      h3 {
        font-weight: 400;
        font-size: 25px;
        line-height: 120%;
        background: linear-gradient(180deg, #ff0025 0%, #811336 100%);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
        text-fill-color: transparent;
      }
    }

    li:before {
      content: "";
      margin-left: calc(var(--icon-space) * -1);
      width: var(--icon-space);
      background-image: url(/site/imagens/icon_list.png);
      height: var(--icon-space);
      position: absolute;
      left: 37px;
      top: 4px;
      background-size: cover;
      background-repeat: no-repeat;
    }

    @media screen and (max-width: 1400px) {
      & {
        li {
          font-size: 16px;
          h3 {
            font-size: 22px;
          }
        }
      }
    }
    @media screen and (max-width: 1200px) {
      & {
        li {
          font-size: 16px;
          h3 {
            font-size: 20px;
          }
        }
      }
    }
    @media screen and (max-width: 992px) {
      & {
        li {
          &:nth-child(2) {
            margin-left: 0;
          }
          &:nth-child(3) {
            margin-left: 0;
          }
          &:nth-child(4) {
            margin-left: 0;
          }
        }
        .row {
          .col-lg-6:first-child {
            order: 2;
            margin-top: 40px;
          }
          .col-lg-6:last-child {
            order: 1;
          }
        }
        .img {
          height: 100%;
          padding-bottom: 100%;
          position: relative;
        }
      }
    }
  }

  .servicos {
    .owl-nav {
      position: relative;
      top: unset;
      transform: unset;
      -moz-transform: unset;
      -webkit-transform: unset;
      left: unset;
      width: 100%;
      height: 0;
      display: flex;
      justify-content: center;
      margin-top: 40px;
      gap: 20px;
      button {
        position: relative;
        top: unset;
        transform: unset;
        -moz-transform: unset;
        -webkit-transform: unset;
        &.disabled {
          opacity: 1;
        }
      }
    }

    .single_servico {
      .holder_single_servico {
        justify-content: center;
        padding-top: 105px;
        padding-bottom: 135px;
        background-size: cover;
        background-position: center center;
        position: relative;
        overflow: hidden;
        a {
          text-decoration: none;
          position: relative;
          z-index: 2;
        }

        .info {
          .imagem {
            img {
              width: 130px;
              height: 125px;
              object-fit: contain;
              margin: 0 auto;
            }
          }
        }
      }
    }
    @media screen and (max-width: 1400px) {
      & {
        .single_servico {
          .holder_single_servico {
            .info {
              .imagem {
                img {
                  width: 90px;
                  height: 80px;
                }
              }
            }
          }
        }
      }
    }
  }
}

#contactos {
  overflow: hidden;

  .bloco {
    position: relative;
    .row {
      position: relative;
      z-index: 2;
    }
    a {
      text-decoration: none;
    }
    .forma {
      content: "";
      position: absolute;
      top: 0;
      right: 0;
      width: 50%;
      height: 100%;
      background-image: url(/site/imagens/shape_contactos.svg);
      background-size: auto 100%;
      background-position: center left;
      background-repeat: no-repeat;
      z-index: 1;
      transition: all 0.3s ease-in-out;
      -moz-transition: all 0.3s ease-in-out;
      -webkit-transition: all 0.3s ease-in-out;
      &.active {
        transform: scale(1.1);
        -moz-transform: scale(1.1);
        -webkit-transform: scale(1.1);
      }
    }
  }
  h1 {
    font-weight: 400;
    font-size: 50px;
    line-height: 60px;
    background: linear-gradient(90deg, #ff0025 0%, #811336 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-fill-color: transparent;
    display: flex;
    gap: 30px;
    align-items: center;
    position: relative;

    &:after {
      content: "";
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 4px;
      background: linear-gradient(90deg, #ff0025 0%, #811336 100%);
      opacity: 0;
      visibility: hidden;
      transition: all 0.3s ease-in-out;
      -moz-transition: all 0.3s ease-in-out;
      -webkit-transition: all 0.3s ease-in-out;
    }
  }

  a {
    &:hover {
      h1 {
        &:after {
          opacity: 1;
          visibility: visible;
        }
      }
    }
  }

  .single_contacto {
    display: flex;
    margin-bottom: 10px;
    font-weight: 500;
    color: #000000;
    gap: 30px;

    &,
    a {
      font-size: 20px;
      line-height: 40px;
      text-decoration: none;
      color: inherit;
    }
    a:hover {
      color: #ff4560;
    }
  }

  @media (max-width: 991px) {
    h1 {
      margin-top: 120px;
      font-size: 30px;

      svg {
        display: none;
      }
    }

    h2 {
      font-weight: 500;
      font-size: 30px;
      line-height: 32px;
      background: linear-gradient(90deg, #ff0025 0%, #811336 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
      text-fill-color: transparent;
    }

    .fakebanner {
      height: 80px;
    }

    .bloco {
      padding-bottom: 15px;

      .forma {
        background-image: url(/site/imagens/shape_contactos_mobile.svg);
        background-size: 400px 130px;
        background-position: bottom center;
        width: 100%;

        &.active {
          transform: unset;
          -moz-transform: unset;
          -webkit-transform: unset;
          top: -10px;
        }
      }
    }
  }
}

#pedido-de-informacoes {
  position: relative;
  overflow: hidden;

  &:after {
    content: "";
    position: absolute;
    top: 50%;
    right: 54%;
    width: 130%;
    height: 130%;
    background-image: url(/site/imagens/shape_pedido.svg);
    background-size: auto 100%;
    background-position: center right;
    background-repeat: no-repeat;
    z-index: 1;
    max-width: unset;
    transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
  }

  h1 {
    font-weight: 300;
    font-size: 70px;
    line-height: 79px;
    color: #ffffff;
    max-width: 500px;
    position: relative;
    z-index: 2;
  }

  h2 {
    line-height: 55px;
    color: #ff546d;
    font-size: 40px;
  }

  .form_generico {
    padding-left: 60px;

    input,
    textarea {
      outline: none;
      background: none;
      border: none;
      border-radius: 0;
      border-bottom: 1px solid rgba(0, 0, 0, 1);
      box-shadow: none;

      &:focus {
        border-color: rgba(255, 84, 109, 1);
      }
    }

    textarea {
      resize: vertical;
    }

    label {
      display: flex;
      flex-direction: column-reverse;
      font-weight: 500;
      font-size: 16px;
      line-height: 40px;
      color: rgba(0, 0, 0, 0.64);

      & span {
        transition: all 0.2s;
        transform-origin: top left;
      }
    }

    label > input[placeholder=" "]:not(:focus):placeholder-shown + span,
    label > textarea[placeholder=" "]:not(:focus):placeholder-shown + span {
      transform: translateY(1.7em) scale(1.25);
      pointer-events: none;
      opacity: 0.5;
    }

    button {
      color: #fff;
      padding: 8px 60px;
      background: linear-gradient(90deg, #ff0025 0%, #811336 100%);
      border: 1px solid transparent;
      border-radius: 134px;
      transition: all 0.3s ease-in-out;
      -moz-transition: all 0.3s ease-in-out;
      -webkit-transition: all 0.3s ease-in-out;

      &:hover {
        background: linear-gradient(90deg, #811336 0%, #ff0025 100%);
      }
    }

    .rgpd {
      label {
        font-weight: 500;
        font-size: 16px;
        line-height: 120%;
        color: #000;
        display: block;
        position: relative;
        padding-left: 40px;
        cursor: default;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;
        a {
          color: #000;
        }
        input {
          position: absolute;
          opacity: 0;
          cursor: pointer;
          height: 0;
          width: 0;
        }
        input:checked ~ .checkbox:after {
          display: block;
        }
        input:checked ~ .checkbox {
          background-color: #fff;
        }
        .checkbox {
          position: absolute;
          top: -4px;
          left: 0;
          cursor: pointer;
          width: 27px;
          height: 27px;
          background: #fff;
          border-radius: 6px;
          border: 1px solid #811336;

          &:after {
            content: "";
            position: absolute;
            display: none;
            left: 9px;
            top: 2px;
            width: 9px;
            height: 17px;
            border: solid #f20428;
            border-width: 0 2px 2px 0;
            -webkit-transform: rotate(45deg);
            -ms-transform: rotate(45deg);
            transform: rotate(45deg);
          }
        }
      }
    }
    #contactos_response {
      font-size: 15px;
      line-height: 22px;
    }
  }

  @media (max-width: 991px) {
    h1 {
      font-weight: 400;
      font-size: 20px;
      line-height: 33px;
      text-align: center;
      color: #ffffff;
      margin-top: 100px;
    }

    & {
      overflow: hidden;
    }

    &:after {
      width: 1020px;
      height: 900px;
      border-radius: 50%;
      background: linear-gradient(
        180deg,
        #c50729 0%,
        #c50729 63%,
        #37142d 100%
      );
      left: 50%;
      top: -600px;
      -webkit-transform: translateX(-50%);
      -moz-transform: translateX(-50%);
      -o-transform: translateX(-50%);
      transform: translateX(-50%);
    }

    .form_generico {
      padding: 40px 35px 0;
    }
  }
}
