@import url("https://fonts.googleapis.com/css2?family=Nunito+Sans:ital,opsz,wght@0,6..12,200..1000;1,6..12,200..1000&display=swap");

:root {
  --official-blue: #0434b4;
  --official-red: #e40414;
  --official-green: #04c404;
  --customer-animation-speed: 25s;
}

* {
  background-color: black;
  color: white;
  font-family: "Nunito Sans", sans-serif;
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}

a {
  text-decoration: none;
  scroll-behavior: smooth;
}

span {
  background-color: transparent;
}

ul {
  list-style: none;
}

li {
  margin: 2px;
}

video {
  width: 100%;
  height: 100%;
  box-shadow: -14px 11px 0px 0px var(--official-blue);
}

/* NAVBAR SECTION */

.logo {
  height: auto;
  width: 80px;
  margin-left: 40px;
}

.nav-link {
  color: #fff !important;
}

.navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23ffffff' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
}

.navbar-nav {
  margin-left: 50%;
}

.nav-item {
  margin-left: 5%;
}

@keyframes move-gradient {
  0% {
    background-position: 0 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0 50%;
  }
}

/* HOME SECTION */

.home-section {
  padding-top: calc(
    20vh
  ); /* La mitad de la altura del viewport menos la mitad del alto del contenido */
  padding-bottom: calc(
    20vh
  ); /* La mitad de la altura del viewport menos la mitad del alto del contenido */
  text-align: center;
  background-color: #000;
  background: linear-gradient(
    0deg,
    var(--official-blue),
    rgb(0, 0, 0),
    rgb(0, 0, 0)
  ); /* Fondo con gradiente para la animación */
  animation: move-gradient 1s ease infinite; /* Animación para el fondo */
}

.home-section * {
  background-color: transparent;
}

.home-logo {
  width: 600px;
  padding-bottom: 40px;
}

.home-title {
  padding-bottom: 5%;
  font-weight: 700;
}

.scroll-button-wrapper {
  width: 100%;
  position: relative;
  margin: 20px auto;
}

.scroll-txt {
  color: #fff;
  text-align: center;
  width: 100px;
  margin: 6px auto;
  position: relative;
}

.scroll-button {
  height: 50px;
  width: 28px;
  border: 1px solid #fff;
  border-radius: 14px;
  position: relative;
  margin: 0 auto;
}

.scroll-button::after {
  content: "";
  height: 8px;
  width: 8px;
  top: 14px;
  left: 9px;
  border-radius: 100%;
  background-color: #fff;
  position: absolute;

  -webkit-animation: animate-it 1.5s ease infinite;
  animation: animate-it 1.5s ease infinite;
}

@keyframes animate-it {
  0% {
    -webkit-transform: translateY(0);
    opacity: 0;
  }
  20% {
    -webkit-transform: translateY(-4px);
    opacity: 1;
  }
  60% {
    -webkit-transform: translateY(10px);
    opacity: 1;
  }
  100% {
    -webkit-transform: translateY(10px);
    opacity: 0;
  }
}

/* ABOUT SECTION */

.about-section {
  padding-top: 10%;
  padding-bottom: 10%;
}

.about-title {
  font-weight: 900;
}

.about-words {
  font-weight: 400;
  padding-right: 40px;
  text-align: justify;
}

.company-description {
  font-size: 1em;
  margin-top: 5%;
}

.about-list {
  margin-right: 0;
}

.about-list li {
  margin-top: 5%;
  font-weight: 700;
}

.bi {
  background-color: transparent;
  font-size: 1.4em;
}

.about-list-item {
  margin-left: 1%;
  margin-bottom: 2%;
  line-height: 3px;
}

.first-about-icon {
  color: var(--official-green);
}

.second-about-icon {
  color: var(--official-green);
}

.third-about-icon {
  color: var(--official-green);
}

/* SERVICES SECTION */

.services-container {
  padding-top: 5%;
  padding-bottom: 5%;
}

.services-title {
  font-size: 2.3em;
  text-align: center;
  font-weight: 900;
  padding-bottom: 1%;
}

.services-subtitle {
  text-align: center;
  font-weight: 400;
  padding-bottom: 2%;
  font-size: 1.1em;
}

.card-container {
  margin-top: 10%;
  margin-bottom: 30px;
  border: 2px solid var(--official-green);
  border-radius: 10px;
  padding: 20px;
  margin-left: 5%;
}

.card-img {
  width: 100%;
  height: 240px;
}

.card-title {
  margin-top: 2%;
  font-weight: 600;
  padding-bottom: 1%;
  margin-left: 5%;
}

.consultancy img {
  margin-top: 35px;
}

.infra img {
  margin-top: 35px;
}

.cctv img {
  margin-top: 35px;
}

.card-description {
  font-weight: 400;
  margin-left: 5%;
}

.card-item {
  font-size: 1em;
}

.infra {
  border-color: var(--official-blue);
}

.cctv {
  border-color: var(--official-red);
}

.huella {
  border-color: rgb(252, 137, 44);
}

.alarm {
  border-color: rgb(171, 56, 248);
}

/* .card {
  height: 22rem;
}

.card-consultancy {
  border: 2px solid var(--official-green) !important;
  box-shadow: -21px 20px 0px 3px green;
}

.consultancy-title {
  color: #fff;
  font-weight: 800;
}

.consultancy-subtitle {
  font-size: 0.9em;
}

.consultancy-list {
  padding-left: 0;
}

.consultancy-list li {
  margin-top: 4%;
}

.bi-check2 {
  font-size: 1.1em;
}

.card-infra {
  border: 2px solid var(--official-blue) !important;
  box-shadow: -21px 20px 0px 3px rgb(15, 15, 119);
} */

/* CUSTOMERS SECTION */
.customers-section {
  padding-top: 15%;
  padding-bottom: 10%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.customers-title {
  font-size: 2.3em;
  font-weight: 900;
  text-align: center;
  padding-bottom: 5%;
}

@keyframes scroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(calc(-250px * 7));
  }
}

.slider {
  height: 100px;
  margin: auto;
  overflow: hidden;
  position: relative;
  width: auto;
  padding-bottom: 20px;
}

.slide-track {
  animation: scroll var(--customer-animation-speed) linear infinite;
  display: flex;
  width: calc(250px * 14);
}

.second-slide-track {
  animation: scroll reverse var(--customer-animation-speed) linear infinite;
  display: flex;
  width: calc(250px * 14);
}

.slide {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100px;
  width: 250px;
}

/* SOLUTIONS SECTION */

.solution-section {
  padding-bottom: 20%;
}

.solutions-title {
  font-size: 2.3em;
  font-weight: 900;
  padding-bottom: 5%;
  margin-left: 20%;
}

.circular-image {
  padding-bottom: 5%;
}

.circular-image img {
  width: 150px;
  height: 150px;
  border-radius: 50%;
}

.solution-item-description {
  font-size: 1.2em;
  font-weight: 600;
}

.solution-item-description span {
  font-size: 0.8em;
  font-weight: 400;
}

.solutions-text {
  font-size: 1.1em;
  text-align: justify;
  margin-left: 20%;
  margin-top: 20px;
}

/* CONTACT SECTION */

.contact-section {
  padding-top: 10%;
  padding-bottom: 10%;
}
.contact-title {
  font-size: 2.3em;
  text-align: center;
  font-weight: 900;
  padding-bottom: 1%;
}

.social-media {
  margin-top: 10%;
}

.social-media i {
  font-size: 2em;
  width: 30px;
  height: 30px;
  border-radius: 15%;
  padding: 10px;
}

.bi-whatsapp {
  color: #04c404;
}

.bi-linkedin {
  color: #5675d4;
}

.bi-instagram {
  color: #e40414;
}

.contact-button:hover {
  margin-left: 20px;
}

label {
  display: flex;
  margin: 10px;
}

form {
  width: 50%;
  margin: 0 auto; /* Esto centra el formulario horizontalmente */
}

input,
textarea,
select {
  margin-bottom: 5%;
}

.btn-success {
  margin-top: 1%;
}

.custom-select {
  appearance: none; /* Deshabilita el estilo predeterminado del navegador */
  -webkit-appearance: none; /* Para navegadores basados en WebKit */
  -moz-appearance: none; /* Para navegadores basados en Gecko (Firefox) */
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path fill="%23333" d="M7 9l3 3 3-3z"/></svg>'); /* Agrega una flecha personalizada */
  background-repeat: no-repeat; /* Evita que la flecha se repita */
  background-position: right 0.7em top 50%; /* Posición de la flecha */
  padding-right: 1.5em; /* Espacio para la flecha */
}

.sales {
  border-color: var(--official-blue);
}

.price {
  border-color: var(--official-red);
}

.whatsapp {
  border-color: var(--official-green);
}

.linkedin {
  border-color: #5675d4;
}

.rights {
  color: white !important;
}

.rights-mobile {
  text-align: left;
}

/* RESPONSIVE STYLES */
@media (max-width: 1024px) {
  .nav-item {
    margin-top: 10px;
    text-align: center;
  }

  .navbar-nav {
    margin-left: 0%;
  }

  .nav-item {
    margin-left: 0;
  }

  video {
    box-shadow: none;
  }

  .about-title {
    text-align: center;
    margin-top: 6%;
  }

  .about-words {
    text-align: center;
  }

  .cards {
    padding-right: 20px;
  }

  .card-container {
    padding-right: 20px;
  }

  .card-title {
    padding-top: 6%;
    padding-bottom: 6%;
    text-align: center;
  }

  .card-description {
    text-align: center;
  }

  label {
    display: flex;
    margin: 10px;
    padding-top: 5%;
  }

  form {
    width: 90%;
    margin: 0 auto; /* Esto centra el formulario horizontalmente */
  }

  input,
  textarea,
  select {
    margin-bottom: 5%;
  }

  .btn-success {
    margin-top: 1%;
  }

  .last-navigation {
    display: none;
  }

  .rights-mobile {
    display: flex;
    align-items: center;
    text-align: center;
  }

  .home-section {
    padding-top: calc(10vh - 0px);
    padding-bottom: calc(40vh - 0px);
  }

  .home-logo {
    padding-top: 40%;
    width: 300px;
  }
}
