/* Resetando margens e paddings */
*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Nunito', sans-serif;
} 
html, body {
    max-width: 100vw;
    overflow-x: hidden; /* Impede scroll horizontal */
}
header{
    min-height: 100vh !important;
    /*background-color: rgba(33, 44, 63, 0.2);*/
    background: rgb(211, 213, 217);
    background: linear-gradient(180deg, 
                                rgba(211, 213, 217, 0.2) 0%,
                                rgba(69, 124, 173, 0.3) 15%, 
                                rgba(69, 124, 173, 0.3) 30%, 
                                rgba(69, 124, 173, 0.3) 70%, 
                                rgba(211, 213, 217, 0.2) 100%);
}
footer{
    background: rgba(0, 0, 80, 0.7);
}
#how_works_bg {
    background: rgb(211, 213, 217);
    background: linear-gradient(180deg, 
                                rgba(211, 213, 217, 0.2) 0%, 
                                rgba(69, 124, 173, 0.3) 30%, 
                                rgba(69, 124, 173, 0.3) 70%, 
                                rgba(211, 213, 217, 0.2) 100%);
    min-height: 100vh !important;  
}
#products_bg{
    background: rgb(211, 213, 217);
    background: linear-gradient(180deg, 
                                rgba(211, 213, 217, 0.2) 0%, 
                                rgba(69, 124, 173, 0.3) 30%, 
                                rgba(69, 124, 173, 0.3) 70%, 
                                rgba(211, 213, 217, 0.2) 100%);
    min-height: 100vh !important;  
}
#about_emp_bg{
    background: rgb(211, 213, 217);
     background: linear-gradient(180deg, 
                                rgba(211, 213, 217, 0.2) 0%, 
                                rgba(69, 124, 173, 0.3) 30%, 
                                rgba(69, 124, 173, 0.3) 70%, 
                                rgba(211, 213, 217, 0.2) 100%);
    min-height: 100vh !important;    
}
#contact_bg{
    background: rgb(211, 213, 217);
    background: linear-gradient(180deg, 
                                rgba(211, 213, 217, 0.2) 0%, 
                                rgba(69, 124, 173, 0.3) 30%, 
                                rgba(69, 124, 173, 0.3) 70%, 
                                rgba(211, 213, 217, 0.2) 100%);
    min-height: 100vh !important;      
}
.container_grid {
    display: grid;
    grid-template-columns: 1fr 1fr; /* Duas colunas: uma para a logo e outra para o texto */
    grid-template-rows: auto auto; /* Duas linhas: uma para a logo e uma para o conteúdo */
    grid-template-areas:
        "logo header"
        "image text"; /* Organizando a imagem e o texto abaixo da logo e do título */
    gap: 1.5rem; /* Espaçamento entre os itens */
    align-items: start; /* Alinha o conteúdo no topo */
}
/* Container centralizado */
.container{
    width: 85vw;
    margin: 30px;
}
.flex_column {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.flex_row {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
}
.logo {
    width: 300px;
    height: 80px;
    object-fit: cover;
}
.background_rgba33_44_63_0_9 {
    background-color: rgba(33, 44, 63, 0);
    width: 100%;
}
h2 {
    text-align: left;
    font-size: 2.1em;
    font-weight: bold;
    color: #fff;
    text-shadow: 0.6px 0.6px 0px black, -0.6px -0.6px 0px black, 0.6px -0.6px 0px black, -0.6px 0.6px 0px black;
    letter-spacing: 3px;
}
/* Ajuste da imagem */
#img_compiutersGuy{
    width: 80%;
    max-width: 600px;
    object-fit: cover;
}
/* Imagem dos dispositivos */
.device-image {
    max-width: 100%;
    object-fit: cover;
}
/* Estilo para o texto grande e o texto menor */
.text-large, .text-small {
    color: #555b75;
    font-size: 1.2em;
    margin-top: 1em;
} 
.text-small {
    font-size: 1em;
}
.ul-style{
  list-style-type: disc;
}
.ul-style li{
  list-style-type: disc;
}
ul li {
    text-decoration: none;
    list-style-type: none;
}
.li_hover{
  transition: all 0.3s ease;
  padding: 2px;
}
.li_hover:hover{
  background-color: rgb(150, 190, 225);
  border-radius: 7px;
}
/* Estilo para listas */                      
#menuBar li {
    text-decoration: none;
    list-style-type: none;
    font-size: 1.3em;
    color: #555b75;
    font-weight: bold;
    cursor: pointer;
}
/* Estilo para botões */
.btn{
    padding: 12px;
    border-radius: 50px;
    border: none;
    background-color: #52658e;
    color: white;
    font-size: 1em;
    margin-top: 10px;
    cursor:pointer;
}
#knowMore:hover{
    background-color: #525276;
}
.swiper {
    width: 80%;
    display: block;
}
.swiper-wrapper{
    padding: 20px 0px 0px 0px;
    min-height: 400px;
    width: 100%;
}
.swiper-slide{
    margin: 0px 10px 0px 10px;
    max-width: 400px;
    height: 300px;
    padding: 15px 35px 10px 35px;
    border-radius: 8px;
    background-color: rgba(255, 255, 255, 0.5);
    border: 1px solid grey;
}
.swiper-button-next, .swiper-button-prev{
    top: var(--swiper-navigation-top-offset, 80%);
    margin-top: 10px;
} 
.swiper-button-next{
    right: var(--swiper-navigation-right-offset, 40%);
}
.swiper-button-prev{
    left: var(--swiper-navigation-left-offset, 40%);
}
.swiper-button-next, .swiper-button-prev{
    color:#A9A9A9;
}
.swiper-button-next:hover, .swiper-button-prev:hover{
    color:#808080;
}
/*.swiper-button-prev:after{
        content: 'next';
}
.swiper-button-next:after{
         content: 'prev';
}*/
input,textarea{
    width: 100%;
    max-width: 400px;
    height: 40px;
    border: 1px solid grey;
    border-radius:5px;
    padding: 10px;
}
textarea{                               
    min-height: 200px;
    resize: vertical;
}
.btn_action{
    padding: 5px;
    border-radius: 10px;
    border: none;
    background-color: #52658e;
    color: white;
    font-size: 1em;
    margin-top: 10px;
    width: 100px;
    cursor: pointer;
    transition: all 0.2s ease-in-out; /* Para suavizar o efeito */
}
.limpa:hover{
    background:linear-gradient(rgba(255,0,0,0.5) , blue 200%) ;
}
.envia:hover{
    background:linear-gradient(#00FA9A , blue 200%) ;
}
.envia:active{
    box-shadow: 0px -1px 3px 1px #4F4F4F inset;
    transform: translateY(1px); /* Opcional: move o botão um pouco para baixo para simular o efeito de afundamento */
}
.limpa:active {
    box-shadow: 0px -1px 3px 1px #4F4F4F inset;
    transform: translateY(1px); /* Opcional: move o botão um pouco para baixo para simular o efeito de afundamento */
}
#VerticalNavBar ul li{
    border-radius: 50%;
    border:1px solid black;
    width: 16.5px;
    height: 16.5px;
    background: rgba(69, 124, 173, 0.4);
    cursor: pointer;
}
#VerticalNavBar ul li:hover{
    background: rgba(69, 124, 173, 0.8);                        
}
/* Definindo a animação que alterna as cores */
@keyframes rgbCycle {
    0% {
        box-shadow: 0 0 15px 10px rgba(124, 216, 255, 0.7);
    }
    25% {
        box-shadow: 0 0 15px 10px rgba(255, 0, 150, 0.7);  /* Cor rosa */
    }
    50% {
        box-shadow: 0 0 15px 10px rgba(0, 255, 0, 0.7);    /* Cor verde */
    }
    75% {
        box-shadow: 0 0 15px 10px rgba(255, 255, 0, 0.7);   /* Cor amarela */
    }
    100% {
        box-shadow: 0 0 15px 10px rgba(124, 216, 255, 0.7);  /* Cor azul */
    }
}
#slideCustom {
    display: flex;
    flex-direction:column;
    color: rgb(46, 66, 79);
    align-items: center;
    gap:20px;
    /*box-shadow: 0 0 15px 10px rgba(124, 216, 255, 0.7);
    animation: rgbCycle 5s infinite;
    transition: box-shadow 0.3s ease-in-out;           */
}
#slideCustom h3{
    text-align:center !important;
    hyphens: none;
}
.swiper-slide ul {
    list-style-type: none;
}
.swiper-slide ul li {
    position: relative; /* Para posicionar o traço */
    padding-left: 20px; /* Espaço para o traço antes do texto */
}
.swiper-slide ul li::before {
    content: "-";
    position: absolute;
    left: 0; 
    top: -9px;
    font-size: 28px; 
    font-size: bold;
}
.swiper-slide h3 {
    text-align: center;
    position: relative;
}
.swiper-slide h3::after {
    content: '';  /* Necessário para criar o pseudo-elemento */
    position: absolute;
    bottom: 0;  /* Coloca a borda na parte inferior */
    left: 50%;  /* Centraliza o pseudo-elemento */
    transform: translateX(-50%);  /* Ajusta para centralizar a borda */
    height: 2px;  /* Espessura da borda */
}
#sliH31::after {
    width: 55%; 
    background-color: #4169E1;
}
#sliH32::after {
    width: 75%; 
    background-color: #FF6565;
}
#sliH33::after {
    width: 75%; 
    background-color: #FFD700;
}
#sliH34::after {
    width: 65%; 
    background-color: #3CB371;
}

#sliH35::after {
    width: 95%; 
    background-color: #FF00FF;
}
.swiper-slide li{
    color: rgb(47, 79, 79);
}
.swiper-slide ul, p{
    margin-top: 10px;
}
.swiper-slide b,p{
    color: rgb(46, 66, 79);
}
.swiper-slide{
  text-align:justify;
  hyphens: auto;
}
#hamburger {
    display: none;
    width: 30px;
    height: 22px;
    flex-direction: column;
    justify-content: space-between;
    cursor: pointer;
}
#hamburger span {
    height: 3px;
    background: #555b75;
    border-radius: 2px;
    transition: transform 0.35s ease, opacity 0.35s ease;
} 



@media (max-width: 365px){
   .nav-wrapper {
      position: relative;
      width: 100%; 
      display: flex;
      justify-content: center;    
      align-items: center;                
  }
  #hamburger {
      position: relative;
      z-index: 1001;
      display: flex;
  }
  #menuBar {
      position: absolute;
      top: 100%; /* abaixo do header / hamburger */
      left: 0;
      width: 100%;
      background: rgba(211, 213, 217, 0.95);
      display: flex;
      flex-direction: column;
      gap: 20px;
      padding: 20px 0;
      transform: translateY(-15px);
      opacity: 0;
      align-items: stretch;
      pointer-events: none;
      transition: transform 0.35s ease, opacity 0.35s ease;
      z-index: 1000;
  }
  #menuBar.active {
      transform: translateY(0);
      opacity: 1;
      pointer-events: auto;
  }
  #hamburger.active span:nth-child(1) {
      transform: rotate(45deg) translate(5px, 5px);
  }
  #hamburger.active span:nth-child(2) {
      opacity: 0;
  }  
  #hamburger.active span:nth-child(3) {
      transform: rotate(-45deg) translate(5px, -5px);
  }
  #menuBar li {
      display: block;
      width: 100%;
      padding: 12px 0;
      text-align: center;
      font-size: 1.2em;
  }
  .container {
      width: 90vw;
      margin: 15px auto;
  }
  .container_grid {
      grid-template-columns: 1fr;
      grid-template-areas:
        "logo"
        "header"
        "image"
        "text";
  }
  .logo {
      padding-top: 10vw;
      width: 240px;
      height: auto;
  }
  #otimize{
    padding-top: 1em;
  } 
  h2 {
      font-size: 1.6em;
      text-align: center;
  }
  .lower_h2 {
      font-size: 1.6em;
      text-align: start;
      margin: 10px 30px;
  }
  .text_center{
      padding: 0px 15px;
  } 
  .flex_row {
      flex-direction: column;
      justify-content: center;
      width: 100%;
      max-width: 480px;  
  } 
  .flex_row_contato {
      display: flex;
      flex-direction: row !important;
      justify-content: center !important;
      align-items: center !important;
      width: 100%;
      max-width: 480px;
      padding: 0px 36vw;
  }
  .flex_column {
      width: 100%;
      max-width: 480px;
  }  
  #img_compiutersGuy {
      width: 90%;
  }  
  #devices {
      display: none;
  }  
  input, textarea {
      width: 100%;
      max-width: 400px;
  } 
  .swiper {
      width: 80%;
  } 
  .swiper-wrapper{ 
      padding: 20px 0px 0px 0px;
      min-height: 600px;
      width: 80%;
  }
  .swiper-slide{
      margin: 0px 10px 0px 10px;
      max-width: 74vw;
      height: 480px;
      padding: 15px 35px 10px 35px;
      border-radius: 8px;
      background-color: rgba(255, 255, 255, 0.5);
      border: 1px solid grey;
  }
  .swiper-button-next {
      right: 20%;
  }
  .swiper-button-prev {
      left: 20%;
  }
  #VerticalNavBar{
      display: none;
  }
  #VerticalNavBar ul{
      display: none;
  }
}
    

             
  /* celulares pequenos */
@media (min-width: 366px) and (max-width: 480px) {
  .nav-wrapper {
      position: relative;
      width: 100%; 
      display: flex;
      justify-content: center;    
      align-items: center;                
  }
  #hamburger {
      position: relative;
      z-index: 1001;
      display: flex;
  }
  #menuBar {
      position: absolute;
      top: 100%; /* abaixo do header / hamburger */
      left: 0;
      width: 100%;
      background: rgba(211, 213, 217, 0.95);
      display: flex;
      flex-direction: column;
      gap: 20px;
      padding: 20px 0;
      transform: translateY(-15px);
      opacity: 0;
      align-items: stretch;
      pointer-events: none;
      transition: transform 0.35s ease, opacity 0.35s ease;
      z-index: 1000;
  }
  #menuBar.active {
      transform: translateY(0);
      opacity: 1;
      pointer-events: auto;
  }
  #hamburger.active span:nth-child(1) {
      transform: rotate(45deg) translate(5px, 5px);
  }
  #hamburger.active span:nth-child(2) {
      opacity: 0;
  }  
  #hamburger.active span:nth-child(3) {
      transform: rotate(-45deg) translate(5px, -5px);
  }
  #menuBar li {
      display: block;
      width: 100%;
      padding: 12px 0;
      text-align: center;
      font-size: 1.2em;
  }
  .container {
      width: 90vw;
      margin: 15px auto;
  }
  .container_grid {
      grid-template-columns: 1fr;
      grid-template-areas:
        "logo"
        "header"
        "image"
        "text";
  } 
  .logo {
      padding-top: 10vw;
      width: 240px;
      height: auto;
  }  
  #otimize{
    padding-top: 1em;
  }  
  h2 {
      font-size: 1.6em;
      text-align: center;
  }
  .lower_h2 {
      font-size: 1.6em;
      text-align: start;
      margin: 10px 30px;
  }
  #alta_tec{
      hyphens: auto;
  }
  .text_center{
      padding: 0px 15px;
  }  
  .flex_row {
      flex-direction: column;
      justify-content: center;
      width: 100%;
      max-width: 480px;  
  }  
  .flex_row_contato {
      display: flex;
      flex-direction: row !important;
      justify-content: center !important;
      align-items: center !important;
      width: 100%;
      max-width: 480px;
      padding: 0px 36vw;
  }
  .flex_column {
      width: 100%;
      max-width: 480px;
  }    
  #img_compiutersGuy {
      width: 90%;
  }  
  #devices {
      display: none;
  }  
  input, textarea {
      width: 100%;
      max-width: 400px;
  }  
  .swiper {
    width: 80%;
  }
  .swiper-wrapper{ 
    padding: 20px 0px 0px 0px;
    min-height: 390px;
    width: 80%;
  }
  .swiper-slide{
      margin: 0px 10px 0px 10px;
      max-width: 76vw;
      height: 300px;
      padding: 15px 35px 10px 35px;
      border-radius: 8px;
      background-color: rgba(255, 255, 255, 0.5);
      border: 1px solid grey;
  } 
  .swiper-button-next {
      right: 40%;
  } 
  .swiper-button-prev {
      left: 40%;
  }
  #VerticalNavBar{
      display: none;
  }
  #VerticalNavBar ul{
      display: none;
  }
}
     


  /* celulares em geral */
@media (min-width: 481px) and (max-width: 768px) {
.nav-wrapper {
      position: relative;
      width: 100%; 
      display: flex;
      justify-content: center;    
      align-items: center;                
  }
  #hamburger {
      position: relative;
      z-index: 1001;
      display: flex;
  }
  #menuBar {
      position: absolute;
      top: 100%; /* abaixo do header / hamburger */
      left: 0;
      width: 100%;
      background: rgba(211, 213, 217, 0.95);
      display: flex;
      flex-direction: column;
      gap: 20px;
      padding: 20px 0;
      transform: translateY(-15px);
      opacity: 0;
      align-items: stretch;
      pointer-events: none;
      transition: transform 0.35s ease, opacity 0.35s ease;
      z-index: 1000;
  }
  #menuBar.active {
      transform: translateY(0);
      opacity: 1;
      pointer-events: auto;
  }
  #hamburger.active span:nth-child(1) {
      transform: rotate(45deg) translate(5px, 5px);
  }
  #hamburger.active span:nth-child(2) {
      opacity: 0;
  } 
  #hamburger.active span:nth-child(3) {
      transform: rotate(-45deg) translate(5px, -5px);
  }
  #menuBar li {
      display: block;
      width: 100%;
      padding: 12px 0;
      text-align: center;
      font-size: 1.2em;
  }
  .container {
      width: 90vw;
      margin: 15px auto;
  }
  .container_grid {
      grid-template-columns: 1fr;
      grid-template-areas:
        "logo"
        "header"
        "image"
        "text";
  } 
  .logo {
      padding-top: 25vw;
      width: 240px;
      height: auto;
  } 
  #logo2{
    padding: 0px;
  }
  #otimize{
    padding-top: 2em;
  }  
  h2 {
      font-size: 1.6em;
      text-align: center;
  }
  .lower_h2 {
      font-size: 1.6em;                     
      text-align: start;
      margin: 20vw 10vw 0px 10vw;
  }
  #alta_tec{
      hyphens: auto;
  }
  .text_center{
      padding: 0px 15px;
  } 
  .flex_row {
      flex-direction: column;
      justify-content: center;
      width: 100%;
      max-width: 768px;  
  } 
  .flex_row_contato {
      display: flex;
      flex-direction: row !important;
      justify-content: center !important;
      align-items: center !important;
      width: 100%;
      max-width: 768px;
      padding: 0px 42vw;
  }
  .flex_column {
      width: 100%;
      max-width: 768px;
  }
  #img_compiutersGuy {
      width: 100%;
  } 
  #devices {                                                    
      display: none;
  }
  input, textarea {
      width: 100%;
      max-width: 768px;
  }
  .swiper {
    width: 80%;
  }
  .swiper-wrapper{ 
    padding: 20px 0px 0px 0px;
    min-height: 390px;
    width: 80%;
  }  
  .swiper-slide{
      margin: 0px 10px 0px 10px;
      max-width: 76vw;
      height: 300px;
      padding: 15px 35px 10px 35px;
      border-radius: 8px;
      background-color: rgba(255, 255, 255, 0.5);
      border: 1px solid grey;
  }
  #VerticalNavBar{
      display: none;
  }
  #VerticalNavBar ul{
      display: none;
  }
}


      
  /* tablets */
@media (min-width: 769px) and (max-width: 1024px) {
  .logo {
    width: 240px;
    height: 80px;
    object-fit: cover;
  }
  #devices {
    display: none;
  }
  .container_grid {
    display: grid;
    grid-template-columns: 1fr; /* Duas colunas: uma para a logo e outra para o texto */
    grid-template-rows: auto auto; /* Duas linhas: uma para a logo e uma para o conteúdo */
    grid-template-areas:
        "logo header"
        "image text"; /* Organizando a imagem e o texto abaixo da logo e do título */
    gap: 1.5rem; /* Espaçamento entre os itens */
    align-items: start; /* Alinha o conteúdo no topo */
  }
  .swiper {
    width: 90%;
  }
  .swiper-wrapper{
      padding: 20px 0px 0px 0px;
      min-height: 510px;
      width: 100%;
  }
  .swiper-slide{
      margin: 0px 10px 0px 10px;
      max-width: 400px;
      height: 400px;
      padding: 15px 35px 10px 35px;
      border-radius: 8px;
      background-color: rgba(255, 255, 255, 0.5);
      border: 1px solid grey;
  }
  #logo2{
    width: 300px;
  }
}
    
    
    
  /* desktops e notebooks */
@media (min-width: 1025px) and (max-width: 1440px) {
  .swiper-wrapper{
      padding: 20px 0px 0px 0px;
      min-height: 550px;
      width: 100%;
  }
  .swiper-slide{
      margin: 0px 10px 0px 10px;
      max-width: 500px;
      height: 430px;
      padding: 15px 35px 10px 35px;
      border-radius: 8px;
      background-color: rgba(255, 255, 255, 0.5);
      border: 1px solid grey;
  }
}