@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,300;0,400;0,500;0,700;0,900;1,300;1,400;1,900&display=swap');


/***** Ajustes Generales ******/
*,
*::before,
*:after {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
  text-decoration: none;
  list-style: none;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: 'Roboto', sans-serif;  
  font-size: 16px; 
}


h2 {
  font-size: 1.875rem;
  font-weight: 700;
  color: #000000;
  margin-bottom: .5rem;
  align-self: flex-start;
   /* font-size --> 40px    line-height auto;*/
 }

h4 {
  font-size: 1.5rem; 
  line-height: calc(1.875rem*1.618);
  font-weight: 300;
  margin-bottom: 2rem;
  color: #ffffff;
  /* font-size --> 30px */
}

p {
  font-size:1.25rem;
  line-height: calc(1.25rem*1.618) ;
  font-weight: 400;
  }
  /* font-size -->28px */

/***** Ajustes Menú *********/

header {
  display: flex;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 99;
  justify-content: center;
  align-items: center;
  background-color: #ffffff;  
  box-shadow: 1px 1px 3px #dadada;
}

.logo {
  width: 12.5rem; 
  padding: 0.5rem 0;
}

nav {
  min-width: 1200px;
  display: flex;
  text-align: center;
  justify-content: space-between;
  padding: 0.5rem 0;
}

#menu ul { 
  display: flex;
  align-items: center;
}

#menu ul a,
#menu ul a:visited {
  color: black;
}

#menu ul li a:hover {
  color: #E65300;
}

#menu ul >li:first-child {
 display: none;
}

#menu li {
  font-size: 1.25rem;
  font-weight: 400;
  margin-left: 2.5rem;
}

.icon-menu {
  display: none;
  font-size: 2rem;
}

.icon-menu,
.icon-menu::before,
.icon-menu::after {
  background-color: black;
  content: '';
  display: block;
  height: 2px;
  position: absolute;
  transition: background ease .3s, top ease .3s, transform ease .3s;
  width: 20px;
}

.icon-menu {
  right: 18px;
}

.icon-menu::before {
  top: -6px
}

.icon-menu::after {
  top: 6px
}

#icon-menu.icon-menu {
  display: none;
}

ul span {
  color: #E65300;
}

main { margin-top: 95px; }

/***** Ajustes home **************/
#home {
  background-image: url(assets/img/fotoPortada.jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  width: 100%;
  min-height: 450px;
  height: 90vh;
  margin-top: 80px;
}

.content-section {
  max-width: 1200px;
  margin: 0 auto;
  padding: 7rem 0;
  transition: 0.8s ease padding;
}

.home__txt {
  position: absolute;
  bottom: 20%;
  left: 30%;
  transform: translate(-50%, 50%);
  color: #ffffff;
  font-size: 2.5rem;
  font-weight: 800;
  line-height: calc(2.5rem*1.3);
  width: 45%;
  text-align: left;
  opacity: 0;
  transition: 1s ease-in-out opacity;
  transition-delay: 0.3s;
}


/***** Ajustes quienes somos ************/
#quienes-somos { 
  background-color: #E65300;  
}


#quienes-somos h2 span {
  color:#ffffff;
}

/***** Ajustes Que hacemos *************/
#que-hacemos {
  background-color: #ffffff;
}

#que-hacemos h4 {
  color: #000000;
  align-self: flex-start;
}

#que-hacemos > .content-section {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-bottom: 100px;
}

.rubros-img { 
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  height: 600px;
  margin-top: 4rem;
}

.rubros {
  margin-top: 1.5rem;
  position: absolute;   
  width: 100%;
}

.rubros-fondo-img {
  position: absolute;   
  width: 64.938rem;
  height: 600px;
  background-image: url(assets/img/mundo.svg);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  opacity:0.25;
}

.rubros h4 {
font-weight: 500;
}

.rubros-panel {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  width: 100%;
  justify-content: center;
  row-gap:4.313rem;
}

.rubros-panel figure {
  width: calc(100%/4);
  text-align: center; 
}

.rubros-panel img {
  width: 5rem;
  height: 5rem; 
  color: #DADADA;
}

.rubros-panel figcaption {
  font-size: 1.5rem;
  font-weight: 400;
	color: #E65300;
	text-align: center;
  margin-top: 1rem;
}

.qh-cifras {
  display: flex;
  flex-direction: row;
  margin: 3rem 0 6rem;
  width: 100%;
  justify-content: space-between;
 }

 .qh-cifras-col {
    width: calc(100%/3);
    display: flex;
    flex-direction: column;
    justify-content:center ;
    align-items: center;
}

.qh-cifras-col p:first-child {
  font-size: 7.5rem;
  line-height: 7.5rem;
  font-weight: 700;
}
.qh-cifras-col p:nth-child(2) {
  font-size: 1.875rem;
  font-weight: 400;
}
.paises {
  color:#00DEA4;
}
.anos {
  color:#E65300;
}
.clientes {
  color: #00BFFF;
}

.qh-col {
  display:flex;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: space-between;
  margin: 3rem 0;
  width: 100%;
}


.qh-col p{
  display: block;
  font-size: 1.5rem;
  line-height: calc(1.5rem*1.618);
  font-weight: 700;
  position: relative;
  margin-bottom: 1.25rem;
  padding: 0 2rem;
}

.qh-col span{
  display: inline-block;
  background-image: url(assets/img/elipse.svg);  
  width: 0.875rem;
  height:0.875rem;
  position: relative;
  left: 0;
  top: 0;
  margin-right: 1rem;
}

/***** Ajustes Contacto **************/
#contacto {
  width: 100%;
  height: auto;
  padding: 0 30px;
  display: inline-block;
  background-color: #373A36;
}

h3 {
  width: 50%;
  color: #ffffff;
  font-size: 18px;
  font-weight: 300;
}

.contacto-row {
display: flex;
flex-direction: row;
}

.contacto-row2{
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: flex-end;
}

#formulario {
  width: 29.5rem;
  display: flex;
  flex-direction: column;
  color: #2D2E2F;
}

label {
  display: block;
  color: #ffffff;
  margin: 0;
  padding: 0;
  font-size: 1rem;

  }
#formulario input,
#formulario textarea {
  height: 4.375rem;
  padding: 0 1rem;
  margin: 3px 0 24px 0 ;
  font-size: 1rem;
  border: none;
  border-radius: 10px; 
}

#formulario textarea {   
  height: 15.688rem;
  font-family:  'Roboto', sans-serif;
  font-size: 1rem;
  padding-top:1rem ;
  resize: none;
  }


input[type="submit"], .btnEntendido {
  
  font-size: 1.2rem;
  font-weight: 600;
  color: #ffffff;
  background-color: #E65300;
  cursor: pointer;
  transition: 0.4s ease all;
}

input[type="submit"]:hover {
  transform: scale(1.02);
}



.contacto-row2{
  width:100%;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: flex-end;
}
.contactos {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
 
}

.contacto-1,
.contacto-2 {
  display: inline-block;
  flex-direction: column;
  justify-content: flex-end;
  align-content: flex-end;  
  margin-bottom: 3rem; 
  
}

.contacto-1 p,
.contacto-2 p, 
.contacto-1 a,
.contacto-2 a{ 
  font-size: 1.25rem;
  font-weight: 700;
  line-height: calc(1.25rem*1.618);
  text-align: right;
  color: #ffffff;
}
#mensajeMailVacio {
  display: none;
   
}

#mensajeMailVacio > p {
  color: red;
  font-size: 0.9rem;
}

.direccion {
  width: 80%;
  display: flex;
  flex-direction: column;
  justify-content:flex-end ;
  align-items: flex-end;
  text-align: right;
}

.direccion a {  
  font-size: 1.25rem;
  line-height:  calc(1.25rem*1.618);
  font-weight: 700;
  color: #E65300;
}

.direccion p {
  font-size: 1.25rem;
  font-weight: 700;
  color: #ffffff;
}

.contenedor-wsp {
  background-color: white;
  position: fixed;
  right: 6rem;
  bottom: 4.375rem;
  display: flex;
  align-items: center;
  padding: 0.5rem;
  border-radius: 50%;
  box-shadow: 0 0 20px 1px #ccc;
}

.modalVisible {
  display: flex;
  justify-content: center;
  align-items: center;
}

.modalInvisible {
  display: none;
}

#modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: #aaaaaaee;
  z-index: 300;
}

#modal > div { 
  display: flex; 
  flex-direction: column; 
  height: 30%;
  max-width: 400px;
  width: 90%; 
  justify-content: center;
  align-items: center;
  background-color: white;
  border-radius: 16px;
  box-shadow: 0 0 8px 4px #aaa;
}

.btnEntendido { 
  margin: 2rem 3rem ;
  padding: 1rem;
  border-radius: 8px;
  border: 1px solid #ccc;
  display: none;
}

.msjEntendido { 
  color: black; 
  font-weight: bold; 
  width: 100%; 
  text-align: center; 
  align-items: center; 
  justify-content: center;
}

.lds-ellipsis {
  display: inline-block;
  position: relative;
  width: 80px;
  height: 80px;
}
.lds-ellipsis div {
  position: absolute;
  top: 33px;
  width: 13px;
  height: 13px;
  border-radius: 50%;
  background: #E65300;
  animation-timing-function: cubic-bezier(0, 1, 1, 0);
}
.lds-ellipsis div:nth-child(1) {
  left: 8px;
  animation: lds-ellipsis1 0.6s infinite;
}
.lds-ellipsis div:nth-child(2) {
  left: 8px;
  animation: lds-ellipsis2 0.6s infinite;
}
.lds-ellipsis div:nth-child(3) {
  left: 32px;
  animation: lds-ellipsis2 0.6s infinite;
}
.lds-ellipsis div:nth-child(4) {
  left: 56px;
  animation: lds-ellipsis3 0.6s infinite;
}
@keyframes lds-ellipsis1 {
  0% {
    transform: scale(0);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes lds-ellipsis3 {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(0);
  }
}
@keyframes lds-ellipsis2 {
  0% {
    transform: translate(0, 0);
  }
  100% {
    transform: translate(24px, 0);
  }
}


.btn-wsp > img {  
  z-index: 100;
}

/* Medium devices (tablets, less than 1300px) */
@media (max-width: 1279px) {
.content-section {
  padding: 5rem; 
}

  .home__txt{
    font-size: 1.75rem;
    left: 50%;
    line-height: calc(1.75rem*1.3);
    width: 90%;
  }

  nav { min-width: 960px;}

  #contacto > .content-section { padding-bottom:  200px;}
}



/* Medium devices (tablets, less than 960px) */
@media (max-width: 960px) {

  h2 {
    font-size:1.25rem;
   }
  
  h4 {
    font-size: 1.125rem; 
    line-height: calc(1.125rem*1.618);
  }
  
  p {
    font-size:1rem;
    line-height: calc(1rem*1.618) ;
    }

  body {
    min-width: 0;
  }

  body.sinScroll {
    overflow: hidden;
  }

  nav {
    justify-content: space-between;
    padding: 1rem;
    height: 80px;
    box-shadow: 0 .5px 5px #373A36a0;
    transition: 0.3s ease height;
    min-width: 0;
    width: 100%;
    align-items: center;
  }

  .logo {
    width: 9rem;
  }

  .content-section {
    padding: 2rem; 
    padding: 100px 2rem 100px;
  }

  nav.expandido {
    height: 100vh;
    width: 100vw;
    flex-direction: column;

  }

  nav.expandido > ul {
    display: flex;
    height: 100%;
    width: 100%;
  }

  nav.expandido > a {
    display: none;
  }

  #icon-menu.icon-menu {
    display: block;
  }

  nav.expandido .icon-menu {
    background: transparent;
  }

  nav.expandido .icon-menu::before {
    transform: rotate(45deg);
  }

  nav.expandido .icon-menu::after {
    transform: rotate(-45deg);
  }

  nav.expandido .icon-menu::before,
  nav.expandido .icon-menu::after {
    top: 0;
    transition: top ease 0.3s;    
  }
  
  ul >li {
    display: none;
  }

  #menu nav.expandido li {
    display: block;
    margin-left: 0;
    padding: 5px 15px;
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
  }


  .menu-links {
    display: none;
    height: 0;
    flex-direction: column;
    padding-top: 4rem;
  }


  nav.expandido > ul > li > a { padding: 15px 0; }

  .icon-menu {
    display: flex;
    align-items: center;
    justify-content: flex-end;
  }

  main { margin-top: 80px ;}

  #home {
    background-size: 100vh;
    min-height: 300px;
    background-size: cover;
  }

  /* #que-hacemos .content-section {
    padding: 5rem 0;
  } */

  #que-hacemos > .content-section > h2, #que-hacemos > .content-section > h4, #que-hacemos > .content-section > p {
    padding: 0 2rem;
  }

  #que-hacemos > .content-section {
    padding: 100px 0;
  }

  .rubros-img {
    overflow: hidden;
    height: 620px;
  }

  .rubros-fondo-img {
    width: 700px;
    background-size: auto;
  }

  .rubros {
    padding: 0 2rem;
  }

  .rubros > h4 { padding: 0; }

  .rubros-panel figure {
    width: calc(100%/2);
    text-align: center;  
  }
  .rubros-panel img {
    width: 3rem;
    height: 3rem; 
  }
  .rubros-panel figcaption {
    font-size: 1.125rem;
    font-weight: 400;
    margin-top: 0.5rem;
  }



  #formulario {
    width: 100%;
  }

  #formulario input {
    height: 2.5rem;
  }

  #contacto {
    padding: 0 0 100px 0;
  }

  .contactos {
    flex-direction: column;
  }
  .contacto-row{
    flex-direction: column;    
  }
  .contacto-row2 {
    align-items: flex-start;
    margin-top: 3rem;

  }
  .contacto-1 p, .contacto-2 p, .contacto-1 a, .contacto-2 a {
    text-align: left;
    font-size: 1rem;
    line-height: calc(1rem*1.618);
  }

  .contacto-1,
  .contacto-2 {
    margin: 2rem 0;
    padding: 0;
  }
  
  .contacto-1 > p, .contacto-2 > p {
    font-size: 1rem;    
  }
  
  .direccion {
    align-items: flex-start;
  }
  
  .direccion > a, .direccion > p {
    font-size: 1rem;
  }

  .contenedor-wsp {
    right: 1rem;
    bottom: 1rem;
  }

  .contenedor-wsp > img {
    width: 40px;
    height: 40px;
  }

}


/* Medium devices (tablets, less than 960px) */
@media (max-width: 720px) {
  .qh-cifras {
    margin: 5rem 0;
    flex-direction: column;
    align-items: center;
  }

  .qh-cifras-col { margin-bottom: 3rem;}

  .qh-cifras-col > p:first-child {
    font-size: 6rem;
    line-height: calc(100% / 3 * 4);
  }

  .qh-cifras-col > p:nth-child(2) {
    font-size: calc(100% / 3 * 4);
    line-height: calc(100% / 3 * 2);
  }

  .qh-col p { font-size: 1rem; line-height: calc(1rem*1.618);} 
}