@font-face{font-family:webfont;src:url(/fonts/webfont-ExtraLight.woff2)format("woff2"),url(/fonts/webfont-ExtraLight.woff)format("woff");font-weight:200;font-style:normal;font-display:swap}@font-face{font-family:webfont;src:url(/fonts/webfont-Light.woff2)format("woff2"),url(/fonts/webfont-Light.woff)format("woff");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:webfont;src:url(/fonts/webfont-Regular.woff2)format("woff2"),url(/fonts/webfont-Regular.woff)format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:webfont;src:url(/fonts/webfont-Bold.woff2)format("woff2"),url(/fonts/webfont-Bold.woff)format("woff");font-weight:700;font-style:normal;font-display:swap}:root{--font-family:"webfont", sans-serif}html{--color-bg:#000;--color-text:#6d87c7;--tron:#6d87c7;--tron75:#6d87c7bf;--tron50:#6d87c780;--tron25:#6d87c740;--white:#fff;--white75:#ffffffbf;--white50:#ffffff80;--white25:#ffffff40;--gradient0:#245de7;--gradient1:#245de7;--gradient2:#245de7;--gradient3:#245de7;--lightgrey:#e6e6e6}html.light{--color-text:#ff4500;--tron:#ff4500;--tron75:#ff4500bf;--tron50:#ff450080;--tron25:#ff450040;--gradient0:#b63404;--gradient1:#b63404;--gradient2:#b63404;--gradient3:#b63404}html.whitemode{--color-bg:#fff;--color-text:#000;--tron:#b13733;--tron75:#b13733bf;--tron50:#b1373380;--tron25:#b1373340;--white:#000;--gradient0:#cb504c;--gradient1:#b13733;--gradient2:#c43d39;--gradient3:#9d312e}::selection{color:currentColor;background:0 0}*{box-sizing:border-box;margin:0;padding:0}html,body{font-family:var(--font-family);color:var(--color-text);background-color:var(--color-bg);text-align:left;-webkit-overflow-scrolling:touch;font-size:1.35vw;font-weight:300;line-height:1.5}.animate-on-scroll{opacity:0;transition:all .5s cubic-bezier(.4,0,.2,1);transform:translateY(1em)}.animate-on-scroll.animate-in{opacity:1;transform:translateY(0)}.animate-on-scroll.animate-in.animate-delay-1{transition-delay:.1s}.animate-on-scroll.animate-in.animate-delay-2{transition-delay:.2s}.animate-on-scroll.animate-in.animate-delay-3{transition-delay:.3s}.animate-on-scroll.animate-in.animate-delay-4{transition-delay:.4s}.animate-on-scroll.animate-in.animate-delay-5{transition-delay:.5s}.animate-on-scroll.animate-left{transform:translate(-1em)}.animate-on-scroll.animate-left.animate-in{transform:translate(0)}.animate-on-scroll.animate-right{transform:translate(1em)}.animate-on-scroll.animate-right.animate-in{transform:translate(0)}.animate-on-scroll.animate-scale{transform:scale(.8)}.animate-on-scroll.animate-scale.animate-in{transform:scale(1)}html,body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:100%;position:relative}@media (width>=1410px){html,body{font-size:19px}}@media (width<=1024px){html,body{font-size:16px}}@media (width<=767px){html,body{font-size:15px}}@media (width<=374px){html,body{font-size:13px}}html{height:-webkit-fill-available}body{min-height:-webkit-fill-available;overflow-y:scroll}#page{pointer-events:none;z-index:10;position:relative;overflow:hidden}#page .subpage{pointer-events:all}a{transition:color .5s}a,a:visited,a:hover,a:focus{color:inherit;outline:none;text-decoration:none}input:focus,button:focus,textarea:focus{outline:none}a:hover{color:inherit;transition:color .5s}a.no-hover{color:inherit!important}p em a,p em a:hover{text-decoration:underline}h1,h2,h3,h4,h5{text-transform:none;margin:0;padding:0 0 .25em;font-family:webfont;font-size:1.5em;font-style:normal;font-weight:700;font-stretch:100%;line-height:1.5}h1{text-transform:uppercase}b,strong{font-weight:700}p{margin:0;padding:0 0 .5em;font-size:1em}em{font-style:normal}#dither,#nav,#page,#cookieconsent,#offcanvas{opacity:0;transition-property:opacity,transform;transition-duration:.5s;transition-timing-function:cubic-bezier(.77,0,.175,1)}.dom-loaded #nav,.dom-loaded #page,.dom-loaded #cookieconsent,.dom-loaded #offcanvas{opacity:1}#page.dom-loading{transform:translateY(-1em)!important}#nav{z-index:325;width:100%;text-shadow:0 0 10px var(--tron75), 0 0 20px var(--tron50), 0 0 30px var(--tron25);background:0 0;padding:.75em 4em;position:fixed;top:.5em;left:0}.whitemode #nav{text-shadow:none}#nav-logo{font-size:1.5em;font-weight:200;line-height:1;display:inline-block;position:relative}#nav-logo strong{font-weight:700}#toggle-white{cursor:pointer;width:1.75em;height:100%;position:absolute;top:0;right:10em}#toggle-white:before{content:"";border:1px solid;border-radius:.5em;width:calc(1.75em - 2px);height:1em;margin:auto;position:absolute;top:0;bottom:0;left:0}#toggle-white:after{content:"";background-color:currentColor;border-radius:.5em;width:calc(1em - 4px);height:calc(1em - 4px);margin:auto;position:absolute;top:0;bottom:0;left:2px}html.whitemode #toggle-white:after{left:auto;right:2px}#toggle-mode{cursor:pointer;width:1.5em;height:100%;position:absolute;top:0;right:7em}@media (width<=767px){#toggle-mode{right:calc(15px + 5em)}}#toggle-mode #dark,#toggle-mode #light{width:1.5em;height:1.5em}#toggle-mode svg{fill:currentColor;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}html:not(.light) #toggle-mode #light,html.light #toggle-mode #dark{display:none}#hamburger{cursor:pointer;width:4em;height:100%;position:absolute;top:0;right:2em}.line{background:var(--color-text);width:1em;height:3px;box-shadow:0 0 15px 3px var(--tron50), inset 0 0 15px 3px var(--tron25);margin:auto;transition:all .5s;position:absolute;right:2em}.whitemode .line{box-shadow:none}.lineA{width:1.5em;top:44%;bottom:56%}.lineB{width:.75em;top:56%;bottom:44%}@media (width<=1024px){.lineA{top:43%;bottom:57%}.lineB{top:57%;bottom:43%}}@media (width>=1025px){#hamburger:hover .lineA{width:.75em}#hamburger:hover .lineB{width:1.25em}}.navopen .lineA{top:50%;bottom:50%;transform:rotate(45deg);width:1em!important}.navopen .lineB{top:50%;bottom:50%;transform:rotate(-45deg);width:1em!important}#offcanvas{background:var(--color-bg);z-index:325;align-items:center;width:400px;margin-left:-2em;padding:.25em 2em .25em 4em;display:flex;position:fixed;top:0;bottom:0;left:100%}#offcanvas:after{content:"";background:var(--tron);width:1px;height:100%;box-shadow:0 0 15px 3px var(--tron50), inset 0 0 15px 3px var(--tron25);z-index:10;position:absolute;top:0;left:0}.whitemode #offcanvas:after{background:var(--lightgrey);box-shadow:none}#offcanvas:before{content:"";background:var(--tron);width:3px;height:25px;box-shadow:0 0 15px 3px var(--tron50), inset 0 0 15px 3px var(--tron25);z-index:15;border-radius:3px;animation:10s linear infinite fallen2;position:absolute;top:-25px;left:-1px}.whitemode #offcanvas:before{display:none}@keyframes fallen2{0%{opacity:1;top:-25px}30%{opacity:1;top:-25px}45%{opacity:1;top:calc(100% + 25px)}to{opacity:0;top:calc(100% + 25px)}}#offcanvas ul{text-transform:uppercase;font-size:1em;list-style-type:none}#offcanvas li{padding:.5em 0}#offcanvas li.nav-language{padding:2.5em 0 .5em}#offcanvas li a{display:inline-block;position:relative}#offcanvas li a.active{font-weight:700}@media (width<=1024px){#offcanvas{width:350px}}@media (width>=1025px){#offcanvas li a:before{content:" ";background:var(--color-text);transform-origin:100%;will-change:transform;width:100%;height:75%;margin:auto;transition:transform .25s ease-in-out;display:block;position:absolute;top:0;bottom:0;left:0;transform:scaleX(0)}#offcanvas li a:hover:before{transform-origin:0;transform:scaleX(1)}}#footer{text-transform:none;z-index:275;width:100%;text-shadow:0 0 10px var(--tron75), 0 0 20px var(--tron50), 0 0 30px var(--tron25);padding:1.25em 4em;font-weight:300;line-height:1em;position:relative;bottom:0;left:0}.whitemode #footer{text-shadow:none}#footer a{pointer-events:all}#legal{font-size:.75em;position:relative}#legal img{z-index:25;opacity:0;width:auto;height:3.25em;display:block;position:absolute;top:-4em;left:-.4em}.footer-nav{float:right}#footer a{text-transform:uppercase;display:inline-block;position:relative}@media (width>=1025px){#footer a:before{content:"";background:var(--color-text);transform-origin:100%;will-change:transform;width:100%;height:100%;transition:transform .25s ease-in-out;display:block;position:absolute;top:0;left:0;transform:scaleX(0)}#footer a:hover:before{transform-origin:0;transform:scaleX(1)}}#cookieconsent{z-index:330;background:var(--color-bg);width:2em;height:100%;position:fixed;top:0;left:0;overflow:visible}#cookieconsent:after{content:"";background:var(--tron);width:1px;height:100%;box-shadow:0 0 15px 3px var(--tron50), inset 0 0 15px 3px var(--tron25);z-index:10;position:absolute;top:0;right:0}.whitemode #cookieconsent:after{background:var(--lightgrey);box-shadow:none}#cookieconsent:before{content:"";background:var(--tron);width:3px;height:25px;box-shadow:0 0 15px 3px var(--tron50), inset 0 0 15px 3px var(--tron25);z-index:15;border-radius:3px;animation:10s linear infinite fallen;position:absolute;top:-25px;right:-1px}.whitemode #cookieconsent:before{display:none}@keyframes fallen{0%{opacity:1;top:-25px}5%{opacity:1;top:-25px}20%{opacity:1;top:calc(100% + 25px)}to{opacity:0;top:calc(100% + 25px)}}#cookieconsent-bar{transform-origin:50%;text-wrap:nowrap;height:1em;font-size:1em;line-height:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-90deg)}#cookieconsent-bar p{text-align:center;text-transform:uppercase;margin:0;padding:0;font-size:.75em;line-height:1.5}#cookieconsent-bar p span{text-decoration:underline}#cookieconsent-bar a{display:inline-block;position:relative}@media (width>=1025px){#cookieconsent-bar a:before{content:"";background:var(--color-text);transform-origin:100%;will-change:transform;width:100%;height:40%;margin:auto;transition:transform .25s ease-in-out;display:block;position:absolute;top:0;bottom:0;left:0;transform:scaleX(0)}#cookieconsent-bar a:hover:before{transform-origin:0;transform:scaleX(1)}}@media (width<=767px){#cookieconsent{width:15px}#cookieconsent-bar{font-size:13px}}.msie #cookieconsent{display:none!important}#content{min-height:calc(100dvh - 3.5em);text-shadow:0 0 10px var(--tron75), 0 0 20px var(--tron50), 0 0 30px var(--tron25);flex-direction:column;justify-content:center;padding:7.5em 11.5vw 4em;display:flex;position:relative}.whitemode #content{text-shadow:none}#privacy{width:100%;max-width:980px}#privacy h2,#privacy h3{padding:1em 0 .25em}#contact{width:100%;max-width:980px}#contact h1{padding:0 0 1em}#legalnotice{width:100%;max-width:980px}#legalnotice h1{padding:0 0 1em}p.logoline{font-size:1.5em;font-weight:200}p span.light{font-weight:200}#content a{text-decoration:underline;display:inline-block;position:relative}#content ul{margin:0;padding:0 0 .5em 1.5em;font-size:1em}#content li{margin:0;padding:0}.subpage h1{color:var(--white);text-shadow:0 0 10px var(--white75), 0 0 20px var(--white50), 0 0 30px var(--white25)}.whitemode .subpage h1{text-shadow:none}.subpage h1 span{white-space:nowrap;display:inline-block;position:relative}.subpage h1 span:before{content:"";background:var(--tron);height:1px;box-shadow:0 0 15px 3px var(--tron50), inset 0 0 15px 3px var(--tron25);z-index:-1;margin:auto;position:absolute;bottom:.325em;left:-.125em;right:-.125em}.whitemode .subpage h1 span:before{background:var(--color-text);box-shadow:none}strong.underline{text-decoration:underline}@media (width>=1025px){#content a:before{content:"";background:var(--color-text);transform-origin:100%;will-change:transform;width:100%;height:75%;box-shadow:0 0 15px 3px var(--tron50), inset 0 0 15px 3px var(--tron25);margin:auto;transition:transform .25s ease-in-out;display:block;position:absolute;top:0;bottom:0;left:0;transform:scaleX(0)}.whitemode #content a:before{box-shadow:none}#content a:hover:before{transform-origin:0;transform:scaleX(1)}}#content.start h1,#content.start h2,#content.start h3{padding:0;line-height:1}#services{z-index:200;height:auto;margin:0 0 -1em;font-weight:300;position:relative}#services p{padding:0 0 1em}#creative-services{z-index:200;width:100%;height:auto;margin:0;padding:0 0 .25em;font-size:1.45vw;font-weight:400;position:relative}@media (width<=1024px){#creative-services{font-size:2vw}}#content.start #creative-services h1{text-transform:uppercase;color:var(--white);text-shadow:0 0 10px var(--white75), 0 0 20px var(--white50), 0 0 30px var(--white25);margin:0 0 0 -.025em;padding:0;font-size:2.775em;font-weight:700}.whitemode #content.start #creative-services h1{text-shadow:none}#content.start #creative-services h1 span.extralight{font-weight:200}#content.start #creative-services h2{text-transform:none;margin:0;padding:.25em 0 0;font-size:1.0275em;font-weight:300}#content.start .start-screen{align-items:center;width:100%;min-height:calc(100dvh - 15em);display:flex;position:relative}#content.start .start-screen .scroll-down{z-index:25;opacity:1;cursor:pointer;pointer-events:all;width:1em;height:3em;transition:opacity .5s;position:absolute;bottom:-3.5em;left:0}@media (width<=767px){#content.start .start-screen .scroll-down{bottom:-6em}}.scrolled #content.start .start-screen .scroll-down{opacity:0}#content.start .start-screen .scroll-down svg{pointer-events:none;width:1em;height:2em;animation:1.5s infinite moveInfinite;position:absolute;top:0;left:0}#content.start .start-screen .scroll-down svg path{fill:var(--white)}@keyframes moveInfinite{0%{top:0}50%{top:1em}to{top:0}}#content.start .start-contents{align-items:center;width:100%;min-height:calc(100dvh - 15em);display:flex}#content.start .start-item{width:100%;height:auto}#content.start .start-item-content h3{text-transform:uppercase;color:var(--white);text-shadow:0 0 10px var(--white75), 0 0 20px var(--white50), 0 0 30px var(--white25);margin:0 0 0 -.025em;padding:0 0 .1em;font-size:2em;font-weight:700}.whitemode #content.start .start-item-content h3{text-shadow:none}@media (width<=767px){#content.start .start-item-content h3{font-size:1.5em}}#content.start .start-item-content h3 span.extralight{font-weight:200}#content.start .tech-logos{width:21.25em;max-width:100%;padding:1.5em 0 0}@media (width>=768px){#content.start .tech-logos{width:11.75em;padding:.75em 0 0}}#content.start .tech-logos ul{justify-content:space-between;margin:0;padding:0;list-style-type:none;display:flex}#content.start .tech-logos li{margin:0;padding:0}#content.start .tech-logos svg{width:auto;height:1.75em}#content.start .tech-logos .laravel svg{height:1.9em}@media (width>=768px){#content.start .tech-logos svg{height:1.25em}#content.start .tech-logos .laravel svg{height:1.35em}}#content.start .tech-logos svg path{fill:#fff}.whitemode #content.start .tech-logos svg path{fill:#000}#content.start .tech-logos .php svg{padding:.25em 0}#content.start .tech-logos .nuxt svg{padding:.125em 0}@media (width<=767px){#nav{top:0}#nav,#footer{padding:1em 30px}#content{min-height:calc(100dvh - 3em);padding:7em 60px 4em 30px}hr.linesA{top:0;left:15px}hr.linesB{top:0;right:15px}#hamburger{position:absolute;top:0;right:15px}.line{right:15px}.hidden-mobile{display:none}#offcanvas{margin-left:-15px;padding:.25em 15px .25em 30px}#creative-services{font-size:.75em}}#dither{z-index:1;background:var(--color-bg);width:100%;height:100%;position:fixed;top:0;left:0}#dither.switch{transition-duration:0s}.dom-loaded #dither{opacity:.5}.light .dom-loaded #dither{opacity:.25}.whitemode .dom-loaded #dither{opacity:.125}#dither canvas{width:100%;height:100%;display:block}#dither:after{content:"";z-index:5;opacity:0;pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}.whitemode #dither:after{opacity:0}#offcanvas,#nav,#page,#dither{transition-property:opacity,transform;transition-duration:.5s;transition-timing-function:cubic-bezier(.77,0,.175,1);transform:translate(0)}.navopen #offcanvas,.navopen #nav,.navopen #page,.navopen #dither{transition-property:opacity,transform;transition-duration:.5s;transition-timing-function:cubic-bezier(.77,0,.175,1);transform:translate(-300px)}.overlay{pointer-events:none;z-index:310;background:0 0;transition:background .5s;position:absolute;inset:0}.navopen .overlay{background:var(--overlaycolor);pointer-events:auto}@media (width<=1024px){.navopen #offcanvas,.navopen #nav,.navopen #page,.navopen #dither{transform:translate(-250px)}}#qrcode{height:7em;margin:25px 0 0}.whitemode #qrcode{height:6em}#qrcode img{background:var(--tron);width:7em;height:7em;box-shadow:0 0 15px 3px var(--tron50), inset 0 0 15px 3px var(--tron25);border-radius:5px;padding:.5em}.whitemode #qrcode img{background:var(--color-bg);width:6em;height:6em;box-shadow:none;border-radius:0;padding:0}.generator{padding:.5em 0 0;position:relative;overflow:visible}.generator label{margin:0;padding:1.5em 0 0;font-size:.75em;font-weight:700;line-height:1.5;display:block}div.password,input.password,input.url{vertical-align:top;font-family:var(--font-family);border:1px solid var(--color-text);background:var(--color-bg);width:20em;color:var(--color-text);text-shadow:0 0 10px var(--tron75), 0 0 20px var(--tron50), 0 0 30px var(--tron25);box-shadow:0 0 15px 3px var(--tron50), inset 0 0 15px 3px var(--tron25);border-radius:5px;padding:0 .5em;font-size:1em;font-weight:300;line-height:2em;display:inline-block}div.password{cursor:pointer}.whitemode div.password,.whitemode input.password,.whitemode input.url{text-shadow:none;box-shadow:none}input.url.notvalid{border:1px solid #c43d39}input::placeholder{color:var(--color-text)!important;opacity:1!important}input::placeholder{color:var(--color-text)!important;opacity:1!important}input::placeholder{color:var(--color-text)!important;opacity:1!important}button.regenerate,button.createqr{vertical-align:top;font-family:var(--font-family);border:1px solid var(--color-text);background:var(--color-text);color:var(--color-bg);appearance:none;cursor:pointer;box-shadow:0 0 15px 3px var(--tron50), inset 0 0 15px 3px var(--tron25);border-radius:5px;padding:0 .5em;font-size:1em;font-weight:300;line-height:2em;display:inline-block}div.password:active:hover{background:var(--white);border-color:var(--white);color:var(--color-bg)}.whitemode div.password:active:hover{background:var(--color-text);border-color:var(--color-text);color:var(--color-bg)}@media (width>=1025px){div.password:active:hover,button.regenerate:active:hover,button.createqr:active:hover{position:relative;top:1px}}.whitemode button.regenerate,.whitemode button.createqr{box-shadow:none}p.password-hint{margin:0;padding:0;font-size:.75em;line-height:1.5}@media (width<=767px){#qrcode{height:11em;margin:25px 0 0}.whitemode #qrcode{height:10em}#qrcode img{width:11em;height:11em}.whitemode #qrcode img{width:10em;height:10em}}@media (width<=499px){div.password,input.password,input.url{width:100%;margin:0 0 10px;display:block}button.regenerate,button.createqr{width:100%;display:block}}.skills-circle{width:100%;height:100svh;margin:-25vh 0 0;position:relative}.skills-circle ul{margin:0;padding:0;list-style:none}.skills{text-align:right;width:100vw;height:100%;position:absolute;left:50%}.skills-item{font-family:var(--font-family);text-transform:uppercase;width:25vw;font-size:2vw;font-weight:200;line-height:1;position:absolute;top:0;left:0;transform:translate(-50%,-50%)}.skills-item strong{font-weight:700}@media (width<=767px){.skills-item{width:35vw;font-size:2.5vw}}#animation{z-index:175;pointer-events:none;opacity:.5;-o-transition:.5s ease all;align-items:center;width:140vh;max-width:200vw;height:auto;margin:auto;transition:all .5s;display:flex;position:fixed;top:50dvh;left:100%;transform:translate(-55%)translateY(-50%)}html.whitemode #animation{opacity:1}#layer-1{-ms-animation-name:spin;-ms-animation-duration:4s;-ms-animation-iteration-count:infinite;-ms-animation-timing-function:linear;width:100%;height:auto;animation-name:spin;animation-duration:4s;animation-timing-function:linear;animation-iteration-count:infinite}@-moz-keyframes spin{0%{-moz-transform:rotate(0)}to{-moz-transform:rotate(360deg)}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0)}to{-webkit-transform:rotate(360deg)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.shape-0{opacity:.75}.shape-1,.shape-4{opacity:.25}.shape-2,.shape-5{opacity:.75}.shape-3,.shape-6{opacity:.25}.transition-main{opacity:1;transition-property:opacity,transform;transition-duration:.25s;transition-timing-function:cubic-bezier(.77,0,.175,1);transform:translateY(0)}html.is-animating .transition-main{opacity:0;transform:translateY(-1em)}html.is-leaving .transition-main{transform:translateY(1em)}html.is-animating.to-left .transition-main{opacity:0;transform:translateY(1em)}html.is-leaving.to-left .transition-main{transform:translateY(-1em)}.swup-progress-bar{background-color:var(--tron);z-index:500;height:1px;position:fixed;top:auto;bottom:0;box-shadow:0 0 15px #ff450080,inset 0 0 15px #ff450040}
