@font-face {
  font-family: "SourceCodeVariable-Roman";
  src: url("./resources/fonts/SourceCodeVariable-Roman.otf") format("opentype");
}
 
@font-face {
  font-family: "Arial-Bold";
  src: url("./resources/fonts/arialbd.ttf") format("opentype");
}
 
@font-face {
  font-family: "Arial";
  src: url("./resources/fonts/arial.ttf") format("opentype");
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  color: white;
  font-family: "Arial";
}

main {
  width: 100%;
  height: 100vh;
}

.main-background {
  background-image: url('./resources/img/fondo1.jpg');
  background-size: cover;
  background-position: 30% 50%; 
  background-repeat: no-repeat;
  min-height: 100vh;
  height: 100%;
}

.main-container {
  display: flex;
  flex-direction: column;
  align-items: start;  
  justify-content: space-between; 
  padding: 80px 60px;
}

.text-shadow {
  text-shadow: 2px 2px 4px rgba(0,0,0,0.5);
}

.slogan {
  font-family: "Arial-Bold";
  font-weight: 900;
  font-size: 90px;
  letter-spacing: 0.25rem;
  position: relative;
  line-height: 0.90;
  padding: 0px 24px;
}

.content-container {
  display: flex;
  flex-direction: column;  
  justify-content: start;
  width: 100%;
  gap: 40px;
}

.business-container {
  width: fit-content;  
}

.business {
  font-size: 32px;
  border-bottom: 2px solid rgb(0, 155, 142);
  font-weight: 600;
}

.business-services {
  font-size: 20px;
}

.footer-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}

.contact {
  display: flex;
  flex-direction: row;
  align-items: center;  
  gap: 140px;
  font-size: 18px;
}

.contact-info {
  display: flex;
  flex-direction: column;  
}

.contact-info-email {
  font-weight: 800;
}

/* 
En caso de querer agregar más redes sociales
.social-networks {
  
} */

.linkedin {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.linkedin-icon {
  background-color: white;
  width: fit-content;
  border-radius: 5px;
  height: 60px;
  width: 60px;      
  display: flex;  
  align-items: center;
  justify-content: center;
}

.linkedin-icon i {
  font-size: 50px; 
  transition: color 0.3s; 
  color: rgba(0, 0, 0, 0.7); 
}

.social-networks i:hover {
  color: rgb(0, 155, 142);
  animation: shake-social 0.1s ease normal;
}

.orange-box {
  width: 60px;  
  background-color: orangered;
  height: 10px;
}

.footer-logo {
  width: 300px;
}

@media (min-width: 768px) and (max-width: 1536px) {
  .main-container {
    padding: 40px 40px;
  }

  .content-container {
    gap: 24px;
  }
}

@media (min-width: 768px) and (max-width: 1128px) {
  .main-container {
    position: relative;
  }

  .footer-logo {
    position: absolute;
    right: 40px;
    top: 40px;
    width: 300px;
  }
}

@media (max-width: 768px) {
  .main-container {
    padding: 20px 20px;
    gap: 64px;
  }

  .logo-container {
    width: 100%;
    display: flex;
    justify-content: center;
  }

  .slogan {
    font-size: 50px;
  }

  .business {
    font-size: 20px;
  }

  .business-services {
    font-size: 16px;
  }

  .contact {
    font-size: 14px;
  }

  .footer-container {
    flex-direction: column;
    align-items: start;
    gap: 32px;
  }

  .contact {
    flex-direction: column;
    gap: 24px;
    width: 100%;
    align-items: center;
    
  }

  .social-networks {
    display: flex;
    justify-content: center;
    width: 100%;
  }

  .footer-logo-container {
    display: flex;    
    width: 100%;
    justify-content: center;
  }

  .footer-logo {
    position: static;
    width: 250px;    
  }

  .linkedin {
    gap: 12px;
  }

  .linkedin-icon {
    width: 40px;
    height: 40px;
  }

  .linkedin-icon i {
    font-size: 32px; 
  }

  .orange-box {
    width: 40px;
    height: 10px;
  }
}

@keyframes shake-social {
  0% {
    transform: translateY(0) rotate(-5deg); /* Sin desplazamiento vertical */
  }
  50% {
    transform: translateY(-2px) rotate(0deg); /* Desplazamiento hacia arriba */
  }
  100% {
    transform: translateY(0) rotate(5deg); /* Volver a la posición inicial */
  }
}