*,*:before,*:after{-webkit-box-sizing:border-box;box-sizing:border-box}
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}
body{line-height:1}
ol,ul{list-style:none}
blockquote,q{quotes:none}
blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}
table{border-collapse:collapse;border-spacing:0}
body{font-family:'Orbitron',sans-serif;font-size:16px;position:relative;color:rgba(255,255,255,0.9);text-shadow:2px 2px 0 rgba(0,0,0,0.2);background:#3d2448;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1 1000" preserveAspectRatio="none">\a<linearGradient id="a" gradientUnits="userSpaceOnUse" x1=".5" y1="1000" x2=".5">\a <stop offset="0" stop-color="%233d2448"/>\a <stop offset="1" stop-color="%231e253f"/>\a</linearGradient>\a<path fill="url(%23a)" d="M0 0h1v1000H0z"/>\a</svg>');background-size:auto 150vh;background-repeat:repeat-x;overflow-x:hidden}
.animation.paused *{-webkit-animation-play-state:paused !important;animation-play-state:paused !important}
.svg-icon{fill:white}
.separator{margin:0 12px}
#particles-js{height:99%;position:absolute;top:0;left:0;right:0;z-index:-1;background:transparent;opacity:0;-webkit-animation:fadeIn 2s linear forwards;animation:fadeIn 2s linear forwards}
#particles-js canvas{width:100%;height:100%;background:transparent}
#particles-js:after{content:'';height:300vh;width:100%;position:absolute;left:0;right:0;bottom:0;background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1 1000" preserveAspectRatio="none">\a<linearGradient id="a" gradientUnits="userSpaceOnUse" x1=".5" y1="1000" x2=".5">\a <stop offset="0" stop-color="%233d2448"/>\a <stop offset="1" stop-color="%233d2448" stop-opacity="0"/>\a</linearGradient>\a<path fill="url(#a)" d="M0 0h1v1000H0z"/>\a</svg>') repeat}
html.mobile #particles-js{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);background:url(images/stars.png) repeat !important;-webkit-animation-name:fadeInMobile;animation-name:fadeInMobile}
.page-section{width:100%;min-height:100vh;padding:0 8%;padding-bottom:60px !important;position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}
.section-heading{width:100%;margin:2rem 0 3rem 0;display:table}
.section-heading>h1,.section-heading:after{display:table-cell}
.section-heading h1{width:1%;padding:0 24px 0 0;position:relative;left:-1px;font-size:2rem;color:white;text-transform:uppercase}
.section-heading:after{content:'';background:-webkit-repeating-linear-gradient(left,rgba(255,255,255,0.1),rgba(255,255,255,0.1) 4px,transparent 4px,transparent 12px);background:repeating-linear-gradient(90deg,rgba(255,255,255,0.1),rgba(255,255,255,0.1) 4px,transparent 4px,transparent 12px);-webkit-transform:scaleY(0.9) skew(-22.5deg);-ms-transform:scaleY(0.9) skew(-22.5deg);transform:scaleY(0.9) skew(-22.5deg)}
.section-wrap{width:100%;max-width:1400px;margin:0 auto;position:relative}
.line{width:100%;height:2px;position:absolute;background:white;pointer-events:none;opacity:.1}
.modal-container{width:100%;height:100%;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.5);z-index:1001;display:none;opacity:0;-webkit-transition:opacity .2s;transition:opacity .2s}
.modal{width:92%;max-width:400px;min-height:15vh;padding:24px 16px 16px 16px;position:absolute;top:50%;left:50%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-content:center;-ms-flex-line-pack:center;align-content:center;background:#3d2448;background:-webkit-linear-gradient(135deg,rgba(61,36,72,0.9) 0,rgba(30,37,63,0.9) 100%);background:linear-gradient(-45deg,rgba(61,36,72,0.9) 0,rgba(30,37,63,0.9) 100%);border-radius:3px;-webkit-transform:translate(-50%,-50%) scale(0);-ms-transform:translate(-50%,-50%) scale(0);transform:translate(-50%,-50%) scale(0);-webkit-transition:translate .3s;transition:translate .3s;z-index:1002}
.modal>div{margin:auto;display:inline-block}
.modal h4{margin-bottom:1.4rem;text-align:center}
.modal-buttons{text-align:center}
.modal-buttons .button{margin:0 4px}
.modal-buttons .modal-continue{background:rgba(255,255,255,0.05)}
html.modal-active{overflow:hidden}
html.modal-active body{overflow:hidden}
html.modal-active .modal-container{opacity:1}
html.modal-active .modal{-webkit-transform:translate(-50%,-50%) scale(1);-ms-transform:translate(-50%,-50%) scale(1);transform:translate(-50%,-50%) scale(1)}
.text{color:rgba(255,255,255,0.75);letter-spacing:.09rem;font-size:.8rem}
.text h1,.text h2,.text h3,.text h4{color:rgba(255,255,255,0.9);letter-spacing:normal !important}
.text h1 .highlight,.text h2 .highlight,.text h3 .highlight,.text h4 .highlight{color:#ff417b;text-shadow:0 0 15px rgba(255,65,123,0.3)}
.text h1 small,.text h2 small,.text h3 small,.text h4 small{font-size:1.2rem;top:-5px;position:relative}
.text h1 div,.text h2 div,.text h3 div,.text h4 div{font-size:1.2rem;padding-right:16px}
.text h2{font-size:2rem;line-height:2.4rem;margin-bottom:1rem}
.text h3{font-size:1.8rem;line-height:2.2rem;margin-bottom:.8rem}
.text h4{font-size:1.1rem;line-height:1.4rem}
.text p{line-height:1.5rem}
.text p+p{margin-top:1.2rem}
.text a:not(.button){color:#ff417b;-webkit-transition:text-shadow .3s,-webkit-filter .3s;transition:text-shadow .3s,-webkit-filter .3s;transition:text-shadow .3s,filter .3s;transition:text-shadow .3s,filter .3s,-webkit-filter .3s}
.text a:not(.button):hover,.text a:not(.button):focus{-webkit-filter:hue-rotate(-30deg);filter:hue-rotate(-30deg);text-shadow:0 0 2px rgba(255,65,123,0.6)}
header{width:100%;padding:10px 0;position:fixed;bottom:0;left:0;right:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;z-index:1000;background:#1e253f}
body.scrolled header{background:#1e253f}
.logo{display:none}
.navigation{height:100%;width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}
.navigation>.button{width:18.5%;margin:auto}
.navigation .button{height:44px;margin:0 2px}
.navigation .button svg{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%) skew(22.5deg);-ms-transform:translate(-50%,-50%) skew(22.5deg);transform:translate(-50%,-50%) skew(22.5deg)}
.navigation .button span{display:none}
.navigation>.button-straight-left-container,.navigation>.button-straight-right-container{height:44px;width:20%;margin:auto;position:relative;overflow:hidden}
.navigation>.button-straight-left-container:before,.navigation>.button-straight-right-container:before{content:'';width:3px;height:42px;background:rgba(255,255,255,0.15);position:absolute;top:1px}
.navigation>.button-straight-left-container .button,.navigation>.button-straight-right-container .button{width:calc(110% - 3px);height:100%;margin:0;position:absolute;top:0}
.navigation>.button-straight-left-container{right:-8px}
.navigation>.button-straight-left-container:before{left:0}
.navigation>.button-straight-left-container .button{right:9px}
.navigation>.button-straight-left-container .button svg{-webkit-transform:translate(-30%,-50%) skew(22.5deg);-ms-transform:translate(-30%,-50%) skew(22.5deg);transform:translate(-30%,-50%) skew(22.5deg)}
.navigation>.button-straight-right-container{left:-9px}
.navigation>.button-straight-right-container:before{right:0}
.navigation>.button-straight-right-container .button{left:9px}
.navigation>.button-straight-right-container .button svg{-webkit-transform:translate(-70%,-50%) skew(22.5deg);-ms-transform:translate(-70%,-50%) skew(22.5deg);transform:translate(-70%,-50%) skew(22.5deg)}
#github-button svg{display:block !important}
.field{margin-top:24px;margin-bottom:32px}
.field>div{width:100%;height:100%;position:relative}
.field label{height:100%;font-size:.8rem;letter-spacing:.1rem;text-transform:uppercase;line-height:38px;position:absolute;top:-32px;left:0}
.field input,.field textarea{width:100%;height:100%;background:transparent;border:0;outline:0;font-family:'Helvetica',Arial,Lucida Grande,sans-serif;letter-spacing:.05rem;font-size:.9rem;color:rgba(255,255,255,0.8);border:1px solid rgba(255,255,255,0.1);border-radius:1px;background:rgba(0,0,0,0.1);-webkit-transition:border-color .2s,color .2s;transition:border-color .2s,color .2s}
.field input:focus,.field textarea:focus{color:white;border-color:rgba(255,255,255,0.2)}
.field input{padding:0 16px}
.field textarea{padding:12px 16px}
.fields-container{display:block}
.fields-container>*{margin-right:16px}
.fields-container>*:last-child{margin-right:0}
.input-field{width:100%;height:40px;display:block}
.textarea-field{width:100%;display:block}
.textarea-field textarea{min-width:100%;min-height:120px}
.button{height:36px;line-height:36px;padding:0 16px;position:relative;display:inline-block;font-family:'Orbitron',sans-serif;color:rgba(255,255,255,0.9);font-size:.6rem;letter-spacing:.12rem;text-decoration:none;text-transform:uppercase;background:transparent;border:1px solid rgba(255,255,255,0.1);border-right-width:4px;border-left-width:4px;border-radius:1px;-webkit-transform:skew(-22.5deg);-ms-transform:skew(-22.5deg);transform:skew(-22.5deg);-webkit-transition:color .3s,border .3s,background .2s,-webkit-box-shadow .3s;transition:color .3s,border .3s,background .2s,-webkit-box-shadow .3s;transition:color .3s,border .3s,background .2s,box-shadow .3s;transition:color .3s,border .3s,background .2s,box-shadow .3s,-webkit-box-shadow .3s;overflow:hidden;cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}
.button:before{content:'';height:155px;width:50px;position:absolute;left:-75px;top:-50px;background:-webkit-gradient(linear,left top,left bottom,from(transparent),to(#fff));background:-webkit-linear-gradient(transparent,#fff);background:linear-gradient(transparent,#fff);opacity:.1;-webkit-transition:all .7s cubic-bezier(0.19,1,0.22,1);transition:all .7s cubic-bezier(0.19,1,0.22,1);z-index:-10}
.button span{display:inline-block;white-space:nowrap;-webkit-transform:skew(22.5deg);-ms-transform:skew(22.5deg);transform:skew(22.5deg)}
.button svg{position:absolute;top:50%;fill:rgba(255,255,255,0.8);-webkit-transform:translateY(-50%) skew(22.5deg);-ms-transform:translateY(-50%) skew(22.5deg);transform:translateY(-50%) skew(22.5deg);-webkit-transition:fill .3s;transition:fill .3s}
.button.button-straight-left{border-left:0}
.button.button-straight-left:after{content:''}
.button.icon-button-left{padding-left:48px !important}
.button.icon-button-left svg{left:14px}
.button.icon-button-right{padding-right:48px !important}
.button.icon-button-right svg{right:18px}
.button.icon-button-right.large{padding-right:48px !important}
.button.large{height:48px;line-height:48px;padding:0 20px}
.button.active{color:#fff;background:rgba(255,255,255,0.05);border-color:rgba(255,255,255,0.15);pointer-events:none}
.home{height:100vh}
.home .section-wrap{margin-top:15vh}
.introduction{height:100%;width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;z-index:1}
.introduction>div .button{float:right;margin-right:24px}
.introduction h1{margin-top:0;margin-bottom:1.6rem;position:relative;left:-1px;font-size:2.2rem;color:white;text-transform:none}
.introduction h1 .subtitle{position:relative;font-size:1.3rem}
.view-my-work-button use{-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;-webkit-transform-origin:10px 10px;-ms-transform-origin:10px 10px;transform-origin:10px 10px}
.view-my-work-button:hover use{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}
.island-container{width:100%;height:100vh;position:absolute;top:0;right:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;overflow:hidden;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;pointer-events:none;z-index:-1}
.island,.island-impact-container{width:100%;height:100%;position:absolute;max-width:1400px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:end;-webkit-align-items:flex-end;-ms-flex-align:end;align-items:flex-end;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;margin-left:auto;margin-right:auto;left:0;right:0}
.island-main{height:40vh;position:relative;right:4vw;bottom:calc(60px + 5vh);-webkit-animation:islandMove 8s infinite cubic-bezier(0.445,0.05,0.55,0.95);animation:islandMove 8s infinite cubic-bezier(0.445,0.05,0.55,0.95);-webkit-animation-delay:-.5s;animation-delay:-.5s}
#crystal1{-webkit-animation:crystalMove 8s infinite cubic-bezier(0.445,0.05,0.55,0.95);animation:crystalMove 8s infinite cubic-bezier(0.445,0.05,0.55,0.95)}
#crystal2{-webkit-animation:crystalMove 8s infinite cubic-bezier(0.445,0.05,0.55,0.95);animation:crystalMove 8s infinite cubic-bezier(0.445,0.05,0.55,0.95);-webkit-animation-delay:-1s;animation-delay:-1s}
.island-impact-container{margin-left:auto;margin-right:auto;left:0;right:0}
.island-impact{width:46.667vh;height:40vh;position:relative;bottom:calc(60px + 5vh);right:4vw;-webkit-animation:islandMove 8s infinite cubic-bezier(0.445,0.05,0.55,0.95);animation:islandMove 8s infinite cubic-bezier(0.445,0.05,0.55,0.95);-webkit-animation-delay:-.5s;animation-delay:-.5s}
.island-impact.impact .island-meteor-impact{-webkit-animation:meteorImpact .5s ease-out forwards;animation:meteorImpact .5s ease-out forwards}
.island-impact.impact .island-meteor-impact:after{-webkit-animation:meteorExplode .5s ease forwards;animation:meteorExplode .5s ease forwards}
.island-impact.impact .island-meteor-impact:before{-webkit-animation:meteorTail .5s ease-out forwards;animation:meteorTail .5s ease-out forwards}
.island-impact.impact .island-shield-impact{-webkit-animation:shieldImpact 2.5s ease-out forwards;animation:shieldImpact 2.5s ease-out forwards}
.island-impact.impact .island-shield-impact.impact-1{top:-67vh;left:-55vh;-webkit-animation-delay:.3s;animation-delay:.3s}
.island-meteor-impact{width:2vh;height:2vh;position:absolute;top:7vh;left:16vh;opacity:0}
.island-meteor-impact:after{content:'';width:100%;height:100%;position:absolute;top:0;left:0;border-radius:999px;-webkit-transform:rotate(-30deg) scaleX(1) scaleY(3);-ms-transform:rotate(-30deg) scaleX(1) scaleY(3);transform:rotate(-30deg) scaleX(1) scaleY(3);background:-webkit-gradient(linear,left top,left bottom,from(transparent),to(white));background:-webkit-linear-gradient(transparent,white);background:linear-gradient(transparent,white)}
.island-meteor-impact:before{content:'';width:140%;height:100vh;position:absolute;bottom:0;background:-webkit-gradient(linear,left top,left bottom,from(transparent),to(#60cdff));background:-webkit-linear-gradient(transparent,#60cdff);background:linear-gradient(transparent,#60cdff);-webkit-box-shadow:0 0 100px #60cdff;box-shadow:0 0 100px #60cdff;border-radius:0 0 999px 999px;-webkit-transform:rotate(-30deg);-ms-transform:rotate(-30deg);transform:rotate(-30deg);-webkit-transform-origin:50% 99.6%;-ms-transform-origin:50% 99.6%;transform-origin:50% 99.6%}
.island-shield{width:100%;height:22.7273vh;position:absolute;top:0;left:0;border-radius:9999px 9999px 0 0;overflow:hidden}
.island-shield-impact{width:140vh;height:140vh;position:absolute;border-radius:9999px;-webkit-box-shadow:inset 0 0 300px #d2dcff;box-shadow:inset 0 0 300px #d2dcff;opacity:0;-webkit-transform:scale(0.01);-ms-transform:scale(0.01);transform:scale(0.01);-webkit-transform-origin:center;-ms-transform-origin:center;transform-origin:center}
html.mobile .meteors{display:none}
.meteors{width:100%;height:300vh;position:absolute;overflow:hidden;opacity:.6}
.island-meteor{width:1vh;height:1vh;position:absolute;opacity:0}
.island-meteor:after{content:'';width:100%;height:100%;position:absolute;top:0;left:0;border-radius:999px;-webkit-transform:rotate(-30deg) scaleX(1) scaleY(3);-ms-transform:rotate(-30deg) scaleX(1) scaleY(3);transform:rotate(-30deg) scaleX(1) scaleY(3);background:-webkit-gradient(linear,left top,left bottom,from(transparent),to(white));background:-webkit-linear-gradient(transparent,white);background:linear-gradient(transparent,white);-webkit-box-shadow:0 0 20px white;box-shadow:0 0 20px white}
.island-meteor:before{content:'';width:140%;height:200vh;position:absolute;bottom:0;background:-webkit-gradient(linear,left top,left bottom,from(white),to(#60cdff));background:-webkit-linear-gradient(white,#60cdff);background:linear-gradient(white,#60cdff);-webkit-box-shadow:0 0 100px #60cdff;box-shadow:0 0 100px #60cdff;border-radius:0 0 999px 999px;-webkit-transform:rotate(-30deg);-ms-transform:rotate(-30deg);transform:rotate(-30deg);-webkit-transform-origin:50% 99.94%;-ms-transform-origin:50% 99.94%;transform-origin:50% 99.94%;-webkit-animation-delay:5s;animation-delay:5s}
.island-meteor.fall{-webkit-animation:meteorFall 2.4s ease-out forwards;animation:meteorFall 2.4s ease-out forwards}
.island-meteor.fall:before{-webkit-animation:meteorFallTail 2.4s ease-out forwards;animation:meteorFallTail 2.4s ease-out forwards}
.island-meteor.meteor-1{top:150vh;right:-25vw}
.island-meteor.meteor-2{top:200vh;right:-30vw}
.island-meteor.meteor-3{top:100vh;right:-30vw}
.island-meteor.meteor-4{top:300vh;right:-40vw}
.island-meteor.meteor-4.fall{-webkit-animation-name:meteorFall2;animation-name:meteorFall2;-webkit-animation-duration:3.6s;animation-duration:3.6s}
.island-meteor.meteor-5{top:400vh;right:-45vw}
.island-meteor.meteor-5.fall{-webkit-animation-name:meteorFall3;animation-name:meteorFall3;-webkit-animation-duration:4.8s;animation-duration:4.8s}
.about{margin-bottom:80px}
.about-content .line{top:48px}
.about-info>div{width:100%;position:relative}
.about-info h2{margin-left:2px;margin-bottom:2.3rem}
.about-info li{height:36px;line-height:36px;padding-left:3px;color:rgba(255,255,255,0.75);font-size:.8rem;border-bottom:1px solid rgba(255,255,255,0.1)}
.about-info li:last-child{border-bottom:0}
.about-info .info{margin-bottom:80px}
.about-info .info li{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}
.about-info .info li span{width:50%;display:inline-block;text-align:left}
.about-info .likes{margin-top:auto;margin-bottom:80px;-webkit-align-self:flex-end;-ms-flex-item-align:end;align-self:flex-end}
.about-info .likes li{padding-left:28px;position:relative}
.about-info .likes li:before{content:'';position:absolute;top:52%;left:6px;-webkit-transform:translateY(-50%) rotate(45deg);-ms-transform:translateY(-50%) rotate(45deg);transform:translateY(-50%) rotate(45deg);width:6px;height:6px;background:rgba(255,255,255,0.6)}
.about-skillset{width:100%;position:relative}
.about-skillset h2{margin-bottom:1.9rem}
.skillset-list{width:110%;position:relative;left:-6%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;list-style:none}
.skillset-list li{-webkit-box-flex:1;-webkit-flex:1 0 33.333%;-ms-flex:1 0 33.333%;flex:1 0 33.333%;padding:20px 0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;text-align:center;opacity:.75;-webkit-transition:opacity .3s;transition:opacity .3s}
.skillset-list li svg{max-width:40px;max-height:40px;margin:0 auto 12px auto;-webkit-filter:drop-shadow(0 0 3px rgba(255,255,255,0));filter:drop-shadow(0 0 3px rgba(255,255,255,0));-webkit-transition:-webkit-filter .3s;transition:-webkit-filter .3s;transition:filter .3s;transition:filter .3s,-webkit-filter .3s}
.skillset-list li span{font-size:.6rem}
.skillset-list li:hover{opacity:1}
.skillset-list li:hover svg{-webkit-filter:drop-shadow(0 0 3px rgba(255,255,255,0.25));filter:drop-shadow(0 0 3px rgba(255,255,255,0.25))}
.astronaut-container{width:100%;height:100%;position:absolute;top:0;left:0;right:0;bottom:0;overflow:hidden;-webkit-animation:floatingAstronaut2 8s cubic-bezier(0.445,0.05,0.55,0.95) infinite;animation:floatingAstronaut2 8s cubic-bezier(0.445,0.05,0.55,0.95) infinite;pointer-events:none}
.astronaut{width:90px;position:absolute;top:10%;right:0;z-index:0;-webkit-animation:floatingAstronaut 70s linear infinite;animation:floatingAstronaut 70s linear infinite;opacity:.9}
.websites .section-heading{margin-bottom:4rem}
.website{width:100%;margin-bottom:120px;position:relative;display:block}
.website-title{margin:0 110px 1.8rem 0;padding-bottom:1.2rem;position:relative;border-bottom:2px solid rgba(255,255,255,0.1)}
.website-title:before,.website-title:after{content:'';position:absolute;background:white;pointer-events:none}
.website-title:before{width:32px;height:2px;bottom:-2px;right:-33px;-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:bottom left;-ms-transform-origin:bottom left;transform-origin:bottom left;opacity:.1}
.website-title:after{width:12px;height:12px;bottom:20px;right:-33px;border-radius:999px;opacity:.2}
.website-title h2{display:block;font-size:1.6rem;margin-bottom:0}
.website-title .separator{display:none}
.website-title small{display:block;font-size:1rem}
.website-description{margin-bottom:2rem;font-size:.8rem;color:rgba(255,255,255,0.75)}
.website-footer{width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-content:space-between;-ms-flex-line-pack:justify;align-content:space-between;-webkit-box-align:end;-webkit-align-items:flex-end;-ms-flex-align:end;align-items:flex-end}
.website-links{display:none}
.website-links .button{margin-right:24px}
.website-tech{margin-right:auto}
.website-tech h4{margin-bottom:1rem;letter-spacing:.07rem !important;color:white;font-size:.7rem}
.website-tech .logos{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:end;-webkit-align-items:flex-end;-ms-flex-align:end;align-items:flex-end}
.website-tech .logos svg{display:inline-block;margin-right:12px;opacity:.9;-webkit-transition:opacity .3s;transition:opacity .3s}
.under-construction small{color:#ff5f79;font-size:1rem !important}
.under-construction .portal{cursor:default}
.under-construction .portal:hover .portal-outer-2{-webkit-filter:drop-shadow(0 0 16px rgba(239,86,106,0.6)) hue-rotate(-30deg);filter:drop-shadow(0 0 16px rgba(239,86,106,0.6)) hue-rotate(-30deg)}
.under-construction .portal-outer-1{fill:rgba(239,86,106,0.1)}
.under-construction .portal-outer-2{fill:#ef566a;-webkit-filter:drop-shadow(0 0 16px rgba(239,86,106,0.6));filter:drop-shadow(0 0 16px rgba(239,86,106,0.6))}
.website-portal{position:absolute;top:-24px;right:-4px}
.portal{width:120px;height:120px;position:relative;display:inline-block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;-webkit-transform-origin:50% 50%;-ms-transform-origin:50% 50%;transform-origin:50% 50%;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s}
.portal:hover .portal-outer{-webkit-filter:hue-rotate(-30deg);filter:hue-rotate(-30deg)}
.portal:hover .portal-outer-2{-webkit-filter:drop-shadow(0 0 16px rgba(216,48,117,0.6)) hue-rotate(-30deg);filter:drop-shadow(0 0 16px rgba(216,48,117,0.6)) hue-rotate(-30deg)}
.portal:hover .portal-inner img{-webkit-transform:scale(1.3);-ms-transform:scale(1.3);transform:scale(1.3)}
.portal-outer{width:120px;height:120px;position:absolute;-webkit-transition:-webkit-filter .6s;transition:-webkit-filter .6s;transition:filter .6s;transition:filter .6s,-webkit-filter .6s;-webkit-filter:hue-rotate(-30deg);filter:hue-rotate(-30deg)}
.portal-outer-1{fill:rgba(216,48,117,0.1);-webkit-animation:portalAnim1 24s linear infinite;animation:portalAnim1 24s linear infinite}
.portal-outer-2{fill:#d83075;-webkit-animation:portalAnim2 18s linear infinite;animation:portalAnim2 18s linear infinite;-webkit-filter:drop-shadow(0 0 16px rgba(216,48,117,0.6));filter:drop-shadow(0 0 16px rgba(216,48,117,0.6))}
.portal-inner{width:180px;height:180px;position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%) scale(0.48);-ms-transform:translate(-50%,-50%) scale(0.48);transform:translate(-50%,-50%) scale(0.48);opacity:.9;-webkit-transition:opacity .3s;transition:opacity .3s;-webkit-clip-path:url(#portal-clip);clip-path:url(#portal-clip);overflow:hidden}
.portal-inner img{width:180px;height:180px;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;pointer-events:none}
footer{overflow:hidden}
.contact-text{margin-bottom:4rem}
.contact-info{margin-bottom:60px}
.contact-info ul{width:100%}
.contact-info li{height:36px;line-height:36px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-content:flex-end;-ms-flex-line-pack:end;align-content:flex-end;border-bottom:1px solid rgba(255,255,255,0.1)}
.contact-info li:last-child{border-bottom:0}
.contact-info li span:first-child{width:40%}
.contact-info li span:last-child{width:60%}
.contact-form{width:100%;max-width:40vw}
.earth-container{width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}
.earth{width:100%;height:100%;position:absolute;bottom:60px;right:0;-webkit-transform:scale(0.5);-ms-transform:scale(0.5);transform:scale(0.5);-webkit-transform-origin:bottom right;-ms-transform-origin:bottom right;transform-origin:bottom right}
.earth-inner{width:80vh;height:80vh;position:absolute;bottom:-26.6666666667vh;right:-26.6666666667vh;background:#4861b2;overflow:hidden;border-radius:999px;-webkit-transform:rotate(22.5deg);-ms-transform:rotate(22.5deg);transform:rotate(22.5deg)}
.earth-inner:after{content:'';width:100%;height:120%;position:absolute;top:-10%;left:0;border-radius:50%;-webkit-box-shadow:inset -40vh 0 rgba(0,0,0,0.1);box-shadow:inset -40vh 0 rgba(0,0,0,0.1);-webkit-filter:blur(20px);filter:blur(20px)}
.earth-atmosphere{width:90vh;height:90vh;position:absolute;bottom:-31.6666666667vh;right:-31.6666666667vh;background:rgba(32,19,38,0.2);border-radius:999px}
.earth-glow{width:120vh;height:120vh;position:absolute;bottom:-46.6666666667vh;right:-46.6666666667vh;background:rgba(255,255,255,0.005);border-radius:999px}
.earth-land{height:100%;position:absolute;top:0;left:0;fill:#7dab3e;-webkit-animation:planetSpin 90s infinite linear;animation:planetSpin 90s infinite linear}
.earth-clouds{height:100%;position:absolute;top:0;left:0;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);-webkit-animation:planetSpin 55s infinite linear;animation:planetSpin 55s infinite linear;fill:white;opacity:.9;-webkit-filter:drop-shadow(1vh 2vh 0 rgba(0,0,0,0.05));filter:drop-shadow(1vh 2vh 0 rgba(0,0,0,0.05))}
.moon-container{width:100%;height:100vh;position:absolute;top:0;left:0;overflow:hidden}
.moon{width:100%;height:100%;position:absolute;bottom:60px;right:0;-webkit-transform:scale(0.5);-ms-transform:scale(0.5);transform:scale(0.5);-webkit-transform-origin:bottom right;-ms-transform-origin:bottom right;transform-origin:bottom right}
.moon-inner{width:16vh;height:16vh;position:absolute;bottom:54vh;right:36vh;background:#cdd1d6;overflow:hidden;border-radius:999px;-webkit-box-shadow:0 0 12vh rgba(255,255,255,0.2);box-shadow:0 0 12vh rgba(255,255,255,0.2);-webkit-transform:rotate(22.5deg);-ms-transform:rotate(22.5deg);transform:rotate(22.5deg)}
.moon-inner:after{content:'';width:100%;height:120%;position:absolute;top:-10%;right:-15%;border-radius:50%;-webkit-box-shadow:inset -8vh 0 rgba(0,0,0,0.1);box-shadow:inset -8vh 0 rgba(0,0,0,0.1);-webkit-filter:blur(7px);filter:blur(7px)}
.moon-craters{height:100%;position:absolute;top:0;left:0;fill:rgba(0,0,0,0.2);-webkit-animation:planetSpin 55s infinite linear;animation:planetSpin 55s infinite linear}
@media(min-width:660px){.website{margin-bottom:80px !important}
}@media(min-width:900px){.page-section{padding-top:60px !important}
.section-heading{margin:4rem 0 6rem 0 !important}
.section-heading h1{font-size:2.6rem}
.line:before{content:'';width:120px;height:2px;position:absolute;top:0;background:white}
.line:after{content:'';width:16px;height:16px;position:absolute;top:83px;background:white;border-radius:999px}
.line.left{right:8%}
.line.left:before{left:-120px;-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:top right;-ms-transform-origin:top right;transform-origin:top right}
.line.left:after{left:-97px}
.line.right{left:8%}
.line.right:before{right:-120px;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);-webkit-transform-origin:top left;-ms-transform-origin:top left;transform-origin:top left}
.line.right:after{right:-97px}
.line.right.up:before{-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg)}
.line.up:after{top:auto;bottom:83px}
header{height:60px;padding:0 24px;top:0;background:transparent}
.logo{padding-top:4px;display:block}
.navigation{width:auto;padding:12px 0;position:relative;right:-17px}
.navigation .button{height:36px;width:auto !important;margin:0 8px 0 0}
.navigation .button svg{display:none}
.navigation .button span{display:inline-block}
.navigation>.button-straight-left-container,.navigation>.button-straight-right-container{height:36px;width:auto;margin:0 8px 0 0;overflow:visible}
.navigation>.button-straight-left-container:before,.navigation>.button-straight-right-container:before{display:none}
.navigation>.button-straight-left-container .button,.navigation>.button-straight-right-container .button{width:100%;position:static}
.navigation>.button-straight-left-container{right:auto}
.navigation>.button-straight-left-container .button{right:auto}
.navigation>.button-straight-right-container{overflow:hidden}
.navigation>.button-straight-right-container:before{display:block}
.navigation>.button-straight-right-container .button{position:relative}
.navigation>.button-straight-right-container .button svg{-webkit-transform:translate(-75%,-50%) skew(22.5deg);-ms-transform:translate(-75%,-50%) skew(22.5deg);transform:translate(-75%,-50%) skew(22.5deg)}
#github-button{width:70px !important;border-right:0}
.fields-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}
.input-field{min-width:300px}
.textarea-field{min-width:300px}
.button{height:36px;line-height:36px}
.button:hover{color:#fff;background:rgba(255,255,255,0.05);border-color:rgba(255,255,255,0.15);-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 2px rgba(0,0,0,0.24);box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 2px rgba(0,0,0,0.24)}
.button:hover:before{left:120%}
.button:hover svg{fill:#fff}
.home .section-wrap{margin:auto}
.introduction>div{padding-bottom:20vh}
.introduction>div .button{margin-right:34px}
.introduction h1{font-size:2.6rem}
.introduction h1 .subtitle{font-size:1.8rem}
.island,.island-impact-container{-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}
.island-main{height:66vh;top:10vh;bottom:auto}
.island-impact{width:77vh;height:66vh;top:10vh;bottom:auto}
.island-shield{height:37.5vh}
.about-content .line{width:110%;left:0}
.about-content .line.left{left:auto;right:0}
.about-content{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}
.about-info .likes{margin-bottom:auto}
.about-info{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;min-width:300px;max-width:30vw}
.about-skillset{width:352px}
.about-skillset h2{margin-left:66px}
.about-skillset .line{width:calc(110% - 57px)}
.skillset-list{width:100%;left:auto;right:-30px}
.skillset-list li{-webkit-box-flex:1;-webkit-flex:1 0 33.333%;-ms-flex:1 0 33.333%;flex:1 0 33.333%}
.astronaut{width:270px;top:52%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}
.website{min-height:400px;margin-bottom:120px}
.website:nth-child(odd) .website-portal{left:-40px}
.website:nth-child(odd) .website-info{margin-left:300px}
.website:nth-child(odd) .website-title,.website:nth-child(odd) .website-description,.website:nth-child(odd) .website-footer{padding-left:6rem}
.website:nth-child(odd) .website-title:before{left:-81px;-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:top right;-ms-transform-origin:top right;transform-origin:top right}
.website:nth-child(odd) .website-title:after{left:-70px}
.website:nth-child(even) .website-portal{right:-40px}
.website:nth-child(even) .website-info{margin-right:300px}
.website:nth-child(even) .website-title,.website:nth-child(even) .website-description,.website:nth-child(even) .website-footer{padding-right:6rem}
.website:nth-child(even) .website-title:before{right:-81px;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);-webkit-transform-origin:top left;-ms-transform-origin:top left;transform-origin:top left}
.website:nth-child(even) .website-title:after{right:-70px}
.website-title{margin:0 0 1.8rem 0;padding-bottom:.6rem;font-size:1.8rem}
.website-title:before{width:80px}
.website-title:after{width:16px;height:16px;bottom:-71px}
.website-title h2{display:inline-block;font-size:1.8rem}
.website-title .separator{display:inline-block}
.website-title small{top:-5px;position:relative;display:inline-block;font-size:1.2rem}
.website-links{display:inline-block}
.website-portal{position:absolute;top:-20px}
.portal{width:400px;height:400px}
.portal-outer{width:400px;height:400px}
.portal-inner{width:600px;height:600px}
.portal-inner img{width:600px;height:600px}
.contact-text{max-width:50vw}
.contact-info ul{max-width:320px}
.contact-form{min-width:400px}
.earth{bottom:0;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}
.moon{bottom:0;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}
}@media(orientation:landscape) and (max-width:900px){.island-main{height:60vh}
.island-impact{width:70vh;height:60vh}
.island-shield{height:34.09vh}
.contact-text{max-width:50vw}
.earth-inner{width:100vw;height:100vw;bottom:-33.3333333333vw;right:-33.3333333333vw}
.earth-atmosphere{width:112.5vw;height:112.5vw;bottom:-39.5833333333vw;right:-39.5833333333vw}
.earth-glow{width:150vw;height:150vw;bottom:-58.3333333333vw;right:-58.3333333333vw}
.moon-inner{width:20vw;height:20vw;bottom:45vw;right:45vw}
}@-webkit-keyframes fadeIn{from{opacity:0}
to{opacity:1}
}@keyframes fadeIn{from{opacity:0}
to{opacity:1}
}@-webkit-keyframes fadeInMobile{from{opacity:0}
to{opacity:.5}
}@keyframes fadeInMobile{from{opacity:0}
to{opacity:.5}
}@-webkit-keyframes islandMove{0%{-webkit-transform:translateY(0) rotate(0.001deg);transform:translateY(0) rotate(0.001deg)}
50%{-webkit-transform:translateY(-1vh) rotate(0.001deg);transform:translateY(-1vh) rotate(0.001deg)}
100%{-webkit-transform:translateY(0) rotate(0.001deg);transform:translateY(0) rotate(0.001deg)}
}@keyframes islandMove{0%{-webkit-transform:translateY(0) rotate(0.001deg);transform:translateY(0) rotate(0.001deg)}
50%{-webkit-transform:translateY(-1vh) rotate(0.001deg);transform:translateY(-1vh) rotate(0.001deg)}
100%{-webkit-transform:translateY(0) rotate(0.001deg);transform:translateY(0) rotate(0.001deg)}
}@-webkit-keyframes crystalMove{0%{-webkit-transform:translateY(0) rotate(0.001deg);transform:translateY(0) rotate(0.001deg)}
50%{-webkit-transform:translateY(-60px) rotate(0.001deg);transform:translateY(-60px) rotate(0.001deg)}
100%{-webkit-transform:translateY(0) rotate(0.001deg);transform:translateY(0) rotate(0.001deg)}
}@keyframes crystalMove{0%{-webkit-transform:translateY(0) rotate(0.001deg);transform:translateY(0) rotate(0.001deg)}
50%{-webkit-transform:translateY(-60px) rotate(0.001deg);transform:translateY(-60px) rotate(0.001deg)}
100%{-webkit-transform:translateY(0) rotate(0.001deg);transform:translateY(0) rotate(0.001deg)}
}@-webkit-keyframes meteorImpact{0%{-webkit-transform:translate(-28vh,-50vh);transform:translate(-28vh,-50vh);opacity:1}
100%{-webkit-transform:translate(0,0);transform:translate(0,0);opacity:0}
}@keyframes meteorImpact{0%{-webkit-transform:translate(-28vh,-50vh);transform:translate(-28vh,-50vh);opacity:1}
100%{-webkit-transform:translate(0,0);transform:translate(0,0);opacity:0}
}@-webkit-keyframes meteorTail{0%{opacity:1;-webkit-transform:rotate(-30deg) scaleX(1);transform:rotate(-30deg) scaleX(1);background:-webkit-gradient(linear,left top,left bottom,from(transparent),to(#60cdff));background:-webkit-linear-gradient(transparent,#60cdff);background:linear-gradient(transparent,#60cdff)}
50%{opacity:1;-webkit-transform:rotate(-30deg) scaleX(1);transform:rotate(-30deg) scaleX(1);background:-webkit-gradient(linear,left top,left bottom,from(transparent),to(#60cdff));background:-webkit-linear-gradient(transparent,#60cdff);background:linear-gradient(transparent,#60cdff)}
100%{opacity:0;-webkit-transform:rotate(-30deg) scaleX(0.1);transform:rotate(-30deg) scaleX(0.1);background:white}
}@keyframes meteorTail{0%{opacity:1;-webkit-transform:rotate(-30deg) scaleX(1);transform:rotate(-30deg) scaleX(1);background:-webkit-gradient(linear,left top,left bottom,from(transparent),to(#60cdff));background:-webkit-linear-gradient(transparent,#60cdff);background:linear-gradient(transparent,#60cdff)}
50%{opacity:1;-webkit-transform:rotate(-30deg) scaleX(1);transform:rotate(-30deg) scaleX(1);background:-webkit-gradient(linear,left top,left bottom,from(transparent),to(#60cdff));background:-webkit-linear-gradient(transparent,#60cdff);background:linear-gradient(transparent,#60cdff)}
100%{opacity:0;-webkit-transform:rotate(-30deg) scaleX(0.1);transform:rotate(-30deg) scaleX(0.1);background:white}
}@-webkit-keyframes meteorExplode{0%{-webkit-transform:rotate(-30deg) scaleX(1) scaleY(3);transform:rotate(-30deg) scaleX(1) scaleY(3)}
70%{-webkit-transform:rotate(-30deg) scaleX(1) scaleY(3);transform:rotate(-30deg) scaleX(1) scaleY(3)}
100%{-webkit-transform:rotate(-30deg) scaleX(5) scaleY(1);transform:rotate(-30deg) scaleX(5) scaleY(1)}
}@keyframes meteorExplode{0%{-webkit-transform:rotate(-30deg) scaleX(1) scaleY(3);transform:rotate(-30deg) scaleX(1) scaleY(3)}
70%{-webkit-transform:rotate(-30deg) scaleX(1) scaleY(3);transform:rotate(-30deg) scaleX(1) scaleY(3)}
100%{-webkit-transform:rotate(-30deg) scaleX(5) scaleY(1);transform:rotate(-30deg) scaleX(5) scaleY(1)}
}@-webkit-keyframes shieldImpact{from{-webkit-transform:scale(0);transform:scale(0);opacity:.3}
to{-webkit-transform:scale(1);transform:scale(1);opacity:0}
}@keyframes shieldImpact{from{-webkit-transform:scale(0);transform:scale(0);opacity:.3}
to{-webkit-transform:scale(1);transform:scale(1);opacity:0}
}@-webkit-keyframes meteorFall{0%{-webkit-transform:translate(-116vh,-200vh);transform:translate(-116vh,-200vh);opacity:1}
100%{-webkit-transform:translate(0,0);transform:translate(0,0);opacity:0}
}@keyframes meteorFall{0%{-webkit-transform:translate(-116vh,-200vh);transform:translate(-116vh,-200vh);opacity:1}
100%{-webkit-transform:translate(0,0);transform:translate(0,0);opacity:0}
}@-webkit-keyframes meteorFall2{0%{-webkit-transform:translate(-174vh,-300vh);transform:translate(-174vh,-300vh);opacity:1}
100%{-webkit-transform:translate(0,0);transform:translate(0,0);opacity:0}
}@keyframes meteorFall2{0%{-webkit-transform:translate(-174vh,-300vh);transform:translate(-174vh,-300vh);opacity:1}
100%{-webkit-transform:translate(0,0);transform:translate(0,0);opacity:0}
}@-webkit-keyframes meteorFall3{0%{-webkit-transform:translate(-232vh,-400vh);transform:translate(-232vh,-400vh);opacity:1}
100%{-webkit-transform:translate(0,0);transform:translate(0,0);opacity:0}
}@keyframes meteorFall3{0%{-webkit-transform:translate(-232vh,-400vh);transform:translate(-232vh,-400vh);opacity:1}
100%{-webkit-transform:translate(0,0);transform:translate(0,0);opacity:0}
}@-webkit-keyframes meteorFallTail{0%{opacity:1;-webkit-transform:rotate(-30deg) scaleX(1);transform:rotate(-30deg) scaleX(1)}
100%{opacity:0;-webkit-transform:rotate(-30deg) scaleX(0);transform:rotate(-30deg) scaleX(0)}
}@keyframes meteorFallTail{0%{opacity:1;-webkit-transform:rotate(-30deg) scaleX(1);transform:rotate(-30deg) scaleX(1)}
100%{opacity:0;-webkit-transform:rotate(-30deg) scaleX(0);transform:rotate(-30deg) scaleX(0)}
}@-webkit-keyframes floatingAstronaut{0%{-webkit-transform:translate(-50%,-50%) rotate(0);transform:translate(-50%,-50%) rotate(0)}
100%{-webkit-transform:translate(-50%,-50%) rotate(360deg);transform:translate(-50%,-50%) rotate(360deg)}
}@keyframes floatingAstronaut{0%{-webkit-transform:translate(-50%,-50%) rotate(0);transform:translate(-50%,-50%) rotate(0)}
100%{-webkit-transform:translate(-50%,-50%) rotate(360deg);transform:translate(-50%,-50%) rotate(360deg)}
}@-webkit-keyframes floatingAstronaut2{0%{-webkit-transform:translateY(0);transform:translateY(0)}
50%{-webkit-transform:translateY(2vh);transform:translateY(2vh)}
100%{-webkit-transform:translateY(0);transform:translateY(0)}
}@keyframes floatingAstronaut2{0%{-webkit-transform:translateY(0);transform:translateY(0)}
50%{-webkit-transform:translateY(2vh);transform:translateY(2vh)}
100%{-webkit-transform:translateY(0);transform:translateY(0)}
}@-webkit-keyframes portalAnim1{from{-webkit-transform:rotate(0);transform:rotate(0)}
to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}
}@keyframes portalAnim1{from{-webkit-transform:rotate(0);transform:rotate(0)}
to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}
}@-webkit-keyframes portalAnim2{from{-webkit-transform:rotate(50deg) scale(0.85);transform:rotate(50deg) scale(0.85)}
to{-webkit-transform:rotate(410deg) scale(0.85);transform:rotate(410deg) scale(0.85)}
}@keyframes portalAnim2{from{-webkit-transform:rotate(50deg) scale(0.85);transform:rotate(50deg) scale(0.85)}
to{-webkit-transform:rotate(410deg) scale(0.85);transform:rotate(410deg) scale(0.85)}
}@-webkit-keyframes planetSpin{from{-webkit-transform:translateX(-50%) rotate(0.001deg);transform:translateX(-50%) rotate(0.001deg)}
to{-webkit-transform:translateX(0) rotate(0.001deg);transform:translateX(0) rotate(0.001deg)}
}@keyframes planetSpin{from{-webkit-transform:translateX(-50%) rotate(0.001deg);transform:translateX(-50%) rotate(0.001deg)}
to{-webkit-transform:translateX(0) rotate(0.001deg);transform:translateX(0) rotate(0.001deg)}
}