@font-face{font-family:'Retro Gaming';src:url('../font/RetroGaming.woff2') format('woff2'),url('../font/RetroGaming.woff') format('woff');font-weight:400;font-style:normal;font-display:swap}body,html{margin:0;padding:0;background:0 0;color:#eee;min-width:320px;font-size:16px;line-height:150%;font-family:'Retro Gaming',monospace;font-weight:400;font-style:normal;scroll-behavior:smooth}html.text-mode,html.text-mode body{font-family:monospace}html{min-height:100%;background:#3978a8 url(../img/PlainA.png) no-repeat bottom center/contain;display:flex;align-items:center;justify-content:center}body{box-sizing:border-box;max-width:960px;margin:0 auto;padding:0 1em}a{color:#08f}a[rel*=external]::after{display:inline-block;content:"\29C9";width:1em;height:1em;line-height:1em;vertical-align:middle;margin-left:.25em;font-size:.8em;transform:scaleX(-1);opacity:.75}img{max-width:100%;height:auto}header{text-align:center}header [itemprop=description]{margin-bottom:3em}h1{font-size:1.75em;margin:.25em 0}header .version{font-size:.7em}main{position:relative}.game-mode section.game,.text-mode section.html{display:block}.game-mode section.html,.text-mode section.game{display:none}.game .screen,body>menu,section.html{width:100%;margin:0 auto;box-sizing:border-box;padding:0}body>menu{text-align:center;list-style:none;margin:.75em 0}body>menu li{margin:0 1em;padding:0;display:inline-block}body>menu label{cursor:pointer}body>menu input+span{opacity:.5;animation:all .2s linear;display:inline-block;vertical-align:middle}body>menu input:checked+span{opacity:1}section.html{padding:2em;border:1px solid #ccc;background:rgba(0,0,0,.666)}section.html header{text-align:left}section.html h2{font-size:2em;line-height:1.25em;padding:5em 0 .5em;border-bottom:1px solid #ccc}section.html em{color:#fff;font-style:normal;font-weight:600}#intro .only-with-js small{font-style:italic}.player-choice{text-align:center}.player-choice menu,.player-choice menu li{margin:0;padding:0;list-style:none;text-align:center}.player-choice menu{display:grid;grid-template-columns:1fr 1fr;gap:1em;max-width:320px;margin:0 auto}.player-choice menu label{display:grid;align-items:center;justify-items:center;cursor:pointer}.player-choice menu input{opacity:0;width:1px;height:1px;border:0}.player-choice menu input+.sprite{box-sizing:border-box;background:#ccc;border:10px solid transparent;width:100px;image-rendering:-moz-crisp-edges;image-rendering:-o-crisp-edges;image-rendering:-webkit-optimize-contrast;-ms-interpolation-mode:nearest-neighbor;image-rendering:pixelated}.player-choice menu input:checked+.sprite{background:#690}#get-in-touch{box-sizing:border-box;padding:.01em 2em;margin:1em -2em 0;background:rgba(0,0,0,.1);color:#fff}dialog.modal #get-in-touch{color:#000;padding-left:4em;padding-right:4em;margin-left:-1em;margin-right:-1em}h3{font-size:1.5em}#technical-skills>section{margin:5em 0}#experience h3,#technical-skills h3.title,#training h3{background:rgba(255,255,255,.1);padding:.5em;margin:1em -.5em}h4,h5{font-size:1.25em}h5{font-style:italic}.game,.options,footer{box-sizing:border-box}html.game-mode section.game{display:grid;grid-template-areas:"game" "options";gap:1em;position:relative}html.has-touch-capabilities.game-mode section.game{grid-template-areas:"game" "controls" "options"}@media (orientation:landscape){html.has-touch-capabilities.game-mode section.game{grid-template-areas:"game game game controls" "options options options options"}}.game .screen{grid-area:game;height:0;padding-bottom:75%;background:#202;position:relative}.game .screen .overlay{display:none;position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:1;background:#132838;color:#ddd}.game .screen .overlay.visible{display:block}.game .screen .overlay strong{color:#fff}.game .screen .overlay .step{display:none;position:absolute;min-width:95%;top:50%;left:50%;transform:translate(-50%,-50%)}.game .screen .overlay .step.visible{display:block}.game .screen .overlay button{font-size:16px;line-height:150%;font-family:'Retro Gaming',monospace;background:#2b9834;color:#fff;border:0;border-radius:5px;padding:.5em 1em;cursor:pointer}.game .screen .overlay button i{font-size:1.5em;vertical-align:middle}.game .screen .overlay .step.loading h2{text-align:center}.game .screen .overlay .step.map p{text-align:center;margin:1.5em 0;font-size:1em}.game .screen .overlay .map{width:40%;margin:0 auto}.game .screen .overlay .map ul{display:none}html.has-touch-capabilities .game .screen .overlay .explain-controls{display:none}.game,.game .touch-controls,.game .touch-controls button,.game .touch-controls button i,.game .touch-controls fieldset{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.game .screen>canvas{position:absolute;width:100%;height:100%;top:-1px;right:0;bottom:0;left:-1px;border:2px solid #ddd;box-shadow:0 0 1em rgba(255,255,255,.5)}.game .options{margin:.5em auto}section.game .options{width:100%}html.has-touch-capabilites .touch-controls{display:block}.game .touch-controls fieldset{grid-area:controls;border:0;text-align:center;position:relative;aspect-ratio:2/1}.game .touch-controls fieldset legend{display:none}.game .touch-controls button{position:absolute;display:block;aspect-ratio:1/1;width:20%;line-height:20%;border-radius:50%;border:1px solid #ccc;background:#aaa none no-repeat scroll 50% 50%;background-size:auto 60%;transition:all .2s linear}.game .touch-controls button:disabled{opacity:.5}.game .touch-controls button.down,.game .touch-controls button.up{left:15%;background-size:60% auto}.game .touch-controls button.left,.game .touch-controls button.right{top:30%}.game .touch-controls button.up{top:0;background-image:url(../img/buttons/up.svg)}.game .touch-controls button.down{top:60%;background-image:url(../img/buttons/down.svg)}.game .touch-controls button.left{left:0;background-image:url(../img/buttons/left.svg)}.game .touch-controls button.right{left:30%;background-image:url(../img/buttons/right.svg)}.game .touch-controls button.interact{top:0;right:0;background-image:url(../img/buttons/info.svg)}.game .touch-controls button i{display:none}@media (orientation:landscape){.game .touch-controls fieldset{aspect-ratio:1/1}.game .touch-controls button{width:30%;line-height:30%}.game .touch-controls button.down,.game .touch-controls button.up{left:20%}.game .touch-controls button.right{left:40%}.game .touch-controls button i{font-size:2rem}}.game .options{grid-area:options;margin:0}.options fieldset{background:rgba(0,0,0,.666);box-sizing:border-box}.options fieldset{padding:1em}.options fieldset p{margin:0}footer{padding:.5em 2em;background:rgba(0,0,0,.75);border:1px solid #fff;box-sizing:border-box;width:100%;margin:1em 0;line-height:100%}.copyright .texts{display:inline-block}input{vertical-align:middle}input[type=range]{width:100px}#sql .title img{vertical-align:sub}#c-sharp .title img{vertical-align:bottom}#js .title img{vertical-align:top}code,output{display:block;color:#eee;margin:1em 0;padding:1em;font-family:monospace;overflow:auto}code{background:#1e1e1e}code.sql strong{color:#027cb0}code.sql var{color:#690;font-style:normal}code.c-sharp .comment,code.php .comment{color:#690}code.c-sharp .keyword,code.php .comment .tag,code.php .keyword{color:#489ad6}code.c-sharp .name,code.php var{font-style:normal;color:#78d9fe}code.c-sharp .value,code.php .value{color:#c98f6c}code.c-sharp .type,code.php .type{color:#4bc9b0}code.c-sharp .bracket-1,code.php .bracket-1{color:#f1d400}code.c-sharp .bracket-2,code.php .bracket-2{color:#da6eb3}code.php .bracket-3{color:#179dd3}code.php .function{color:#dcdcaa}code.c-sharp .control,code.php .return{color:#c586c0}code.bash .prompt{color:#4bc9b0}output{background:#000}output table td,output table th{margin:0;padding:.5em;text-align:left;vertical-align:top}output table th{border-bottom:1px solid #ccc}output table td.id,output table th.id{text-align:right}dt{margin:2em 0 0;color:#027cb0}dd{margin:1em 0 0 1em}ol{padding-left:1.65em}img{vertical-align:middle}html.has-open-modal,html.has-open-modal body{overflow:hidden}dialog.modal{margin:0;width:90%;max-width:830px;max-height:90%;position:fixed;top:50%;left:50%;transform:translateX(-50%) translateY(-50%);padding:0;background:rgba(255,255,255,.85)}dialog.modal::backdrop{background:rgba(0,0,0,.5);backdrop-filter:blur(0.15em)}dialog.modal form{margin:0;padding:0 1em}dialog.modal header{position:sticky;width:calc(100% + 2em);top:0;margin:0 0 0 -1em;padding:0;background:rgba(255,255,255,.85);text-align:left;z-index:2}dialog.modal header{display:grid;grid-template-columns:auto 2em;gap:1em}dialog.modal.has-menu header{grid-template-columns:auto 1fr 2em}dialog.modal header .title{display:grid;grid-template-columns:1fr auto;align-items:center;vertical-align:middle;margin:0;padding-left:.5em;line-height:1.25em}dialog.modal.technical-skills header .title{display:inline-block}dialog.modal.technical-skills header .title img{vertical-align:sub}dialog.modal header .title .logo,dialog.modal header .title .name{min-height:1.25em}dialog.modal header .title .logo{height:1em;width:auto;vertical-align:sub;margin-left:.25em}dialog.modal.eldeseo header .title .logo{vertical-align:sub}dialog.modal header button{border-radius:0;border:0;background:#202;color:#fff;font-weight:800;width:2em;font-size:1em;cursor:pointer}dialog.modal .title{color:#027cb0;text-align:left;font-weight:400}dialog.modal.sql .title,dialog.modal.sql em{color:#027cb0}dialog.modal.php .title,dialog.modal.php em{color:#777bb3}dialog.modal.js .title,dialog.modalºem{color:#817100}dialog.modal.c-sharp .title,dialog.modal.c-sharp em{color:#822c98}dialog.modal header .title{font-size:1.5em}dialog.modal header menu{display:none}dialog.modal.has-menu header menu{display:block}dialog.modal header menu,dialog.modal header menu li{margin:0;padding:0;text-align:right}dialog.modal header menu li{display:inline-block;margin-right:1em;text-align:right}dialog.modal header input{vertical-align:middle}dialog.modal header input[type=checkbox]{display:none}dialog.modal header input[type=checkbox]+span::before{display:inline-block;content:" ";width:1.2em;height:1.2em;line-height:1.2em;background:#202;color:#fff;vertical-align:middle;text-align:center;margin-right:.5em}dialog.modal header input[type=checkbox]:checked+span::before{content:"✓"}dialog.modal.hide-code section .code,dialog.modal.hide-text section .text{display:none}dialog.modal form>section{margin:2em 0}dialog.modal a{color:#048}dialog.modal.intro strong{color:#027cb0}dialog.modal.naturgy .title,dialog.modal.naturgy dt,dialog.modal.naturgy strong{color:#005795}dialog.modal.eldeseo .title,dialog.modal.eldeseo dt,dialog.modal.eldeseo strong{color:#d00b0b}dialog.modal.ciasa .title,dialog.modal.ciasa dt,dialog.modal.ciasa strong{color:#009540}dialog.modal.sai .title,dialog.modal.sai dt,dialog.modal.sai strong{color:#00adef}dialog.modal.gio .title,dialog.modal.gio dt,dialog.modal.gio strong{color:#039}section.html #experience .client{margin:0 0 0 .5em;padding:1em 0}#experience .client header{display:grid;grid-template-columns:1fr auto;gap:1em;padding-bottom:1em}#experience #sai.client header{grid-template-columns:1fr auto auto}#experience .client .name,#experience .client header img{margin:0}#experience .client header img,#experience [itemprop=worksFor] .header img{background:#fff;padding:.2em .4em}#experience h4{font-size:1em;color:#027cb0}#experience #gio.client header{display:none}dl .header{display:grid;grid-template-columns:auto 1fr;gap:1em;align-items:start}dl .header dd,dl .header dt{margin:0;padding:0}dl>dd,dl>div>dd{position:relative}dl>dd::before,dl>div.projects>dd::before,dl>div.tasks>dd::before{content:"•";position:absolute;left:-1em;top:0}#languages dl>dd::before,.modal.training dl>dd::before{display:none}.films,.films li{display:inline;margin:0;padding:0;list-style:none}.films li::after{content:","}.films li:last-child:after{content:"."}summary{cursor:pointer;opacity:.6;transition:.2s linear all}summary:active,summary:focus,summary:hover{opacity:1}summary::marker{color:#027cb0}details:not([open]) summary::after{display:inline;content:"(Click here)";font-size:.7em;margin-left:.5em}.only-print,.touch-controls,html.no-js .only-with-js,html.text-mode .not-in-text-mode{display:none}em[itemprop=knowsAbout],span[itemprop=knowsAbout]{display:inline-block;padding:0 .33em;background:rgba(0,0,0,.66);color:#fff}em[itemprop=knowsAbout] img,span[itemprop=knowsAbout] img{vertical-align:text-top;margin-top:1px}dialog.modal em[itemprop=knowsAbout],dialog.modal span[itemprop=knowsAbout]{background:rgba(255,255,255,.66);color:#000}dialog.modal em[itemprop=knowsAbout],dialog.modal span[itemprop=knowsAbout] em{font-style:normal}#other .grid .title [itemprop=knowsAbout],dialog.modal .grid .title [itemprop=knowsAbout]{padding:0;background:0 0}dialog.modal .grid .title [itemprop=knowsAbout]{color:#027cb0}dialog.modal .grid .title img{vertical-align:text-bottom}span.django[itemprop=knowsAbout] img{vertical-align:middle}html.text-mode span.nodejs[itemprop=knowsAbout] img{background:#fefefe}#languages dd{margin-left:38px}@media (min-width:641px){body{display:grid;grid-template-areas:"header header header menu" "main main main main" "footer footer footer footer";gap:0;align-items:center;padding-left:2em;padding-right:2em}@media (min-height:1029px){html.js.game-mode body{position:absolute;width:100%;top:50%;left:50%;transform:translate(-50%,-50%)}}.no-js body{display:block}body>header{grid-area:header;padding-left:2em}body>menu{grid-area:menu}main{grid-area:main;margin-top:0}body>footer{grid-area:footer}.game .controls button{font-size:32px}.game .options fieldset details{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1em}dialog.modal header,dialog.modal header menu,dialog.modal header menu li{height:2em;line-height:2em}dialog.modal header .title{height:1.25em}section.html #experience .client{margin-left:2em}section.html #experience #gio.client{margin-left:0}dl .header{grid-template-columns:auto 1fr auto auto;align-items:center}.modal dl .header{grid-template-columns:auto 1fr}.modal dl .header .employer img{max-height:1.5em;width:auto}dd{margin-left:2em}dl>dd::before,dl>div.projects>dd::before,dl>div.tasks>dd::before{left:-1.7em}dialog.modal .grid,section.html #other .grid{display:grid;grid-template-columns:auto 1fr;gap:1em;align-items:baseline}dialog.modal .grid .title,dialog.modal .grid p{margin:0}#gio dl .header{grid-template-columns:auto 1fr auto 1fr auto auto}.player-choice menu input+.sprite{padding:1em;width:100%}.game .screen .overlay .step .map{width:100%;text-align:center}.game .screen .overlay .step .map img{max-width:50%}.game .screen .overlay .step.map p{font-size:1.15em}}@media (min-width:1281px){@media (min-aspect-ratio:8/5){html:not(.no-js).game-mode{background-size:cover}}.game .screen .overlay .step.map p{font-size:1.25em}.game .screen .overlay .step .map{display:grid;grid-template-columns:1fr 1fr;gap:1em;text-align:left}.game .screen .overlay .step .map img{max-width:100%}.game .screen .overlay .map ul{display:grid;grid-template-columns:1fr;gap:2em;margin:0;padding:0 0 0 1em}}dialog.paddleandballgame{position:fixed;width:100%;height:100%;margin:0;padding:0;border:0;box-sizing:border-box;top:0;left:0;right:0;bottom:0;background:rgba(32,32,32,.95);font-family:'Retro Gaming',monospace;color:#eee;z-index:1;text-align:center}dialog.paddleandballgame[open]{display:block}dialog.paddleandballgame dd,dialog.paddleandballgame dt{margin-left:0}@media print{#experience h4,a,body,dt,em,html{font-family:monospace;color:#000!important}.copyright .artwork,.copyright .design,.no-print,a[rel*=external]::after,menu,section.game{display:none!important}section.html{display:block!important;border:0;padding:0}a,abbr{text-decoration:none}a.print-link::after{display:inline!important;content:" (" attr(href) ")"}section.html h2{padding:1em 0 0}#technical-skills>section{margin:2em 0}.only-print{display:initial}code,output{color:#000;border:1px solid #ccc}dt{font-weight:800}section.html #other .grid{display:grid;grid-template-columns:auto 1fr;gap:0 2em;align-items:baseline}dl .header{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:1em}footer{margin:2em 0 0;padding:.5em 0;border-top:1px solid #ccc}}