a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,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:after,blockquote:before,q:after,q:before{content:'';content:none}table{border-collapse:collapse;border-spacing:0}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration,input[type=search]::-webkit-search-results-button,input[type=search]::-webkit-search-results-decoration{-webkit-appearance:none;-moz-appearance:none}input[type=search]{-webkit-appearance:none;-moz-appearance:none;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}textarea{overflow:auto;vertical-align:top;resize:vertical}audio,canvas,video{display:inline-block;max-width:100%}audio:not([controls]){display:none;height:0}[hidden]{display:none}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}a:focus{outline:thin dotted}a:active,a:hover{outline:0}img{border:0;-ms-interpolation-mode:bicubic}figure{margin:0}form{margin:0}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0;white-space:normal}button,input,select,textarea{font-size:100%;margin:0;vertical-align:baseline}button,input{line-height:normal}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}button,html,input,select,textarea{color:#000}::-moz-selection{background:#b3d4fc;text-shadow:none}::selection{background:#b3d4fc;text-shadow:none}img{vertical-align:middle}fieldset{border:0;margin:0;padding:0}textarea{resize:vertical}.chromeframe{margin:.2em 0;background:#ccc;color:#000;padding:.2em 0}

.clearfix:after {visibility: hidden; display: block; font-size: 0; content: ''; clear: both; height: 0; }

* { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; }

.visuallyHidden:not(:focus):not(:active) { position: absolute; width: 1px; height: 1px; margin: -1px;border: 0;padding: 0;white-space: nowrap;clip-path: inset(100%);clip: rect(00 0 0);overflow: hidden;}

::selection {
  color: #917032;
  background:#000000;
}

@media print {
    img {
        height:50px;
        width:100px;
    }
}
@font-face {
    font-family:'Pacifico';
    font-style:"normal";
    src:local('Pacifico Regular'), local('Pacifico-Regular'), url(https://fonts.gstatic.com/s/pacifico/v12/FwZY7-Qmy14u91ezJ-6H6MmBp0u-.woff2) format('woff2');
    font-display: swap;
}

html {
    max-width: 100%;
    font-size:62.5%;
    font-family: 'Open Sans', sans-serif;
    scrollbar-color: #917032 #fcfcfc;     
}
html, body {
    max-width: 100%;
    overflow-x: hidden;
    position:relative;
}
::-webkit-scrollbar {
  width: 15px;
}
::-webkit-scrollbar-track {
  background: #fcfcfc;
}
::-webkit-scrollbar-thumb {
  background: #917032;
  border: 1px solid #fcfcfc;
}
h1 {
    font-size:6.0rem;
    color:white;
    font-weight:700;
    font-family: "Open Sans", sans-serif;
}
h2,h3 {
    font-family: "Bitter", sans-serif;
    font-weight:700;
}
h2 {
    font-size:4.0rem;
}
h3 {
    font-size: 3.0rem;
}
a {
    text-decoration:none;
}
span {
    color:rgb(145, 112, 50);
    font-weight:700;
}
/* Nav */
.navLarge  {
    width:100%;
    position:fixed;
    z-index:10;
    background-color:white;
    display:flex;
    margin:0 auto;
    justify-content: space-between;
    align-items:center;
}
.navLarge h3 {
    font-size:3.0rem;
    padding:15px;
    font-family: 'Open Sans', sans-serif;
}
.navLarge h3 a {
    color:black;
}
.navLarge  ul li {
    display:inline-block;
    padding:25px;
}
.navLarge ul li a {
    color:black;
    font-size:1.5rem;
}
.navLarge ul li a:hover,
.navLarge ul li a:focus {
    color:#917032;
}
/* Wrapper */
.heroWrapper {
    background: black;
    background-image: url('./assets/bg2.jpg');
    background-repeat:no-repeat;
    background-position:center;
    background-size:cover;
    height: 100vh;
    position: relative;
    z-index: 88;
    overflow: hidden;
}
.wrapper {
    width:65%;
    margin:0 auto;
}
.aboutWrapper {
    display:grid;
    grid-template-columns:3fr 3fr;
    margin:0 auto;
    align-items:center;
}
.aboutWrapper img {
    width:100%;
    padding:100px 0;
}
.skillsBG {
    background-color:rgb(236, 236, 236);
    background-image:url('./assets/pattern2.jpg');
}
.skillsWrapper {
    text-align:center;
    padding-bottom:50px;
}
.skillsWrapper h2{
    padding:50px;
}
/* Hero */
.heroTitle  {
    text-align:left;
    width:61.8%;
    height:100%;
    vertical-align:center;
    position:relative;
    top:40%;
    z-index:10;
    left:16.5%;
}
.heroTitle p {
    color:white;
    font-size:2.0rem;
    margin: 25px 0;
}
.heroParticles canvas {
    position:absolute;
    top:0;
}
.heroTitle {
    position:absolute;
}
/* about */
.aboutText {
    margin:50px 0 50px 50px;
}
.aboutText p {
    font-size:1.5rem;
    line-height:2.5rem;
    margin-top:20px;
}
/* What I do */
.doWrapper {
    width:80%;
    margin:0 auto;
    padding:0 0 50px 0;
    text-align:center;
}
.doBG {
    background-color:rgb(236, 236, 236);
    background-image:url('./assets/pattern2.jpg');
    background-position:bottom;
}
.doGrid {
    display:grid;
    grid-template-columns: 1fr 1fr 1fr;
    justify-content: space-between;
    padding:0 50px;
}
.doEach p {
    width:65%;
    margin:0 auto;
    font-size:1.5rem;
    line-height:2.5rem;
}
.doWrapper h2 {
    padding:50px;
}
.doGrid i {
    font-size:5.0rem;
    color:rgb(82, 82, 82);
}
.doGrid h3 {
    font-size:2.5rem;
    padding:25px 0;
    font-weight:700;
}
/* Resume */
.resumeBG {
    background-color:#6d6d6d;
    background-image:url('./assets/pattern3.jpg');
    background-position:top;
}
.resumeWrapper {
    color:white;
    padding-top:50px;
}
.resumeWrapper h2{
    text-align:center;
    padding:50px 0 25px 0;
}
.resumeIcons {
    font-size: 3.0rem;
    display:grid;
    grid-template-columns: 1fr 1fr;
    justify-content: space-between;
    text-align:center;
}
.highlight {
    text-shadow:15px 15px 15px black;
}
.circle {
    padding:40px;
    background-color:rgba(0, 0, 0, 0.5);
    border-radius:50%;
}
.resumeEach {
    padding:10px 0 50px 0;
    width:80%;
    margin:0 auto;
}
.resumeGrid {
    display:grid;
    grid-template-columns:1fr 1fr;
    justify-content:center;
    padding:50px 0 100px 0;
}
.resumeGrid p {
    font-size:1.5rem;
    line-height:2.3rem;
}
.resumeGrid h3 {
    font-size:2.0rem;
    line-height:3.2rem;
    font-weight:700;
    border-bottom:2px solid white;
    margin-bottom:15px;
    padding-bottom:15px;
}
/* Projects */
.projectsWrapper {
    padding:100px 0;
    width:80%;
    margin:0 auto;
}
.projectsWrapper h2 {
    text-align:center;
    padding-bottom:25px;
}
.projectsImage {
    width:50%;
    padding:0 50px;
}
.projectsImage img {
    max-width:100%;
    background-color:black;
    border: 5px double rgba(255, 255, 255, 0.2);
}
.projectsEach {
    display:flex;
    padding:50px 0;
    min-height:450px;
    overflow-x: hidden
}
.projectsEach h3 {
    font-size: 3.0rem;
    font-weight:700;
    margin-bottom:20px;
}
.projectsEach p {
    font-size: 1.5rem;
    line-height:2.5rem;
    margin-bottom:20px
}
.projectsText {
    width:50%;
    margin:0 auto;
    padding:0 50px 50px 50px;
}
.projectsText p:nth-child(3) {
    font-weight:700;
    font-size:2.0rem;
}
.projectsLive {
    margin:25px 0;
    display:flex;
}
.projectsLive a {
    display:block;
    text-align:center;
}
.projectsLive a:first-child {
    margin-right:20px;
}
.projectsLive a,
.contactWrapper .button{
    padding:10px 30px;
    background-color:#6d6d6d;
    font-size:2.0rem;
    color:white;
    border: 5px double rgba(255, 255, 255, 0.2); 
}
.projectsLive a:hover,
.projectsLive a:focus,
.contactWrapper .button:hover,
.contactWrapper .button:focus {
    background-color:#917032;
    color:black;
}
.projectsContainer div:nth-child(odd) {
    flex-direction: row-reverse;
    text-align:right;
}
.projectsContainer div:nth-child(odd) .projectsLive {
    justify-content:flex-end;
}
/* Skills */
.skillsIconWrapper {
    margin:0 auto;
}
.skillsIcon {
    font-size: 7.5rem;
    color:black;
    display:grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
    justify-content: space-evenly;
    grid-gap:50px;
}
.skillsWrapper h3 {
    padding:50px;
}
.skillsWrapper {
    padding-top:50px;
}
.skillsIcon {
    padding:50px 0;
}
.skillsIcon i {
    text-shadow: 0px 5px 2px #9e9e9e;
}
.skillsIcon li svg {
    filter: drop-shadow(0px 5px 2px #9e9e9e); 
}
.skillsText {
    display:flex;
    align-items:center;
    justify-content:center;
}
.skillsText p {
    font-size:2.5rem;
    position:absolute;
    color:black;
    font-weight:700;
    opacity:0;
    font-family: 'Bitter', sans-serif;
}
.skillsIcon li:hover i,
.skillsIcon li:focus i,
.skillsIcon li:hover svg,
.skillsIcon li:focus svg {
    opacity: 0.3;
}
.skillsIcon li:hover p,
.skillsIcon li:focus p {
    background-color:#e8e8e8;
    opacity: 1;
    padding:5px 20px;
}
/* Contact */
.contactBG {
    background-color:black;
}
.contactWrapper {
    text-align:center;
    padding:100px 0 50px 0;
}
.contactWrapper h3 {
    color:white;
}
.contactWrapper a {
    color:grey;
    font-size:2.0rem;
}
.contactWrapper ul li a {
    color:#917032;
}
.contactWrapper li {
    display:inline-block;
    padding:50px 40px;
}
.contactWrapper li a:hover,
.contactWrapper li a:focus {
    color:white;
}
.contactMeeting {
    display:grid;
    grid-template-columns:1fr;
    width:40%;
    justify-content:center;
    margin:0 auto;
}
.contactMeeting .button {
    margin-top:50px;
}
footer {
    background-color:black;
}
.footerWrapper {
    width:65%;
    margin:0 auto;
    text-align:center;
    border-top:2px solid grey;
    color:grey;
    padding:50px 0 25px 0;
    font-size:1.5rem;
}
.footerWrapper a {
    color:grey;
    border-bottom:1px solid grey;
    line-height:2.5rem;
}
.footerWrapper a:hover,
.footerWrapper a:focus {
    color:#917032;
    border-bottom:1px solid white;
}
.footerWrapper p {
    line-height:2.0rem;
}
.footerKonami {
    color:#917032;
    padding-top:25px;
    font-size:1.5rem;
}
/* Responsiveness */
@media(max-width: 1200px){
    .aboutWrapper {
        grid-template-columns:1fr;
        text-align:center;
    }
    .aboutWrapper img {
        width:50%;
        text-align:center;
        padding-top:25px;
        margin-bottom:-100px;
    }
    .aboutText {
        text-align:left;
    }
}
@media(max-width: 1050px){
    .heroWrapper {
        background-image:url('./assets/bg1.jpg');
        background-size:cover;
    }
    .doGrid {
        padding: 0 25px;
    }
    .doGrid p {
        width:80%;
    }
    .projectsEach {
        flex-direction:column;  
        padding:20px 0;
    }
    .projectsImage {
        width: 100%;
        margin-bottom:30px;
    }
    .projectsText {
        width:100%;
    }
    .projectsContainer div:nth-child(odd) {
        flex-direction: column;
        text-align:left;
    }
    .projectsText .projectsLive {
        justify-content:end;
    }
    .projectsWrapper {
        padding-bottom:0;
    }
    .navLarge h3 {
        display:none;
    }
    .navLarge ul:nth-child(3) {
        display:none;
    }
    .navLarge ul:nth-child(2) {
        width:100%;
        display:flex;
        justify-content: space-evenly;
    }
    .navLarge ul li a {
        font-size:1.0rem;
    }
    .navLarge ul li {
        padding:15px;
    }
    .wrapper,
    .doWrapper,
    .footerWrapper {
        width:80%;
    }
    .aboutText {
        margin:25px 0;
    }
    .contactMeeting {
        width:60%;
    }
}
@media(max-width: 775px){
    .heroWrapper {
        background-image:url('./assets/bg2.jpg');
        background-size:contain;
    }
    .skillsIcon {
        grid-template-columns: 1fr 1fr 1fr;
        padding:0;
        font-size:6.0rem;
    }
    .projectsWrapper {
        width:100%;
    }
    h2 {
        font-size:3.0rem;
    }
    .contactWrapper li {
        padding: 25px 15px;
    }
    .doWrapper {
        display:none;
    }
    .wrapper,
    .footerWrapper {
        width:90%;
    }
    .heroWrapper h1 {
        font-size:4.0rem;
    }
    .aboutWrapper img {
        padding-top:50px;
    }
}   
@media(max-width: 500px){
    .resumeGrid {
        grid-template-columns:1fr;
        padding-bottom:50px;
    }
    .projectsLive a {
        font-size:1.5rem;
        padding:5px 15px;
    }
}
/*Header Pixel Art Arrow*/
.heroArrow {
	position: absolute;
    top: 90%; 
    left: 46.7%;
    height: 5vw;
    width: 32vw;
    transform: translateX(-50%);
    z-index:99;
}
.letter {
	position: absolute;
    top: 0;
    left: 0;
    height: 5vw; 
    width: 4vw;
    animation: pulseArrow 5s infinite;
}
.letter .bigPixel {
    transform: scale(0.75);
    height: 1vw;
    width:1vw;
}
.letter .bigPixel .smallPixel {
	background-color: white;
	position: relative;
    height: 0.5vw;
    width: 0.5vw;
}
.letter .bigPixel .smallPixel.smallPixel-3, 
.letter .bigPixel .smallPixel.smallPixel-4 { 
    top:-1vw;
    left:0.5vw;
}
.letter .bigPixel { position: relative; }
.letterV .bigPixel-21 { top:0vw; left:-3vw;}
.letterV .bigPixel-22 { top:0vw; left:-2vw; }
.letterV .bigPixel-23 { top:0vw; left:-1vw; }
.letterV .bigPixel-24 { top:0vw; left:0vw; }
.letterV .bigPixel-25 { top:-2vw; left:+1vw; }
.letterV .bigPixel-26 { top:-4vw; left:+2vw; }
.letterV .bigPixel-27 { top:-6vw; left:+3vw; }
/* Header Animation*/ 
.bigPixel, .smallPixel {
    transition: 1.5s cubic-bezier(.2,.75,0,1.25);
}
/* On Hover */
.letterV:hover .smallPixel { background-color: #917032; }
.letterV:hover .smallPixel-1 { transform: translate(-4vw,-4vw); }
.letterV:hover .smallPixel-2 { transform: translate(1vw,1vw); }
.letterV:hover .smallPixel-3 { transform: translate(1vw,1vw); }
.letterV:hover .smallPixel-4 { transform: translate(1vw,1vw); }
@keyframes pulseArrow {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  50% {
    -webkit-transform: scale(0.95);
            transform: scale(0.95);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
.shaker {
    animation: shake 2.5s;
    animation-iteration-count: infinite;
}
@keyframes shake {
0% { transform: translate(1px, 1px) rotate(0deg); }
  10% { transform: translate(-1px, -2px) rotate(-1deg); }
  20% { transform: translate(-3px, 0px) rotate(1deg); }
  30% { transform: translate(3px, 2px) rotate(0deg); }
  40% { transform: translate(1px, -1px) rotate(1deg); }
  50% { transform: translate(-1px, 2px) rotate(-1deg); }
  60% { transform: translate(-3px, 1px) rotate(0deg); }
  70% { transform: translate(3px, 1px) rotate(-1deg); }
  80% { transform: translate(-1px, -1px) rotate(1deg); }
  90% { transform: translate(1px, 2px) rotate(0deg); }
  100% { transform: translate(1px, -2px) rotate(-1deg); }
}
.colorchanger {
    animation:colorchange 10s infinite alternate; 
}
@keyframes colorchange {
    0% { color: red;}
    10% { color: orange;}
    20% { color: yellow;}
    30% { color: green;}
    40% { color: blue;}
    50% { color: indigo;}
    60% { color: violet;}
    80% { color: black;}
    100% { color: #917032;}
}