@font-face {
  font-family: Controller5;
  src: url(assets/Controller_Five.otf);
}
@font-face {
  font-family: Controller4;
  src: url(assets/Controller_Four.otf);
}

@font-face {
  font-family: Controller3;
  src: url(assets/Controller_Three.otf);
}

/* ESTILO GENERAL */

body,
header,
footer {
  height: 100%;
  width: 100%;
  margin: 0;
}

/* HEADER */
.menu {
  z-index: 11;
  font-size: 0.7em;
  display: flex;

  width: 100%;
  position: fixed;
  color: white;
  height: 80px;
  font-family: Controller4;
}

.menu-container {
  display: flex;
  flex-direction: row;
  padding: 0 15rem;

  max-height: 3rem;
  background-color: rgb(40, 48, 58);
  width: 100%;
}

.menu-links {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  list-style: none;
  padding: 0;
  margin: 0;
}
.menu-img {
  width: 30px;
}

.menu-item {
  position: relative;
  height: 100%;
}

.menu-link {
  display: flex;
  align-items: center;

  color: white;
  text-decoration: none;
  height: 100%;
  padding: 0 20px;
}
.menu-link:hover {
  color: rgb(107, 108, 109);
}
.menu-desplegable {
  display: none;
  cursor: pointer;
}
#menu-siswork {
  font-family: Controller4;
  align-self: center;
  font-size: 2em;
  height: 1.5em;
}
li.linea {
  border-bottom: 1px solid white;
  width: 135px;
  height: 0.1em;
  margin-bottom: 1rem;
  display: none;
}

.menu-img--show {
  transform: rotate(180deg);
}

/* CARRUSEL*/
#carousel {
  z-index: 0;
  background-color: rgba(73, 136, 211, 1);
}

.carousel-fade {
  transition: 0.6s;
}
.carousel-item {
  max-height: 650px;
}

.carousel-caption {
  display: flex;
  flex-direction: column;
  height: 100%;

  justify-content: center;
  align-items: flex-start;
  align-content: flex-start;
}

#logo-carousel {
  width: 40%;
  padding-bottom: 1rem;
}
p.titulo-carousel {
  font-family: Controller5;
  font-size: 2.5em;
}
p.sub-carousel {
  font-family: Controller3;
  font-size: 1.2em;
  text-indent: 0.5em;
}

.boton-carousel {
  border-style: none;
  background-color: rgba(73, 136, 211, 1);
  color: white;
  height: 2.3rem;
  width: 9rem;
  margin-left: 1em;
  border-radius: 20px;
  font-family: Controller4;
  font-size: 0.9em;
}
.boton-carousel a#link-contacto {
  text-decoration: none;
  color: white;
}
/* QUIENES SOMOS */

#somos {
  width: 100%;
  height: 100%;
  padding: 3em 0 0em 0;
  background-color: rgba(73, 136, 211, 1);
}
.somos {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 100%;
  width: 100%;
  padding-bottom: 2rem;
  gap: 2rem;
  color: white;
}
.titulo-somos {
  font-family: Controller4;
  font-size: 2em;
}
.contenido {
  display: inline-flex;
  flex-direction: row-reverse;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  width: 100%;
  gap: 3rem;
}
.texto-somos {
  font-family: "Open Sans", sans-serif;
  max-width: 32rem;
  text-indent: 10px;
}

/* subseccion empresas que confiaron */
#empresas p.titulo {
  font-size: 1.7em;
  padding: 0 1rem;
}
div#empresas {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-items: center;
  text-align: center;
  margin: 4rem 0 0 0rem;

  width: 100%;
  height: 100%;
}
.contenedor-elementos {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  max-width: 1150px;
}
div.contenedor-elementos.empresa {
  gap: 0.5em;
  padding: 0 1rem;
}

span.contenedor-img {
  background-color: rgba(240, 240, 240, 1);
  width: 13rem;
  height: 9rem;
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
}
span.contenedor-img:hover {
  background-color: rgb(196, 196, 196);
  transition: 0s;
}
.img-empresa {
  width: 11rem;
}
.E-titulo {
  font-family: Controller3;
  color: rgba(73, 136, 211, 1);
  font-size: 1em;
}

/* SECCION SERVICIOS */
#servicios {
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  align-content: center;
  justify-items: center;
  align-items: center;
  margin: 4rem 0rem;
  padding: 0 3rem;
  text-align: center;

  width: 100%;
  height: 100%;
}
.texto-descripcion {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  max-width: 32rem;
}
.titulo {
  font-family: Controller4;
  font-size: 2.1em;
  color: black;
}

p.contenido-servicios {
  font-family: "Open Sans", sans-serif;
  color: rgba(40, 48, 58, 1);
  font-weight: lighter;
  text-align: left;
  text-indent: 10px;
}

p.contenido-soporte {
  font-family: "Open Sans", sans-serif;
  color: rgba(40, 48, 58, 1);
}

div.tipo-servicio {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 2rem;
  gap: 3rem;
}
div.tipo-servicio.soporte {
  flex-direction: row;
}
div.tipo-servicio.proveedor {
  flex-direction: row-reverse;
}

.sub-servicios {
  font-family: Controller3;
  font-size: 1.6em;
  color: rgba(73, 136, 211, 1);
}

#img-soporte,
#img-ventas {
  width: 19em;
}
#img-somos {
  width: 14em;
}

/* SOPORTE TECNICO */
div#soporte {
  display: flex;
  flex-wrap: wrap;
  align-content: center;
  justify-content: center;
  align-items: flex-start;
  padding: 0 8rem;
  margin-top: 4rem;
}
.sub-soporte {
  font-family: Controller4;
  font-size: 1.3em;
  color: rgba(73, 136, 211, 1);
}
.texto-soporte {
  display: flex;
  flex-direction: column;
  width: 16em;
  text-align: center;
  padding: 1em;
}
.img-tipo-soporte {
  width: 8em;
}

/* MARCAS */
#marcas {
  display: flex;
  flex-wrap: wrap;
  align-content: center;
  justify-content: center;
  justify-items: center;
  width: 100%;
  gap: 0.5em;
  margin: 2rem 0rem;
  padding: 0 3rem;
}
.marca img {
  width: 10rem;
}

/*  CONTACTO */
#contacto {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  margin: 2em 0;
  gap: 2em;
}

#form-contacto {
  padding: 1.5em 4em 2em 4em;

  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1em;
  border-radius: 30px;
  border: 2px solid rgba(73, 136, 211, 1);
}
#datos-form {
  display: flex;
  flex-direction: column;
}
label {
  font-family: "Open Sans", sans-serif;
  color: rgba(73, 136, 211, 1);
  padding-top: 1em;
}
input {
  background-color: rgba(217, 217, 217, 1);
  border: none;

  padding: 0.2em 0.5em;
  font-family: "Open Sans", sans-serif;
  font-size: 1em;
}
textarea {
  height: 6em;
  width: 27em;
  background-color: rgba(217, 217, 217, 1);
  border: none;
  font-family: "Open Sans", sans-serif;
  font-size: 1em;
}
select {
  font-family: "Open Sans", sans-serif;
  font-size: 1em;
  background-color: rgba(217, 217, 217, 1);
  border: none;
  padding: 0.2em 0.5em;
}
select:hover {
  color: #630f0f;
}
.enviado {
  background-color: rgb(30, 155, 85);
  border-radius: 16px;
  text-align: center;
  width: 230px;
  color: white;
  font-family: "Open Sans", sans-serif;
  padding: 0.2em 0;
}
button#boton-form {
  border: none;
  background-color: rgba(73, 136, 211, 1);
  width: 9em;
  height: 2.2em;
  font-size: 1em;
  font-family: Controller4;
  color: white;
  border-radius: 20px;
}
.boton-flotante {
  position: fixed;
  z-index: 10000;
}
#whats {
  bottom: 20px;
  right: 20px;
}
#telefono {
  bottom: 100px;
  right: 20px;
}
img#wp,
img#tel {
  width: 4rem;
  filter: drop-shadow(0 1px 4px rgba(0, 0, 0, 0.4));
}

/* FOOTER */
footer {
  background-color: rgb(40, 48, 58);
  width: 100%;
  max-height: 327px;
  color: white;
  font-family: "Opensans", sans-serif;
  font-weight: 500;
  margin: 0;
  position: relative;
}
#footer {
  display: inline-flex;
  flex-direction: row;
  justify-content: space-around;
  width: 100%;
  margin: 0;
  padding: 2rem 0 1rem 0;
}
#linea-v {
  border-left: 2px solid white;
  height: 70%;
  left: 50%;
  position: absolute;
}

#logo-footer {
  width: 19em;
}
#datos-footer {
  display: flex;
  flex-direction: column;
  align-content: center;
  padding: 1rem 0;

  gap: 0.3em;
}
.dato-footer {
  display: inline-flex;
  justify-content: flex-start;
  align-content: center;

  align-items: flex-start;
  gap: 1em;
}
.dato-footer img {
  width: 1.5rem;
}
/* ANIMACIONES */
[data-animation="show1"] {
  opacity: 0;
  transform: scale(0);
  transition: 0.6s ease-in 0.2s;

  --opacity: 1;
  --transform: scale(1);
}
[data-animation="show2"] {
  opacity: 0;
  transform: scale(0);
  transition: 0.6s ease-in 0.4s;

  --opacity: 1;
  --transform: scale(1);
}
[data-animation="show3"] {
  opacity: 0;
  transform: scale(0);
  transition: 0.6s ease-in 0.6s;

  --opacity: 1;
  --transform: scale(1);
}
[data-animation="fadeR"] {
  opacity: 0;
  transform: translate(-20%);
  transition: 0.8s ease-in 0.1s;

  --opacity: 1;
  --transform: translate(0%);
}
[data-animation="fadeL"] {
  opacity: 0;
  transform: translate(20%);
  transition: 0.8s ease-in 0.1s;

  --opacity: 1;
  --transform: translate(0%);
}
.unset {
  opacity: var(--opacity);
  transform: var(--transform);
}

/* BREAKPOINTS */
@media screen and (max-width: 1100px) {
  .menu-container {
    padding: 0 7rem;
  }
  .menu-link {
    padding: 0 15px;
  }

  #empresas p.titulo {
    font-size: 1.5em;
  }
  div#soporte {
    padding: 2rem 2rem;
    gap: 0;
  }

  .contenido,
  .texto-descripcion {
    gap: 1rem;
  }
  .texto-somos {
    width: auto;
    height: auto;
  }
  .texto-descripcion {
    width: auto;
    height: auto;
  }

  @media screen and (max-width: 1000px) {
    span.contenedor-img {
      width: 12rem;
      height: 9rem;
    }
    .img-empresa {
      width: 9rem;
    }

    p.titulo-carousel {
      font-size: 2em;
    }
    p.sub-carousel {
      font-size: 0.9em;
    }

    #footer {
      padding: 3rem 0;
      bottom: 0;
    }
    #img-ventas,
    #img-soporte {
      width: 17rem;
    }
    #img-somos {
      width: 14rem;
    }

    @media screen and (max-width: 928px) {
      .menu-container {
        flex-direction: column;
        justify-content: center;
        height: 2rem;
      }
      .menu-desplegable {
        display: flex;
        padding-bottom: 0.5em;
      }

      .menu {
        width: 100%;
      }
      .menu-links {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        position: fixed;

        z-index: -12;
        width: 100%;
        height: max-content;
        top: 2.8em;
        right: 0;
        padding: 1em 0 0 0;
        overflow-y: auto;
        transform: translateY(-90%);

        background-color: rgb(40, 48, 58);
      }
      .menu-links--show {
        transform: unset;
        width: 100%;
        transition: transform 0.5s;
      }
      .menu-link {
        height: auto;
        padding: 1em 0 1.2rem 0;
      }
      #menu-siswork {
        align-self: center;
        height: 1em;
      }

      .contenido {
        padding: 2em;
      }
      #img-ventas,
      #img-soporte {
        width: 19rem;
      }
      div.tipo-servicio.soporte,
      div.tipo-servicio.proveedor,
      .contenido {
        flex-direction: column;
        gap: 1rem;
      }
      .texto-descripcion,
      .texto-somos {
        max-width: fit-content;
        padding: 1rem 4rem;
      }
      .img-tipo-soporte {
        width: 7.5em;
        margin: 0 0 0 2em;
      }
      .tipo-soporte div {
        width: 13rem;
      }
      .tipo-soporte {
        margin: 0.5em;
      }

      li.linea {
        display: flex;
      }
      #img-empresas {
        padding: 0 1rem;
      }

      div#soporte {
        padding: 1rem 0;
      }

      #marcas {
        margin: 2rem 0rem;
        padding: 0 1rem;
      }

      #footer {
        flex-direction: column;
        justify-content: center;
        align-items: center;
        padding: 2rem 0 0 0;
        bottom: 0;
        max-height: 360px;
      }
      #logo-footer {
        padding-bottom: 1.5rem;
      }
      #linea-v {
        display: none;
      }
      @media screen and (max-width: 800px) {
        #logo-carousel {
          width: 50%;
        }

        p.titulo-carousel {
          font-size: 2em;
        }
        p.sub-carousel {
          font-size: 0.8em;
        }

        .boton-carousel {
          height: 1.8rem;
          width: 7rem;
          font-size: 0.7em;
        }
        .titulo-somos {
          height: 0rem;
          font-size: 1.5em;
        }

        input,
        textarea,
        select {
          width: 400px;
        }
        #form-contacto {
          padding: 1em 2em;
          margin: 0 0 3em 0;
          width: fit-content;
        }
        @media screen and (max-width: 740px) {
          .texto-descripcion,
          .texto-somos {
            padding: 1rem 0rem;
          }
          p.titulo-carousel {
            font-size: 1.5em;
          }
          p.sub-carousel {
            font-size: 0.5em;
          }
          .menu-container {
            max-height: 1em;
          }
          #menu-siswork {
            display: none;
          }
          .menu-links {
            top: 1em;
          }
          div#soporte {
            display: flex;
            flex-direction: column;
            gap: 1em;
          }
          .tipo-soporte {
            display: flex;
            flex-direction: row;
          }
          .sub-soporte {
            font-family: Controller4;
            font-size: 1.1em;
            color: rgba(73, 136, 211, 1);
          }

          .texto-soporte {
            width: 20em;
            text-align: center;
          }
          .img-tipo-soporte {
            width: 7.5em;
            margin: 0 0 0 0;
          }
          input,
          textarea,
          select {
            width: 280px;
          }
          .somos {
            gap: 0;
          }

          #img-somos {
            display: none;
          }

          #img-ventas,
          #img-soporte {
            width: 15rem;
          }
          #empresas p.titulo {
            font-size: 1em;
          }
          .titulo {
            font-size: 1.5em;
          }

          @media screen and (max-width: 550px) {
            #logo-carousel {
              width: 70%;
              padding-bottom: 0.5em;
            }
            p.titulo-carousel {
              font-size: 1.3em;
              max-width: 330px;
              height: 1em;
            }
            p.titulo-carousel.c {
              font-size: 1em;
            }
            p.sub-carousel {
              font-size: 0.9em;
            }
            .boton-carousel {
              height: 1rem;
              width: 6rem;
              font-size: 0.5em;
            }
            .carousel-item {
              display: flex;
              justify-items: flex-start;
              align-items: flex-start;
            }
            .carousel-caption {
              align-items: center;
              justify-items: center;
              margin-top: 1rem;
              max-height: 70%;
            }
            .carousel-caption.lt {
              margin-top: 1rem;
            }
            .boton-carousel {
              display: none;
            }

            a.carousel-control-prev,
            a.carousel-control-next,
            .carousel-indicators {
              visibility: hidden;
              width: 0.1em;
              margin: 0;
              padding: 0;
            }

            .somos {
              margin: 0;
            }
            .titulo-somos,
            .titulo {
              font-size: 1.4em;
            }
            .sub-servicios {
              font-size: 1.3em;
            }
            span.contenedor-img {
              width: 10rem;
            }

            #img-empresas {
              gap: 0.5em;
            }
            .img-empresa {
              width: 8rem;
            }
            #servicios {
              padding: 0 1rem;
            }

            .marca img {
              width: 8rem;
            }
            img#wp {
              width: 3rem;
            }

            img#tel {
              width: 3rem;
            }
            #telefono {
              bottom: 80px;
            }
          }
        }
      }
    }
  }
}
