.bnr_ini {
  padding-top: 10rem !important;
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
}

#homepage_banner {

  min-height: 100vh;
  display: flex;
  align-items: stretch;

  h1 {
    font-size: 3.5rem;
  }

  background-image: url('/assets/images/banner_home.webp');
  color: var(--branco);

  #conteudo {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 50%;

    #span_banner {
      display: flex;
      align-items: flex-start;
      gap: 0.5rem;

      svg {
        width: 1rem;
        height: 1rem;
      }
    }

    h1 {
      margin: 1rem 0 3rem;
    }

    #buttons_banner {
      display: flex;
      gap: 2rem;
      margin-top: 6rem;
    }
  }
}

#homepage_srv_sec {
  background-image: url('/assets/images/bg_ser_hm.webp');
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  color: var(--branco);

  .title_page {
    span {
      color: var(--branco) !important;
    }
  }
}

#qm_sm {
  background-image: url('/assets/images/bn_qm_sm.webp');
}

#srv_bn {
  background-image: url('/assets/images/bn_srv.webp');
}

#cnt_bn {
  background-image: url('/assets/images/bn_cnt.webp');
}

#prd_bn {
  background-image: url('/assets/images/bn_prd.webp');
}


/*--------------------------------------------------*/
/*--------------------------------------------------*/
/*--------------------------------------------------*/


.section {
  padding: 5rem var(--padding_page);
  position: relative;
  overflow: hidden;
}

.sec1 {
  display: flex;
  gap: 3rem;

  .con_l {
    flex: 3;
    display: flex;
    gap: 3rem;
    flex-direction: column;
    justify-content: space-between;
    align-items: start;

    .c_l {
      display: flex;
      flex-direction: column;
    }
  }

  .con_r {
    flex: 2;
    position: relative;

    img {
      border-radius: 10px;
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
  }
}

.sec2 {
  display: flex;
  gap: 3rem;
  flex-direction: column;
  align-items: center;
  text-align: center;

  .con_b {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 3rem;

    /*
    img {
      width: auto;
      height: 80px;
      object-fit: contain;
      transition: all ease 0.3s;
      filter: brightness(0) opacity(0.3);
    }

    img:hover {
      filter: none;
      cursor: pointer;
    }
    */
  }
}

.sec3 {
  display: flex;
  gap: 3rem;
  flex-direction: column;
  align-items: center;
  text-align: center;

  .con_b {
    width: 100%;
    display: flex;
    justify-content: center;
    gap: 2rem;

    .videos_wrapper{
      width: 100%;
      padding: 0 15%;
    }
  }

  button {
    z-index: 1;
  }
}

.sec_srv {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3rem;
  padding-top: 0;

  .srv_comp {
    display: flex;
    align-items: center;
    gap: 2rem;

    >span {
      color: var(--laranja);
      font-size: 3rem;
    }

    .comp_item {
      position: relative;
      overflow: hidden;
      border-radius: 10px;
      width: 300px;
      height: 300px;
      box-shadow: 0px 4px 4px #00000030;

      img {
        width: 100%;
        height: 100%;
      }

      span {
        position: absolute;
        bottom: 0;
        width: 100%;
        text-align: center;
        left: 50%;
        transform: translateX(-50%);
        padding: 0.7rem;
        color: var(--branco);
        background-color: var(--laranja);
      }
    }
  }
}

.sec_cnt {
  display: flex;
  gap: 3rem;

  hr {
    margin: 0;
  }

  #cnt_d_mb {
    display: none;
  }

  #cnt_l,
  #cnt_r {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 4rem;
  }

  #cnt_l {

    .c_l_infos {
      display: flex;
      flex-direction: column;
      gap: 1rem;

      .cl_inf_t {
        display: flex;
        align-items: center;
        gap: 0.7rem;

        span {
          color: var(--laranja);
        }
      }

      p>a {
        color: var(--laranja);
      }

      .redes_mb {
        padding: 0;
        padding-top: 1rem;

        a {
          width: 3rem;

          svg path {
            fill: var(--font) !important;
            transition: 0.3s ease;
          }
        }

        a:hover svg path {
          fill: var(--laranja) !important;
        }
      }
    }
  }

  div#map {
    width: 100%;
    height: 100%;
    border-radius: 10px;
    padding: 0.5rem;
    background: var(--branco);
    box-shadow: 0px 4px 4px #00000030;
  }
}


.form_ly {
  display: flex;
  flex-direction: column;
  gap: 1rem;

  #prod_soli {
    margin-bottom: 2rem;

    .label {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 0.5rem;
    }
  }

  input,
  textarea {
    width: 100%;
    padding: 1rem;
    border: 2px solid var(--cinza);
    border-radius: 7px;
    font-size: 1rem;
    transition: 0.3s ease;
    outline: none;
  }

  input:not(.readonly):hover,
  textarea:hover {
    border-color: var(--laranja);
  }

  input:not(.readonly):focus,
  textarea:focus {
    border-color: var(--laranja);
  }

  input.readonly {
    background-color: var(--fundo) !important;
    color: var(--font) !important;
    cursor: default;
  }

  >div {
    display: flex;
    gap: 1rem;
  }

  button {
    justify-content: center;
    padding: 1rem !important;
  }

  div#btns_form {
    margin-top: 2rem;

    button {
      margin: 0;
    }
  }
}








.sec_list_gp {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}

#grupos {

  .grupo {
    display: flex;
    padding: 1.5rem;
    gap: 2rem;
    border-radius: 10px;
    box-shadow: 0px 4px 4px #00000030;
    background-color: var(--branco);
    transition: all 0.5s ease;

    .prd_img {
      flex: 2;
      display: flex;
      position: relative;
      height: 100%;

      img {
        transition: all 0.5s ease;
      }

      .grupo-capa {
        width: 80%;
        height: 80%;
        border-radius: 5px;
        object-fit: cover;
      }

      .grupo-capa-item {
        position: absolute;
        width: 50%;
        height: 100%;
        object-fit: contain;
        object-position: bottom right;
        right: 0;
        bottom: 0;
      }
    }

    .prd_dsc {
      flex: 3;
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      justify-content: space-between;

      >div {
        display: flex;
        flex-direction: column;
        gap: 1rem;
      }

      hr {
        margin: 0 !important;
        width: 100%;
      }
    }

    button {
      margin-top: 2rem;
    }
  }

  .grupo:hover {
    transform: translateY(-3px);
    box-shadow: 0px 10px 14px #00000030;

    .grupo-capa {
      width: 70%;
      height: 70%;
    }

    .grupo-capa-item {
      width: 120px;
    }
  }
}

#desc_prod {
  display: flex;
  flex-direction: column;
  gap: 3rem;

  #descricao_prd {
    flex: 3;

    h1 {
      margin-bottom: 2rem;
      font-weight: bold;
    }
  }

  #uso_prd {
    flex: 1;
    padding: 2rem;
    border-radius: 10px;
    background-color: var(--branco);
    box-shadow: 0px 4px 4px #00000030;

    h2 {
      margin-bottom: 2rem;
      color: var(--laranja);
    }

    ul {
      column-count: 2;
      column-gap: 2rem;
      list-style: none;

      li {
        break-inside: avoid;
        display: flex;
        align-items: center;
        gap: 1rem;
        margin-bottom: 1rem;

        .check_desc_prod {
          color: var(--laranja);
          font-size: 2rem;
        }
      }
    }
  }
}

#produtos {
  grid-template-columns: repeat(3, 1fr) !important;
}

#list_prod {
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 3rem;

  .produto {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 2rem;
    padding: 2rem;
    border-radius: 10px;
    background-color: var(--branco);
    box-shadow: 0px 4px 4px #00000030;
    overflow: hidden;

    hr {
      margin: 0;
    }

    .bg_hover_f {
      position: absolute;
      z-index: 0;
      width: 100%;
      height: 0;
      background-color: var(--font);
      opacity: 0;
      top: 0;
      left: 0;
      transition: all 0.3s ease;
    }

    .bg_hover_f_hover {
      opacity: 0.6;
      height: 100%;
    }

    .prd_info {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      padding: 1rem;
      gap: 1rem;
      transition: all 0.3s ease;

      .prd_icons_p {
        display: flex;
        flex-direction: column;
        gap: 1rem;
        position: absolute;
        right: 0;
        top: 0;
        padding: 1rem;

        svg {
          width: 2.5rem;
          height: 2.5rem;
        }
      }

      .prd_info_icon {
        color: var(--laranja);
        transition: all 0.3s ease;
        z-index: 1;

        span {
          font-size: 2.5rem;
        }
      }

      .prd_info_icon_hover {
        color: var(--branco);
        cursor: pointer;
      }

      .prd_info_dth {
        width: 100%;
        opacity: 0;
        pointer-events: none;
        transform: translateY(30px);
        display: flex;
        padding: 1.5rem;
        text-align: left;
        flex-direction: column;
        gap: 1.5rem;
        background-color: var(--branco);
        border-radius: 5px;
        box-shadow: 0 4px 4px #00000030;
        z-index: 1;
        transition: all 0.3s ease;

        h3 {
          margin-bottom: 1rem;
        }
      }

      .prd_info_dth_hover {
        opacity: 1;
        transform: translateY(0);
        pointer-events: auto;
      }
    }


    .prd_img {
      flex: 1;
      display: flex;

      .produto-capa {
        width: 100%;
        height: 180px;
        margin: auto;
        object-fit: contain;
      }
    }

    .prd_dsc {
      flex: 3;
      text-align: left;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      gap: 1rem;

      .qntd {
        display: flex;
        gap: 0.5rem;
        flex-wrap: wrap;
        padding: 1rem 0;

        span {
          padding: 0.5rem 1rem;
          border-radius: 5px;
          background-color: var(--fundo);
          color: var(--font);
          font-weight: bold;
          font-size: 0.7rem;
        }
      }

      .prd_cont {
        display: flex;
        flex-direction: column;
        gap: 2rem;

        .pdr_desc {
          display: flex;
          flex-direction: column;
          gap: 1rem;
        }
      }

      .pdr_head {
        display: flex;
        flex-direction: column;
        gap: 1rem;
      }

      h2 {
        color: var(--laranja);
      }
    }

    button {
      justify-content: space-between;
      margin-top: 1rem;
    }
  }
}


/*--------------------------------------------------*/
/*--------------------------------------------------*/
/*--------------------------------------------------*/


.service_container_hm {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  overflow: hidden;
  border-radius: 10px;
  max-width: 350px;
  flex: 1;
  padding: 2rem;
  color: var(--branco);

  hr {
    margin: 0;
    border-color: var(--branco) !important;
  }

  img {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    height: 100%;
    width: 100%;
    transition: all 0.3s ease;
    transform-origin: center;
  }

  .service_cont_t {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    z-index: 2;
    gap: 3rem;
    width: 100%;

    .service_c_t {
      display: flex;
      flex-direction: column;
      gap: 1rem;
      text-align: left;
    }
  }
}

.service_container_hm:hover img {
  transform: scale(1.1);
}

.qm_prd_srv_bl {
  position: relative;
  overflow: hidden;
  color: var(--font);
  box-shadow: 0px 4px 4px #00000030;

  .bkp_qm_ps {
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 70%;
    background: var(--branco);
  }

  .service_cont_t {
    align-items: center !important;
    margin: 2rem auto 0;
    padding: 2rem 2rem 0;
    background-color: var(--branco);
    border-radius: 10px;
    justify-content: space-between;
    height: 100%;

    .service_c_t {
      width: 100%;

      h2 {
        text-align: center;
      }

      hr {
        border-color: var(--laranja) !important;
      }

      ul {
        display: flex;
        flex-direction: column;
        gap: 1rem;
        margin-top: 1rem;
      }
    }
  }
}


/*--------------------------------------------------*/
/*--------------------------------------------------*/
/*--------------------------------------------------*/

.msv_obj {
  display: flex;
  background: var(--branco);
  border-radius: 10px;
  padding: 1.5rem;
  padding-left: 4rem;
  box-shadow: 0px 4px 4px #00000030;
  text-align: left;
  position: relative;
  padding-left: 4.5rem;
  width: 95%;
  margin-left: 2rem;

  .msv_icon {
    position: absolute;
    z-index: 1;
    left: -2rem;
    top: 50%;
    transform: translateY(-50%);
    width: 3rem;
    height: 3rem;

    svg {
      width: 100%;
      height: 100%;
    }
  }

  .msv_icon::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 5rem;
    height: 5rem;
    border: 0.7rem solid var(--fundo);
    background-color: var(--laranja);
    border-radius: 50%;
    z-index: -1;
  }

  .msv_content {
    h2 {
      margin-bottom: 1rem;
    }
  }
}


/*--------------------------------------------------*/
/*--------------------------------------------------*/
/*--------------------------------------------------*/


.swiper {
  width: 100%;
  height: 100%;
  padding: 40px !important;
}

.swiper-wrapper {
  align-items: center;
}

.swiper-slide {
  display: flex;
  justify-content: center;
  align-items: center;
  transition: transform 0.4s, filter 0.4s;
  filter: grayscale(100%);
}

.swiper-slide-active {
  filter: grayscale(0%);
}

.swiper-slide img {
  max-width: 160px;
  max-height: 80px;
  object-fit: contain;
  transition: transform 0.4s ease, filter 0.4s ease;
}

/* Slide central (ativo) */
.swiper-slide-active img {
  filter: grayscale(0%);
  transform: scale(1.5) !important;
}



/*--------------------------------------------------*/
/*--------------------------------------------------*/
/*--------------------------------------------------*/
/*--------------------------------------------------*/
/*--------------------------------------------------*/
/*--------------------------------------------------*/


/* Responsivo */
@media (max-width: 1200px) {

  .bnr_ini,
  #homepage_srv_sec {
    background-attachment: initial !important
  }

  #conteudo {
    width: 100% !important;
  }

  .sec1 {
    flex-direction: column-reverse;
    align-items: center;

    img {
      min-width: unset;
      width: 100%;
    }
  }

  .sec3 .con_b {
    flex-direction: column;
    align-items: center;

    .videos_wrapper{
      padding: 0 !important;
    }

    .service_container_hm {
      max-width: unset;
    }
  }

  .srv_comp {
    flex-direction: column;

    >span {
      rotate: 90deg;
    }
  }

  .sec_cnt {
    flex-direction: column;
    gap: 4rem;

    #cnt_d_mb {
      display: block;
    }

    div#map {
      height: 400px !important;
    }
  }

  #grupos .grupo {
    flex-direction: column;
  }

  #produtos {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 768px) {
  #buttons_banner {
    flex-direction: column;
    align-items: center;
  }

  .msv_obj {
    padding-left: 1.5rem;
    padding-top: 4.5rem;
    margin-left: 0;
    margin-top: 4rem;
    width: 100%;

    .msv_icon {
      top: -2rem;
      left: 50%;
      transform: translateX(-50%);
    }
  }

  .sec_list_gp {
    grid-template-columns: 1fr;
  }

  #produtos {
    grid-template-columns: repeat(1, 1fr) !important;
  }

  .swiper {
    padding: 40px 0 !important;
  }


  #desc_prod {
    flex-direction: column;

    #uso_prd {
      ul {
        column-count: 1;
      }
    }
  }

  .form_ly>div {
    flex-direction: column;
  }

  #btns_form {
    flex-direction: column-reverse;
  }
}