.section-center{
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  width: 100%;
  padding: 0;
  margin: 0;
  z-index: 6;
  text-align: center;
  transform: translateY(-50%);
}

.box-shadow-pers{
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1), 0 6px 20px rgba(0, 0, 0, 0.1);

}


[type="checkbox"]:checked,
[type="checkbox"]:not(:checked){
  position: absolute;
  left: -9999px;
}
.menu-icon:checked + label,
.menu-icon:not(:checked) + label{
  position: fixed;
  top: 63px;
  right: 75px;
  display: block;
  width: 30px;
  height: 30px;
  padding: 0;
  margin: 0;
  cursor: pointer;
  z-index: 10;
}
.menu-icon:checked + label:before,
.menu-icon:not(:checked) + label:before{
  position: absolute;
  content: '';
  display: block;
  width: 30px;
  height: 20px;
  z-index: 20;
  top: 0;
  left: 0;
  border-top: 2px solid #000000;
  border-bottom: 2px solid #000000;
  transition: border-width 100ms 1500ms ease, 
              top 100ms 1600ms cubic-bezier(0.23, 1, 0.32, 1),
              height 100ms 1600ms cubic-bezier(0.23, 1, 0.32, 1), 
              background-color 200ms ease,
              transform 200ms cubic-bezier(0.23, 1, 0.32, 1);
}
.menu-icon:checked + label:after,
.menu-icon:not(:checked) + label:after{
  position: absolute;
  content: '';
  display: block;
  width: 22px;
  height: 2px;
  z-index: 20;
  top: 10px;
  right: 4px;
  background-color: #000000;
  margin-top: -1px;
  transition: width 100ms 1750ms ease, 
              right 100ms 1750ms ease,
              margin-top 100ms ease, 
              transform 200ms cubic-bezier(0.23, 1, 0.32, 1);
}
.menu-icon:checked + label:before{
  top: 10px;
  transform: rotate(45deg);
  height: 2px;
  background-color: #000000;
  border-width: 0;
  transition: border-width 100ms 340ms ease, 
              top 100ms 300ms cubic-bezier(0.23, 1, 0.32, 1),
              height 100ms 300ms cubic-bezier(0.23, 1, 0.32, 1), 
              background-color 200ms 500ms ease,
              transform 200ms 1700ms cubic-bezier(0.23, 1, 0.32, 1);
}
.menu-icon:checked + label:after{
  width: 30px;
  margin-top: 0;
  right: 0;
  transform: rotate(-45deg);
  transition: width 100ms ease,
              right 100ms ease,  
              margin-top 100ms 500ms ease, 
              transform 200ms 1700ms cubic-bezier(0.23, 1, 0.32, 1);
}

.nav{
  position: fixed;
  top: 33px;
  right: 50px;
  display: block;
  width: 80px;
  height: 80px;
  padding: 0;
  margin: 0;
  z-index: 9;
  overflow: hidden;
  box-shadow: 0 8px 30px 0 rgba(0,0,0,0.3);
  background-color: #e0e0e0;
  animation: border-transform 7s linear infinite;
  transition: top 350ms 1100ms cubic-bezier(0.23, 1, 0.32, 1),  
              right 350ms 1100ms cubic-bezier(0.23, 1, 0.32, 1),
              transform 250ms 1100ms ease,
              width 650ms 400ms cubic-bezier(0.23, 1, 0.32, 1),
              height 650ms 400ms cubic-bezier(0.23, 1, 0.32, 1);
}
@keyframes border-transform{
    0%,100% { border-radius: 63% 37% 54% 46% / 55% 48% 52% 45%; } 
  14% { border-radius: 40% 60% 54% 46% / 49% 60% 40% 51%; } 
  28% { border-radius: 54% 46% 38% 62% / 49% 70% 30% 51%; } 
  42% { border-radius: 61% 39% 55% 45% / 61% 38% 62% 39%; } 
  56% { border-radius: 61% 39% 67% 33% / 70% 50% 50% 30%; } 
  70% { border-radius: 50% 50% 34% 66% / 56% 68% 32% 44%; } 
  84% { border-radius: 46% 54% 50% 50% / 35% 61% 39% 65%; } 
}

.menu-icon:checked ~ .nav {
  animation-play-state: paused;
  top: 50%;
  right: 50%;
  transform: translate(50%, -50%);
  width: 200%;
  height: 200%;
  transition: top 350ms 700ms cubic-bezier(0.23, 1, 0.32, 1),  
              right 350ms 700ms cubic-bezier(0.23, 1, 0.32, 1),
              transform 250ms 700ms ease,
              width 750ms 1000ms cubic-bezier(0.23, 1, 0.32, 1),
              height 750ms 1000ms cubic-bezier(0.23, 1, 0.32, 1);
}

.nav ul{
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  width: 100%;
  padding: 0;
  margin: 0;
  z-index: 6;
  text-align: center;
  transform: translateY(-50%);
  list-style: none;
}
.nav ul li{
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  margin: 10px 0;
  text-align: center;
  list-style: none;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transform: translateY(30px);
  transition: all 250ms linear;
}
.nav ul li:nth-child(1){
  transition-delay: 200ms;
}
.nav ul li:nth-child(2){
  transition-delay: 150ms;
}
.nav ul li:nth-child(3){
  transition-delay: 100ms;
}
.nav ul li:nth-child(4){
  transition-delay: 50ms;
}
.nav ul li a{
  font-family: 'Montserrat', sans-serif;
  font-size: 7vh;
  text-transform: uppercase;
  line-height: 1.2;
  font-weight: 800;
  display: inline-block;
  position: relative;
  color: #444343;
  transition: all 250ms linear;
}
.nav ul li a:hover{
  text-decoration: none;
  color: #030303;
}
.nav ul li a:after{
  display: block;
  position: absolute;
  top: 50%;
  content: '';
  height: 2vh;
  margin-top: -1vh;
  width: 0;
  left: 0;
  background-color: #000000;
  opacity: 0.8;
  transition: width 250ms linear;
}
.nav ul li a:hover:after{
  width: 100%;
}


.menu-icon:checked ~ .nav  ul li {
  pointer-events: auto;
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
  transition: opacity 350ms ease,
              transform 250ms ease;
}
.menu-icon:checked ~ .nav ul li:nth-child(1){
  transition-delay: 1400ms;
}
.menu-icon:checked ~ .nav ul li:nth-child(2){
  transition-delay: 1480ms;
}
.menu-icon:checked ~ .nav ul li:nth-child(3){
  transition-delay: 1560ms;
}
.menu-icon:checked ~ .nav ul li:nth-child(4){
  transition-delay: 1640ms;
}




@media screen and (max-width: 991px) {
  .menu-icon:checked + label,
  .menu-icon:not(:checked) + label{
    right: 55px;
  }
  .logo {
    left: 30px;
  }
  .nav{
    right: 30px;
  }

  .nav ul li a{
    font-size: 7vh;
  }
}




.blinking-cursor {
  font-weight: bold;
  font-size: 24px;
  color: black;
  animation: blink 1s step-end infinite;
}

@keyframes blink {
  from, to { color: transparent; }
  50% { color: black; }
}

body {
  font-family: Arial, sans-serif;
  background-color: #f4f4f4;
}

.skill-bar {
  margin: 20px 0;
}

.skill-title {
  font-size: 18px;
  margin-bottom: 8px;
  display: block;
  color: #333;
  font-family: sans-serif;
}

.progress {
  width: 100%;
  background-color: #ddd;
  border-radius: 30px;
  overflow: hidden;
  height: 30px;
  box-shadow: inset 0 0 5px rgba(0,0,0,0.2);
}

.progress-bar {
  height: 30px;
  width: 0;
  border-radius: 30px;
  background-color: var(--bar-color); /* Utiliza una variable CSS para el color */
  box-shadow: 0 1px 1px -5px #000000, 0 2px 5px #00000094;
  animation: fillProgress 2s ease-in-out forwards;
  position: relative;
}

@keyframes fillProgress {
  0% { width: 0; }
  100% { width: var(--skill-level); }
}

.progress-bar::after {
  content: attr(data-skill-level) '%';
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 14px;
  color: #fff;
  font-weight: bold;
}

/* Colores de relleno para diferentes barras */
.skill-bar[data-skill="html"] .progress-bar {
  --bar-color: #e34c26; /* Rojo HTML */
}

.skill-bar[data-skill="css"] .progress-bar {
  --bar-color: #1572b6; /* Azul CSS */
}

.skill-bar[data-skill="javascript"] .progress-bar {
  --bar-color: rgb(202, 185, 59); /* Amarillo JavaScript */
}

.skill-bar[data-skill="python"] .progress-bar {
  --bar-color: #3776ab; /* Azul Python */
}

.skill-bar[data-skill="java"] .progress-bar {
  --bar-color: #007396; /* Azul Java */
}

/* Añade más colores aquí según sea necesario */










/* Please ❤ this if you like it! */


@import url('https://fonts.googleapis.com/css?family=Poppins:400,500,600,700,800,900');
*,
*::before,
*::after {
  box-sizing: border-box;
}
body{
	font-family: 'Poppins', sans-serif;
	font-weight: 400;
	font-size: 15px;
	line-height: 1.7;
	color: #fff;
	background-color: #ffffff;
  margin: 0;
  padding: 0;
  overflow-x: none;
}
p{
	font-family: 'Poppins', sans-serif;
	font-weight: 400;
	font-size: 16px;
	line-height: 1.7;
	color: #000000;
  margin: 0;
}

.white{
color: #fff;

}

.section-fluid-main{
  position: relative;
  display: block;
  overflow: hidden;
  width: calc(100% - 40px);
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
  max-width: 1140px;
  padding: 100px 0;
}
.section-row{
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px;
}
.section-row:hover .section-col{
  opacity: 0.1;
}
.section-col{
  position: relative;
  width: 100%;
  -ms-flex: 0 0 50%;
  flex: 0 0 50%;
  max-width: 50%;
  transition: opacity 250ms linear;
}
.max-width-100{
  max-width: 100%!important;

}
.section-row .section-col:hover{
  opacity: 1;
}
.section{
  position: relative;
  display: block;
  width: 100%;
  overflow: hidden;
  cursor: pointer;
  padding: 15px;
}
.section-in{
  position: relative;
  display: block;
  width: 100%;
  overflow: hidden;
  border-radius: 6px;
  cursor: pointer;
}
.section-in img{
    display: block;
    width: 100%;
    height: 20rem;            /* Fija una altura específica */
    object-fit: cover;        /* Asegura que la imagen cubra el área sin distorsionarse */
    transition: transform 250ms linear;
    border-radius: 10

}
.section-col:hover .section-in img{
  transform: scale(1.1) rotate(-3deg);
}

.hover-text{
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: 100;
  pointer-events: none;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  -ms-flex-pack: center;
  text-align: center;
    -ms-flex-item-align: center;
    align-self: center;
  mix-blend-mode: difference;
}
.hover-text h2{
  font-family: 'Poppins', sans-serif;
  font-weight: 800;
  font-size: 8vw;
  line-height: 1;
  color: #fff;
  opacity: 0;
  transform: scale(0.8);
  transition: transform 250ms linear, opacity 250ms ease;
}
.section-col:hover + .hover-text h2{
  opacity: 1;
  transform: scale(1);
}


.logo {
	position: fixed;
	top: 25px;
	left: 25px;
	display: block;
	z-index: 1000;
	transition: all 250ms linear;
}
.logo img {
	height: 26px;
	width: auto;
	display: block;
	transition: filter 250ms 700ms linear;
}


@media (max-width: 767px) {
  .section-col{
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
    margin: 0.3rem;
  }
  .hover-text h2{
    font-size: 12vw;
  }
}


/* Estilo para el scrollbar en navegadores WebKit */
.custom-scroll {
  overflow-x: auto; /* Habilitar scroll horizontal */
  overflow-y: hidden; /* Ocultar scroll vertical si no es necesario */
}

.custom-scroll::-webkit-scrollbar {
  width: 12px; /* Ancho del scrollbar */
  height: 12px; /* Altura del scrollbar horizontal */
}

.custom-scroll::-webkit-scrollbar-track {
  background: #f1f1f1; /* Color del fondo del track del scrollbar */
  border-radius: 10px; /* Esquinas redondeadas */
}

.custom-scroll::-webkit-scrollbar-thumb {
  background: #888; /* Color del pulgar del scrollbar */
  border-radius: 10px; /* Esquinas redondeadas */
}

.custom-scroll::-webkit-scrollbar-thumb:hover {
  background: #555; /* Color del pulgar del scrollbar al pasar el ratón */
}

.img-port {
  width: 100%;           /* La imagen ocupará el 100% del ancho del contenedor */
  height: 200px;         /* Fija la altura de la imagen */
  object-fit: cover;     /* Cubre el contenedor, recortando la imagen si es necesario */
  object-position: center; /* Centra la imagen dentro del contenedor */
  border-radius: 10px;   /* Opcional: bordes redondeados */
}






.cards-list {
  z-index: 0;
  width: 100%;
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
}

.card-pers {
  margin: 30px auto;
  width: 150px;
  height: 150px;
  border-radius: 40px;
  box-shadow: 0 0 0 0 rgba(0,0,0,0.25), -1px -1px 20px 4px rgba(0,0,0,0.22);
  cursor: pointer;
  transition: 0.4s;
}

.card-pers .card_image {
  width: inherit;
  height: inherit;
  border-radius: 40px;
}

.card-pers .card_image img {
  width: inherit;
  height: inherit;
  border-radius: 40px;
  object-fit: cover;
}

.card-pers .card_title {
  text-align: center;
  border-radius: 0px 0px 40px 40px;
  font-family: sans-serif;
  font-weight: bold;
  font-size: 30px;
  margin-top: -80px;
  height: 40px;
}

.card-pers:hover {
  transform: scale(0.9, 0.9);
  box-shadow: 5px 5px 30px 15px rgba(0,0,0,0.25),
    -5px -5px 30px 15px rgba(0,0,0,0.22);
}

.title-white {
  color: rgb(255, 255, 255);
}

.title-black {
  color: black;
}

@media all and (max-width: 500px) {
  .card-list {
    /* On small screens, we are no longer using row direction but column */
    flex-direction: column;
  }
}
 
.margin-top{
  margin-top: 5rem;
}

/* Wrapper */
.icon-button {
	background-color: rgba(0, 0, 0, 0.055);
	border-radius: 3.6rem;
	cursor: pointer;
  z-index: 7;
	display: inline-block;
	font-size: 2.0rem;
	height: 3.6rem;
	line-height: 3.6rem;
	margin: 0 5px;
	position: relative;
	text-align: center;
	-webkit-user-select: none;
	   -moz-user-select: none;
	    -ms-user-select: none;
	        user-select: none;
	width: 3.6rem;
}

/* Circle */
.icon-button span {
	border-radius: 0;
	display: block;
	height: 0;
	left: 50%;
	margin: 0;
	position: absolute;
	top: 50%;
	-webkit-transition: all 0.3s;
	   -moz-transition: all 0.3s;
	     -o-transition: all 0.3s;
	        transition: all 0.3s;
	width: 0;
}
.icon-button:hover span {
	width: 3.6rem;
	height: 3.6rem;
	border-radius: 3.6rem;
	margin: -1.8rem;
}
.linkedin span {
	background-color: #70a9ff;
}
.github span {
	background-color: #0d1017;
}
.file-pdf span {
	background-color: #db5a3c;
}
.email span{
  background-color: #74ac85;
}

/* Icons */
.icon-button i {
	background: none;
  border: 1px solid rgba(0, 0, 0, 0.048);
  border-radius: 3.6rem;
	color: white;
	height: 3.6rem;
	left: 0;
	line-height: 3.6rem;
	position: absolute;
	top: 0;
	-webkit-transition: all 0.3s;
	   -moz-transition: all 0.3s;
	     -o-transition: all 0.3s;
	        transition: all 0.3s;
	width: 3.6rem;
	z-index: 10;
}
.icon-button .icon-linkedin {
	color: #4099ff;
}
.icon-button .icon-github {
	color: #3B5998;
}
.icon-button .icon-file-pdf {
	color: #db5a3c;
}
.icon-button .email {
	color: #2e2928;
}

.icon-button:hover .icon-linkedin,
.icon-button:hover .icon-github,
.icon-button:hover .icon-email,
.icon-button:hover .icon-file-pdf {
	color: rgb(27, 26, 26);
}

#card-container{
   width: 700px;
   height: 28rem;
   top: 50%; left: 50%;
}
#card{
   animation: backAn 60s infinite;
   color:#fff;
   padding:30px;
   width:100%;
   height:100%;
   position:absolute;
   z-index:1;
   background:url(https://s2.ppllstatics.com/elcomercio/www/multimedia/202012/02/media/cortadas/ordenadores-gijon-kWGF-U1209399519432pC-1248x770@El%20Comercio.jpg) 100% bottom;
   box-shadow: 
     0px 45px 100px rgba(182, 181, 181, 0.767),
     inset 0 0 0 1000px rgba(36, 35, 35, 0.753);
}

#card .text-block{position:relative;z-index:2;text-shadow: 0px 3px 10px rgba(0, 0, 0, .7)}
#card .text-block h1{font-family: 'Rubik', sans-serif; font-size:3em; margin:0; text-transform:uppercase; font-weight:700;}
#card .text-block h1 small{font-size:.4em;color:#000000;position:relative;bottom:10px}
#card .text-block h3{margin:0;font-weight:700;}
#card .text-block p{font-weight:300; width:60%}
#card .text-block button{transition: all .35s cubic-bezier(.37,.26,.35,1);border:4px solid #fff; padding:10px; background:transparent;font-family: 'Rubik', sans-serif;text-transform:uppercase; font-weight:700; cursor:pointer;}
#card .text-block button:hover{background:#a09f9f}

#card-container .pg{position:absolute;height:480px; width:40%; right:-10px;bottom:0px;z-index:2}
#card-container .pg > img{height:450px;}

.shine {
position: absolute;
top: 0; left: 0; right: 0; bottom: 0;
background: linear-gradient(90deg, rgba(0, 0, 0, 0.534) 0%,rgba(0, 0, 0, 0.767) 60%);
z-index: 1;
}
button{color:#fff;}

@keyframes backAn {
  0%   { background-size:100% }
  50%   { background-size:250% }
  100%   { background-size:100% }
}

/* Ocultar la imagen en dispositivos móviles */
@media (max-width: 768px) {
  .pg {
    display: none;
  }

  #card-container{
    width: 700px;
    height: 50rem;
    top: 50%; left: 50%;
 }


}





