/*  import google fonts */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&family=Ubuntu:wght@400;500;700&display=swap');

*{
    margin: 0;
    padding: 10;
    box-sizing: border-box;
    text-decoration: none;
}
.scene,
canvas {
  position: absolute;
  width: 80%;
  height: 100%;
}
html{
    scroll-behavior: smooth;
}

html, body {
    overflow-y: auto;
    overflow-x: hidden;
    background-color: #06000c;
  }
  
  #keyart-0 {
    background-image: url('./images/parallax/parallax0@2x.png');
  }
  
  #keyart-1 {
    background-image: url('./images/parallax/parallax1@2x.png');
    left: 0.0px;
    margin-left: -20px;
  }
  
  #keyart-2 {
    background-image: url('./images/parallax/parallax2@2x.nologo.png');
    left: 0.0px;
    margin-left: -41px;
    
  }
  
  #keyart-4 {
    background-image: url('./images/parallax/parallax4@2x.png');
    left: 0.0px;
    margin-left: -20px;
    
  }
  
  #keyart-7 {
    background-image: url('./images/parallax/parallax7@2x.png');
    top: -70%;
  }


/* Media queries for responsiveness */
@media (max-width: 768px) {
  /* Adjust styles for smaller screens (e.g., mobile) */
  #keyart-0 {
    background-image: url('./images/parallax/telefono.png'); /* Use a smaller or optimized image for mobile */
    
  }

#keyart-8 {
  background-image: url('./images/parallax/telefono2.png'); /* Use a smaller or optimized image for mobile */
  
}
}
 /* Base styles (these elements will be displayed by default) */
#keyart-0, #keyart-1, #keyart-2, #keyart-4, #keyart-7 {
  background-position: center center;
  background-repeat: no-repeat;
  position: absolute;
  /* Other styles... */
}

/* Hide elements on smaller screens (adjust breakpoint as needed) */
@media (max-width: 768px) {
#keyart-1, #keyart-2, #keyart-4, #keyart-7 {
    display: none;
  }
}

  .banner {
    height: 100vh;
    position: relative;
    overflow: hidden;
  }
  
  .banner .bg {
    position: absolute;
    left: 0;
    bottom: 180px;
    margin-left: 25%;
    width: 50%; /* Reduced to 50% of original width */
    height: 50%; /* Reduced to 50% of original height */
    background-image: url('images/parallax/image1.png');
    background-size: cover;
    background-repeat: no-repeat;
    transition: 0.1s;
  }
    
  .banner .image1 {
    /* Remove the background-image property to prevent repetition */
    background-image: none;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 50px; /* Reduced to 50px width */
    height: 50px; /* Reduced to 50px height */
  }

/* Media query for reducing image size on smaller screens */
@media (max-width: 768px) {
  .banner .bg {
    background-image: url('images/parallax/Image1.png'); /* Use a smaller image for mobile */
  }
}



/* Media query for reducing image size on smaller screens */
@media (max-width: 768px) {
  .banner .bg {
    background-image: url('images/parallax/celu.png'); /* Use a smaller image for mobile */
  }
}
  

  .keyart_layer {
    background-position: center center;
    background-size: auto 100%;
    background-repeat: no-repeat;
    width: calc(100% + 25%);
    height: calc(100% + 50%);
    top: -25%;
    left: -25%;
    position: absolute;
  }  

.intro {
  min-height: 50vh;
  color: #eee;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.intro img {
  width: 130px;
  height: 130px;
  border-radius: 50%;
}

.intro p {
  width: 750px;
  max-width: 90%;
  font-size: small;
  text-align: center;
  font-family: poppins;
}
/* Animation show class */

.animation-show {
  transform: translateY(150px);
  opacity: 0;
  transition: 0.7s;
  margin-bottom: 15px;
  font-family: roboto;
}

.active .animation-show {
  transform: translateY(200px);
  opacity: 1;
  
}

.animation-show p {
  font-size: 1.2rem;
}
.animation-show:nth-child(2) {
  transition-delay: 0.3s;
}

.animation-show:nth-child(3) {
  transition-delay: 0.6s;
}

.animation-show:nth-child(4) {
  transition-delay: 0.9s;
}

.library {
  margin-top: 20px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  text-align: center;
  color: #fff;
}

.library img {
  width: 100%;
  max-height: 500px;
  object-fit: contain;
}
.library img {
  animation: jump 1s infinite;
}

@keyframes jump {
  0% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-5px);
  }

  100% {
    transform: translateY(0);
  }
}
.intro button {
  background-color: #19223b;
  padding: 0.8rem;
  border: 1px solid #ffffff;
  border-radius: 5px;
  color: #fff;
  font-family: Poppins;
  font-weight: 500;
  cursor: pointer;
}

/* custom scroll bar */
::-webkit-scrollbar {
    width: 10px;
}
::-webkit-scrollbar-track {
    background: #f1f1f1;
}
::-webkit-scrollbar-thumb {
    background: #888;
}

::-webkit-scrollbar-thumb:hover {
    background: #555;
}

/* all similar content styling codes */
section{
    padding: 10px 0;
}
.max-width{
    max-width: 1300px;
    padding: 0 80px;
    margin: auto;
}

.teams, .contact, footer {
    font-family: 'Poppins', sans-serif;
}
.serv-content,
.contact .contact-content{
  color: #eee;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}
section .title{
    color: #eee;
    position: relative;
    text-align: center;
    font-size: 25px;
    font-weight: 500;
    margin-top: 20px;
    margin-bottom: 40px;
    font-family: 'Ubuntu', sans-serif;
    text-decoration: underline;
    text-decoration-thickness: 4px; /* Aumenta el grosor */
    text-decoration-style: solid; /* Estilo punteado */
    text-decoration-color: #f7f6ff; /* Color rojo */
    text-underline-offset: 10px;

}
/* navbar styling */
.navbar{
    position: fixed;
    width: 100%;
    z-index: 999;
    padding: 10px 0;
    font-family: 'Ubuntu', sans-serif;
    transition: all 0.3s ease;
    background:#06000c; 
}
.navbar.sticky{
    padding: 15px 0;
    background:#06000c;
}
.navbar .max-width{
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.navbar .menu li{
    list-style: none;
    display: inline-block;
}
.navbar .menu li a{
    display: block;
    color: #fff;
    font-size: 18px;
    font-weight: 500;
    margin-left: 25px;
    transition: color 0.3s ease;
}
.navbar .menu li a:hover{
    color: #233464;
}
.navbar.sticky .menu li a:hover{
    color: #fff;
}


.clients {
  text-align: center; /* Centers the content */
  margin: 10rem 0; /* Adds some space around the section */
  margin-bottom: 30px;
}

.client-list {
  display: flex; /* Makes the logos display horizontally */
  justify-content: center; /* Centers the logos within the list */
  flex-wrap: wrap; /* Allows logos to wrap to next line if needed */
  list-style: none; /* Removes default list styling */
  padding: 0; /* Removes default padding */
  margin: 0; /* Removes default margin */
}

.client-list li {
  margin: 1rem; /* Adds space between logos */
}

.client-list li a img {
  width: 150px; /* Adjust width as needed */
  height: auto; /* Maintains image aspect ratio */
}


* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
  font-family: Poppins;
}

.home-container {
  width: 100%;
  height: 50vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #06000c;
}

.profile-card {
  position: relative;
  width: 220px;
  height: 220px;
  background-color: #f3e0fd;
  padding: 10px;
  border-radius: 50%;
  box-shadow: -5px 8px 45px rgba(51, 51, 51, 0.126);
  transition: all .4s;
  margin: 0 20px;
}

.profile-card:hover {
  border-radius: 10px;
  height: 260px;
}

.profile-card .img {
  position: relative;
  width: 100%;
  height: 100%;
}

.profile-card:hover img {
  border-radius: 10px;
  transform: translateY(-70px);
}

.img img {
  object-fit: fill;
  width: 100%;
  border-radius: 50%;
  transition: all .4s;
  z-index: 99;
}

.caption {
  text-align: center;
  transform: translateY(-90px);
  opacity: 0;
  pointer-events: none;
  transition: all .5s;
}

.profile-card:hover .caption {
  opacity: 1;
  pointer-events: all;
}

.caption h3 {
  font-size: 21px;
  color: #0c52a1;
  font-weight: 600;
}

.caption p {
  font-size: 15px;
  font-weight: 500;
  margin: 2px 0 12px 0;
}

.caption .social-links i {
  font-size: 21px;
  margin: 0 3px;
  cursor: pointer;
  color: #333;
  transition: all .4s;
}

.caption .social-links i:hover {
  color: #0c52a1;
}

/* Hover effects */
.profile-card:hover {
  border-radius: 10px;
  height: 260px;
}

.profile-card .img {
  position: relative;
  width: 100%;
  height: 100%;
}




.profile-card:hover img {
  border-radius: 10px;
  transform: translateY(-70px);
}

.img img {
  object-fit: fill;
  width: 100%;
  border-radius: 50%;
  transition: all .4s;
  z-index: 99;
}

.profile-card:hover .caption {
  opacity: 1;
  pointer-events: all;
}

.caption h3 {
  font-size: 21px;
  color: #0c52a1;
  font-weight: 600;
}

.caption p {
  font-size: 15px;
  font-weight: 500;
  margin: 2px 0 12px 0;
}

.caption .social-links i {
  font-size: 21px;
  margin: 0 3px;
  cursor: pointer;
  color: #333;
  transition: all .4s;
}

.caption .social-links i:hover {
  color: #0c52a1;
}



/* menu btn styling */
header
{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    display: flex;
    justify-content: space-between;
    padding: 60px 100px;
    z-index: 100;
    transition: 0.6s;
}
.logo
{
    width: 200px;
        float: left; 
}
.logo img{
    float: inline-start;
    margin-left: 0px 0px 0px 0px;
    width: 70px;
    height: 50px;
    padding: 0%;
    margin-left:0%;
    font-size: 27px;
    margin: auto 0 auto -12px;

}
.menu-btn{
    color: #fff;
    font-size: 23px;
    cursor: pointer;
    display: none;

}

.porta{
  color:#06000c(254, 0, 0);
  background-color:#d80000;
}

.porta .title3{
  
color:#ffffff;
position: relative;
text-align: center;
font-size: 25px;
font-weight: AUTO;
margin-top: 10px;
margin-bottom: 10px;
font-family: Reey;
letter-spacing: 0.1em;

}
.max-width2{
  max-width: 900px;
  padding: 0 30px;
  margin: auto;
}
.max-width3{
  margin: 80px;
  margin-top: 10px;
  margin-bottom: 10px;
}
@media screen and (max-width: 768px) {
  /* Styles for smaller screens */
  .max-width3 {
    margin: 75px;  /* Adjust margins for smaller screens */
    margin-top: 5px;
    margin-bottom: 5px;
  }
}
.title3 {
  /* Inherit or set the same font styles as your `<h2>` class */
  font-family: inherit; /* Or specific font properties */
  font-size: inherit;
  color: inherit;
  /* Remove default button styles (optional) */
  background: none;
  border: none;
  padding: 0;
  cursor: pointer; /* Indicate clickable behavior */
  margin-left: 350px;
}

/* Media queries for responsiveness */
@media (max-width: 768px) {
  .title3 {
    margin: auto; /* Center title on smaller screens */
    font-size: 20px; /* Adjust font size for better readability */
    padding: 0 150px;
    
  }
  
  .max-width2 {
    padding: 0 10px; /* Adjust padding for smaller screens */
  }
}

.porta {
  color: #06000c; /* Use hex code for black color */
  background-color: #d80000;
}

/* software section styling */

.software{
  color:#06000c(254, 0, 0);
  background-color:#f3e0fd;
}

.software .title2{
  
color:#03000c;
position: relative;
text-align: center;
font-size: 25px;
font-weight: AUTO;
margin-top: 20px;
margin-bottom: 40px;
font-family: roboto;

}

.software .title::before{
  background: #06000c(255, 255, 255);
  
}
.software .title::after{
  content: "";
}
.software .title::after{
  background: #06000c(255, 255, 255);
  content: "";
}

.software .carousel .card:hover{
  background: #06000c(255, 255, 255);;
}
.software .carousel .card .box{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
}
.software .carousel .card:hover .box{
  transform: scale(1.10);
}

.software .carousel .card:hover img{
  border-color:  #010304(255, 255, 255);;
}
.owl-item img {
  max-width: 100%; /* Reduce el ancho máximo de las imágenes al 100%. */
  height: auto; /* Mantén la altura automática de las imágenes. */
}
.owl-dots{
  text-align: center;
  margin-top: 20px;
}
.owl-dot{
  height: 10px;
  width: 10px;
  margin: 0 3px;
  outline: none!important;
  border-radius: 50%;
  border: 1px solid #06000c!important;
  transition: all 0.3s ease;
  margin-bottom: 70px;
}
.owl-dot.active{
  width: 35px;
  border-radius: 14px;
}
.owl-dot.active,
.owl-dot:hover{
  background:#06000c!important;
}

  /* contact section styling */
.contact {
  background-color: #080c0c;

}
.contact .title::after{
  content: "";
}
.contact .contact-content .column{
  width: calc(5 0% - 30px);
}
.contact .contact-content .text{
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 10px;  
}
.contact .contact-content .left p{
  text-align: justify;
}
.contact .contact-content .left .icons{
  margin: 20px 0;
}
.contact .contact-content .row{
  display: flex;
  height: 50px;
  align-items: center;
}
.contact .contact-content .row .info{
  margin-left: 15px;
}
.contact .contact-content .row i{
  font-size: 25px;
  color:#ffffff;
}
.contact .contact-content .info .head{
  font-weight: 500;
}
.contact .contact-content .info .sub-title{
  color: #ffffff;
}
.contact .right form .fields{
  display: flex;
}
.contact .right form .field,
.contact .right form .fields .field{
  height: 60px;
  width: 100%;
  margin-bottom: 20px;
}
.contact .right form .textarea{
  height: 80px;
  width: 100%;
}
.contact .right form .name{
  margin-right: 10px;
}
.contact .right form .email{
  margin-left: 10px;  
}
.contact .right form .field input,
.contact .right form .textarea textarea{
  height: 100%;
  width: 100%;
  border: 1px solid lightgrey;
  border-radius: 10px;
  outline: none;
  padding: 0 15px;
  font-size: 17px;
  font-family: 'Poppins', sans-serif;
  transition: all 0.3s ease;
}
.contact .right form .field input:focus,
.contact .right form .textarea textarea:focus{
  border-color: #ffffff;
}
.contact .right form .textarea textarea{

  resize: none;
}
.contact .right form .button{
  height: 47px;
  width: 170px;
}
.contact .right form .button button{
  width: 100%;
  height: 100%;
  border: 1px solid #ffffff;
  background:#06000c;
  color: #fff;
  outline: none;
  font-size: 16px;
  font-weight: 500;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.3s ease;
}
.contact .right form .button button:hover{
  color:#ffffff;
  background: none;
  margin-bottom: 10px;
}

.contact {
  background-image: url('img/fondoconta.jpg'), url('img/fondoconta1.jpg'), url('img/fondoconta2.jpg'), url('img/fondoconta3.jpg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  object-position: 50% -100px;

  animation: change-background 30s linear infinite;
}

@keyframes change-background {
  0% {
    background-image: url('img/fondoconta.jpg');
  }
  25% {
    background-image: url('img/fondoconta1.jpg');
  }
  50% {
    background-image: url('img/fondoconta2.jpg');
  }
  75% {
    background-image: url('img/fondoconta3.jpg');
  }
  100% {
    background-image: url('img/fondoconta.jpg');
  }
}



/* footer section styling */

.social {
  text-align: left;
  padding: 1px 10px;
}
footer{
  background: rgb(0, 0, 0);
  padding: 10px 10px;
  color: #fff;
  text-align: center;
}
footer span a{
  color:#19223b;
  text-decoration: none;
}
footer span a:hover{
  text-decoration: underline;
}

/* responsive media query start */
@media (max-width: 1300px) {
  .home .max-width{
      margin-left: 0px;
  }
}

@media (max-width: 991px) {
  .max-width{
      padding: 0 50px;
  }
}
@media (max-width: 947px){
  .menu-btn{
      display: block;
      z-index: 999;
  }
  .menu-btn i.active:before{
      content: "\f00d";
  }
  .navbar .menu{
      position: fixed;
      height: 100vh;
      width: 100%;
      left: -100%;
      top: 0;
      background: rgb(0, 2, 19);
      text-align: center;
      padding-top: 80px;
      transition: all 0.3s ease;
  }
  .navbar .menu.active{
      left: 0;
  }
  .navbar .menu li{
      display: block;
  }
  .navbar .menu li a{
      display: inline-block;
      margin: 10px 0;
      font-size: 25px;
  }
  .home .home-content .text-2{
      font-size: 70px;
  }
  .home .home-content .text-3{
      font-size: 35px;
  }
  .home .home-content a{
      font-size: 23px;
      padding: 10px 30px;
  }

  .portfolio .portfolio-content .column{
      width: 100%;
  }
  .portfolio .portfolio-content .left{
      display: flex;
      justify-content: center;
      margin: 0 auto 60px;
  }
  .portfolio .portfolio-content .right{
      flex: 100%;
  }

.serv-content .card{
      width: calc(50% - 10px);
      margin-bottom: 20px;
  }
.skills-content .column,
.contact .contact-content .column{
      width: 100%;
      margin-bottom: 35px;
  }
}

@media (max-width: 690px) {
  .max-width{
      padding: 0 23px;
  }
  .home .home-content .text-2{
      font-size: 60px;
  }
  .home .home-content .text-3{
      font-size: 32px;
  }
  .home .home-content a{
      font-size: 20px;
  }
  .Skills .serv-content .card{
      width: 100%;
  }
}

@media (max-width: 500px) {
  .home .home-content .text-2{
      font-size: 50px;
  }
  .home .home-content .text-3{
      font-size: 27px;
  }
  .portfolio .portfolio-content .right .text,
  .Services-content .left .text
  .left .text{
      font-size: 19px;
  }
  .contact .right form .fields{
      flex-direction: column;
  }
  .contact .right form .name,
  .contact .right form .email{
      margin: 0;
  }
  .scroll-up-btn{
      right: 15px;
      bottom: 15px;
      height: 38px;
      width: 35px;
      font-size: 23px;
      line-height: 38px;
  }
}
