/*=============== GOOGLE FONTS ===============*/
@import url("https://fonts.googleapis.com/css2?family=Lora:wght@400;500;600&family=Roboto:wght@400;500&display=swap");

/*=============== VARIABLES CSS ===============*/
:root {
  --header-height: 3.5rem;

  /*========== Colors ==========*/
  /*Color mode HSL(hue, saturation, lightness)*/
  --first-color: hsl(207, 4%, 12%);
  --title-color: hsl(207, 4%, 95%);
  --text-color: hsl(207, 4%, 65%);
  --text-color-light: hsl(207, 4%, 56%);
  --body-color: hsl(207, 4%, 10%);
  --container-color: hsl(207, 4%, 12%);


  /* Change the first number */
  --gradient-color: linear-gradient(180deg,
    hsla(207, 48%, 72%, 0),
    hsla(207, 65%, 65%, 1));

   

  /*========== Font and typography ==========*/
  /*.5rem = 8px | 1rem = 16px ...*/
  --body-font: 'Roboto', sans-serif;
  --title-font: 'Roboto', sans-serif;
  --biggest-font-size: 1.5rem;
  --h1-font-size: 1.5rem;
  --h2-font-size: 1.25rem;
  --h3-font-size: 1rem;
  --normal-font-size: .938rem;
  --small-font-size: .813rem;
  --smaller-font-size: .75rem;
  --tiny-font-size: .625rem;

  /*========== Font weight ==========*/
  --font-medium: 500;
  --font-semi-bold: 600;

  /*========== z index ==========*/
  --z-normal: 1;
  --z-tooltip: 10;
  --z-fixed: 100;
}

/* Responsive typography */
@media screen and (min-width: 1024px) {
  :root {
    --biggest-font-size: 3rem;
    --h1-font-size: 2.25rem;
    --h2-font-size: 1.5rem;
    --h3-font-size: 1.25rem;
    --normal-font-size: 1rem;
    --small-font-size: .875rem;
    --smaller-font-size: .813rem;
    --tiny-font-size: .688rem;
  }
}

/*=============== BASE ===============*/
* {
  border: 0;
  box-sizing: border-box;
  padding: 0;
  margin: 0;
}

html {
  scroll-behavior: smooth;
}

body {
  height: 100vh;
  font-family: var(--body-font);
  font-size: var(--normal-font-size);
  background-color: var(--body-color);
  color: var(--text-color);
  margin: 0;
  padding: 0;
  transition: background 0.3s, color 0.3s; /* Animación DarkMode */
}
main {
  margin-top: 60px;
}
h1, h2, h3 {
  color: var(--title-color);
  font-family: var(--title-font);
  font-weight: var(--font-medium);
}

ul {
  list-style: none;
}

a {
  text-decoration: none;
}

img {
  max-width: 100%;
  height: auto;
}

/*=============== THEME ===============*/
.change-theme {
  font-size: 24px;
  cursor: pointer;
  margin: 5px;
}

/* Variables de tema oscuro */
body.dark-theme {
  --title-color: hsl(207, 4%, 95%);
  --text-color: hsl(207, 4%, 65%);
  --body-color: hsl(207, 4%, 10%);
  --container-color: hsl(207, 4%, 15%);
  --container-color2: hsl(207, 4%, 80%);
  --header-background-color: hsl(0, 0%, 80%);
}

/* Variables de tema claro (inverso del tema oscuro) */
body.light-theme {
  --title-color: hsl(0, 0%, 20%);
  --text-color: hsl(0, 0%, 40%);
  --body-color: hsl(0, 1%, 97%);
  --container-color: hsl(0, 0%, 93%);
  --container-color2: hsl(0, 0%, 80%);
  --header-background-color: hsl(207, 4%, 10%);
}

/* Estilos para el switch */
.theme-switch-container {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
}

.theme-switch-label {
  position: relative;
  display: inline-block;
  width: 50px;
  height: 25px;
  background-color: #ccc;
  border-radius: 50px;
  transition: transform 0.3s ease;
}

/* Ocultar el checkbox */
input[type="checkbox"] {
  display: none;
}

/* Estilo para el slider del interruptor */
.theme-switch-slider {
  position: absolute;
  top: 0;
  left: 0;
  width: 50%;
  height: 100%;
  transition: transform 0.3s ease;
}

/* Estilo del interruptor cuando está encendido */
input[type="checkbox"]:checked + .theme-switch-label + .theme-switch-slider {
  transform: translateX(100%); /* Desplazar el slider hacia la derecha cuando el interruptor está encendido */
}

/* Estilos para los íconos */
.theme-switch-label i {
  font-size: 1.15rem;
  position: relative;
  z-index: 1;
}

.dark-theme-icon {
  left: 20px;
}
.light-theme-icon {
  right: 1px;
}


/*========== 
    Color changes in some parts of 
    the website, in light theme
==========*/
/*=============== IDIOMAS ===============*/
.language-en {
  display: none;
}

.language-es {
  display: block;
}


/*=============== REUSABLE CSS CLASSES ===============*/
.container {
  max-width: 1024px;
  margin-inline: 1.5rem;
}

.grid {
  display: grid;
  gap: 1.5rem;
}

.section {
  padding-block: 2.5rem;
}

.section__border {
  border-bottom: 1px solid var(--title-color);
  padding-bottom: 3.5rem;
}

.section__title, 
.section__subtitle {
  text-align: center;
}

.section__title {
  font-size: var(--h1-font-size);
  font-weight: var(--font-semi-bold);
  margin-bottom: .25rem;
}

.section__subtitle {
  display: block;
  font-size: var(--small-font-size);
  color: var(--text-color-light);
  margin-bottom: 3rem;
}



/*=============== HEADER & NAV ===============*/

.header{
  width: 100%;
  position: fixed;
  top: .25rem;
  left: 0;
  z-index: var(--z-fixed);

}

.nav{
  height: calc(var(--header-height)+ .5rem);
  width: auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: var(--body-color);
  box-shadow: 0 4px 20px hsla(207, 24%, 35%, .1);
  padding-inline: 1.5rem;
  border-radius: 0.5rem;
  position: relative;
}
.nav__logo,
.nav__close{
  color: var(--title-color);
}

.nav__toggle{
  background-color: hsl(0, 0%, 80%);
  border: none;
  cursor: pointer;
  outline: none;
  box-shadow: 0 4px 20px hsla(207, 24%, 35%, .1);
  padding-inline: 1rem;
  border-radius: 0.5rem;
  position: relative; 
  
}

.nav__toggle i{
  font-size: 1.75rem;
}

.nav__brand{
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--body-color);
  overflow: hidden;
}


.nav__brand img {
  width: auto;
  height:var(--header-height);
  border-radius: 1rem;
  flex-shrink: 0;
  animation: desplazarDerechaIzquierda 8s linear infinite;
}
@keyframes desplazarDerechaIzquierda {
  0% {
    transform: translateX(-300px);
  }
 
  100% {
    transform: translateX(600px);
  }
}

.nav__logo{
  font-family: var(--title-font);
  font-weight: var(--font-medium);
}

.nav__buttons{
  display: flex;
  font-size: 1.25rem;
  cursor: pointer;
  padding: 10px;
  position: absolute;
  top: 20px;
  right: -160px
}
@media screen and (max-width:1000px){
  .nav__menu{
    position:fixed;
    width: 98%;
    left: 0;
    right: 0;
    margin: 0 auto;
    bottom: -80%;
    background-color: var(--body-color);
    box-shadow: 0 4px 20px hsla(207, 24%, 35%, .1);
    padding: 2rem 1.5rem 5rem;
    border-radius: 0.5rem;
    transition: top .3s;
  }
}

.nav__list{
  grid-template-columns: repeat(5, max-content);
  justify-content: center;
  gap: 2rem 3rem;
}

.nav__link{
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: .25rem;
  font-size: var(--smaller-font-size);
  color: var(--text-color-light);
  translate: color .3s;
}
.nav__link:hover{
  color:var(--title-color);
}
.nav__link i{
  font-size: 1.25rem;
}

.nav__close{
  position: absolute;
  right: 1.5rem;
  top: 0.5rem;
  font-size: 1.25rem;
  cursor: pointer;
}


/* Show menu */
.show-menu{
  top: 0rem;
  height: 2rem;
}

/* Hide menu */
.hide-menu {
  display: none;
}
/* Active link */
.active-link{
  color: var(--title-color);
}

/* PRELOAD */

.preload-container {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
  background-color: #fff; /* Fondo en blanco */
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9999; /* Asegura que la pantalla de precarga esté encima de todo */
  transition: 2s;
}

.preload {
  text-align: center;
}

.preload img {
  max-width: 1000px; /* Ajusta el tamaño de la imagen de carga según sea necesario */
  max-height: 800px;
}

.preload-text {
  color: black;
  font-size: var(--biggest-font-size);
  font-weight: bold;
}

.preload-des{
  color: black;
  font-size: var(--h1-font-size);
}

/*=============== HOME ===============*/
.home__container{
  row-gap: 3rem;
  padding-top: 1rem;
}
.home__data{
  row-gap: 3rem;
  width: auto;
  height: 60vh;

}
.home__title{
    position: relative;
    top: 50%;
    width: auto;
    margin: 0;
    font-size: 100%;
    text-align: center;
    white-space: normal;
    overflow: hidden;
    transform: translateY(-50%);    
}

/* Animation */
@keyframes blinkCursor {
  0%, 100% {
      border-right: 2px solid transparent; /* El cursor es invisible al principio y al final */
  }
  50% {
      border-right: 2px solid #888888; /* El cursor es visible en el medio */
  }
}

.home__blob{
  position: relative;
  width: 280px;
  height: 280px;
  background-color: var(--body-color);
  border: 1px solid var(--text-color-light);
  justify-self: center;
  border-radius: 2rem;
}

.home__perfil{
  width: 100%;
  height: auto;
  background: none;
  border-radius: 2rem;
  overflow: hidden;
  display: flex;
  justify-content:center;
  align-items: flex-end;
}

.home__perfil img{
  width: 100%;
}

.home__shapes{
  width: 50px;
  left: -1.5rem;
  top: 5rem;
}

.home__social{
  align-items: center;
  justify-self: center;
  display: flex;
  column-gap: 3rem;
}

.home__social-link a{
  font-size: 3rem;
  color: var(--title-color);
  transition: color .3s;
  cursor: pointer;
}

.home__social-link:hover{
  color:var(--title-color);
}

.home__info{
  display: grid;
  row-gap: 0.5rem;
}

.home__info-title{
  font-family: var(--body-font);
  font-size: var(--tiny-font-size);
  font-weight: 400;
  color: var(--text-color-light);
  margin-bottom: 0.5rem;
}

.home__info-description,
.home__info-number{
  font-family: var(--font-semi-bold);
  font-size: var(--tiny-font-size);
  color: var(--title-color);
  text-align: justify;
  width: 800px;
  height: 120px;
}
.home__info-description{
  padding-right: 4rem;
  font-size: var(--h1-font-size);
}
.home__info-number{
  font-size: var(--h1-font-size);
  font-weight: var(--font-semi-bold);
}

/*=============== SKILLS ===============*/


.skills__container {
  row-gap: 3.5rem;
}

.skills__title {
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 0.5rem;
  font-size: var(--h2-font-size);
  font-weight: var(--font-semi-bold);
  margin: 2rem;
}

.skills__title i {
  font-size: var(--h2-font-size);
  font-weight: var(--font-semi-bold);
}

.skills__info,
.skills__data,
.skills__blob {
  display: grid;
}

.skills__info {
  grid-template-columns: repeat(3, 1fr);
  gap: 2.5rem 2rem;
  border: 1px solid var(--text-color);
  border-radius: 2rem;
  padding: 2rem;
}

.skills__data {
  justify-content: center;
  text-align: center;
}

.skills__blob {
  width: 80px;
  height: 100px;
  background-color: var(--container-color2);
  border-radius: 3rem;
  place-items: center;
  margin-bottom: 1rem;
}

.skills__blob img {
  width: 40px;
}

.skills__name {
  font-size: var(--small-font-size); 
  margin-bottom: 0.25rem;
}

.skills__subtitle {
  font-size: var(--small-font-size); 
  color: var(--text-color-light);
}

/* Animation skills */
.skills__blob:hover{
  animation: bounce-skills .6s;
}

.skills__content{
  padding: 1.5rem;
 
}

@keyframes bounce-skills {
  0%{transform: translate(0);}
  20%{transform: translate(-6px);}
  40%{transform: translate(0);}
  60%{transform: translate(-4px);}
  80%{transform: translate(-2px);}
 100%{transform: translate(0);}
}
/*=============== QUALIFICATION ===============*/
.qualification{
  position: relative;
}

.qualification__container{
  row-gap: 3.5rem;
}
.qualification__title{
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: .5rem;
  font-size: var(--h2-font-size);
  font-weight: var(--font-semi-bold);
  margin-bottom: 2rem;
}

.qualification__title i{
  font-size: var(--h2-font-size);
  font-weight: var(--font-semi-bold);
}

.qualification__info{
  display: grid;
  row-gap: 1.5rem;
  border: 1px solid var(--text-color);
  border-radius: 2rem;
  padding: 2rem;
}

.qualification__name{
  font-size: var(--normal-font-size);
  font-weight: var(--font-semi-bold);
  margin-bottom: 1.25rem;
}

.qualification__location,
.qualification__description,
.qualification__year{
  display: block;
  font-size: var(--small-font-size);
  color: var(--text-color-light)
}
.qualification__description{
  margin-bottom: .5rem;
}
.qualification__location{
  margin-bottom: .5rem;
}

.qualification__img{
  width: 150px;
  position:absolute;
  right: -3rem;
  bottom: 12rem;
  transform: rotate(15deg);
  opacity: .1;
}
/*=============== SERVICES ===============*/
.services__container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 1.5rem;
  align-self: center;
  justify-content: center;
  margin: 1rem;
}
.services__main{
  font-weight: bold;;
  border-bottom: 1px solid var(--title-color);
  border-bottom-left-radius: .7rem;
  border-bottom-right-radius: .7rem;
  padding-bottom: .7rem;
}

.services__card {
  position: relative;
  width: 320px;
  height: 380px;
  background-color: var(--container-color);
  text-align: center;
  padding: 2rem 1rem;
  border-radius: 3rem;
}

.services__card i {
  display: grid;
  font-size: 1.5rem;
  color: var(--title-color);
  margin-bottom: 0.5rem;
  transition: transform 0.8s;
}

.services__title {
  font-size: var(--h2-font-size);
  font-weight: var(--font-semi-bold);
  margin-bottom: 1rem;
}

.services__description {
  font-size: 1rem;
}

.services__description i {
  display: inline-block; 
  font-size: 1.5rem; 
  margin: 0.5rem; 
}

.services__border {
  width: 320px; /* Igual que services__card */
  height: 380px; /* Igual que  services__card */
 border: 1.8px solid var(--text-color);
  border-radius: 3rem; 
  position: absolute;
  inset: 0;
  z-index: -1;
  transition: opacity 0.6s;
  opacity: 0;
}

.services__card:hover i {
  transform: rotateY(360deg);
}

.services__card:hover .services__border {
  opacity: 1;
}

/*=============== PROJECTS ===============*/
.projects__container{
  overflow: initial;
}

.projects__content{
  display: grid;
  justify-content: center;
}

.projects__img{
  width: 250px;
  border-radius: .75rem;
  margin-bottom: 1.25rem;

}

.projects__subtitle{
  font-size: var(--small-font-size);
  color: var(--text-color-light);
}

.projects__title{
  font-size: var(--h2-font-size);
  margin-bottom: 1.25rem;
  margin: .5rem 0 1.25rem;
}

.projects__button{
  display: inline-flex;
  align-items: center;
  column-gap: .5rem;
  columns: var(--title-color);
  font-size: var(--small-font-size);

}

.projects__button i{
  font-size: 1rem;
  transition: transform .3s;
}

.projects__button:hover i{
  transform: translateX(.25rem);
}



/* Swiper class */

.projects__container .swiper-button-prev::after,
.projects__container .swiper-button-next::after{
  content:'';
}
.projects__container .swiper-button-prev,
.projects__container .swiper-button-next{
  width: initial;
  height: initial;
  margin: initial;
  font-size: 2.5rem;
  color: var(--title-color);
}
.projects__container .swiper-button-prev{
  left: -1rem;
  top:4.5rem;
}
.projects__container .swiper-button-next{
  right:.1rem;
  top:4.5rem;
}
.projects__container .swiper-slide{
  margin-bottom: 4.5rem;
}
.projects__container .swiper-pagination-bullets{
  bottom:0;
}
.projects__container .swiper-pagination-bullet{
  background-color: var(--text-color-light);
  opacity: initial;
}
.projects__container .swiper-pagination-bullet-active{
  background-color: var(--text-color);
  opacity: initial;
}
/*=============== TESTIMONIAL ===============*/
.testimonial{
position: relative;
}

.testimonial__content{
  text-align: center;
}

.testimonial__description{
font-family: var(--title-font);
color: var(--title-color);
margin-bottom: 1.5rem;
}

.testimonial__name{
  font-family: var(--body-font);
  font-size: var(--small-font-size);
  margin-bottom: .25rem;
}

.testimonial__subtitle{
  font-size: var(--smaller-font-size);
  color: var(--text-color-light);

}
/* Swiper class */
.testimonial__container .swiper-button-prev::after,
.testimonial__container .swiper-button-next::after{
  content:'';
}
.testimonial__container .swiper-button-prev,
.testimonial__container .swiper-button-next{
  width: initial;
  height: initial;
  top: initial;
  bottom: .5rem;
  font-size: 2rem;
  color: var(--title-color);
}
.testimonial__container .swiper-button-prev{
  left: calc(50% - 4rem);
}
.testimonial__container .swiper-button-next{
  right:calc(50% - 4rem);
 }
.testimonial__container .swiper-slide{
  margin-bottom: 4rem;
}

.testimonial__container .swiper-pagination-bullets{
  bottom:0;
}
.testimonial__container .swiper-pagination-bullet{
  background-color: var(--text-color-light);
  opacity: initial;
}
.testimonial__container .swiper-pagination-bullet-active{
  background-color: white;
  opacity: initial;
}

/*=============== CONTACT ===============*/
.contact__container {
  row-gap: 3.5rem;
}

.contact__title {
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: .5rem;
  font-size: var(--h2-font-size);
  font-weight: var(--font-semi-bold);
  margin-bottom: 1rem;
  margin-top: .5rem;
}

.contact__title i {
  font-size: var(--h2-font-size);
  font-weight: inherit;
}

.contact__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.contact__info {
  display: flex;
  gap: 2rem;
  justify-content: center;
  text-align: center;
  border: 2px solid var(--text-color);
  border-radius: 2rem;
  padding: 2.5rem;
  
}



.contact__data {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.contact__data-title {
  font-size: var(--normal-font-size);
  color: var(--text-color);
}

.contact__data-info {
  text-align: center;
  font-size: var(--normal-font-size);
  font-family: var(--title-font);
  color: var(--title-color);
  margin-top: 1rem;
}

.contact__button {
  width: max-content;
  display: inline-flex;
  align-items: center;
  column-gap: .5rem;
  color: var(--title-color);
  font-size: var(--small-font-size);
  text-decoration: none;
}

.contact__button img {
  transition: transform .3s;
}

.contact__button:hover img {
  transform: translateX(.5rem);
}

.contact__blob {
  width: 100px;
  height: 100px;
  background-color: var(--container-color);
  border-radius: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1px;
  margin-bottom: 1rem;
}

.contact__blob img {
  width: auto;
  height: 3.5rem;
}

.contact__form{
  position: relative;
  row-gap: 2rem;
}

.contact__form-div{
  position: relative;
  height: 4rem;
  margin: 1rem;
}
.contact__form-input{
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
border: 2px solid var(--text-color);
border-radius: 2rem;
padding: 1.5rem;
font-size: var(--normal-font-size);
font-family: var(--title-font);
color: var(--title-color);
background: none;
outline: none;
z-index: 1;
}

.contact__form-tag{
position: absolute;
top: -.75rem;
left: 1.25rem;
z-index: 10;
background-color: var(--body-color);
color: var(--title-color);
font-size: var(--smaller-font-size);
font-weight: var(--font-medium);
padding: .35rem;
}

.contact__form-area{
  height: 10rem;
}

.contact__form-area textarea{
  resize: none;
}

.contact__form .contact__button{
border: none;
background: none;
font-size: var(--h2-font-size);
font-family: var(--title-font);
font-weight: var(--font-semi-bold);
cursor:pointer;
outline: none;
margin-top: .75rem;
}

.contact__form .contact__button i{
  font-size: 1.25rem;
  font-weight: initial;
}
/* Status color */


/*=============== FOOTER ===============*/
.footer__container{
padding: 3rem 0 1.5rem;
text-align: center;
justify-content: center;
}

.footer__title{
font-size: var(--hl-font-size);
font-weight: var(--font-semi-bold);
margin-bottom: 1rem;
}

.footer__list,
.footer__social{
  display: flex;
  justify-self: center;
}

.footer__list{
  margin: 2.5rem 0;
  column-gap: 2.5rem;
  }
  
.footer__link{
color: var(--title-color);
}

.footer__link:hover{
  text-decoration: underline;
}

.footer__social{
  column-gap: 1.25rem;
}
.footer__social-link a{
  font-size: 1.25rem;
  color: var(--title-color);
  transition: transform .3s;
  cursor: pointer;
}
.footer__social-link:hover{
  transform: translateY(-1.5rem);
}
.footer_copy{
  display: block;
  margin-top: 4.5rem;
  font-size: var(--small-font-size);
  color: var(--text-color-light)
}

/*=============== SCROLL BAR ===============*/
::-webkit-scrollbar{
  width: .6rem;
  border-radius: .5rem;
  background-color: hsl(207, 4%, 90%);
}
::-webkit-scrollbar-thumb{
  border-radius: .5rem;
  background-color: hsl(207, 4%, 45%);
}
::-webkit-scrollbar-thumb:hover{
  background-color: hsl(207, 4%, 30%);
}

/*=============== SCROLL UP ===============*/
.scroll-up-btn{
position: fixed;
right: 1rem;
bottom: 7.5rem;
background-color: var(--container-color) ;
box-shadow: 0 8px 12px hsl(207, 24%, 35%, .15);
display: inline-flex;
padding: .35rem;
border-radius: .25rem;
font-size: 1.1rem; 
color: var(--title-color) ;
z-index: var(--z-tooltip) ;
transition: bottom .3s, transform .3s;
}

.scrollup:hover{
  transform: translateY(-.25rem);
}

/* Show Scroll Up*/

.show-scroll{
  bottom: 7.5rem;
  opacity: 1;
}

/*=============== BREAKPOINTS ===============*/

/* Estilo para dispositivos pequeños (hasta 393px de ancho) */
@media screen and (max-width: 393px) {
  .container {
    margin-inline: 1rem; /* Se agrega un margen a los lados del contenedor */
  }

  .nav__menu {
    padding-bottom: 4rem; /* Se ajusta el espaciado inferior del menú de navegación */
  }

  .nav__list {
    gap: 1rem 1.25rem; /* Se ajusta el espaciado entre elementos de la lista de navegación */
  }

  .skills__info {
    grid-template-columns: repeat(2, 1fr); /* Cambia a dos columnas en lugar de tres en la sección de habilidades */
  }

  .projects__img {
    width: 200px; /* Se ajusta el ancho de las imágenes de proyectos */
    justify-self: center; /* Se centra horizontalmente las imágenes */
  }
}

/* Estilo para dispositivos medianos (más de 576px de ancho) */
@media screen and (min-width: 576px) {
  .nav,
  .nav__menu {
    width: 80%; /* Reducción del ancho del menú de navegación y la barra de navegación */
  }

  .nav {
    margin: 0 auto; /* Centra la barra de navegación horizontalmente */
  }

  .skills__container {
    justify-content: center; /* Centra los elementos de la sección de habilidades */
  }
  .projects__container,
  .testimonial__container {
    width: 400px; /* Limita el ancho de contenedores de proyectos y testimonios */
  }
  .projects__container {
    overflow: hidden;
  }
  .projects__container .swiper-button-prev {
    left: 1rem; /* Ajusta la posición del botón "anterior" del carrusel de proyectos */
  }

  .projects__container .swiper-button-next {
    right: 1rem; /* Ajusta la posición del botón "siguiente" del carrusel de proyectos */
  }
}

/* Estilo para dispositivos medianos (más de 767px de ancho) */
@media screen and (min-width: 767px) {
  .home__container {
    grid-template-columns: 1fr 2fr 1fr; /* Cambia la disposición de columnas en la sección de inicio */
  }

  .home__info {
    margin-top: 10rem; /* Ajusta el margen superior en la sección de inicio */
  }
  
  .skills__container,
  .services__container,
  .contact__container {
    grid-template-columns: repeat(2, max-content); /* Utiliza dos columnas en lugar de una en estas secciones */
  }
  .skills__container {
    column-gap: 5rem; /* Ajusta el espacio entre elementos en la sección de habilidades */
  }
  .qualification__container {
    justify-content: center; /* Centra elementos en la sección de calificaciones */
    column-gap: 10rem; /* Ajusta el espacio entre elementos en la sección de calificaciones */
  }
  .projects__container {
    width: 500px; /* Establece un ancho máximo para el contenedor de proyectos */
  }
  .contact__form {
    width: 360px; /* Establece un ancho máximo para el formulario de contacto */
  }
  .contact__container {
    justify-content: center; /* Centra elementos en la sección de contacto */
    column-gap: 8rem; /* Ajusta el espacio entre elementos en la sección de contacto */
}

/* Estilo para dispositivos grandes (más de 1023px de ancho) */
@media screen and (min-width: 1023px) {
  .header {
    top: 0; /* Ajusta la posición del encabezado */
    bottom: initial; /* Restablece la posición inferior */
    background-color: var(--body-color); /* Cambia el fondo del encabezado */
    transition: .4s; /* Agrega una transición para los cambios en el encabezado */
  }

  .nav {
    width: initial; /* Restablece el ancho del menú de navegación */
    height: calc(var(--header-height) + 1.5rem); /* Ajusta la altura de la barra de navegación */
    box-shadow: none; /* Elimina la sombra del menú */
    border-radius: 0; /* Restablece la forma del menú */
    column-gap: 3rem; /* Ajusta el espacio entre elementos de la barra de navegación */
    margin-inline: 1.5rem; /* Añade un margen a los lados del menú */
    padding: 0; /* Elimina el relleno del menú */
  }

  .nav__link i,
  .nav__toggle,
  .nav__close {
    display: none; /* Oculta algunos elementos del menú */
  }
  .nav__menu {
    width: initial; /* Restablece el ancho del menú */
    margin-left: auto; /* Ajusta el margen izquierdo del menú */
    background-color: var(--body-color); /* Cambia el fondo del menú */
    transition: background .4s; /* Agrega una transición para los cambios en el fondo del menú */
  }
  .nav__list {
    display: flex; /* Cambia la disposición de la lista de navegación a una fila */
    column-gap: 3rem; /* Ajusta el espacio entre elementos de la lista */
  }
  .nav__link {
    font-size: var(--normal-font-size); /* Ajusta el tamaño de fuente de los enlaces */
  }
  .dark-theme .nav,
  .dark-theme .nav__menu {
    background-color: var(--body-color); /* Cambia el fondo del menú en modo oscuro */
    box-shadow: none; /* Elimina la sombra en modo oscuro */
  }
  .change-theme {
    color: var(--text-color-light); /* Cambia el color del icono de cambio de tema */
  }
  .change-theme:hover {
    color: var(--title-color); /* Cambia el color al pasar el cursor sobre el icono de cambio de tema */

  .section {
    padding-block: 8rem 0; /* Ajusta el relleno de las secciones */
  }

  .home__title {
    font-size: 2.25rem; /* Ajusta el tamaño de fuente del título de inicio */
  }
  .scrollup {
    right: 3rem; /* Ajusta la posición del botón de desplazamiento hacia arriba */
  }
  .show-scroll {
    bottom: 5rem; /* Ajusta la posición del botón de desplazamiento visible */
  }
  /* Cambiar el background header */
  .bg-header{
    box-shadow: 0 4px 20px hsl(207, 24%, 35%, .1); /* Agrega una sombra al encabezado */
  }
  .dark-theme .bg-header{
    box-shadow: 0 6px 24px hsl(207, 24%, 35%, .6); /* Ajusta la sombra en modo oscuro */
  }
}

@media  screen and (min-width: 1048px) {
  .container{
    margin-inline: auto; /* Centra el contenido horizontalmente */
  }
}

/* Estilo para dispositivos aún más grandes (más de 1200px de ancho) */
@media screen and (min-width: 1200px) {
  .section__border{
    padding-bottom: 6rem; /* Ajusta el espacio inferior en secciones con borde */
  }
  .section__subtitle{
    margin-bottom: 5rem; /* Ajusta el margen inferior en subtítulos de sección */
  }
  .home__title{
    font-size: var(--biggest-font-size); /* Ajusta el tamaño de fuente del título de inicio */
    text-align: center; /* Centra el texto del título */
  }
  .home__blob{
    width: 400px; /* Ajusta el tamaño de la imagen "blob" en la sección de inicio */
    height:400px;
    border-radius: 6rem;
  }
  .home__perfil{
    width: 400px; /* Ajusta el tamaño del perfil de usuario en la sección de inicio */
    height: 400px;
    border-radius: 6rem;
  }
  .home__perfil img{
    width: 400px; /* Ajusta el tamaño de la imagen de perfil */
  }
  .home__data.grid {
    display: flex; /* Cambia la disposición de los elementos de datos en la sección de inicio a una fila */
    justify-content: space-between; /* Ajusta el espacio entre elementos de datos */
  }
  .home__data{
    row-gap: 2.5rem; /* Ajusta el espacio vertical entre elementos de datos */
  }
  .home__social{
    bottom: 12rem; /* Ajusta la posición de los enlaces sociales en la sección de inicio */
    display: flex;
    flex-direction: column; /* Cambia la dirección de los enlaces sociales a una columna */
  }
  .home__social-link{
    font-size: 1.5rem; /* Ajusta el tamaño de fuente de los enlaces sociales */
  }
  .home__info{
    grid-template-columns: repeat(3, 130px); /* Cambia la disposición de columnas en la sección de información */
    row-gap: 4rem; /* Ajusta el espacio vertical entre elementos de información */
    margin-top: 16rem; /* Ajusta el margen superior en la sección de información */
  }
  .skills__container{
    column-gap: 10rem; /* Ajusta el espacio entre elementos en la sección de habilidades */
  }
  .skills__title{
    margin-bottom: 3rem; /* Ajusta el margen inferior en el título de habilidades */
  }
  .skills__title i{
    font-size: 1.25rem; /* Ajusta el tamaño de fuente de iconos en el título de habilidades */
  }
  .skills__name{
    font-size: var(--normal-font-size); /* Ajusta el tamaño de fuente del nombre de habilidades */
  }
  .skills__info{
    gap: 3rem; /* Ajusta el espacio entre elementos de información de habilidades */
  }
  .qualification__container{
    column-gap: 14rem; /* Ajusta el espacio entre elementos en la sección de calificaciones */
  }
  .qualification__title{
    margin-bottom: 3rem; /* Ajusta el margen inferior en el título de calificaciones */
  }
  .qualification__title i{
    font-size: 1.25rem; /* Ajusta el tamaño de fuente de iconos en el título de calificaciones */
  }
  .services__title,
  .qualification__name{
    font-size: var(--normal-font-size); /* Ajusta el tamaño de fuente de títulos de servicios y nombres de calificaciones */
  }
  .qualification__img{
    width: 300px; /* Ajusta el ancho de la imagen de calificaciones */
    left: -6rem; /* Ajusta la posición izquierda de la imagen de calificaciones */
    bottom: 5rem; /* Ajusta la posición inferior de la imagen de calificaciones */
  }
  .services__container{
    grid-template-columns: repeat(3, max-content); /* Cambia la disposición de columnas en la sección de servicios */
  }
  .services__card{
    width: 320px; /* Ajusta el ancho de las tarjetas de servicios */
    height: 380px; /* Ajusta la altura de las tarjetas de servicios */
    border-radius: 5rem; /* Ajusta el radio de borde de las tarjetas de servicios */
    padding: 3.5rem 1.5rem; /* Añade relleno a las tarjetas de servicios */
  }
  .services__border{
    width: 320px; /* Ajusta el ancho de los bordes de las tarjetas de servicios */
    height: 380px; /* Ajusta la altura de los bordes de las tarjetas de servicios */
    border-radius: 5rem; /* Ajusta el radio de borde de los bordes de las tarjetas de servicios */
  }
  .projects__container{
    width: 1000px; /* Establece un ancho máximo para el contenedor de proyectos */
  }
  .projects__container .swiper-button-prev,
  .projects__container .swiper-button-next{
    font-size: 3rem; /* Ajusta el tamaño de fuente de los botones de navegación del carrusel de proyectos */
  }
  .projects__container .swiper-button-prev{
    left: -.4rem; /* Ajusta la posición izquierda del botón "anterior" del carrusel de proyectos */
  }
  .projects__container .swiper-button-next{
    right: -.4rem; /* Ajusta la posición derecha del botón "siguiente" del carrusel de proyectos */
  }
  .projects__container .swiper-slide{
    margin-bottom: 6.5rem; /* Ajusta el margen inferior entre diapositivas del carrusel de proyectos */
  }
  .projects__img{
    width:320px; /* Ajusta el ancho de las imágenes de proyectos */
    margin-bottom: 2rem; /* Ajusta el margen inferior de las imágenes de proyectos */
  }
  .testimonial__container{
    width: 566px; /* Establece un ancho máximo para el contenedor de testimonios */
  }
  .testimonial__container .swiper-button-prev,
  .testimonial__container .swiper-button-next{
    font-size: 2.5rem; /* Ajusta el tamaño de fuente de los botones de navegación del carrusel de testimonios */
  }
  .testimonial__container .swiper-button-prev{
    left: calc(50% - 5rem); /* Ajusta la posición izquierda del botón "anterior" del carrusel de testimonios */
  }
  .testimonial__container .swiper-button-next{
    right: calc(50% - 5rem); /* Ajusta la posición derecha del botón "siguiente" del carrusel de testimonios */
  }
  .testimonial__description{
    font-size: var(--h2-font-size); /* Ajusta el tamaño de fuente de las descripciones de testimonios */
    margin-bottom: 2rem; /* Ajusta el margen inferior de las descripciones de testimonios */
  }
  .testimonial__img{
    width: 200px; /* Ajusta el ancho de las imágenes de testimonios */
    top: 13rem; /* Ajusta la posición superior de las imágenes de testimonios */
    right: 4rem; /* Ajusta la posición derecha de las imágenes de testimonios */
  }
  .contact__title{
    margin-bottom: 3rem; /* Ajusta el margen inferior del título de contacto */
  }
  .contact__title i{
    font-size: 1.25rem; /* Ajusta el tamaño de fuente de iconos en el título de contacto */
  }
  .contact__info{
    row-gap: 3rem; /* Ajusta el espacio vertical entre elementos de información de contacto */
  }
  .contact__data-info{
    font-size: var(--normal-font-size); /* Ajusta el tamaño de fuente de información de contacto */
  }
  .footer__container{
    padding: 4rem 0 3rem; /* Ajusta el relleno en el contenedor del pie de página */
  }
  .footer__list{
    column-gap: 3rem; /* Ajusta el espacio entre elementos en la lista del pie de página */
    margin: 3rem; /* Ajusta el margen en la lista del pie de página */
  }
  .footer__social{
    column-gap: 2rem; /* Ajusta el espacio entre enlaces sociales en el pie de página */
  }
  .footer__social-link{
    font-size: 1.5rem; /* Ajusta el tamaño de fuente de enlaces sociales en el pie de página */
  }
  .footer__copy{
    margin-top: 5rem; /* Ajusta el margen superior en el texto de derechos de autor en el pie de página */
  }
}
}
}