@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@100;300;500;900&display=swap");
* {
  margin: 0;
  padding: 0;
  font-family: roboto, sans-serif;
  font-weight: 300; }

header {
  background-color: #d4d4d4;
  /* ====TOGGLER MENU HAMBURGUESA==== */
  /* Sacar bordes */
  /* Lineas  */
  /* Espacio entre lineas */
  /* Estado cuando se abre */
  /* Estado cuando se cierra */
  /* Color cuando se cierra */ }
  header img {
    min-width: 100px;
    max-width: 150px;
    margin: 1rem 0; }
  header .navbar-toggler {
    border: 0 !important; }
  header .navbar-toggler:focus,
  header .navbar-toggler:active,
  header .navbar-toggler-icon:focus {
    outline: none !important;
    box-shadow: none !important;
    border: 0 !important; }
  header .toggler-icon {
    width: 30px;
    height: 3px;
    background-color: #F79824;
    display: block;
    transition: all 0.2s; }
  header .middle-bar {
    margin: 5px auto; }
  header .navbar-toggler .top-bar {
    transform: rotate(45deg);
    transform-origin: 10% 10%; }
  header .navbar-toggler .middle-bar {
    opacity: 0;
    filter: alpha(opacity=0); }
  header .navbar-toggler .bottom-bar {
    transform: rotate(-45deg);
    transform-origin: 10% 90%; }
  header .navbar-toggler.collapsed .top-bar {
    transform: rotate(0); }
  header .navbar-toggler.collapsed .middle-bar {
    opacity: 1;
    filter: alpha(opacity=100); }
  header .navbar-toggler.collapsed .bottom-bar {
    transform: rotate(0); }
  header .navbar-toggler.collapsed .toggler-icon {
    background-color: #001b38; }

footer {
  background-color: #d4d4d4;
  color: #001b38;
  font-weight: 100;
  font-size: 0.6 rem;
  display: flex;
  flex-direction: column;
  align-items: center; }
  footer nav {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 1rem 0; }
    footer nav ul {
      list-style: none;
      padding: 0;
      width: 300px;
      justify-content: space-between; }
      footer nav ul li {
        width: 50%;
        display: flex;
        flex-direction: row;
        justify-content: flex-start;
        padding: 10px 0;
        margin: 0 auto;
        border-bottom: 1px #001b38 solid; }
        footer nav ul li a {
          text-decoration: none;
          font-weight: 500; }
  footer .textosFooter {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-content: center; }
    footer .textosFooter p {
      text-align: center;
      padding: 0.5rem 0; }
    footer .textosFooter a {
      display: flex;
      flex-direction: row;
      justify-content: center;
      color: #001b38;
      text-decoration: none;
      padding: 0.5rem 0; }
      footer .textosFooter a::before {
        content: url(../../images/mapa.png); }

body {
  background-color: #001b38;
  color: #d4d4d4;
  /* --- ANIMACION H1 ---*/
  /* ====INDEX==== */
  /* ------------------- */
  /* ====SERVICIOS==== */
  /* ====QUIENES SOMOS */
  /* ====CLIENTES==== */
  /* ====CONTACTO==== */
  /* ===BOTON WHATSAPP==== */ }
  body nav a {
    color: #001b38 !important; }

@keyframes text-focus-in {
  0% {
    filter: blur(12px);
    opacity: 0; }
  100% {
    filter: blur(0px);
    opacity: 1; } }
  body h1 {
    animation: text-focus-in 0.8s cubic-bezier(0.55, 0.085, 0.68, 0.53) both;
    font-size: 2rem; }
  body h2 {
    font-size: 1.5rem; }
  body .primeraSeccionIndex {
    display: flex;
    flex-direction: column;
    align-items: center; }
    body .primeraSeccionIndex div {
      width: 95vw; }
      body .primeraSeccionIndex div h2 {
        margin: 1.1rem 0; }
    body .primeraSeccionIndex .primerTextoIndex p {
      -webkit-animation: text-focus-in 0.8s cubic-bezier(0.55, 0.085, 0.68, 0.53) both;
      animation: text-focus-in 0.8s cubic-bezier(0.55, 0.085, 0.68, 0.53) both; }
    body .primeraSeccionIndex .fotosIndex {
      display: flex;
      flex-direction: row;
      justify-content: center;
      width: fit-content; }
      body .primeraSeccionIndex .fotosIndex .img1Index {
        display: none; }
      body .primeraSeccionIndex .fotosIndex .img2Index {
        width: 100vw;
        max-width: 500px;
        animation: entradaFotoDerecha 1s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
        filter: grayscale(1); }
      body .primeraSeccionIndex .fotosIndex .img3Index {
        display: none; }

@keyframes entradaFotoDerecha {
  0% {
    transform: translateX(2000px);
    opacity: 0; }
  100% {
    transform: translateX(0);
    opacity: 1; } }
  body .segundaSeccionIndex {
    display: flex;
    flex-direction: column;
    align-items: center; }
    body .segundaSeccionIndex .segundoTextoIndex {
      width: 95vw;
      max-width: 800px; }
      body .segundaSeccionIndex .segundoTextoIndex h2 {
        margin: 3.5rem 0 1.1rem 0; }
      body .segundaSeccionIndex .segundoTextoIndex p {
        -webkit-animation: text-focus-in 0.8s cubic-bezier(0.55, 0.085, 0.68, 0.53) both;
        animation: text-focus-in 0.8s cubic-bezier(0.55, 0.085, 0.68, 0.53) both; }
  body iframe {
    width: 100vw;
    height: 50vh;
    min-width: 300px;
    max-width: 800px;
    margin: 2rem 0; }
  body span {
    color: #F79824;
    font-weight: 500; }
  body .h1Servicios {
    text-align: center;
    margin: 3rem; }
  body .carousel {
    display: flex;
    flex-direction: row;
    justify-content: center;
    width: 100vw !important; }
    body .carousel .medidaCarousel {
      width: 100vw !important;
      max-width: 1280px;
      display: flex;
      flex-direction: row;
      justify-content: center;
      align-self: center; }
  body .primeraSeccionServicios {
    display: flex;
    flex-direction: column;
    align-items: center;
    align-self: center;
    width: 95vw;
    margin: 3rem auto 0 auto; }
    body .primeraSeccionServicios .textoServicios {
      max-width: 800px; }
    body .primeraSeccionServicios .listaServicios {
      margin-top: 2rem; }
      body .primeraSeccionServicios .listaServicios ul {
        list-style-image: url(../images/gear.png); }
        body .primeraSeccionServicios .listaServicios ul li {
          font-weight: 500;
          line-height: 3rem;
          padding: auto 0; }
        body .primeraSeccionServicios .listaServicios ul .linkPlanta a {
          text-decoration: underline;
          color: #F79824;
          font-weight: 500; }
  body .trabajosEspeciales {
    width: fit-content;
    max-width: 600px !important;
    border: #F79824 solid 2px;
    border-radius: 10px;
    font-size: large;
    font-weight: 700;
    margin-bottom: 3rem; }
    body .trabajosEspeciales a {
      text-decoration: none;
      color: #d4d4d4;
      display: block;
      padding: 0.5rem; }
  body .h1Quienes {
    text-align: center;
    margin-top: 2rem; }
  body .seccionQuienes {
    display: flex;
    flex-direction: column;
    align-items: center; }
    body .seccionQuienes .quienesSomos .imgQuienes {
      width: 100vw;
      max-width: 800px;
      padding: 3rem 0; }
    body .seccionQuienes .quienesSomos .imgQuienes2 {
      display: none; }
    body .seccionQuienes .quienesSomos .imgQuienes3 {
      display: none; }
    body .seccionQuienes .textoQuienes {
      width: 95vw;
      max-width: 800px; }
      body .seccionQuienes .textoQuienes p {
        -webkit-animation: text-focus-in 0.8s cubic-bezier(0.55, 0.085, 0.68, 0.53) both;
        animation: text-focus-in 0.8s cubic-bezier(0.55, 0.085, 0.68, 0.53) both; }
  body .seccionMision {
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
    margin-bottom: 3rem; }
    body .seccionMision .textoMision {
      width: 95vw;
      max-width: 800px; }
      body .seccionMision .textoMision h2 {
        margin-top: 1rem 0; }
    body .seccionMision .equipo {
      margin-bottom: 2rem; }
      body .seccionMision .equipo .imgEquipo {
        width: 100vw;
        max-width: 900px;
        padding: 3rem 0; }
  body .h1Clientes {
    text-align: center;
    margin-top: 2rem;
    font-size: 2rem; }
  body .seccionClientes {
    display: flex;
    flex-direction: column;
    align-items: center; }
    body .seccionClientes .imgClientes {
      display: flex;
      flex-direction: row;
      justify-content: center;
      width: 100vw;
      max-width: 800px; }
      body .seccionClientes .imgClientes img {
        width: 100vw;
        max-width: 800px;
        padding: 3rem 0;
        animation: entradaIzq 1.5s ease-in-out both; }

@keyframes entradaIzq {
  0% {
    transform: translateX(-1000px);
    opacity: 0; }
  100% {
    transform: translateX(0);
    opacity: 1; } }
    body .seccionClientes .clientes {
      width: 50vw;
      max-width: 800px; }
      body .seccionClientes .clientes .listaClientes {
        list-style: none;
        display: flex;
        flex-direction: column;
        align-items: center; }
        body .seccionClientes .clientes .listaClientes li {
          width: 50vw;
          max-width: 250px;
          padding: 0.3rem 0.5rem;
          margin: 0.5rem 0;
          text-align: center;
          border: 1px #F79824 solid;
          border-radius: 5px;
          animation: entradaFotoDerecha 1s cubic-bezier(0.25, 0.46, 0.45, 0.94) both; }
          body .seccionClientes .clientes .listaClientes li a {
            width: 50vw;
            max-width: 250px;
            color: #d4d4d4;
            text-decoration: none; }
  body .seccionAgradecimiento {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 2rem 0; }
    body .seccionAgradecimiento .agradecimiento {
      width: 95vw;
      max-width: 800px; }
      body .seccionAgradecimiento .agradecimiento h2 {
        text-align: center; }
  body .formulario {
    display: flex;
    flex-direction: column;
    align-content: flex-start;
    justify-content: space-between;
    width: 95vw;
    max-width: 900px;
    height: 120vh;
    padding: 2rem 1rem;
    margin: 2rem 0;
    font-family: inherit;
    font-weight: 700; }
    body .formulario h2 {
      padding: 1rem 0; }
    body .formulario .formButton {
      width: 100%;
      align-self: center;
      margin-top: 1.2rem;
      padding: 1rem 0;
      background-color: #001b38;
      color: #F79824;
      border: #F79824 solid 2px;
      border-radius: 5px; }
    body .formulario .formInput {
      color: #d4d4d4;
      background-color: transparent;
      border: none;
      border-bottom: #F79824 2px solid; }
      body .formulario .formInput:focus {
        border: none;
        border-bottom: turquoise 2px solid; }
      body .formulario .formInput option {
        background-color: #001b38;
        color: #d4d4d4; }
    body .formulario .formTextArea {
      background-color: transparent;
      border-color: #F79824;
      resize: none;
      color: #d4d4d4; }
      body .formulario .formTextArea:focus {
        border: turquoise 2px solid; }
  body .mapaContacto {
    width: 100vw;
    max-width: 900px;
    height: 80vh;
    max-height: 900px;
    padding-bottom: 2rem; }
  body .whatsapp {
    width: 15%;
    max-width: 65px;
    position: fixed;
    bottom: 4rem;
    right: 1rem;
    z-index: 2;
    animation: bounce-in-top 1.5s both; }

@keyframes bounce-in-top {
  0% {
    transform: translateY(-500px);
    animation-timing-function: ease-in;
    opacity: 0; }
  38% {
    transform: translateY(0);
    animation-timing-function: ease-out;
    opacity: 1; }
  55% {
    transform: translateY(-65px);
    animation-timing-function: ease-in; }
  72% {
    transform: translateY(0);
    animation-timing-function: ease-out; }
  81% {
    transform: translateY(-28px);
    animation-timing-function: ease-in; }
  90% {
    transform: translateY(0);
    animation-timing-function: ease-out; }
  95% {
    transform: translateY(-8px);
    animation-timing-function: ease-in; }
  100% {
    transform: translateY(0);
    animation-timing-function: ease-out; } }

@media screen and (min-width: 768px) {
  body {
    /* ====INDEX */
    /* ====CLIENTES==== */
    /* ====FOOTER==== */ }
    body .primeraSeccionIndex .fotosIndex {
      display: inline-block;
      width: 95vw;
      max-width: 600px;
      max-height: 500px; }
      body .primeraSeccionIndex .fotosIndex .img1Index {
        display: block;
        width: 40vw;
        max-width: 350px;
        position: relative;
        left: 20rem;
        top: 17rem;
        z-index: 1;
        filter: grayscale(0);
        animation: entradaFotoDerecha 1s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
        clip-path: circle(); }
      body .primeraSeccionIndex .fotosIndex .img2Index {
        position: relative;
        bottom: 10rem;
        animation: entradaFotoIzquierda 1s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
        clip-path: circle(); }
      body .primeraSeccionIndex .fotosIndex .img3Index {
        display: block;
        width: 40vw;
        max-width: 250px;
        position: relative;
        bottom: 30rem;
        left: 22rem;
        z-index: -1;
        animation: entradaFotoDerecha 1s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
        filter: grayscale(1);
        clip-path: circle(); }
    body .primeraSeccionIndex .primerTextoIndex {
      max-width: 800px; }
  @keyframes entradaFotoDerecha {
    0% {
      transform: translateX(2000px);
      opacity: 0; }
    100% {
      transform: translateX(0);
      opacity: 1; } }
  @keyframes entradaFotoIzquierda {
    0% {
      transform: translateX(-2000px);
      opacity: 0; }
    100% {
      transform: translateX(0);
      opacity: 1; } }
    body .h1Clientes {
      margin: 3rem 0 1rem 0; }
    body .seccionClientes .clientes {
      width: 90vw;
      max-width: 775px; }
      body .seccionClientes .clientes .listaClientes {
        display: flex;
        flex-direction: row;
        justify-content: space-evenly;
        flex-wrap: wrap; }
        body .seccionClientes .clientes .listaClientes li {
          margin: 1rem 0; }
    body footer {
      display: flex;
      flex-direction: column;
      font-size: 1.1em; }
      body footer nav {
        width: 80vw;
        max-width: 750px;
        justify-content: center;
        margin: 1rem 0; }
        body footer nav ul {
          width: 100%;
          display: flex;
          flex-direction: row;
          justify-content: space-between;
          margin: 0; }
          body footer nav ul li {
            margin: 0;
            border-bottom: none;
            width: 100%;
            justify-content: center; }
      body footer .textosFooter {
        font-size: 0.9em;
        width: 90vw;
        max-width: 850px;
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        margin: 0.5rem 0; }
        body footer .textosFooter a {
          text-decoration: underline;
          color: #001b38; }
          body footer .textosFooter a:hover {
            color: #F79824;
            font-weight: 400; } }

@media screen and (min-width: 1200px) {
  body {
    /* =====INDEX===== */
    /* ====SERVICIOS==== */
    /* ===QUIENES SOMOS==== */
    /* ====CLIENTES==== */
    /* ====CONTACTO==== */ }
    body nav a:hover {
      color: #F79824 !important;
      font-weight: 400; }
    body img:not(.imgCarousel):hover {
      transform: scale(1.1) !important;
      transition: transform 0.5s !important; }
    body h2:hover:hover {
      animation-name: hoverh2;
      animation-duration: 0.5s; }
  @keyframes hoverh2 {
    0% {
      transform: translateY(10px); }
    25% {
      transform: translateY(0); }
    50% {
      transform: translateY(7px); }
    75% {
      transform: translateY(0); }
    100% {
      transform: translateY(3px); } }
    body .primeraSeccionIndex {
      display: flex;
      flex-direction: row;
      justify-content: space-evenly; }
      body .primeraSeccionIndex .primerTextoIndex {
        width: 45vw; }
      body .primeraSeccionIndex .fotosIndex {
        display: block;
        position: relative;
        right: 5rem;
        width: 40vw;
        max-width: 500px; }
        body .primeraSeccionIndex .fotosIndex img {
          min-width: 200px;
          max-width: 400px; }
        body .primeraSeccionIndex .fotosIndex .img2Index:hover {
          z-index: 3;
          filter: grayscale(0); }
        body .primeraSeccionIndex .fotosIndex .img3Index:hover {
          filter: grayscale(0);
          z-index: 3; }
    body .primeraSeccionServicios {
      flex-direction: row;
      justify-content: space-around;
      margin-top: 5rem; }
      body .primeraSeccionServicios .listaServicios .linkPlanta a {
        color: #d4d4d4; }
        body .primeraSeccionServicios .listaServicios .linkPlanta a:hover {
          color: #F79824; }
    body .trabajosEspeciales:hover {
      background: #f79824;
      background: linear-gradient(15deg, #f79824 0%, #b1c1c0 100%);
      color: #001b38 !important;
      cursor: pointer;
      transform: scale(1.1);
      transform: translateY(-10px);
      transition: transform 0.3s; }
    body .trabajosEspeciales a:hover {
      color: #001b38;
      font-weight: 500; }
    body .h1Quienes {
      text-align: center;
      margin: 4rem 0;
      font-size: 2.8rem; }
    body .seccionQuienes {
      display: flex;
      flex-direction: row-reverse;
      justify-content: space-evenly;
      align-content: center; }
      body .seccionQuienes .quienesSomos {
        width: 45vw;
        max-width: 700px;
        height: 80vh; }
        body .seccionQuienes .quienesSomos .imgQuienes {
          width: 80%;
          max-width: 500px;
          animation: none;
          filter: grayscale(0.7);
          display: block;
          position: relative;
          left: 8rem;
          top: 3rem;
          z-index: 2;
          clip-path: circle(); }
          body .seccionQuienes .quienesSomos .imgQuienes:hover {
            filter: grayscale(0); }
        body .seccionQuienes .quienesSomos .imgQuienes2 {
          display: block;
          position: relative;
          bottom: 30rem;
          right: 3rem;
          width: 70%;
          max-width: 350px;
          clip-path: circle();
          filter: grayscale(0.7); }
          body .seccionQuienes .quienesSomos .imgQuienes2:hover {
            z-index: 3;
            filter: grayscale(0); }
        body .seccionQuienes .quienesSomos .imgQuienes3 {
          display: block;
          position: relative;
          bottom: 32rem;
          width: 40%;
          max-width: 250px;
          clip-path: circle();
          z-index: -1; }
      body .seccionQuienes .textoQuienes {
        width: 45vw;
        max-width: 700px; }
    body .seccionMision {
      flex-direction: column; }
      body .seccionMision .textoMision {
        max-width: 900px;
        margin: 3rem 0; }
    body .seccionClientes {
      display: flex;
      flex-direction: row;
      justify-content: space-around; }
      body .seccionClientes .imgClientes {
        display: flex;
        flex-direction: row;
        justify-content: center;
        width: 45vw;
        max-width: 800px; }
        body .seccionClientes .imgClientes img {
          width: 45vw;
          max-width: 800px;
          animation: none; }
      body .seccionClientes .clientes {
        width: 45vw;
        max-width: 800px;
        margin: 0; }
        body .seccionClientes .clientes .listaClientes {
          display: flex;
          flex-direction: column;
          flex-wrap: nowrap; }
          body .seccionClientes .clientes .listaClientes li {
            width: 45vw;
            max-width: 250px;
            padding: 0;
            animation: none; }
            body .seccionClientes .clientes .listaClientes li:hover {
              background: #f79824;
              background: linear-gradient(15deg, #f79824 0%, #b1c1c0 100%);
              font-weight: 500;
              color: #001b38;
              cursor: pointer;
              transform: scale(1.1);
              transform: translateY(-10px);
              transition: transform 0.3s; }
            body .seccionClientes .clientes .listaClientes li a {
              display: block;
              width: 100%;
              padding: 0.3rem 0.5rem; }
              body .seccionClientes .clientes .listaClientes li a:hover {
                color: #001b38;
                font-weight: 500; }
    body .seccionAgradecimiento {
      margin: 4rem 0; }
    body .formButton:hover {
      background: linear-gradient(15deg, #f79824 0%, #b1c1c0 100%);
      color: #001b38 !important;
      font-weight: 500;
      transform: scale(1.1);
      transform: translateY(-10px);
      transition: transform 0.5s; } }
