@import url(https://fonts.googleapis.com/css2?family=Lato:wght@300&display=swap);html{scroll-behavior:smooth}:root{--primary-color:#a64dff;--secondary-color:#8c1aff;--dark-color:#582297;--light-color:#d5b3ff;--main-gradient:linear-gradient(0deg,#a64dff 20%,#8c1aff);--main-gradient-reversed:linear-gradient(0deg,#8c1aff 20%,#a64dff);--glass-gradient:linear-gradient(to right top,rgba(242,230,255,.6),rgba(244,240,255,.8) 60%)}*{box-sizing:border-box;margin:0;padding:0}html{overflow-x:hidden}a{color:#d5b3ff;color:var(--light-color);font-weight:900;text-decoration:none}h1,h2{font-weight:300;line-height:1.2}h1,h2,p{margin:10px 0}img{width:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fff;color:#f2e6ff;font-family:Lato,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6;overflow-x:hidden}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.container{margin:0 auto;max-width:1100px;overflow:auto;padding:0 40px}.flex,.flex-col{display:flex}.flex-col{flex-direction:column}.gap-2{gap:2rem}.flex-center{justify-content:center}.align-center,.flex-center{align-items:center}.text-center{text-align:center}.max-width-60{max-width:60vw}.z-index-top{z-index:9999}.card{background-color:#fff;border-radius:10px;box-shadow:0 3px 10px rgba(0,0,0,.2);color:#333;margin:10px;padding:20px}.grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(2,1fr);height:100%;justify-content:center}.grid-align-centre{align-items:center}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.btn{background:#a64dff;background:var(--primary-color);border:none;border-radius:5px;color:#fff;cursor:pointer;display:inline-block;font-size:1em;padding:.7em 2em}.btn-outline{background-color:initial;border:1px solid #fff}.btn:hover{-webkit-transform:scale(.98);transform:scale(.98)}.bg-primary,.btn-primary{background-color:#a64dff;background-color:var(--primary-color)}.bg-dark,.btn-dark{background-color:#582297;background-color:var(--dark-color)}.bg-light,.btn-light{background-color:#d5b3ff;background-color:var(--light-color)}.bg-grad{background-image:linear-gradient(0deg,#a64dff 20%,#8c1aff);background-image:var(--main-gradient)}.btn-primary{background-image:linear-gradient(0deg,#8c1aff 20%,#a64dff);background-image:var(--main-gradient-reversed)}.btn:disabled{-webkit-filter:brightness(.8);filter:brightness(.8);opacity:.8}.btn:disabled:hover{-webkit-transform:none;-webkit-transform:initial;transform:none}.text-dark{color:#582297;color:var(--dark-color)}.lead{font-size:20px}.xs{font-size:.8rem}.sm{font-size:1rem}.md{font-size:2rem}.lg{font-size:2.5rem}.xl{font-size:4rem}.my-1{margin:1rem 0}.my-2{margin:1.5rem 0}.my-3{margin:2rem 0}.my-4{margin:3rem 0}.my-5{margin:4rem 0}.mx-auto{margin-left:auto;margin-right:auto}.m-1{margin:1rem}.m-2{margin:1.5rem}.m-3{margin:2rem}.m-4{margin:3rem}.m-5{margin:4rem}.py-1{padding:1rem 0}.py-2{padding:1.5rem 0}.py-3{padding:2rem 0}.py-4{padding:3rem 0}.py-5{padding:4rem 0}.pb-5{padding:0 0 4rem}.p-1{padding:1rem}.p-2{padding:1.5rem}.p-3{padding:2rem}.p-4{padding:3rem}.p-5{padding:4rem}.max-width{width:-webkit-max-content;width:max-content}.toast{bottom:2rem;font-family:monospace;max-height:90vh;overflow-y:auto;padding:1rem;position:fixed;right:1rem;width:300px;z-index:9999}.toast-container{align-items:flex-start;display:flex;flex-direction:column}.toast-container-item{word-wrap:break-word;background-color:#000;border:1px solid #a64dff;border:1px solid var(--primary-color);border-radius:7px;box-shadow:2px 2px 5px rgba(0,0,0,.5);color:#fff;margin:5px;min-height:3rem;padding:2rem;position:relative;width:100%}.toast-close{cursor:pointer;font-size:20px;font-weight:800;position:absolute;right:.5rem;top:0}.success{background-color:#79a079}.info{background-color:#af90fd}.danger{background-color:#ff47c4}@media (min-width:768px){.md-hidden{display:none}}@media (max-width:768px){.sm-hidden{display:none}.max-width-60{max-width:none}}@media (max-width:1040px){.btn{font-size:.9em}}.headline{background-image:var(--main-gradient);color:#fff;height:475px;position:relative}.headline-text{-webkit-animation:slideInFromLeft .2s ease-in-out;animation:slideInFromLeft .2s ease-in-out}.headline h1,.headline h2{text-align:center}.headline h1{font-size:2rem}.headline p{margin:20px 0}.headline .grid{align-items:center;gap:30px;grid-template-columns:55% 45%;justify-content:center;overflow:visible}.contact-form{-webkit-animation:slideInFromRight .2s ease-in-out;animation:slideInFromRight .2s ease-in-out;height:350px;padding:20px;position:relative;top:60px;z-index:100}.contact-form .form-control{margin:30px 0}.contact-form input[type=email],.contact-form input[type=text]{border:0;border-bottom:1px solid #b4becb;font-size:16px;padding:3px;width:100%}.contact-form input[type=submit]{font-size:1em;margin-left:auto}.contact-form input:focus{outline:none}.headline:after,.headline:before{background-color:#fff;bottom:-70px;content:"";height:100px;left:0;position:absolute;right:0;transform:skewY(-3deg);-webkit-transform:skewY(-3deg);-moz-transform:skewY(-3deg);-ms-transform:skewY(-3deg);width:100vw}.languages-link{text-decoration:underline}.languages-link:hover{-webkit-filter:brightness(.8);filter:brightness(.8)}.stats{overflow:hidden;padding-top:100px}.stats,.stats .icon{color:#333}.stats-heading{line-height:1.3;margin:auto;max-width:500px}.stats-heading:before{content:open-quote;font-size:2rem;vertical-align:middle}.stats-heading:after{content:close-quote;font-size:2rem;vertical-align:middle}.stats .grid h3{font-size:35px}.stats .grid p{font-size:20px;font-weight:700}.package .grid{grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr)}.package .grid>:first-child{grid-column:1/span 2;grid-row:1/span 2}.fullstack .grid{grid-template-columns:4fr 3fr}.cloud-img{pointer-events:none;-webkit-user-select:none;user-select:none}.languages .flex{flex-wrap:wrap;justify-content:center;margin-bottom:1.5rem}.languages .card{font-size:18px;margin:.5em;padding:1em .3em;text-align:center;transition:-webkit-transform .2s ease-in;transition:transform .2s ease-in;transition:transform .2s ease-in,-webkit-transform .2s ease-in;width:5em}@media (max-width:400px){.languages .card{font-size:14px;margin-top:.5rem}}.languages .card h4{font-size:1em;margin-bottom:10px}.languages .card img{border-radius:10px;width:4em}.languages .card:hover{-webkit-transform:scale(1.1);transform:scale(1.1)}.footer a{color:var(--light-color);margin:0 10px}.footer a:hover{color:#fff}.footer nav ul{list-style-type:none}.footer,.footer nav ul{color:var(--light-color)}.footer .grid>:first-child{grid-column:1/span 2}.footer .container{width:100%}.disclaimer{font-size:.8rem;margin:-3rem auto 3rem;max-width:600px;width:80%}.code-block{background-color:#3e3e3e;border-radius:5px;box-shadow:0 1px 10px rgba(0,0,0,.3);color:lime;height:100%;margin:0 10px;padding:1rem}.package .container h3 a{border-bottom:2px solid #333}.package .container h3 a:hover{border-bottom:2px solid var(--light-color);color:var(--light-color)}@media (max-width:768px){.fullstack .grid,.grid,.headline .grid,.package .grid,.stats .grid{grid-template-columns:1fr;grid-template-rows:1fr}.headline{height:auto}.headline-text{-webkit-animation:slideInFromBottom .3s ease-in;animation:slideInFromBottom .3s ease-in;margin-top:40px;text-align:justify;z-index:50}.package .grid>:first-child{grid-column:1;grid-row:1}.footer .grid>:first-child{grid-column:1}.languages .card img{max-width:64px}.footer{text-align:center}.footer .container .copyright{padding-left:9px}.headline:after,.headline:before{bottom:-30px;transform:skewY(-6deg);-webkit-transform:skewY(-6deg);-moz-transform:skewY(-6deg);-ms-transform:skewY(-6deg)}.contact-form{-webkit-animation:slideInFromBottom .5s ease-in;animation:slideInFromBottom .5s ease-in;margin-top:-2.5rem}}.navbar{background-color:var(--secondary-color);color:#fff;height:70px;-webkit-user-select:none;user-select:none;z-index:1000}.navbar .flex{align-items:center;justify-content:space-between}.logo img{max-width:40px}.logo-text{margin-bottom:7px}.logo-img{pointer-events:none;-webkit-user-select:none;user-select:none}.navbar ul{display:flex;list-style-type:none}.navbar a{color:#fff;margin:0 5px;padding:10px}.active,.navbar a:hover{border-bottom:2px solid #fff}@media (max-width:500px){.navbar{height:110px}.navbar .container{flex-direction:column}.navbar nav{margin-bottom:1rem}}@-webkit-keyframes slideInFromLeft{0%{-webkit-transform:translateX(-100%);transform:translateX(-100%)}to{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slideInFromLeft{0%{-webkit-transform:translateX(-100%);transform:translateX(-100%)}to{-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes slideInFromRight{0%{-webkit-transform:translateX(100%);transform:translateX(100%)}to{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slideInFromRight{0%{-webkit-transform:translateX(100%);transform:translateX(100%)}to{-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes slideInFromTop{0%{-webkit-transform:translateY(-100%);transform:translateY(-100%)}to{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes slideInFromTop{0%{-webkit-transform:translateY(-100%);transform:translateY(-100%)}to{-webkit-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes slideInFromBottom{0%{-webkit-transform:translateY(100%);transform:translateY(100%)}to{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes slideInFromBottom{0%{-webkit-transform:translateY(100%);transform:translateY(100%)}to{-webkit-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}[data-inviewport=scale-in]{opacity:0;-webkit-transform:scale(.8);transform:scale(.8);transition:1s;transition-delay:.2s}[data-inviewport=scale-in].is-inViewport{opacity:1;-webkit-transform:scale(1);transform:scale(1)}@media (max-width:768px){[data-inviewport=slide-in-from-left]{-webkit-transform:translateX(-100%);transform:translateX(-100%)}[data-inviewport=slide-in-from-left].is-inViewport{-webkit-animation:slideInFromLeft .3s ease-in;animation:slideInFromLeft .3s ease-in;-webkit-transform:translateX(0);transform:translateX(0)}}[data-inviewport=slide-in-from-right]{-webkit-animation:slideInFromRight .3s ease-in .2s;animation:slideInFromRight .3s ease-in .2s}[data-inviewport=slide-in-from-right].is-inViewport{-webkit-transform:translateX(0);transform:translateX(0)}.lds-ring{color:#fff;display:inline-block;height:80px;position:relative;width:80px}.lds-ring div{-webkit-animation:lds-ring 1.2s cubic-bezier(.5,0,.5,1) infinite;animation:lds-ring 1.2s cubic-bezier(.5,0,.5,1) infinite;border:8px solid var(--primary-color);border-color:var(--primary-color) transparent transparent transparent;border-radius:50%;box-sizing:border-box;display:block;height:64px;margin:8px;position:absolute;width:64px}.lds-ring div:first-child{-webkit-animation-delay:-.45s;animation-delay:-.45s}.lds-ring div:nth-child(2){-webkit-animation-delay:-.3s;animation-delay:-.3s}.lds-ring div:nth-child(3){-webkit-animation-delay:-.15s;animation-delay:-.15s}@-webkit-keyframes lds-ring{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes lds-ring{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.arrow-down{-webkit-animation:slideInFromTop .4s ease-in;animation:slideInFromTop .4s ease-in;border-left:100vw solid transparent;border-right:100vw solid transparent;border-top:400px solid var(--secondary-color);height:0;left:-50%;position:fixed;top:0;width:0;z-index:-1}.top-text{margin:0 auto;max-width:100%}.top-text h1{word-wrap:break-word;-webkit-animation:fadeIn 1s ease-in;animation:fadeIn 1s ease-in;max-width:100%;overflow-wrap:break-word;position:relative;width:auto}.arrow-section{z-index:-2}.arrow-section .top-text{-webkit-animation:fadeIn 1s ease-in;animation:fadeIn 1s ease-in;margin-bottom:2rem;margin-top:0}.portfolio-filter{box-sizing:border-box;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-bottom:2.5rem;max-width:100%;padding:0 1rem}.filter-btn{background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.25);border-radius:20px;color:#f2e6ff;cursor:pointer;font-size:.9rem;padding:.4rem 1rem;transition:all .2s ease}.filter-btn:hover{background:hsla(0,0%,100%,.2);-webkit-transform:translateY(-1px);transform:translateY(-1px)}.filter-btn.active{background:var(--primary-color);border-color:var(--light-color);box-shadow:0 4px 12px rgba(166,77,255,.35);color:#fff;font-weight:700}.portfolio-cards{max-width:100%;min-height:calc(100vh - 300px);overflow-x:hidden;padding-bottom:3rem}.portfolio-cards .portfolio-grid{grid-gap:1.75rem;box-sizing:border-box;display:grid;gap:1.75rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));margin:0 auto;max-width:1200px;padding:0 1.5rem}.portfolio-card{-webkit-animation:fadeIn .3s ease-in;animation:fadeIn .3s ease-in;background-color:initial;background-image:var(--glass-gradient);border:1px solid hsla(0,0%,100%,.3);border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.15);box-sizing:border-box;color:#2b1055;display:flex;flex-direction:column;justify-content:space-between;min-width:0;padding:1.5rem;transition:box-shadow .25s ease,-webkit-transform .25s ease;transition:transform .25s ease,box-shadow .25s ease;transition:transform .25s ease,box-shadow .25s ease,-webkit-transform .25s ease}.portfolio-card:hover{box-shadow:0 14px 32px rgba(88,34,151,.25);-webkit-transform:translateY(-4px);transform:translateY(-4px)}.portfolio-card-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;margin-bottom:.25rem}.portfolio-card-header h2{color:#3b146b;font-size:1.35rem;font-weight:700;line-height:1.25;margin:0;overflow-wrap:break-word;word-break:break-word}.badge-role{border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.5px;padding:.25rem .6rem;text-transform:uppercase;white-space:nowrap}.badge-creator{background-color:rgba(140,26,255,.15);border:1px solid rgba(140,26,255,.3);color:#6a0dad}.badge-contributor{background-color:rgba(30,144,255,.15);border:1px solid rgba(30,144,255,.3);color:#104e8b}.portfolio-tagline{color:#639;font-size:.85rem;font-style:italic;font-weight:600;margin:.25rem 0 .75rem;overflow-wrap:break-word;word-break:break-word}.portfolio-desc{color:#334;flex-grow:1;font-size:.95rem;line-height:1.5;margin-bottom:1.25rem;overflow-wrap:break-word}.portfolio-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.25rem}.portfolio-tag{background:rgba(88,34,151,.08);border:1px solid rgba(88,34,151,.15);border-radius:6px;color:#4b1a80;font-size:.75rem;font-weight:600;padding:.2rem .55rem}.card-action{border-top:1px solid rgba(88,34,151,.12);display:flex;gap:.75rem;padding-top:.75rem}.card-action .btn{align-items:center;border-radius:6px;display:inline-flex;flex:1 1;font-size:.85rem;font-weight:700;gap:.4rem;justify-content:center;padding:.6rem .8rem;text-align:center;text-decoration:none}.btn-code{background:#3b146b;color:#fff}.btn-code:hover{background:#501d8f;color:#fff}.btn-demo{background:var(--primary-color);color:#fff}.btn-demo:hover{background:#943be8;color:#fff}@media (max-width:768px){.arrow-section .container{padding:0 1rem}.top-text{padding:0;width:100%}.top-text h1{font-size:1.85rem;white-space:normal;width:100%}.top-text p{font-size:.95rem}.portfolio-cards .portfolio-grid{grid-template-columns:1fr;padding:0 1rem}.portfolio-card{padding:1.25rem}}@media (max-width:480px){.top-text h1{font-size:1.55rem}.portfolio-filter{gap:.35rem;padding:0 .5rem}.filter-btn{font-size:.78rem;padding:.3rem .7rem}.card-action{flex-direction:column}.card-action .btn{width:100%}}
/*# sourceMappingURL=main.3ce8925f.css.map*/