@font-face{font-family:Oswald;src:url(/fonts/Oswald-Light.woff2) format("woff2"),url(/fonts/Oswald-Light.woff) format("woff");font-weight:300;font-style:normal}@font-face{font-family:Oswald;src:url(/fonts/Oswald-Regular.woff2) format("woff2"),url(/fonts/Oswald-Regular.woff) format("woff");font-weight:400;font-style:normal}@font-face{font-family:Oswald;src:url(/fonts/Oswald-Medium.woff2) format("woff2"),url(/fonts/Oswald-Medium.woff) format("woff");font-weight:500;font-style:normal}@font-face{font-family:Oswald;src:url(/fonts/Oswald-SemiBold.woff2) format("woff2"),url(/fonts/Oswald-SemiBold.woff) format("woff");font-weight:600;font-style:normal}@font-face{font-family:Oswald;src:url(/fonts/Oswald-Bold.woff2) format("woff2"),url(/fonts/Oswald-Bold.woff) format("woff");font-weight:700;font-style:normal}html{scroll-behavior:smooth}body{background-image:url(/imagenes/fondo-body.webp)}h1,h2,h3,h4,h5{font-family:Oswald,sans-serif}h1{font-weight:700}h5{font-weight:300}nav li a{font-family:Oswald,sans-serif;font-weight:500!important}.btn-success{background-color:#08d665;border-color:rgba(0,0,0,0)}button{font-family:Oswald,sans-serif;font-weight:500!important}.filtros-habilidades{display:flex;justify-content:center;flex-wrap:wrap;padding:0 15px}.filtros-habilidades .filtro-btn{padding:.6em 1.8em;font-weight:600;font-size:1rem;color:#06a950;background:rgba(0,0,0,0);border:2px solid #06a950;border-radius:30px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;-moz-user-select:none;user-select:none;outline:none}.filtros-habilidades .filtro-btn:hover{background:rgba(6,169,80,.1);transform:translateY(-2px)}.filtros-habilidades .filtro-btn.activo{background:linear-gradient(90deg,#06a950,#08d665);color:#fff;border-color:#08d665;box-shadow:0 4px 15px 0 rgba(8,214,101,.3)}@media(max-width:768px){.filtros-habilidades{display:flex;flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;gap:.5em;padding-bottom:10px;padding-left:15px;scroll-padding-inline-start:15px;-webkit-overflow-scrolling:touch;margin-bottom:1em;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,0) rgba(0,0,0,0)}.filtros-habilidades::-webkit-scrollbar{height:6px;background:#1a1b23}.filtros-habilidades .filtro-btn{flex:0 0 auto}.filtros-habilidades::-webkit-scrollbar-thumb{background:#08d665;border-radius:3px}.filtro-btn{min-width:120px;font-size:1rem;padding:.7em 1em;margin:0;text-align:center;border-radius:24px;white-space:nowrap}}@media(max-width:425px){h1{font-size:30px!important}.content-derecha .pagination-cajitas .derecha,.content-derecha .pagination-cajitas .izquierda{width:40px!important;height:40px!important}}:root{--nav-height:80px;--nav-height-defecto:100vh}.title-section,h1,h2,h3,h4,h5,h6,section[id]{scroll-margin-top:calc(var(--nav-height) + 12px)}#inicio{background-image:url(/imagenes/fondo.webp);min-height:var(--nav-height-defecto);overflow:hidden!important;position:relative}#inicio .navbar-scroll{position:relative;width:100%;z-index:100;transition:all .4s cubic-bezier(.4,0,.2,1);background:rgba(0,0,0,0)}#inicio .navbar-scroll.navbar-scrolled{position:fixed;top:0;left:0;right:0;background:rgba(26,27,35,.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 20px rgba(0,0,0,.3);animation:slideDown .4s ease-out;z-index:9999}@keyframes slideDown{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}#inicio .navbar-nav .nav-item{margin-left:15px;margin-right:15px}#inicio .navbar-nav li a{color:#fff;font-size:16px}#inicio .container{width:100%}#inicio .contenido-uno{display:flex;align-items:center;justify-content:flex-start;min-height:max(0px,var(--nav-height-defecto) - var(--nav-height))}#inicio .contenido-uno.contenido-dos{position:relative;align-items:flex-start;justify-content:center;padding-bottom:0;margin-bottom:-80px}#inicio .contenido-header{width:100%}#inicio h1,#inicio h5{color:#fff}#inicio .title-secundario,#inicio .title-uno{font-size:2rem}#inicio .title-principal{font-size:7rem;font-weight:700;white-space:pre-line}#inicio .title-principalafter{content:"";display:block}#inicio .contactar{margin-top:10px;padding:.6em 2.5em .8em!important;border-radius:5px}#inicio .contactar:hover{background-color:rgba(0,0,0,0)!important;color:#08d665;border-color:#08d665}#inicio .typewriter-cursor{display:inline-block;animation:blink 1s steps(1) infinite;font-weight:700;font-size:inherit}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}#inicio .img-principal{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:center;align-items:flex-end;width:100%;height:auto}#inicio .img-principal img{max-width:90%;height:auto}#inicio .img-principal .avatar{margin-left:25%;margin-bottom:0}#inicio .img-principal .slider-img{position:relative;z-index:1;display:flex;align-items:flex-end}#inicio .img-principal .slider-img:before{position:absolute;content:"";border-radius:50%;background-color:#3b3c46;opacity:.529;left:20%;bottom:20px;width:640px;height:631px;z-index:-1;transform:scale(1);-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);animation:heartbeat-middle 5s infinite alternate;-webkit-animation:heartbeat-middle 5s infinite alternate}@keyframes heartbeat-middle{0%{transform:scale(1)}to{transform:scale(1.1)}}#inicio .parallax .hero-shape1{position:absolute;top:6rem!important;z-index:999;margin-left:7rem}#inicio .parallax .hero-shape2{position:absolute;top:6rem!important;right:-3rem!important;z-index:999;left:auto!important}#inicio .parallax .hero-shape3{position:absolute;bottom:9rem!important;left:0!important;z-index:99999!important;top:auto!important;margin-left:2rem}#inicio .parallax .hero-shape4{position:absolute;bottom:9rem!important;right:-10rem!important;z-index:999;top:auto!important;left:auto!important}#inicio .social-links-box{position:absolute;right:20px;top:45%;transform:translateY(-50%);z-index:1000}#inicio .social-links-box .social-list{list-style:none;margin:0;padding:0}#inicio .social-links-box .social-list li{margin:10px 0}#inicio .social-links-box .social-item{display:flex;align-items:center;justify-content:center;width:45px;height:45px;background-color:rgba(0,0,0,0);border:1px solid hsla(0,0%,100%,.5);color:#fff;border-radius:8px;text-decoration:none;transition:all .3s ease;font-size:18px}#inicio .social-links-box .social-item:hover{border-color:#08d665;color:#08d665}#inicio .social-links-box .social-item:hover i{color:#08d665;transform:rotateY(1turn);transition:transform .4s ease,color .3s ease;display:inline-block}#inicio .social-links-box .social-item i{transition:transform .4s ease,color .3s ease}#inicio .sliding-menu{position:fixed;top:0;left:-100%;width:280px;height:100%;background-color:#1a1b23;color:#fff;box-shadow:2px 0 15px rgba(0,0,0,.5);transition:left .3s ease;z-index:10000;padding-top:60px}#inicio .sliding-menu .menu-list{list-style:none;padding:0;margin:0}#inicio .sliding-menu .menu-list li{padding:0;border-bottom:1px solid hsla(0,0%,100%,.1)}#inicio .sliding-menu .menu-list li a{color:#b0b0b0;text-decoration:none;font-size:16px;display:block;padding:15px 25px;transition:all .3s ease}#inicio .sliding-menu .menu-list li a:hover{background-color:rgba(8,214,101,.1);color:#08d665;padding-left:30px}#inicio .sliding-menu .close-menu{position:absolute;top:15px;right:15px;background:none;border:none;color:#fff;font-size:32px;cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s ease}#inicio .sliding-menu .close-menu:hover{background-color:rgba(8,214,101,.2);color:#08d665;transform:rotate(90deg)}#inicio .sliding-menu.open{left:0}@media(max-width:5000px){#inicio{min-height:1080px!important}#inicio .contenido-uno{min-height:max(0px,1080px - var(--nav-height))}}@media(max-width:1440px){#inicio{min-height:100vh!important}#inicio .contenido-uno{min-height:max(0px,100vh - var(--nav-height))}#inicio .title-secundario,#inicio .title-uno{font-size:2rem}#inicio .title-principal{font-size:7rem}#inicio .img-principal img{max-width:80%}#inicio .img-principal .avatar{margin-left:10%}#inicio .img-principal .slider-img:before{width:540px;height:531px;left:10%}#inicio .parallax .hero-shape1,#inicio .parallax .hero-shape3{width:68px}#inicio .parallax .hero-shape2,#inicio .parallax .hero-shape4{width:33px}#inicio .parallax .hero-shape1{height:auto;position:absolute;top:8rem!important;z-index:999;margin-left:7rem}#inicio .parallax .hero-shape2{position:absolute;top:8rem!important;right:1rem!important;z-index:999;left:auto!important}#inicio .parallax .hero-shape3{position:absolute;bottom:8rem!important;left:-2rem!important;z-index:99999!important;top:auto!important;margin-left:2rem}#inicio .parallax .hero-shape4{position:absolute;bottom:5rem!important;right:1rem!important;z-index:999;top:auto!important;left:auto!important}}@media(max-width:1370px){#inicio{min-height:700px!important}#inicio .contenido-uno{min-height:max(0px,700px - var(--nav-height))}#inicio .title-secundario,#inicio .title-uno{font-size:1.5rem}#inicio .title-principal{font-size:5rem}#inicio .img-principal img{max-width:70%}#inicio .img-principal .avatar{margin-left:20%}#inicio .img-principal .slider-img:before{width:440px;height:431px;left:20%;bottom:20px}#inicio .parallax .hero-shape1,#inicio .parallax .hero-shape3{width:68px}#inicio .parallax .hero-shape2,#inicio .parallax .hero-shape4{width:33px}#inicio .parallax .hero-shape1{height:auto;position:absolute;top:3rem!important;z-index:999;margin-left:7rem}#inicio .parallax .hero-shape2{position:absolute;top:3rem!important;right:1rem!important;z-index:999;left:auto!important}#inicio .parallax .hero-shape3{position:absolute;bottom:5rem!important;left:0!important;z-index:99999!important;top:auto!important;margin-left:2rem}#inicio .parallax .hero-shape4{position:absolute;bottom:5rem!important;right:1rem!important;z-index:999;top:auto!important;left:auto!important}}@media screen and (min-width:1200px)and (max-width:1300px){#inicio .img-principal img{max-width:60%!important}#inicio .img-principal .avatar{margin-left:20%}#inicio .img-principal .slider-img:before{width:440px;height:431px;left:20%}}@media(max-width:1025px){#inicio{min-height:650px!important}#inicio .contenido-uno{min-height:max(0px,650px - var(--nav-height))}#inicio .title-secundario,#inicio .title-uno{font-size:1.5rem}#inicio .title-principal{font-size:5rem}#inicio .img-principal img{max-width:80%}#inicio .img-principal .avatar{margin-left:10%}#inicio .img-principal .slider-img:before{width:440px;height:431px;left:5%}#inicio .parallax .hero-shape1,#inicio .parallax .hero-shape3{width:48px}#inicio .parallax .hero-shape2,#inicio .parallax .hero-shape4{width:23px}#inicio .parallax .hero-shape1{top:3rem!important;margin-left:3rem}#inicio .parallax .hero-shape2{top:3rem!important;right:1rem!important}#inicio .parallax .hero-shape3{position:absolute;bottom:4rem!important;left:-2rem!important;z-index:99999!important;top:auto!important;margin-left:2rem}#inicio .parallax .hero-shape4{position:absolute;bottom:4rem!important;right:1rem!important;z-index:999;top:auto!important;left:auto!important}}@media(max-width:992px){#inicio{min-height:400px!important}#inicio .contenido-uno{min-height:max(0px,400px - (var(--nav-height)))}#inicio .navbar .navbar-toggler i{font-size:2rem;color:#08d665;transition:color .3s}#inicio .navbar .navbar-toggler i:hover{color:rgb(6.1621621622,164.8378378378,77.7972972973)}#inicio .title-secundario,#inicio .title-uno{font-size:1.5rem}#inicio .title-principal{font-size:3.5rem}#inicio .img-principal{position:relative}#inicio .img-principal img{max-width:65%}#inicio .img-principal .slider-img:before{width:240px;height:231px;top:20px}#inicio .social-links-box{top:40%}#inicio .social-links-box .social-item{width:35px;height:35px;font-size:16px}}@media(max-width:767px){#inicio{min-height:700px!important}#inicio .contenido-uno{margin-top:30px;text-align:center}#inicio .navbar .navbar-toggler{display:flex;justify-content:flex-end;border:none;background:rgba(0,0,0,0)}#inicio .navbar .navbar-toggler i{font-size:2rem;color:#08d665;transition:color .3s}#inicio .navbar .navbar-toggler i:hover{color:rgb(6.1621621622,164.8378378378,77.7972972973)}#inicio .title-secundario,#inicio .title-uno{font-size:1.5rem}#inicio .title-principal{font-size:5rem}#inicio .img-principal{position:relative}#inicio .img-principal img{max-width:100%}#inicio .img-principal .avatar{margin-left:auto}#inicio .img-principal .slider-img:before{width:340px;height:331px;top:20px;left:20%}#inicio .social-links-box{top:50%}#inicio .social-links-box .social-item{width:35px;height:35px;font-size:16px}}@media(max-width:425px){#inicio{min-height:900px!important}#inicio .title-secundario,#inicio .title-uno{font-size:1rem}#inicio .title-principal{font-size:3rem}#inicio .img-principal img{max-width:100%}#inicio .img-principal .avatar{margin-left:auto}#inicio .img-principal .slider-img:before{width:240px;height:231px;top:20px;left:20%}#inicio .social-links-box{top:40%}}@media(max-width:320px){#inicio{min-height:800px!important}#inicio .img-principal img{max-width:100%}#inicio .img-principal .avatar{margin-left:auto}#inicio .img-principal .slider-img:before{width:180px;height:181px;top:20px;left:20%}#inicio .social-links-box{top:40%}}#acerca-de-mi{height:100%;background:#e2ecf6;padding-top:5em;padding-bottom:7em}#acerca-de-mi img{max-width:100%;height:auto}@keyframes infinite-rotation{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}#acerca-de-mi .effect-1 img{animation:infinite-rotation 40s linear infinite reverse;position:absolute;bottom:-80px;left:0;z-index:0;height:auto}#acerca-de-mi .img-principal{position:relative;border-radius:20px}#acerca-de-mi .datos-de-mi{color:#4d4d5c}#acerca-de-mi .datos-de-mi h1{margin-bottom:25px}#acerca-de-mi .datos-de-mi .acerca-de{width:-moz-fit-content;width:fit-content;background-color:#08d665;color:#fff;padding:5px 15px;font-size:14px;font-weight:600;border-radius:3px;display:inline-block;text-transform:uppercase;letter-spacing:1px}#acerca-de-mi .datos-de-mi .caja-datos-proyectos{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;margin:20px 0 30px}#acerca-de-mi .datos-de-mi .btn-contacto{background-color:#08d665;width:70%;padding:20px;color:#fff;border:rgba(0,0,0,0);border-radius:10px}#acerca-de-mi .datos-de-mi .caja{text-align:center;border:.5px solid #ccc;padding:10px;border-radius:10px}#acerca-de-mi .datos-de-mi .title-caja{font-size:24px;font-weight:700}#acerca-de-mi .datos-de-mi .description-caja{font-size:16px}@media(max-width:768px){#acerca-de-mi{padding-top:0;padding-bottom:5em}#acerca-de-mi .datos-de-mi{margin-top:4em}#acerca-de-mi .effect-1 img{bottom:-50px!important}}@media(max-width:425px){#acerca-de-mi .effect-1 img{max-width:80%!important}}#mi-experiencia{padding-top:2em;padding-bottom:5em}#mi-experiencia #title-experencia span#span{background-color:#08d665;color:#fff;padding:5px 15px;font-size:14px;font-weight:600;border-radius:3px;display:inline-block;text-transform:uppercase;letter-spacing:1px}#mi-experiencia #title-experencia h1{font-size:40px;margin-top:15px}#mi-experiencia #title-experencia h1>span{color:#08d665}#mi-experiencia .experencia{background-color:rgba(8,214,101,.1);padding:2em;border-radius:10px;margin-bottom:2em}#mi-experiencia .experencia .experiencia-bloque{margin-bottom:2.5em;display:flex;flex-wrap:wrap;gap:0 1.5em}#mi-experiencia .experencia .caja-uno{background:linear-gradient(90deg,#06a950,#08d665);padding:1.25em 1em;border-radius:10px;color:#fff;min-height:150px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}#mi-experiencia .experencia .caja-uno h3{font-size:20px;margin-bottom:20px}#mi-experiencia .experencia .caja-uno span{background-color:#fff;padding:8px 20px;border-radius:20px;color:#707476;font-weight:500;text-transform:uppercase;display:inline-block;width:auto;white-space:nowrap}#mi-experiencia .experencia .caja-uno p{line-height:12px;font-size:14px;font-weight:500}#mi-experiencia .experencia .caja-uno p.periodo{font-size:12px;margin-bottom:15px;font-weight:300}#mi-experiencia .experencia .caja-dos h1{font-size:34px}@media(max-width:768px){#mi-experiencia .caja-uno{margin-bottom:10px}}#proyectos{background-color:#25262f;padding-bottom:5em}#proyectos .title-section{text-align:left;margin-bottom:2em}#proyectos .title-section span#span{background-color:#08d665;color:#fff;padding:5px 15px;font-size:14px;font-weight:600;border-radius:3px;display:inline-block;margin-bottom:15px;text-transform:uppercase;letter-spacing:1px}#proyectos .title-section h1{font-family:Oswald,sans-serif;font-size:40px;font-weight:700;color:#fff;margin:0;line-height:1.2}#proyectos .title-section h1 span{color:#08d665}#proyectos .row-title{display:flex;justify-content:center}#proyectos .col-title{display:flex;justify-content:space-between;align-items:center;width:100%}#proyectos .content-izquierda{flex:1 1}#proyectos .content-izquierda .title-section{margin-top:5em}#proyectos .content-derecha{margin:10px}#proyectos .content-derecha .pagination-cajitas{display:flex;justify-content:center;align-items:center;margin-top:5em}#proyectos .content-derecha .pagination-cajitas .derecha,#proyectos .content-derecha .pagination-cajitas .izquierda{width:50px;height:50px;border:1px solid #06a950;border-radius:5px;background:rgba(0,0,0,0);margin:2px;display:flex;align-items:center;justify-content:center;transition:background-color .3s,color .3s}#proyectos .content-derecha .pagination-cajitas .derecha .fas,#proyectos .content-derecha .pagination-cajitas .izquierda .fas{font-size:30px;color:#06a950;transition:color .3s}#proyectos .content-derecha .pagination-cajitas .derecha:hover,#proyectos .content-derecha .pagination-cajitas .izquierda:hover{background-color:#06a950;color:#fff}#proyectos .content-derecha .pagination-cajitas .derecha:hover .fas,#proyectos .content-derecha .pagination-cajitas .izquierda:hover .fas{color:#fff}#proyectos .title{font-size:24px;font-size:2.5rem;color:#fff;margin-top:2em;margin-bottom:20px}#proyectos .content-proyectos{position:relative!important;border:.1px solid #131617;border-radius:5px;padding:30px;min-height:140px;background-color:#131617;position:relative;overflow:hidden}#proyectos .content-proyectos img{display:block;width:100%;height:auto;opacity:1;position:relative;z-index:0}#proyectos .content-proyectos:before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.2);z-index:1;pointer-events:none;transition:background .3s ease}#proyectos .content-proyectos .overlay{z-index:2}#proyectos .overlay{position:absolute!important;top:0;right:0;width:100%;height:100%;background:linear-gradient(180deg,rgba(8,214,101,.95),rgba(6,169,80,.95));display:none;justify-content:center;align-items:center;opacity:0;--animate-duration:0.6s;padding:20px;border-radius:0 6px 6px 0;overflow:hidden}#proyectos .content-proyectos.overlay-open .overlay{display:flex!important;opacity:1!important;transform:translate(0)!important}#proyectos .overlay-content{color:#fff;max-width:90%;width:100%}#proyectos .overlay-inner{width:100%;gap:1.25rem;align-items:center}#proyectos .overlay-left{flex:1 1;text-align:center;align-items:center;justify-content:center;padding:0 .5rem}#proyectos .overlay-thumb img{display:flex;width:auto;height:170px;position:relative;top:-1em;margin-bottom:0}#proyectos .overlay-switcher{display:flex;gap:8px;margin-bottom:8px;justify-content:center;align-items:center;width:100%}#proyectos .btn-switch{width:34px;height:34px;border-radius:6px;border:1px solid hsla(0,0%,100%,.12);background:hsla(0,0%,100%,.02);color:#fff;font-size:.9rem;cursor:pointer;transition:all .15s ease}#proyectos .btn-switch,#proyectos .btn-switch i{display:inline-flex;align-items:center;justify-content:center}#proyectos .btn-switch i{width:18px;height:18px;line-height:1;vertical-align:middle;font-size:16px}#proyectos .btn-switch.active,#proyectos .btn-switch:focus,#proyectos .btn-switch:hover{background:hsla(0,0%,100%,.08);transform:translateY(-2px)}#proyectos .overlay-right{display:none}#proyectos .overlay-preview-desktop img{width:100%;height:auto;border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.36);transform:translateY(-8px)}#proyectos .overlay-preview-desktop{background:rgba(0,0,0,0);padding:0;border-radius:8px;display:block;max-width:360px}#proyectos .overlay-preview-mobile{position:absolute;bottom:10px;right:10px;transform:translate(12px,12px);z-index:3}#proyectos .overlay-preview-mobile img{width:100px;height:auto;border-radius:10px;box-shadow:0 6px 20px rgba(0,0,0,.4);transform:rotate(-6deg)}#proyectos .overlay-preview-mobile{background:rgba(0,0,0,0);padding:0;border-radius:14px;display:block;width:120px}#proyectos .overlay-preview{max-width:100%;display:block;border-radius:8px;box-shadow:0 6px 20px rgba(0,0,0,.25)}#proyectos .overlay-actions{margin-top:12px}#proyectos .overlay-title{font-weight:700;margin-bottom:15px}#proyectos .overlay-title .fa-external-link-alt{position:relative;color:#fff;margin-left:8px;font-size:1.2rem;top:-5px}#proyectos .overlay-thumb{display:flex;justify-content:center;align-items:center;margin-bottom:8px}@media(max-width:768px){#proyectos .overlay-inner{flex-direction:column;align-items:center;text-align:center}#proyectos .overlay-right{width:100%;display:block;margin-top:8px}#proyectos .overlay{width:100%!important;left:0;right:0;border-radius:8px}#proyectos .overlay-text{-webkit-line-clamp:5;line-clamp:5;max-height:7rem}}#proyectos .overlay-text{color:#fff;font-size:.85rem;text-align:center;margin-bottom:15px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;max-height:4.2rem}#proyectos .overlay-tecnologias{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:5px}#proyectos .badge-tech{background-color:hsla(0,0%,100%,.06);color:#fff;padding:4px 10px;border-radius:12px;font-size:.9rem;font-weight:500;border:1px solid hsla(0,0%,100%,.08)}#proyectos .badge-tech i{font-size:2rem;display:inline-flex;align-items:center;justify-content:center;line-height:1;color:#fff!important}#proyectos .badge-tech i.devicon-nextjs-plain{font-size:1.75rem}#proyectos .swiper{width:100%;height:auto;padding-left:10px;padding-right:10px}#proyectos .portfolio-filters{list-style:none;padding:0 15px;margin:0;background:rgba(0,0,0,0);display:flex;justify-content:center;flex-wrap:wrap}#proyectos .portfolio-filters .filter-item,#proyectos .portfolio-filters>li{flex:0 0 auto}#proyectos .badge-tech{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;margin:0 3px;padding:0;background:rgba(0,0,0,0);border:none;width:auto;height:auto;border-radius:0}#proyectos .filter-item{display:inline-block;padding:.5em 1.5em;margin:0 .25em;font-weight:600;font-size:1.1rem;color:#06a950;background:rgba(0,0,0,0);border:2px solid #06a950;border-radius:30px;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;-moz-user-select:none;user-select:none}#proyectos .filter-item.filter-active,#proyectos .filter-item:hover{background:linear-gradient(90deg,#06a950,#08d665);color:#fff;border-color:#08d665;box-shadow:0 2px 12px 0 rgba(8,214,101,.12)}@media(max-width:768px){#proyectos #proyectos .portfolio-filters{display:flex;flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;gap:.5em;padding-bottom:10px;padding-left:15px;scroll-padding-inline-start:15px;-webkit-overflow-scrolling:touch;margin-bottom:1em;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,0) rgba(0,0,0,0)}#proyectos #proyectos .portfolio-filters::-webkit-scrollbar{height:6px;background:#25262f}#proyectos #proyectos .portfolio-filters::-webkit-scrollbar-thumb{background:#08d665;border-radius:3px}#proyectos #proyectos .filter-item{min-width:120px;font-size:1rem;padding:.7em 1em;margin:0;text-align:center;border-radius:24px;white-space:nowrap}}#mis-habilidades{background-color:#1a1b23;padding:2em 0 5em}#mis-habilidades .title-section{text-align:left;margin-bottom:2em}#mis-habilidades .title-section span#span{background-color:#08d665;color:#fff;padding:5px 15px;font-size:14px;font-weight:600;border-radius:3px;display:inline-block;margin-bottom:15px;text-transform:uppercase;letter-spacing:1px}#mis-habilidades .title-section h1{font-family:Oswald,sans-serif;font-size:40px;font-weight:700;color:#fff;margin:0;line-height:1.2}#mis-habilidades .title-section h1 span{color:#08d665}#mis-habilidades .row-title{display:flex;justify-content:center;margin-bottom:2rem}#mis-habilidades .col-title{display:flex;justify-content:space-between;align-items:center;width:100%}#mis-habilidades .content-izquierda{flex:1 1}#mis-habilidades .content-izquierda .title-section{margin-top:2em}#mis-habilidades .content-derecha{display:flex;align-items:center}#mis-habilidades .content-derecha .pagination-cajitas{display:flex;justify-content:center;align-items:center;gap:10px}#mis-habilidades .content-derecha .pagination-cajitas .derecha,#mis-habilidades .content-derecha .pagination-cajitas .izquierda{width:50px;height:50px;border:1px solid #06a950;border-radius:5px;background:rgba(0,0,0,0);display:flex;align-items:center;justify-content:center;transition:background-color .3s,color .3s;cursor:pointer}#mis-habilidades .content-derecha .pagination-cajitas .derecha .fas,#mis-habilidades .content-derecha .pagination-cajitas .izquierda .fas{font-size:30px;color:#06a950;transition:color .3s}#mis-habilidades .content-derecha .pagination-cajitas .derecha:hover,#mis-habilidades .content-derecha .pagination-cajitas .izquierda:hover{background-color:#06a950;color:#fff}#mis-habilidades .content-derecha .pagination-cajitas .derecha:hover .fas,#mis-habilidades .content-derecha .pagination-cajitas .izquierda:hover .fas{color:#fff}#mis-habilidades .title{font-size:2.5rem;color:#fff;margin-bottom:.5rem;font-weight:700}#mis-habilidades .subtitle{font-size:1.1rem;color:#a0a0a0;margin-bottom:0}#mis-habilidades .habilidades-swipers{margin-top:3rem;display:flex;flex-direction:column;gap:25px;width:100%;overflow:hidden}#mis-habilidades .habilidades-swipers .swiper-fila{width:100%;min-width:0}#mis-habilidades .habilidades-swipers .swiper-placeholder{width:100%}#mis-habilidades .habilidades-swipers .swiper-placeholder .row{display:flex;flex-wrap:wrap;gap:1rem}#mis-habilidades .habilidades-swipers .swiper-placeholder .col-3{flex:0 0 25%}#mis-habilidades .habilidades-swipers .pagination-cajitas{display:flex;justify-content:center;align-items:center;gap:10px;margin-bottom:10px}#mis-habilidades .habilidades-swipers .pagination-cajitas .derecha,#mis-habilidades .habilidades-swipers .pagination-cajitas .izquierda{width:50px;height:50px;border:1px solid #06a950;border-radius:5px;background:rgba(0,0,0,0);display:flex;align-items:center;justify-content:center;transition:background-color .3s,color .3s;cursor:pointer}#mis-habilidades .habilidades-swipers .pagination-cajitas .derecha .fas,#mis-habilidades .habilidades-swipers .pagination-cajitas .izquierda .fas{font-size:30px;color:#06a950;transition:color .3s}#mis-habilidades .habilidades-swipers .pagination-cajitas .derecha:hover,#mis-habilidades .habilidades-swipers .pagination-cajitas .izquierda:hover{background-color:#06a950;color:#fff}#mis-habilidades .habilidades-swipers .pagination-cajitas .derecha:hover .fas,#mis-habilidades .habilidades-swipers .pagination-cajitas .izquierda:hover .fas{color:#fff}#mis-habilidades .habilidad-card{background:#25262f;border:1px solid #2d2e37;border-radius:10px;padding:1rem .8rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer;position:relative;overflow:hidden;min-height:90px;height:100%}#mis-habilidades .habilidad-card a{text-decoration:none}#mis-habilidades .habilidad-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#06a950,#08d665);transform:scaleX(0);transition:transform .3s cubic-bezier(.4,0,.2,1)}#mis-habilidades .habilidad-card:hover{background:rgba(0,0,0,0);border-color:#06a950;color:#08d665}#mis-habilidades .habilidad-card:hover i{color:#08d665;transform:rotateY(1turn);transition:transform .4s ease,color .3s ease;display:inline-block}#mis-habilidades .habilidad-card:hover .habilidad-nombre{color:#08d665}#mis-habilidades .habilidad-card .habilidad-icono{font-size:2rem;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1)}#mis-habilidades .habilidad-card .habilidad-icono i{transition:all .3s cubic-bezier(.4,0,.2,1)}#mis-habilidades .habilidad-card .habilidad-icono i:not(.colored){color:#06a950}#mis-habilidades .habilidad-card .habilidad-icono i.devicon-nextjs-plain{font-size:1.75rem}#mis-habilidades .habilidad-card .habilidad-nombre{font-size:.8rem;font-weight:600;color:#b0b0b0;text-align:center;transition:color .3s cubic-bezier(.4,0,.2,1);line-height:1.2;text-transform:none}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){#mis-habilidades .filtros-habilidades{display:flex;flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;gap:.5em;padding-bottom:10px;margin-bottom:1em;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,0) rgba(0,0,0,0)}#mis-habilidades .filtros-habilidades::-webkit-scrollbar{height:6px;background:#1a1b23}#mis-habilidades .filtros-habilidades::-webkit-scrollbar-thumb{background:#08d665;border-radius:3px}#mis-habilidades .filtro-btn{min-width:120px;font-size:1rem;padding:.7em 1em;margin:0;text-align:center;border-radius:24px;white-space:nowrap}}#contacto{padding-top:2em;padding-bottom:5em}#contacto #title-contacto span#span{background-color:#08d665;color:#fff;padding:5px 15px;font-size:14px;font-weight:600;border-radius:3px;display:inline-block;text-transform:uppercase;letter-spacing:1px;width:-moz-fit-content;width:fit-content}#contacto #title-contacto h1{font-size:40px;margin-top:15px}#contacto #title-contacto h1>span{color:#08d665}#contacto #title-contacto .contact-description{font-size:1.1rem;color:#666;margin-top:1.5rem;line-height:1.6}#contacto .contact-info{background-color:rgba(8,214,101,.1);border:none;border-radius:10px;padding:2em;margin-bottom:0;transition:all .3s cubic-bezier(.4,0,.2,1)}#contacto .contact-info:hover{background-color:rgba(8,214,101,.15);box-shadow:0 4px 15px rgba(8,214,101,.15)}#contacto .contact-info h5{font-family:Oswald,sans-serif;font-weight:600;font-size:1.5rem;color:#25262f;margin-bottom:1.5rem}#contacto .contact-info h5 i{color:#08d665;margin-right:.5rem}#contacto .contact-info .mb-2{display:flex;align-items:center;padding:.5rem 0;margin-bottom:.5rem;transition:all .3s ease}#contacto .contact-info .mb-2:hover{padding-left:5px}#contacto .contact-info .mb-2:hover i{transform:scale(1.2)}#contacto .contact-info .mb-2 i{min-width:30px;font-size:1.1rem;transition:all .3s cubic-bezier(.4,0,.2,1)}#contacto .contact-info .mb-2 a{color:#333;text-decoration:none;transition:color .3s ease;font-size:.95rem}#contacto .contact-info .mb-2 a:hover{color:#08d665}#contacto .contact-info .mb-2:not(:has(a)){color:#333;font-size:.95rem}#contacto .contact-info .mt-4{margin-top:1.5rem!important;padding-top:1rem;display:flex;gap:15px}#contacto .contact-info .mt-4 a{display:flex;align-items:center;justify-content:center;width:45px;height:45px;background-color:rgba(0,0,0,0);border:1px solid rgba(0,0,0,.2);color:#333;border-radius:8px;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);font-size:1.2rem}#contacto .contact-info .mt-4 a:hover{border-color:#08d665;color:#08d665;background-color:rgba(8,214,101,.1);transform:translateY(-3px)}#contacto .contact-info .mt-4 a:hover i{transform:rotateY(1turn)}#contacto .contact-info .mt-4 a i{transition:transform .4s ease}#contacto .contact-form{background-color:rgba(8,214,101,.1);border:none;border-radius:10px;padding:2em;transition:all .3s cubic-bezier(.4,0,.2,1)}#contacto .contact-form:hover{background-color:rgba(8,214,101,.15)}#contacto .contact-form .form-label{font-family:Oswald,sans-serif;font-weight:600;font-size:1rem;color:#25262f;margin-bottom:.5rem;display:block;text-transform:uppercase;letter-spacing:.5px}#contacto .contact-form input.form-control,#contacto .contact-form textarea.form-control{background-color:#fff!important;border:1px solid #e0e0e0!important;border-radius:8px;color:#333!important;padding:.9rem 1.2rem;font-size:.95rem;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%;display:block}#contacto .contact-form input.form-control:focus,#contacto .contact-form textarea.form-control:focus{background-color:#fff!important;border-color:#08d665!important;color:#333!important;box-shadow:0 0 0 .2rem rgba(8,214,101,.15)!important;outline:none}#contacto .contact-form input.form-control::placeholder,#contacto .contact-form textarea.form-control::placeholder{color:#999;opacity:1}#contacto .contact-form input.form-control:hover:not(:focus),#contacto .contact-form textarea.form-control:hover:not(:focus){border-color:rgba(8,214,101,.4)!important}#contacto .contact-form textarea.form-control{resize:vertical;min-height:120px}#contacto .contact-form .btn-success{background:linear-gradient(90deg,#06a950,#08d665);border:none;border-radius:8px;font-family:Oswald,sans-serif;font-weight:600;font-size:1rem;text-transform:uppercase;letter-spacing:1px;padding:.9rem 2.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);color:#fff}#contacto .contact-form .btn-success:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(8,214,101,.4);background:linear-gradient(90deg,#08d665,#06a950)}#contacto .contact-form .btn-success:active{transform:translateY(0)}#contacto .contact-form .btn-success:disabled{background:#3a3b45;cursor:not-allowed;transform:none;box-shadow:none;opacity:.6}#contacto .contact-form .btn-success i{margin-left:.5rem;transition:transform .3s ease}#contacto .contact-form .btn-success:hover i{transform:translateX(3px)}#contacto .contact-form .alert{border:none;border-radius:8px;padding:1rem 1.5rem;font-size:.95rem;margin-top:1rem}#contacto .contact-form .alert.alert-success{background-color:rgba(8,214,101,.15);border-left:4px solid #08d665;color:#08d665}#contacto .contact-form .alert.alert-danger{background-color:rgba(220,53,69,.15);border-left:4px solid #dc3545;color:#ff6b7a}@media(max-width:768px){#contacto{padding:2em 0 3em}#contacto .contact-form,#contacto .contact-info{padding:1.5em}}#footer{background-color:#1a1b23;padding:2em 0 1em;margin-top:5em;color:#b0b0b0}#footer .footer-content{flex-direction:row;justify-content:space-between;gap:2rem}#footer .footer-content,#footer .footer-menu{display:flex;align-items:center;flex-wrap:wrap}#footer .footer-menu{list-style:none;padding:0;margin:0;justify-content:flex-start;gap:0}#footer .footer-menu li{display:flex;align-items:center}#footer .footer-menu li:not(:last-child):after{content:"|";color:hsla(0,0%,100%,.2);margin:0 1.2rem;font-size:.9rem}#footer .footer-menu li a{color:#b0b0b0;text-decoration:none;font-size:.95rem;transition:all .3s ease;display:inline-block;position:relative}#footer .footer-menu li a:hover{color:#08d665}#footer .footer-social{display:flex;gap:15px;justify-content:flex-end;align-items:center}#footer .footer-social .social-link{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background-color:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.1);color:#b0b0b0;border-radius:50%;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);font-size:1rem}#footer .footer-social .social-link:hover{background-color:#08d665;border-color:#08d665;color:#fff;transform:translateY(-3px)}#footer .footer-social .social-link:hover i{transform:rotateY(1turn)}#footer .footer-social .social-link i{transition:transform .5s ease}#footer .footer-copyright{width:100%;text-align:center;font-size:.85rem;color:hsla(0,0%,100%,.5);margin-top:.5rem}#footer .footer-copyright p{margin:0}@media(max-width:768px){#footer{padding:1.5em 0 1em;margin-top:3em}#footer .footer-content{flex-direction:column;align-items:center;justify-content:center;gap:1.5rem}#footer .footer-menu{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:.4rem 1rem;gap:.4rem 1rem;width:100%;max-width:320px;padding:0 1rem}#footer .footer-menu li{display:block}#footer .footer-menu li:not(:last-child):after{display:none}#footer .footer-menu li a{display:block;text-align:left;font-size:.9rem;position:relative;padding:.5rem 0 .5rem 12px}#footer .footer-menu li a:before{content:"→";position:absolute;left:0;opacity:0;transition:all .3s ease}#footer .footer-menu li a:hover{color:#08d665;padding-left:16px}#footer .footer-menu li a:hover:before{opacity:1;left:0}#footer .footer-social{gap:12px;justify-content:center}#footer .footer-social .social-link{width:38px;height:38px;font-size:.95rem}#footer .footer-copyright{font-size:.8rem;padding:0 1rem}}.scroll-to-top{position:fixed;bottom:30px;right:30px;width:50px;height:50px;background:linear-gradient(135deg,#06a950,#08d665);color:#fff;border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.2rem;box-shadow:0 4px 15px rgba(8,214,101,.4);transition:all .3s cubic-bezier(.4,0,.2,1);z-index:9998;opacity:0;visibility:hidden;transform:translateY(100px)}.scroll-to-top.visible{opacity:1;visibility:visible;transform:translateY(0)}.scroll-to-top:hover{transform:translateY(-5px);box-shadow:0 6px 20px rgba(8,214,101,.6);background:linear-gradient(135deg,#08d665,#06a950)}.scroll-to-top:hover i{animation:bounceUp .6s ease infinite}.scroll-to-top:active{transform:translateY(-2px)}.scroll-to-top i{transition:all .3s ease}@keyframes bounceUp{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@media(max-width:768px){.scroll-to-top{width:45px;height:45px;bottom:20px;right:20px;font-size:1.1rem}}.modal-gallery-overlay{position:fixed;inset:0;background:rgba(0,0,0,.85);z-index:2000;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem;top:50px}.modal-gallery-close{position:absolute;top:80px;right:18px;background:rgba(0,0,0,0);border:none;color:#fff;font-size:1.4rem;z-index:2010}.modal-gallery-body{display:flex;align-items:center;gap:1rem;width:100%;max-width:1300px}.modal-gallery-image-wrap{position:relative;width:100%;max-width:1100px;height:70vh;z-index:999999!important}.modal-gallery-image{border-radius:4px}.modal-gallery-next,.modal-gallery-prev{background:hsla(0,0%,100%,.08);border:none;color:#fff;width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:50%}.modal-gallery-thumbs{margin-top:14px;display:flex;gap:8px;justify-content:center;align-items:center;flex-wrap:nowrap;overflow-x:auto;padding:8px 12px;width:100%;max-width:1100px}.modal-gallery-thumb{background:hsla(0,0%,100%,.04);border:2px solid rgba(0,0,0,0);padding:2px;border-radius:4px}.modal-gallery-thumb.active{border-color:#fff}.modal-gallery-thumb img,.modal-gallery-thumb>div,.modal-gallery-thumb>span{display:block;width:96px;height:64px;object-fit:cover}@media(max-width:768px){.modal-gallery-image-wrap{height:60vh}}.overlay-thumb-click{cursor:pointer;display:inline-block}