@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/poppins/pxiEyp8kv8JHgFVrJJnecnFHGPezSQ.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/poppins/pxiEyp8kv8JHgFVrJJfecnFHGPc.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/poppins/pxiByp8kv8JHgFVrLGT9Z1JlFd2JQEl8qw.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/poppins/pxiByp8kv8JHgFVrLGT9Z1xlFd2JQEk.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/poppins/pxiByp8kv8JHgFVrLEj6Z1JlFd2JQEl8qw.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/poppins/pxiByp8kv8JHgFVrLEj6Z1xlFd2JQEk.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/*!
 * Bootstrap v4.1.0 (https://getbootstrap.com/)
 * Copyright 2011-2018 The Bootstrap Authors
 * Copyright 2011-2018 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}@-ms-viewport{width:device-width}article,dialog,header,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}h1,h2,h3,h4{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ul{margin-top:0;margin-bottom:1rem}ul ul{margin-bottom:0}a{color:#007bff;text-decoration:none;background-color:transparent;-webkit-text-decoration-skip:objects}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code{font-family:monospace,monospace;font-size:1em}img{vertical-align:middle;border-style:none}svg:not(:root){overflow:hidden}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}textarea{overflow:auto;resize:vertical}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}[hidden]{display:none!important}.h1,.h2,.h3,.h4,h1,h2,h3,h4{margin-bottom:.5rem;font-family:inherit;font-weight:500;line-height:1.2;color:inherit}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.lead{font-size:1.25rem;font-weight:300}code{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}code{font-size:87.5%;color:#e83e8c;word-break:break-word}a>code{color:inherit}.row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.col-lg-6,.col-md-5,.col-md-6,.col-md-7,.col-sm-12,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8{position:relative;width:100%;min-height:1px;padding-right:15px;padding-left:15px}@media (min-width:576px){.col-sm-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}}@media (min-width:768px){.col-md-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}}@media (min-width:992px){.col-lg-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media screen and (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.form-control::-webkit-input-placeholder{color:#6c757d;opacity:1}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control:-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled{background-color:#e9ecef;opacity:1}.form-group{margin-bottom:1rem}.btn{display:inline-block;font-weight:400;text-align:center;white-space:nowrap;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media screen and (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:focus,.btn:hover{text-decoration:none}.btn.focus,.btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.btn.disabled,.btn:disabled{opacity:.65}.btn:not(:disabled):not(.disabled){cursor:pointer}.btn:not(:disabled):not(.disabled).active,.btn:not(:disabled):not(.disabled):active{background-image:none}a.btn.disabled{pointer-events:none}.btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:hover{color:#fff;background-color:#0069d9;border-color:#0062cc}.btn-primary.focus,.btn-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active{color:#fff;background-color:#0062cc;border-color:#005cbf}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}.btn-secondary.focus,.btn-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active{color:#fff;background-color:#545b62;border-color:#4e555b}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.nav{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.card{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.breadcrumb{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}@-webkit-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.clearfix::after{display:block;clear:both;content:""}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.visible{visibility:visible!important}@media print{*,::after,::before{text-shadow:none!important;box-shadow:none!important}a:not(.btn){text-decoration:underline}img{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}body{min-width:992px!important}}.col-xs-12{position:relative;width:100%;min-height:1px;padding-right:15px;padding-left:15px}.hidden{display:none!important}
html{position:relative;height:100%;width:100%}body{position:relative;font-family:Roboto,Helvetica,sans-serif;margin:0;height:100%;width:100%;background-color:#f5f5f5;overflow:hidden;background-size:cover;-webkit-background-size:cover;background-attachment:fixed;background-position:center center;background-repeat:no-repeat}body,p{font-family:Poppins,Helvetica,sans-serif;font-size:14px;font-weight:400;font-style:normal;line-height:1.85em;color:#666}body.ajax-page-visible{overflow:hidden}a{color:#fa9600;text-decoration:none;outline:0;-webkit-transition:all .3s ease-in-out;-moz-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out;-ms-transition:all .3s ease-in-out;transition:all .3s ease-in-out}a:hover{color:#ff9800;text-decoration:none;outline:0}a:focus{outline:0}h1,h2,h3,h4{font-family:Poppins,Helvetica,sans-serif;font-weight:600;font-style:normal;color:#333;line-height:1.5em}h1{font-size:32px}h2{font-size:27px}h3{font-size:21px}h4{font-size:18px}p{font-size:14px;margin:0 0 10px;font-weight:400}p.lead{font-size:18px;margin:25px 0}img{vertical-align:bottom;max-width:100%;height:auto;border:0;-ms-interpolation-mode:bicubic}.clearfix:after,.clearfix:before{content:" ";display:table}.page{position:relative;width:100%;height:100%}.mobile-visible{display:none;visibility:hidden}.form-group{position:relative;margin:0 0 21.5px}.form-control,.form-control:focus{height:42px}.form-control,.form-control:focus,input[type=search]{position:relative;border:1px solid #dfdfdf;border-radius:0;display:block;font-size:1em;margin:0;padding:10px 25px 10px 12px;width:100%;background:0 0;text-align:left;color:inherit;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;outline:0;font-family:Poppins,Helvetica,sans-serif}textarea.form-control,textarea.form-control:focus{height:auto}.form-control+.form-control-border{content:"";position:absolute;z-index:-1;left:50%;right:50%;bottom:0;background:#fa9600;height:2px;-webkit-transition:all .3s ease-in-out;-moz-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out;-ms-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.form-control:focus+.form-control-border{left:0;right:0;z-index:1}.form-control::-moz-placeholder{color:#adadac}.form-control:-ms-input-placeholder{color:#adadac}.form-control::-webkit-input-placeholder{color:#adadac}.form-group .help-block{position:absolute;display:inline-block;padding:0 5px;font-size:.93em;line-height:1.75em;margin:-2px 0 0 10px;color:#fff;background:#ff4e4e}.form-group .help-block:after{content:" ";position:absolute;left:5px;bottom:100%;width:0;height:0;border-bottom:10px solid #ff4e4e;border-right:10px solid transparent}.form-group .help-block:empty{display:none}.form-group-with-icon i{position:absolute;font-size:16px;top:13px;right:13px;color:#d3d3d3}.form-group-with-icon.form-group-focus i{color:#fa9600}.text-rotation{display:block;position:relative;min-height:1.6em;margin-bottom:4px}.text-rotation .item{position:absolute;left:0;top:0;margin:0;opacity:0;visibility:hidden;transition:opacity .45s ease,visibility .45s ease}.text-rotation .item.is-active{position:relative;opacity:1;visibility:visible}.btn,.btn-primary,.btn-secondary,.button,.contact-confirm-card .btn,.header .social-links a,.hp-btn,.menu-toggle,.scroll-to-top,button,input[type=button],input[type=submit]{cursor:pointer}.btn-primary,.btn-secondary,button,input[type=button],input[type=submit]{display:inline-block;position:relative;padding:.8em 2em;margin-bottom:.25em;font-size:1em;line-height:1.2;border:0;outline:0;border:2px solid #fa9600;color:#222;text-shadow:none;background-color:#fff;border-radius:0;font-family:Poppins,Helvetica,sans-serif;cursor:pointer;-webkit-transition:all .3s ease-in-out;-moz-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out;-ms-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.btn-primary:focus,.btn-primary:hover,button:focus,button:hover,input[type=button]:focus,input[type=button]:hover,input[type=submit]:focus,input[type=submit]:hover{background-color:#fa9600;border-color:#fa9600;color:#fff}.btn-secondary{border-color:#d5d5d5;background-color:#fff}.btn-secondary:focus,.btn-secondary:hover{color:#222;border-color:#d5d5d5;background-color:#d5d5d5}.ts-10{padding-top:10px}.ts-20{padding-top:20px}.ts-25{padding-top:25px}.ts-30{padding-top:30px}.bs-30{padding-bottom:30px}.bs-50{padding-bottom:50px}.no-js .preloader{display:none}.preloader{position:fixed;left:0;top:0;width:100%;height:100%;z-index:9999;background:#fff}.preloader.is-hidden{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .15s linear,visibility .15s linear}.preloader-animation{position:absolute;top:50%;left:50%;text-align:center;background-color:inherit;color:inherit;opacity:1;transition:opacity .3s;transform:translate3d(-50%,-50%,0)}.preloader-spinner{width:52px;height:52px;margin:100px auto;background-color:#fa9600;border-radius:100%;-webkit-animation:sk-scaleout 1s infinite ease-in-out;animation:sk-scaleout 1s infinite ease-in-out}@-webkit-keyframes sk-scaleout{0%{-webkit-transform:scale(0)}100%{-webkit-transform:scale(1.1);opacity:0}}@keyframes sk-scaleout{0%{-webkit-transform:scale(0);transform:scale(0)}100%{-webkit-transform:scale(1.1);transform:scale(1.1);opacity:0}}.pt-wrapper{position:relative;width:100%;max-width:100%;height:100%;padding:0;z-index:1;background-color:transparent}.subpages{position:relative;width:100%;max-width:100%;height:100%;max-height:100%}.pt-page{position:absolute;width:100%;height:100%;min-width:100%;min-height:100%;max-width:2300px;padding-left:15px;margin:0 auto;top:0;left:0;right:0;opacity:0;overflow:auto;visibility:hidden;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;backface-visibility:hidden}.section-inner.start-page-full-width+.section-inner.custom-page-content{min-height:auto}.pt-page .section-inner{position:relative;height:auto;width:100%;min-width:100%;min-height:100%;background-color:transparent;padding:50px 70px 70px;background-color:#fff;-ms-transform:none}.section-inner.start-page-full-width{min-height:auto;padding:0}.section-inner.start-page-full-width .row{margin-right:0;margin-left:0}.section-inner.start-page-full-width div[class^=col-]{padding:0!important}.section-inner.start-page-full-width .inner-content{height:100%;min-height:100%}.section-inner.start-page-full-width .inner-content .fill-block{position:relative;height:100%;min-height:300px;width:100%;background-position:center;background-repeat:no-repeat;background-size:cover}.section-inner.start-page-full-width .inner-content .fill-block.hp-typewriter{display:flex;justify-content:center;align-items:center;background-color:transparent;background-image:none;padding:40px 30px}.hp-terminal{width:100%;max-width:520px;background:0 0;border:1px solid rgba(250,150,0,.35);font-family:"SF Mono",Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}.hp-terminal-bar{display:flex;align-items:center;position:relative;height:36px;padding:0 12px;border-bottom:1px solid rgba(250,150,0,.2)}.hp-terminal-dots{display:flex;align-items:center;gap:6px}.hp-terminal-dots i{display:block;width:10px;height:10px;border-radius:50%}.hp-terminal-dots i:first-child{background:#ff5f56}.hp-terminal-dots i:nth-child(2){background:#ffbd2e}.hp-terminal-dots i:nth-child(3){background:#27c93f}.hp-terminal-title{position:absolute;left:0;right:0;text-align:center;font-size:12px;font-weight:400;color:#888;pointer-events:none}.hp-terminal-body{padding:22px 24px 24px}.hp-terminal-line{margin:0 0 6px;font-size:15px;line-height:1.7;color:#333;font-family:inherit;font-weight:400;word-break:break-word}.hp-terminal-line:last-child{margin-bottom:0}.hp-terminal-user{color:#fa9600;font-weight:600}.hp-terminal-sep{color:#333}.hp-terminal-path{color:#fa9600}.hp-terminal-repl,.hp-terminal-symbol{color:#888;margin:0 8px 0 4px}.hp-terminal-cmd{color:#333}.hp-terminal-fixed{color:#333}.hp-terminal-output{color:#666;padding-left:0}.hp-typewriter .typed-text{color:#fa9600}.hp-typewriter .cursor{display:inline-block;width:8px;height:1.05em;margin-left:2px;background:#fa9600;vertical-align:text-bottom}.hp-typewriter .cursor.blink{animation:hp-typewriter-blink .8s step-end infinite}@keyframes hp-typewriter-blink{0%,100%{background:#fa9600}50%{background:0 0}}.section-inner.start-page-full-width .hp-text-block{padding:70px 15%;background-color:#fcfcfc;height:100%;min-height:100px}.hp-main-title{font-size:48px;line-height:1.2em;margin-bottom:10px}.hp-tagline{margin:0 0 10px;font-size:16px;line-height:1.4;font-weight:500;color:#555}.hp-stack{margin:0 0 14px;font-size:13px;line-height:1.5;color:#fa9600;font-family:"SF Mono",Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-weight:500}.hp-hello{display:inline;position:relative;margin:0;padding:0;color:#fa9600;font-weight:600}.hp-hello-item{position:absolute;left:0;top:0;margin:0;padding:0;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .45s ease,visibility .45s ease}.hp-hello-item.is-active{position:relative;opacity:1;visibility:visible;pointer-events:auto}.hp-hello-item[lang=ar]{font-family:"Noto Naskh Arabic","Geeza Pro",Tahoma,"Arial Unicode MS",sans-serif;font-weight:700}.hp-buttons{margin-top:30px;display:flex;flex-wrap:wrap;align-items:center;gap:12px}#resume .hp-buttons{margin-top:0}.hp-buttons .hp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;margin-bottom:0;padding:.75em 1.35em}.hp-buttons .hp-btn i{font-size:13px;line-height:1;transition:transform .3s ease}.hp-buttons .hp-btn-contact{background-color:#fa9600;border-color:#fa9600;color:#fff}.hp-buttons .hp-btn-contact:focus,.hp-buttons .hp-btn-contact:hover{background-color:#fff;border-color:#d5d5d5;color:#222}.hp-buttons .hp-btn-contact:focus i,.hp-buttons .hp-btn-contact:hover i{transform:translateX(4px) translateY(-2px)}.hp-buttons .hp-btn-resume:focus i,.hp-buttons .hp-btn-resume:hover i{transform:translateY(3px)}.hp-buttons .hp-btn-resume:focus,.hp-buttons .hp-btn-resume:hover{background-color:#fa9600;border-color:#fa9600;color:#fff}.no-js .pt-page{position:relative}.no-js .pt-page{visibility:visible;z-index:90;opacity:1;overflow:auto}.no-js .pt-page *{height:auto}.no-js body{overflow:auto}.header{position:fixed;width:160px;top:0;bottom:0;padding:10px 0 0;background-color:#fff;overflow:auto;z-index:11}.header *{-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;-ms-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.header .header-content{position:relative;margin:0 auto;min-height:100%;padding-bottom:50px;padding-left:0;padding-right:0}.my-photo{position:relative;margin:16px auto 8px;max-width:128px;text-align:center;z-index:0}.my-photo img{height:128px;max-height:128px;width:128px;object-fit:cover;object-position:center top;border-radius:50%;image-rendering:-webkit-optimize-contrast}.site-title-block{position:relative;z-index:1;margin:20px 20px 10px;text-align:center}.site-title-link,.site-title-link:focus,.site-title-link:hover{display:inline-block;color:inherit;text-decoration:none}.site-title{font-size:16px;font-weight:600;font-style:normal;line-height:1.4em;color:#333;letter-spacing:0;margin:0;font-family:"SF Mono",Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}.site-title span{color:#fa9600;font-weight:400}.site-tagline{margin:6px 0 0;padding:0 2px;font-size:11px;line-height:1.35;font-weight:400;color:#888}.site-main{height:100%;position:relative}.site-nav{display:block;padding:25px 0 40px}.site-main-menu{display:block;padding:0;margin:0}.site-main-menu li{display:block;position:relative;padding:0;text-align:center}.site-main-menu li a,.site-main-menu li a:hover{font-size:14px;font-weight:400;font-style:normal;line-height:1.85em;color:#333;letter-spacing:0;display:block;position:relative;padding:10px 20px;text-align:center;position:relative;text-decoration:none;border-bottom:1px solid #f5f5f5;outline:0;cursor:pointer;transition:color .45s ease,background-color .45s ease}.site-main-menu:not(.dl-menu) li:first-child a{border-top:1px solid #f5f5f5}.site-main-menu li a.active,.site-main-menu li a:hover{background-color:#fcfcfc;color:inherit}.site-main-menu li a:after{display:block;position:absolute;right:0;bottom:0;content:'';width:2px;height:100%;margin:0 auto;background-color:#fa9600;transform:scaleY(0);transform-origin:center;transition:transform .45s ease}.site-main-menu li a.active:after,.site-main-menu li a:hover:after{transform:scaleY(1)}html{scroll-behavior:auto}#about-me,#resume,#portfolio,#contact{scroll-margin-top:24px}@media (max-width:991px){#about-me,#resume,#portfolio,#contact{scroll-margin-top:72px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.site-main-menu li a,.site-main-menu li a:after{transition:none}}.header .social-links{display:inline-block;position:relative;width:100%;list-style:none;margin:0;padding:0;text-align:center}.header .social-links a{display:inline-block;margin:0 4px;width:32px;height:32px;color:#fff;background-color:#fa9600;text-align:center;border-radius:50%;-webkit-transition:all .3s ease-in-out;-moz-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out;-ms-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.header .social-links a:focus,.header .social-links a:hover{background-color:#333;color:#fa9600;transform:translateY(-3px)}.header .social-links a i{font-size:14px;line-height:32px}.menu-toggle{display:block;width:50px;margin:0 4px;line-height:50px;height:50px;text-align:center;cursor:pointer;overflow:hidden;float:right}.menu-toggle i{color:#222;font-size:21px;line-height:50px}.page-content{background-color:#fff}.section-title-block.second-style{margin-bottom:40px}.section-title-block.second-style .section-title{color:#333;font-size:30px;font-family:Poppins,Helvetica,sans-serif;font-weight:600;font-style:normal;letter-spacing:0;margin:0 0 8px;line-height:1.5em}.section-title-block.second-style .section-title:after{display:block;content:'';width:100%;margin-top:5px;height:2px;background-color:#eee;opacity:1}.section-title-block.second-style .section-description{display:block;margin:0;color:#888;font-size:14px;font-weight:300;text-align:right}.block-title h2,.block-title h3{display:inline-block;margin:0 0 20px;padding-bottom:3px}.block-title h2:after,.block-title h3:after{content:'';display:block;width:100%;height:2px;margin-top:-1px;background-color:#fa9600}.info-block-w-icon{position:relative;text-align:left;width:100%;display:table;margin:0;padding:10px 10px 10px 0}.info-block-w-icon .ci-icon{display:table-cell;width:54px;padding-right:25px}.info-block-w-icon i{position:relative;font-size:42px;color:#888}.info-block-w-icon .ci-text{position:relative;display:table-cell;padding:0;vertical-align:middle}.info-block-w-icon .ci-text h3,.info-block-w-icon .ci-text h4{margin:5px 0;font-size:18px}.info-block-w-icon .ci-text p{font-size:.92em}.info-list li .title{font-family:Poppins,Helvetica,sans-serif;font-weight:600;font-style:normal;color:#333}.skills-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px 12px;padding:8px 0 10px}.skill-block{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-width:0;padding:14px 4px 12px;opacity:.78;transition:opacity .25s ease,transform .25s ease}.skill-block img{display:block;width:42px;height:42px;max-width:100%;object-fit:contain}.skill-block span{display:block;margin-top:8px;font-size:12px;line-height:1.3;color:#666;font-weight:500;overflow-wrap:anywhere}.skill-block:hover{opacity:1;transform:translateY(-3px)}@media only screen and (max-width:991px){.skills-grid{gap:14px 8px}.skill-block{padding:10px 2px 8px}.skill-block img{width:36px;height:36px}.skill-block span{font-size:11px}}@media only screen and (max-width:767px){.skills-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 8px}.skill-block span{font-size:11px}}@media only screen and (max-width:575px){.skills-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 8px}.skill-block{padding:8px 2px 6px}.skill-block img{width:32px;height:32px}.skill-block span{margin-top:6px;font-size:10px;line-height:1.25}}.trusted-subtitle{margin:-8px 0 18px;font-size:16px;line-height:1.4;font-weight:500;color:#888}.trusted-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:22px 18px;align-items:center;padding:6px 0 4px}.trusted-logo{display:flex;align-items:center;justify-content:center;min-width:0;min-height:62px;padding:8px 10px;opacity:.72;transition:opacity .25s ease,transform .25s ease}.trusted-logo img{display:block;width:auto;height:auto;max-width:100%;max-height:46px;object-fit:contain}.trusted-logo:hover{opacity:1;transform:translateY(-2px)}@media only screen and (max-width:991px){.trusted-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 12px}.trusted-logo{min-height:54px;padding:6px 8px}.trusted-logo img{max-height:40px}}@media only screen and (max-width:575px){.trusted-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 8px}.trusted-logo{min-height:48px;padding:4px 6px}.trusted-logo img{max-height:34px}}.timeline-second-style .timeline-item{position:relative;display:table;table-layout:fixed;width:100%;padding-bottom:15px}.timeline-second-style .left-part{width:30%;display:table-cell;padding-right:25px;min-height:100%;text-align:right;vertical-align:top}.timeline-second-style .item-period{margin:3px 0;font-size:14px;line-height:1.4em}.timeline-second-style .item-company{display:block;color:#aaa;margin:0 0 4px;font-size:12px;line-height:1.45em}.timeline-second-style .divider{position:absolute;top:0;left:30%;bottom:0;width:1px;background-color:#eee}.timeline-second-style .divider:after{content:'';display:block;margin-top:7px;width:11px;height:11px;margin-left:-5px;border-radius:5px;border:2px solid #fa9600;background-color:#fff}.timeline-second-style .right-part{width:70%;display:table-cell;padding-left:25px;padding-right:15px;vertical-align:top}.timeline-more{margin:4px 0 0 30%;padding:0 0 0 25px;color:#fa9600;font-size:15px;font-weight:600;line-height:1.4}.timeline-second-style .item-title{font-size:16px;margin-bottom:3px}.timeline-second-style .right-part p,.timeline-second-style .right-part p>*{font-size:.92em}.section-title-block.second-style .section-description{display:block;margin:0;color:#888;font-size:14px;font-weight:300;text-align:right}.skills-info.skills-second-style h4{font-size:13px;line-height:1.1em;position:relative;float:left;margin:0 0 4px}.skills-second-style .skill-value{font-size:11px;line-height:1.1em;position:relative;float:right;margin:0 0 4px;color:#aaa}.pt-page .skills-second-style .skill-percentage,.pt-page .skills-second-style .skill-value{-webkit-transition:all 2s ease-in-out;-moz-transition:all 2s ease-in-out;-o-transition:all 2s ease-in-out;-ms-transition:all 2s ease-in-out;transition:all 2s ease-in-out}.skills-second-style .skill-container{position:relative;background-color:transparent;border:1px solid #fa9600;-moz-border-radius:8px;-webkit-border-radius:8px;border-radius:8px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;height:10px;margin-bottom:15px;width:100%}.skills-second-style .skill-percentage{background-color:#fa9600;border:2px solid #fff;-moz-border-radius:9px;-webkit-border-radius:9px;border-radius:9px;height:8px;padding:0}.skill-percentage.skill-1{width:95%}.skill-percentage.skill-2{width:90%}.skill-percentage.skill-3{width:90%}.skill-percentage.skill-4{width:85%}.skill-percentage.skill-5{width:95%}.skill-percentage.skill-6{width:98%}.skill-percentage.skill-7{width:90%}.skill-percentage.skill-8{width:90%}.skill-percentage.skill-9{width:90%}.skill-percentage.skill-10{width:80%}.lm-info-block{position:relative;text-align:center;width:100%;display:block;margin:0;background:#fff;padding:20px 10px 15px;border:1px solid #eee;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;overflow:hidden;-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;-ms-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.lm-info-block i{position:relative;font-size:40px;color:#b5b5b5}.lm-info-block h4{font-size:16px;margin-top:10px}.lm-info-block h4 a{color:inherit;text-decoration:none}.lm-info-block h4 a:focus,.lm-info-block h4 a:hover{color:#fa9600}.controls.two-columns .left-column{width:47%;float:left;margin-right:3%}.controls.two-columns .right-column{width:50%;float:right}.page-ajax-loaded{position:fixed;background-color:#fff;padding:0;top:0;bottom:0;right:0;left:0;z-index:9999;overflow:hidden}.page-ajax-loaded:empty{display:none!important}.page-ajax-loaded.is-open{display:block!important;visibility:visible}.ajax-page-content{height:100%;overflow:auto;background-color:#fff}.project-shot{margin:0 0 28px;border-radius:14px;overflow:hidden;background:#111;box-shadow:0 18px 40px rgba(20,30,45,.16)}.project-shot img{width:100%;height:auto;display:block}.project-popup-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(240px,.8fr);gap:28px 40px;align-items:start}.project-popup-url{margin:0 0 8px;word-break:break-all}.project-popup-url a{font-weight:600}.project-popup-tags{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px;padding:0;list-style:none}.project-popup-tags li span{display:inline-block;background:#111;color:#fff;font-size:12px;font-weight:600;line-height:1;padding:7px 10px;border-radius:3px}.project-popup-actions{margin-top:8px}@media (max-width:767px){.project-popup-grid{grid-template-columns:1fr;gap:22px}}.ajax-page-wrapper{max-width:1170px;margin:0 auto;padding:20px 60px 50px}.ajax-page-nav{text-align:right}.ajax-page-nav>div.nav-item{position:relative;display:inline-block;margin:0 3px}.ajax-page-nav>div.nav-item a{display:inline-block;height:40px;width:40px;text-align:center;color:#888;background-color:#eee}.ajax-page-nav>div.nav-item a:hover{background-color:#fa9600;color:#fff}.ajax-page-nav>div.nav-item a i{line-height:40px;font-size:22px}.ajax-page-title{padding-top:20px;padding-bottom:30px;text-align:left}.ajax-page-title h1{display:inline-block;margin:0}.portfolio-block{padding-top:30px}.project-description{display:block;position:relative;padding:20px 25px 25px;background-color:#fcfcfc}.ajax-page-wrapper .block-title h3{font-size:18px;margin-bottom:15px}.project-general-info{list-style:none;padding:0;margin:0 0 15px}.project-general-info li{margin:0 0 10px}.project-general-info p{margin:0}.tags-block{margin:25px 0 0}.tags{list-style:none;margin:0;padding:0}.tags>li{display:inline-block}.tags a{display:inline-block;font-size:12px;line-height:1.5em;color:#666;padding:2px 7px;background-color:#fff;border-radius:3px;border:1px solid #e5e5e5;margin:3px 2px 2px}.tags a:first-child{margin-left:0}@media only screen and (min-width:991px){.header::-webkit-scrollbar,.pt-page::-webkit-scrollbar,body::-webkit-scrollbar{position:absolute;width:5px;margin-left:-5px}.header::-webkit-scrollbar-track,.pt-page::-webkit-scrollbar-track,body::-webkit-scrollbar-track{background-color:#fcfcfc}.header::-webkit-scrollbar-thumb,.pt-page::-webkit-scrollbar-thumb,body::-webkit-scrollbar-thumb{background-color:#dedede;outline:1px solid slategrey}.site-main{margin-left:160px}}@media only screen and (max-width:991px){body{overflow-y:auto}.mobile-visible{display:block;visibility:visible}.header{width:100%;max-width:320px;height:calc(100% - 50px);left:0;top:50px;z-index:1001;opacity:1;overflow:auto;visibility:visible;-webkit-box-shadow:0 0 10px 0 rgba(0,0,0,.18);-moz-box-shadow:0 0 10px 0 rgba(0,0,0,.18);box-shadow:0 0 10px 0 rgba(0,0,0,.18);-webkit-transition:all 0s ease-in-out;-moz-transition:all 0s ease-in-out;-o-transition:all 0s ease-in-out;-ms-transition:all 0s ease-in-out;transition:all 0s ease-in-out}.header.animate{-webkit-transition:all .44s ease-in-out;-moz-transition:all .44s ease-in-out;-o-transition:all .44s ease-in-out;-ms-transition:all .44s ease-in-out;transition:all .44s ease-in-out}.mobile-menu-hide{width:0;left:0;margin-left:-100%;overflow:hidden;opacity:0;visibility:hidden;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.header .logo{float:none}.header .logo a{text-align:center}.mobile-header{position:fixed;display:inline-block;width:100%;max-width:100%;background-color:#fff;border-bottom:1px solid #f5f5f5;left:0;right:0;height:50px;z-index:1002}.mobile-logo-container{margin:0 20px;text-align:left}.mobile-header-image{display:inline-block;float:left}.mobile-header-image img{height:42px;width:42px;max-height:42px;object-fit:cover;object-position:center top;border-radius:50%;margin:4px 10px 4px 0}.mobile-site-title{display:inline-block;float:left;color:#222;font-size:16px;font-weight:600;font-family:"SF Mono",Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;margin:0;line-height:50px;max-width:calc(100vw - 140px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-site-title span{color:#fa9600;font-weight:400}.mobile-site-title a,.mobile-site-title a:focus,.mobile-site-title a:hover{color:#222;display:block;line-height:50px}.mobile-site-tagline{display:none}.pt-page{padding-left:0}.pt-page .section-inner{padding:25px 30px 60px;margin-left:0}.section-inner.start-page-full-width{padding:0 0 15px}.page-content{padding:0 0 50px}.site-main{position:absolute;top:50px;bottom:0;width:100%;height:auto;margin:0;border:0}.section-title-block{margin-left:0;margin-right:0;margin-bottom:20px}.pt-wrapper{padding:0;margin:0}.site-title-block{float:none}.site-main-menu{display:block;float:none;margin:0}.site-main-menu li{display:block;text-align:left;float:none;width:100%;margin:0}.site-main-menu+.site-main-menu>li:first-child{margin-left:0}.header .header-content{padding-top:0}.ajax-page-wrapper{padding-left:20px;padding-right:20px}}@media only screen and (max-width:768px){.section-inner.start-page-full-width .hp-text-block{padding:30px 30px 50px}.hp-terminal{max-width:100%}.hp-terminal-body{padding:16px}.hp-terminal-line{font-size:13px}.hp-main-title{font-size:36px}.hp-buttons{gap:10px}.hp-buttons .hp-btn{flex:1 1 calc(50% - 10px);min-width:140px;padding:.7em 1em;font-size:14px}.info-list{margin-top:20px}}@media only screen and (max-width:480px){.hp-buttons .hp-btn{flex:1 1 100%;width:100%}.controls.two-columns .left-column{width:100%;float:none;margin-right:0}.controls.two-columns .right-column{width:100%;float:none}.timeline-second-style .timeline-item{position:relative;display:block}.timeline-second-style .left-part{width:100%;display:block;padding-left:25px;min-height:100%;text-align:left}.timeline-second-style .divider{left:0}.timeline-more{margin-left:0;padding-left:25px}.timeline-second-style .right-part{width:100%;display:block;padding-left:25px;padding-right:0}}.lm-info-block .lm-info-block-value{font-size:30px;line-height:30px;font-weight:400;display:block;margin:10px 0;color:#fa9600}.scroll-to-top{position:fixed;bottom:10px;right:15px;z-index:100;display:inline-block;padding:0;color:inherit;text-decoration:none;background-color:#fafafa;height:50px;width:50px;text-align:center;line-height:50px;font-size:24px;cursor:pointer;border:1px solid #e5e5e5;color:#333;opacity:1;visibility:visible;-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;-ms-transition:all .2s ease-in-out;transition:all .2s ease-in-out;-webkit-box-shadow:0 0 12px 0 rgba(0,0,0,.12);-moz-box-shadow:0 0 12px 0 rgba(0,0,0,.12);box-shadow:0 0 12px 0 rgba(0,0,0,.12)}.scroll-to-top:hover{color:#fa9600}.scroll-to-top.hidden{opacity:0;visibility:hidden}.info-list{display:inline-block;margin:0;padding:0;list-style:none}.info-list li{margin:6px 0;text-align:left}.info-list li .title{display:inline-block;font-weight:600;margin-right:15px}.info-list li .title:after{content:'';display:block;width:100%;height:2px;background-color:#fa9600}@media only screen and (max-width:768px){.timeline-second-style .timeline-item{position:relative;display:block}.timeline-second-style .left-part{width:100%;display:block;padding-left:25px;min-height:100%;text-align:left}.timeline-second-style .divider{left:0}.timeline-more{margin-left:0;padding-left:25px}.timeline-second-style .right-part{width:100%;display:block;padding-left:25px;padding-right:0}}.section-inner.start-page-full-width .hp-text-block .sp-subtitle{color:#888;font-weight:300}.header .coded-in{width:100%;position:absolute;bottom:0;left:0;right:0;padding:8px 12px 16px;line-height:1.45;font-size:11px;text-align:center;color:#aeaeae}.site-main>.copyrights{display:block;width:100%;padding:10px 20px 28px;line-height:14px;font-size:12px;text-align:center;color:#aeaeae}body{overflow:auto}.one-page-style .pt-wrapper,.one-page-style .site-main,.one-page-style .subpages{min-height:auto;max-height:none;height:auto}.one-page-style .pt-page{position:relative;height:auto;overflow:hidden;min-height:auto;padding-bottom:10px;opacity:1;visibility:visible}.one-page-style .pt-page:last-child{padding-bottom:0}.one-page-style .pt-page .section-inner:not(.start-page-full-width){padding-top:40px}.one-page-style .pt-page:last-child .section-inner:not(.start-page-full-width){padding-bottom:70px}.hp-hero{--hp-chrome:0px;box-sizing:border-box;display:flex;flex-direction:column;min-height:calc(100vh - var(--hp-chrome));min-height:calc(100dvh - var(--hp-chrome));min-height:calc(100svh - var(--hp-chrome));max-height:calc(100vh - var(--hp-chrome));max-height:calc(100dvh - var(--hp-chrome));max-height:calc(100svh - var(--hp-chrome));overflow:hidden}.hp-hero .row,.hp-hero .start-page-full-width{display:flex;flex:1 1 auto;flex-wrap:wrap;align-items:stretch;height:100%;min-height:0;margin-left:0;margin-right:0}.hp-hero .row>[class*=col-]{display:flex;min-height:0}.hp-hero .inner-content{display:flex;flex-direction:column;justify-content:center;width:100%;height:100%;min-height:0}.hp-hero .inner-content .fill-block.hp-typewriter{min-height:0;height:100%;padding:clamp(10px,2.8vh,40px) clamp(12px,2.5vw,30px);overflow:hidden}.hp-hero .hp-terminal{max-height:100%;overflow:hidden}.hp-hero.start-page-full-width .hp-text-block{display:flex;flex-direction:column;justify-content:center;height:100%;min-height:0;overflow:hidden;padding:clamp(16px,5vh,70px) clamp(16px,5vw,12%)}.hp-hero .hp-main-title{font-size:clamp(26px, 3.6vw, 48px);margin-bottom:clamp(6px,1.2vh,10px)}.hp-hero .hp-tagline{font-size:clamp(13px, 1.2vw, 16px);margin-bottom:clamp(6px,1.2vh,10px);color:#666}.hp-hero .hp-stack{font-size:clamp(11px, 1.1vw, 13px);margin-bottom:clamp(8px,1.6vh,14px)}.hp-hero .hp-text-block p:not(.hp-stack):not(.hp-tagline){font-size:clamp(12px, .85vw + .55vh, 14px);line-height:1.55;margin-bottom:clamp(6px,1.2vh,10px)}.hp-hero .hp-buttons{margin-top:clamp(10px,2.2vh,30px);flex-shrink:0}@media only screen and (max-width:991px){.hp-hero{--hp-chrome:50px}}@media only screen and (max-width:767px){.hp-hero{max-height:none;overflow:visible}.hp-hero .row{flex-direction:column;flex-wrap:nowrap}.hp-hero .row>[class*=col-]{width:100%;max-width:100%;flex:1 1 auto}.hp-hero .row>[class*=col-]:first-child{flex:0 0 auto;max-height:none}.hp-hero .row>[class*=col-]:last-child{flex:1 1 auto}.hp-hero.start-page-full-width .hp-text-block{padding:16px 20px 22px;justify-content:flex-start}.hp-hero .hp-typewriter{padding:10px 16px}.hp-hero .hp-terminal-body{padding:12px 14px 14px}.hp-hero .hp-terminal-line{font-size:12px;margin-bottom:4px}.hp-hero .hp-buttons{margin-top:16px}.hp-hero .hp-buttons .hp-btn{flex:1 1 100%;width:100%}}@media only screen and (max-height:740px){.hp-hero .hp-terminal-bar{height:28px}.hp-hero .hp-text-block p:not(.hp-stack):not(.hp-tagline){font-size:13px;line-height:1.45}}@media only screen and (max-height:560px) and (orientation:landscape){.hp-hero{--hp-chrome:50px}.hp-hero .row{flex-direction:row;flex-wrap:nowrap}.hp-hero .row>[class*=col-]{width:50%;max-width:50%;flex:1 1 50%;max-height:none}.hp-hero.start-page-full-width .hp-text-block{padding:10px 16px;justify-content:center}.hp-hero .hp-main-title{font-size:22px}.hp-hero .hp-text-block p:not(.hp-stack):not(.hp-tagline){font-size:12px;line-height:1.4;margin-bottom:6px}.hp-hero .hp-buttons{margin-top:10px}.hp-hero .hp-btn{padding:.55em .9em;font-size:13px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min-resolution:192dpi){.hp-hero .hp-main-title,.hp-hero .hp-stack,.hp-hero .hp-tagline,.hp-hero .hp-text-block p{-webkit-font-smoothing:antialiased}}.contact-confirm{position:fixed;inset:0;z-index:10050;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(0,0,0,.45)}.contact-confirm[hidden]{display:none}.contact-confirm-card{width:100%;max-width:420px;background:#fff;padding:28px 24px 24px;text-align:center;border:1px solid #eee}.contact-confirm-card h3{margin:0 0 10px}.contact-confirm-card p{margin:0 0 20px;color:#555}.contact-confirm-card .btn{background-color:#fa9600;border-color:#fa9600;color:#fff}.contact-confirm-card .btn:focus,.contact-confirm-card .btn:hover{background-color:#fff;border-color:#d5d5d5;color:#222}body.contact-confirm-open{overflow:hidden}.contact-form .btn-send.hp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;margin-top:8px;padding:.75em 1.35em;background-color:#fa9600;border:2px solid #fa9600;color:#fff;font-family:Poppins,Helvetica,sans-serif;font-weight:500;line-height:1.4;transition:all .3s ease-in-out}.contact-form .btn-send.hp-btn i{font-size:13px;line-height:1;transition:transform .3s ease}.contact-form .btn-send.hp-btn:focus,.contact-form .btn-send.hp-btn:hover{background-color:#fff;border-color:#d5d5d5;color:#222}.contact-form .btn-send.hp-btn:focus i,.contact-form .btn-send.hp-btn:hover i{transform:translateX(4px) translateY(-2px)}#resume,#contact{content-visibility:visible}@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:900;font-display:swap;src:url(../fonts/fontawesome-free/webfonts/fa-solid-900.woff2) format("woff2")}@font-face{font-family:"Font Awesome 5 Brands";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/fontawesome-free/webfonts/fa-brands-400.woff2) format("woff2")}
.portfolio-cases {
  margin: 0;
}
.case-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 42px 28px;
  margin-bottom: 56px;
}
.case-grid.is-pair {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: calc((100% - 56px) * 2 / 3 + 28px);
}
.case-split {
  display: grid;
  grid-template-columns: 1.7fr 1fr;
  gap: 42px 28px;
  margin-bottom: 56px;
  align-items: start;
}
.case-feature {
  display: grid;
  grid-template-columns: minmax(240px, 38%) 1fr;
  gap: 36px 48px;
  align-items: center;
  margin: 8px 0 64px;
}
.case-feature.is-reverse {
  grid-template-columns: 1fr minmax(240px, 38%);
}
.case-feature.is-reverse .case-feature-copy {
  order: 2;
}
.case-card,
.case-feature-copy {
  min-width: 0;
}
.case-media-wrap {
  position: relative;
  display: block;
}
.case-media {
  display: block;
  background: #e8e4dc;
  border-radius: 6px;
  overflow: hidden;
  cursor: pointer;
}
.case-tech {
  position: absolute;
  left: 12px;
  bottom: 12px;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  pointer-events: none;
  margin: 0;
  padding: 0;
  list-style: none;
}
.case-tech li {
  background: #111;
  color: #fff;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.02em;
  line-height: 1;
  padding: 6px 8px;
  border-radius: 3px;
}
.case-media img {
  width: 100%;
  height: auto;
  display: block;
  transform: scale(1);
  transition: transform 0.35s ease;
}
.case-media-wrap:hover .case-media img,
.case-media:hover img {
  transform: scale(1.06);
}
.case-card h3,
.case-feature-copy h3 {
  font-family: Poppins, Helvetica, sans-serif;
  font-size: 22px;
  font-weight: 600;
  color: #14231f;
  margin: 18px 0 10px;
  line-height: 1.3;
}
.case-feature-copy h3 {
  font-size: 32px;
  margin-top: 0;
}
.case-card h3 em,
.case-feature-copy h3 em {
  font-style: normal;
  font-weight: 400;
  color: #686868;
}
.case-card p,
.case-feature-copy p {
  color: #5b5b5b;
  font-size: 14px;
  line-height: 1.7;
  margin: 0 0 16px;
  overflow-wrap: anywhere;
}
.case-readmore {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .75em 1.35em;
  border: 2px solid #fa9600;
  border-radius: 0;
  color: #222;
  font-family: Poppins, Helvetica, sans-serif;
  font-size: 1em;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0;
  text-transform: none;
  background: #fff;
  cursor: pointer;
}
.case-readmore:hover,
.case-readmore:focus {
  background: #fa9600;
  border-color: #fa9600;
  color: #fff;
}
.page-ajax-loaded:not(.is-open) {
  display: none !important;
}
.page-ajax-loaded.is-open {
  display: flex !important;
  visibility: visible !important;
  opacity: 1;
  pointer-events: auto;
}
.ajax-page-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 40vh;
  color: #666;
  font-size: 15px;
}
.project-tech-url {
  margin: 0 0 14px;
  word-break: break-all;
}
.project-tech-url a {
  font-weight: 500;
}
.ajax-page-content {
  background: #f6f4ef;
}
.ajax-page-wrapper {
  max-width: 1180px;
}
.portfolio-devices {
  position: relative;
  background: radial-gradient(900px 480px at 50% 40%, #f4f1ea 0, #e8e4dc 62%, #ddd7cc 100%);
  border-radius: 16px;
  min-height: 420px;
  margin-bottom: 28px;
  overflow: hidden;
}
.portfolio-devices.is-tablet-phone {
  background: linear-gradient(180deg, #eef2f6 0, #d5dce6 100%);
}
.portfolio-devices.is-laptop-tablet {
  background: radial-gradient(900px 520px at 50% 40%, #2a2c32 0, #1b1c1f 70%);
}
.device-tablet {
  width: 46%;
  margin: 28px 0 40px 10%;
  transform: perspective(1400px) rotateY(10deg) rotateX(3deg);
}
.device-tablet-body {
  background: linear-gradient(180deg, #3a3a40, #1c1c20);
  border-radius: 22px;
  padding: 14px 12px;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.14) inset, 0 22px 40px rgba(20, 30, 45, 0.22);
  position: relative;
}
.device-tablet-screen {
  border-radius: 6px;
  overflow: hidden;
  aspect-ratio: 3 / 4;
  background: #111;
}
.device-tablet-screen img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  display: block;
}
.portfolio-devices.is-tablet-phone .device-phone {
  right: 10%;
  top: 14%;
  bottom: auto;
  width: 22%;
}
.portfolio-devices.is-tablet-phone .device-phone-body {
  background: #f3f3f5;
}
.portfolio-devices.is-laptop-tablet .device-laptop {
  width: 64%;
  margin: 28px 0 44px 8%;
  transform: none;
}
.portfolio-devices.is-laptop-tablet .device-tablet {
  position: absolute;
  right: 6%;
  bottom: 8%;
  width: 36%;
  margin: 0;
  transform: perspective(1400px) rotateY(-16deg) rotateX(5deg);
  z-index: 3;
}
.portfolio-devices.is-laptop-tablet .device-tablet-screen {
  aspect-ratio: 4 / 3;
}
.device-laptop {
  width: 72%;
  margin: 34px 0 48px 5%;
  transform: perspective(1400px) rotateY(-12deg) rotateX(5deg);
  transform-origin: 50% 80%;
}
.device-laptop-lid {
  background: linear-gradient(180deg, #2a2a2e, #161618);
  border-radius: 14px 14px 8px 8px;
  padding: 10px 10px 8px;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.12) inset, 0 22px 48px rgba(0, 0, 0, 0.2);
}
.device-laptop-screen {
  border-radius: 5px;
  overflow: hidden;
  aspect-ratio: 16 / 10;
  background: #111;
}
.device-laptop-screen img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  display: block;
}
.device-laptop-base {
  height: 12px;
  margin: 0 -3%;
  background: linear-gradient(180deg, #d8d8dc, #9c9ca2);
  border-radius: 0 0 12px 12px;
  position: relative;
}
.device-laptop-base:before {
  content: "";
  position: absolute;
  left: 50%;
  top: 2px;
  width: 15%;
  height: 4px;
  transform: translateX(-50%);
  background: #8f8f96;
  border-radius: 0 0 5px 5px;
}
.device-phone {
  position: absolute;
  right: 7%;
  bottom: 7%;
  width: 20%;
  max-width: 180px;
  transform: perspective(1200px) rotateY(-8deg) rotateX(3deg);
  z-index: 2;
}
.device-phone-body {
  background: #111114;
  border-radius: 28px;
  padding: 9px 8px 11px;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.14) inset, 0 18px 32px rgba(0, 0, 0, 0.28);
  position: relative;
}
.device-phone-island {
  position: absolute;
  top: 14px;
  left: 50%;
  width: 34%;
  height: 11px;
  transform: translateX(-50%);
  background: #0a0a0c;
  border-radius: 8px;
  z-index: 2;
}
.device-phone-screen {
  border-radius: 20px;
  overflow: hidden;
  aspect-ratio: 9 / 19.4;
  background: #111;
}
.device-phone-screen img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  display: block;
}
.portfolio-meta {
  background: #fff;
  border-radius: 12px;
  padding: 22px 24px;
}
@media (max-width: 991px) {
  .case-grid,
  .case-grid.is-pair {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: none;
  }
  .case-split,
  .case-feature,
  .case-feature.is-reverse {
    grid-template-columns: 1fr;
  }
  .case-feature.is-reverse .case-feature-copy {
    order: 0;
  }
  .case-feature-copy h3 {
    font-size: 26px;
  }
}
@media (max-width: 640px) {
  .case-grid,
  .case-grid.is-pair {
    grid-template-columns: 1fr;
    max-width: none;
  }
}
@media (max-width: 575px) {
  .ajax-page-wrapper {
    padding: 16px 16px 40px;
  }
  .ajax-page-title h1 {
    font-size: 24px;
  }
}
@media (max-width: 767px) {
  .device-laptop,
  .device-tablet {
    width: 78%;
    margin: 24px auto 36px;
    transform: none;
  }
  .device-phone {
    width: 26%;
    right: 6%;
    bottom: 5%;
    transform: none;
  }
  .portfolio-devices.is-tablet-phone .device-phone,
  .portfolio-devices.is-laptop-tablet .device-tablet {
    position: absolute;
    right: 6%;
    bottom: 6%;
    top: auto;
    width: 34%;
    margin: 0;
    transform: none;
  }
  .portfolio-devices {
    min-height: 280px;
  }
}
.icon{width:1em;height:1em;display:inline-block;vertical-align:-.125em;fill:currentColor;flex:0 0 auto}.project-description .icon,.ajax-page-nav .icon,#ajax-page-close-button .icon,.info-list .icon{width:14px;height:14px}
.info-block-w-icon .ci-icon{color:#888;vertical-align:top}
.info-block-w-icon .ci-icon .icon,
.info-block-w-icon .ci-icon svg{width:42px;height:42px;flex:0 0 42px;display:block;color:#888}
.header .icon,.header svg,.header path{transition:none}
.header .social-links{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;width:100%;margin:8px 0 0;padding:0}
.header .social-links a{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;margin:0;color:#fff;background-color:#fa9600;border-radius:50%;text-decoration:none;transition:background-color .25s ease,color .25s ease,transform .25s ease}
.header .social-links a .icon,.header .social-links a svg{width:14px;height:14px;display:block;flex:0 0 14px;transition:none}
.header .social-links a:focus,.header .social-links a:hover{background-color:#333;color:#fa9600;transform:translateY(-3px)}
.hp-buttons .hp-btn{transition:background-color .3s ease,border-color .3s ease,color .3s ease}
.hp-buttons .hp-btn .icon,.hp-buttons .hp-btn svg{width:13px;height:13px;flex:0 0 13px;transition:transform .3s ease}
.hp-buttons .hp-btn-contact:focus .icon,.hp-buttons .hp-btn-contact:hover .icon,.hp-buttons .hp-btn-contact:focus svg,.hp-buttons .hp-btn-contact:hover svg{transform:translateX(4px) translateY(-2px)}
.hp-buttons .hp-btn-resume:focus .icon,.hp-buttons .hp-btn-resume:hover .icon,.hp-buttons .hp-btn-resume:focus svg,.hp-buttons .hp-btn-resume:hover svg{transform:translateY(3px)}
.page-ajax-loaded.is-open{background:rgba(17,17,17,.72);overflow:auto;display:flex!important;align-items:flex-start;justify-content:center;padding:28px 16px 48px}
.page-ajax-loaded.is-open .ajax-page-content{height:auto;max-width:980px;width:100%;margin:12px auto;background:#fff;border-radius:16px;box-shadow:0 24px 80px rgba(0,0,0,.28);overflow:hidden}
.project-shot{cursor:zoom-in}
.project-image-lightbox{position:fixed;inset:0;z-index:10050;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(0,0,0,.92)}
.project-image-lightbox.is-open{display:flex}
.project-image-lightbox img{max-width:min(1200px,96vw);max-height:90vh;width:auto;height:auto;object-fit:contain;border-radius:8px}
.project-image-lightbox-close{position:absolute;top:16px;right:16px;width:40px;height:40px;border:0;border-radius:50%;background:#fff;color:#111;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.ajax-page-nav>div.nav-item a{display:inline-flex;align-items:center;justify-content:center}
.header .coded-in .coded-heart{width:12px;height:12px;color:#fa9600;fill:currentColor;vertical-align:-1px;margin:0 3px}
.header .coded-in .finland-flag{width:16px;height:10px;margin-left:4px;vertical-align:-1px;border:1px solid #d8d8d8;border-radius:1px;display:inline-block}
.contact-lead{margin:4px 0 22px;max-width:40em;font-size:15px;line-height:1.7;color:#666}
.contact-coffee{white-space:nowrap;color:#333;font-weight:600}
.contact-lead .contact-coffee .icon,.contact-lead .contact-coffee svg{width:18px;height:18px;color:#fa9600;vertical-align:-3px;margin-right:3px}
.cky-consent-container .cky-btn,
.cky-modal .cky-btn,
.cky-preference-center .cky-btn,
button.cky-btn{
  font-family:Poppins,Helvetica,sans-serif!important;
  border-radius:4px!important;
  box-shadow:none!important;
  transition:background-color .25s ease,border-color .25s ease,color .25s ease!important
}
.cky-consent-container .cky-btn-accept,
.cky-modal .cky-btn-accept,
.cky-preference-center .cky-btn-accept,
button.cky-btn-accept,
.cky-modal .cky-btn-preferences,
.cky-preference-center .cky-btn-preferences,
button.cky-btn-preferences{
  background:#fa9600!important;
  background-color:#fa9600!important;
  border-color:#fa9600!important;
  color:#fff!important
}
.cky-consent-container .cky-btn-accept:hover,
.cky-consent-container .cky-btn-accept:focus,
.cky-modal .cky-btn-accept:hover,
.cky-modal .cky-btn-accept:focus,
.cky-preference-center .cky-btn-accept:hover,
button.cky-btn-accept:hover,
button.cky-btn-accept:focus,
.cky-modal .cky-btn-preferences:hover,
button.cky-btn-preferences:hover,
button.cky-btn-preferences:focus{
  background:#333!important;
  background-color:#333!important;
  border-color:#333!important;
  color:#fff!important
}
.cky-consent-container .cky-btn-reject,
.cky-consent-container .cky-btn-customize,
.cky-modal .cky-btn-reject,
.cky-modal .cky-btn-customize,
.cky-preference-center .cky-btn-reject,
.cky-preference-center .cky-btn-customize,
button.cky-btn-reject,
button.cky-btn-customize{
  background:#fff!important;
  background-color:#fff!important;
  border-color:#fa9600!important;
  color:#fa9600!important
}
.cky-consent-container .cky-btn-reject:hover,
.cky-consent-container .cky-btn-customize:hover,
.cky-modal .cky-btn-reject:hover,
.cky-modal .cky-btn-customize:hover,
button.cky-btn-reject:hover,
button.cky-btn-customize:hover{
  background:#fa9600!important;
  background-color:#fa9600!important;
  border-color:#fa9600!important;
  color:#fff!important
}
.cky-notice-des a,
.cky-consent-container a,
.cky-modal a,
a.cky-policy,
.cky-policy,
.cky-show-desc-btn,
.cky-show-more-btn,
.cky-show-less-btn,
.cky-accordion-header .cky-show-desc-btn{
  color:#fa9600!important
}
.cky-show-desc-btn:hover,
.cky-show-more-btn:hover,
.cky-show-less-btn:hover{
  color:#333!important
}
.cky-btn-revisit-wrapper,
.cky-btn-revisit-wrapper.cky-revisit-bottom-left,
[data-cky-tag="revisit-consent"],
.cky-btn-revisit,
.cky-revisit-bottom,
#ckyBannerRevisitButton{
  background:#fa9600!important;
  background-color:#fa9600!important;
  border-color:#fa9600!important;
  color:#fff!important
}
.cky-btn-revisit-wrapper,
.cky-btn-revisit-wrapper.cky-revisit-bottom-left,
[data-cky-tag="revisit-consent"]{
  left:auto!important;
  right:18px!important;
  bottom:18px!important
}
.scroll-to-top{bottom:88px}
.mobile-nav-close{display:none}
.mobile-nav-backdrop{position:fixed;inset:0;z-index:1000;background:rgba(17,17,17,.5)}
.mobile-nav-backdrop[hidden]{display:none!important}
@media (max-width:991px){
  body.mobile-nav-open .menu-toggle{display:none}
  .mobile-nav-close{display:inline-flex;align-items:center;justify-content:center;position:absolute;top:8px;right:10px;z-index:2;width:40px;height:40px;padding:0;margin:0;border:0;background:transparent;color:#222;cursor:pointer;box-shadow:none}
  .mobile-nav-close .icon{width:22px;height:22px;color:#222}
}
.case-readmore,.hp-btn,.btn,.btn-primary,.btn-secondary,.btn-send,.contact-confirm-card .btn{
  font-family:Poppins,Helvetica,sans-serif!important;
  font-weight:500;
  letter-spacing:0;
  text-transform:none;
  border-radius:0!important
}
.case-readmore{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.75em 1.35em;
  border:2px solid #fa9600;
  border-radius:0!important;
  color:#222;
  font-size:1em;
  line-height:1.2;
  background:#fff;
  cursor:pointer
}
.case-readmore:hover,.case-readmore:focus{
  background:#fa9600;
  border-color:#fa9600;
  color:#fff
}
.cky-switch input:checked + .cky-switch-label,
.cky-switch input:checked + .cky-switch-slider,
.cky-switch input:checked ~ .cky-switch,
.cky-switch[aria-checked=true],
.cky-horizontal-switch input:checked + .cky-switch{
  background:#fa9600!important;
  background-color:#fa9600!important;
  border-color:#fa9600!important
}