*, ::before, ::after {
    box-sizing: border-box;
    padding: 0;
    margin: 0;
    font-family: monospace;
    /*font-weight: bold;*/
    /*user-select: none; */
}

*:focus {
    outline: none;
}

:root {
    --BLACK: #1d1f21;
    --WHITE: #c5c8c6;
    --DARK_GREY: #373b41;
    --MED_GREY: #373b41;
    --LIGHT_GREY: #707880;
    --RED: #a54242;
    --LIGHT_RED: #cc6666;
    --GREEN: #8c9440;
    --LIGHT_GREEN: #b5bd68;
    --ORANGE: #de935f;
    --YELLOW: #f0c674;
    --BLUE: #5f819d;
    --LIGHT_BLUE: #81a2be;
    --MAGENTA: #85678f;
    --LIGHT_MAGENTA: #b294bb;
    --TEAL: #5e8d87;
    --LIGHT_TEAL: #8abeb7;

    --HOVER: var(--GREEN);
    --FORGROUND: var(--WHITE);
    --BACKGROUND: var(--BLACK);

}

a{
    color: var(--FORGROUND);
}

body{
    height: 100vh;
    width: 100%;
    padding: 10px;
    display: flex;
    align-items: center;
    /* justify-content: center; */
    flex-direction: column;

    background-color: var(--BACKGROUND)
}

.introHolder{
    width: 100%;
    display: flex;
    align-content: flex-start;
    flex-direction: column;
    margin-top: 20px;
}

.mainTitle{
    font-size: 100px;
    color: var(--FORGROUND);
    font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
    /* background-color:blue; */
    /* vertical-align: baseline; */
    font-weight: bold;
    /* height: 145px; */
    line-height: 75%;
}

.mainText{
    font-size: 20px;
    color: var(--FORGROUND);
    /* background-color:green; */
    margin-left: 10px;
}

.linkListHolder{
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    margin-top: 30px;
    margin-left: 10px;
}

.linkHolder{
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    color: var(--FORGROUND);
    border-color: var(--FORGROUND);
    cursor: pointer;
    margin-bottom: 30px;
}

.linkHolder:hover{
    color: var(--HOVER);
    border-color: var(--HOVER);
}

.linkHolder:hover .fill{
    background-color: var(--HOVER);
}

.linkHolder a{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 99;
}

.linkTextHolder{
    display: flex;
    flex-direction: column;
    /* background-color: blue; */
    width: 100%;
    order: 1;
}

.linkTitle{
    font-size: 30px;
    font-weight: bold;
}

.linkText{
    font-size: 20px;
}

.linkImg{
    width: 300px;
    height: 300px;
    margin-top: 10px;
    order: 2;
}

.fill{
    background-color: var(--FORGROUND);
}

.fillTransparent{
    background-color: var(--BACKGROUND);
}

.empty{
    height: 100px;
}


/* ================ portfolio ================ */

.portHolder{
    position: relative;
    height: 100%;
    width: 100%;
}

.portHead{
    position: absolute;
    top: 0;
    left: 75px;
    width: 150px;
    height: 200px;
    border-radius: 50%;
}

.portBody{
    position: absolute;
    bottom: 0;
    left: 0;

    width: 300px;
    height: 75px;
    border-top-left-radius: 50px;
    border-top-right-radius: 50px;
    border-bottom: 0;

}

@keyframes headBounce {
    0% {
        top: 0;
    }
    50%{
        top: 10px;
    }
    100%{
        top: 0;
    }
}

.linkHolder:hover .portHead{
    animation: headBounce 2s infinite;
}


/* ================ mines ================ */

.minesTable{
    width: 100%;
    height: 100%;
    border-collapse: collapse;
}

.minesTable td{
    border: solid 2px;
    font-size: 20px;
    text-align: center;
    height: 20px;
    width: 20px;
}

@keyframes field1{
    0%{
        color: var(--HOVER);
    }
    10%{
        color: var(--BACKGROUND);
        border-color: var(--HOVER);
    }
    90%{
        color: var(--BACKGROUND);
        border-color: var(--HOVER);
    }
    100%{
        color: var(--HOVER);
    }
}

@keyframes field2{
    20%{
        color: var(--HOVER);
    }
    30%{
        color: var(--BACKGROUND);
        border-color: var(--HOVER);
    }
    90%{
        color: var(--BACKGROUND);
        border-color: var(--HOVER);
    }
    100%{
        color: var(--HOVER);
    }
}

@keyframes field3{
    40%{
        color: var(--HOVER);
    }
    50%{
        color: var(--BACKGROUND);
        border-color: var(--HOVER);
    }
    90%{
        color: var(--BACKGROUND);
        border-color: var(--HOVER);
    }
    100%{
        color: var(--HOVER);
        border-color: var(--HOVER);
    }
}

@keyframes field4{
    60%{
        color: var(--HOVER);
    }
    80%{
        color: var(--BACKGROUND);
        border-color: var(--HOVER);
    }
    90%{
        color: var(--BACKGROUND);
        border-color: var(--HOVER);
    }
    100%{
        color: var(--HOVER);
        border-color: var(--HOVER);
    }
}

.linkHolder:hover .minesTable tr:nth-child(1) td:nth-child(4){
    font-weight: bold;
    animation: field1 2s infinite;
}

.linkHolder:hover .minesTable tr:nth-child(4) td:nth-child(3){
    font-weight: bold;
    animation: field2 2s infinite;
}

.linkHolder:hover .minesTable tr:nth-child(3) td:nth-child(3){
    font-weight: bold;
    animation: field3 2s infinite;
}

.linkHolder:hover .minesTable tr:nth-child(3) td:nth-child(1){
    font-weight: bold;
    animation: field4 2s infinite;
}

/* ================ ie ================ */

.internetExplorer{
    position: relative;
    width: 100%;
    height:100%;
}

.ieOuterCircle{
    position: absolute;
    top: 50px;
    left: 50px;
    height: 200px;
    width: 200px;
    border-radius: 50%;
    /*border: solid 2px var(--BACKGROUND);*/
}

.ieInnerCircleTop{
    position: absolute;
    top: 85px;
    left: 100px;

    width: 100px;
    height: 50px;
    border-top-left-radius: 50px;
    border-top-right-radius: 50px;
    border-bottom: 0;
}

.ieInnerCircleBottom{
    position: absolute;
    top: 160px;
    left: 100px;
    
    width: 100px;
    height: 50px;
    border-bottom-left-radius: 50px;
    border-bottom-right-radius: 50px;
    border-top: 0; 
}

.ieOpening{
    position: absolute;
    top: 160px;
    left: 180px;
    height: 30px;
    width: 70px;
}

.ieRing{
    position: absolute;
    top:-10px;
    left: 80px;
    width: 120px;
    height: 300px;
    border: solid 15px;
    border-radius: 50%;
    transform: rotate(45deg);
}

@keyframes ieRingPulse{
    0%{
        transform: scale(1) rotate(45deg);
    }
    50%{
        transform: scale(1.2) rotate(50deg);
    }
    100%{
        transform: scale(1) rotate(45deg);
    }
}

.linkHolder:hover .ieRing{
    animation: ieRingPulse 3s infinite;
}



/* ================ processor ================ */

.processorHolder{
    position: relative;
    width: 100%;
    height: 100%;
}

.processorBody{
    position: absolute;
    top: 0;
    left: 75px;
    width: 150px;
    height: 300px;
    border: solid 2px var(--BACKGROUND);
}

.processorTopCircle{
    position: absolute;
    top: 0;
    left: 125px;
    
    width: 50px;
    height: 25px;
    border-bottom-left-radius: 25px;
    border-bottom-right-radius: 25px;
    border-top: 0; 
}

.processorText{
    position: absolute;
    top: 120px;
    left: 90px;
    transform: rotate(-90deg);
    color: var(--BACKGROUND);
    font-size: 50px;
    font-weight: bold;
}

.processorLegs{
    position: absolute;
    top: 0;
    left: 35px;
    border-collapse: collapse;
}

.processorLegs td{
    height: 20px;
    width: 230px;
}

@keyframes processorWalk1{
    0%{
        transform: translate(0px,0px);
    }
    14%{
        transform: translate(0px,-20px);
    }
    28%{
        transform: translate(0px,0px);
    }
}

@keyframes processorWalk2{
    14%{
        transform: translate(0px,0px);
    }
    28%{
        transform: translate(0px,-20px);
    }
    42%{
        transform: translate(0px,0px);
    }
}

@keyframes processorWalk3{
    28%{
        transform: translate(0px,0px);
    }
    42%{
        transform: translate(0px,-20px);
    }
    56%{
        transform: translate(0px,0px);
    }
}

@keyframes processorWalk4{
    42%{
        transform: translate(0px,0px);
    }
    56%{
        transform: translate(0px,-20px);
    }
    70%{
        transform: translate(0px,0px);
    }
}

@keyframes processorWalk5{
    56%{
        transform: translate(0px,0px);
    }
    70%{
        transform: translate(0px,-20px);
    }
    84%{
        transform: translate(0px,0px);
    }
}

@keyframes processorWalk6{
    70%{
        transform: translate(0px,0px);
    }
    84%{
        transform: translate(0px,-20px);
    }
    98%{
        transform: translate(0px,0px);
    }
}

@keyframes processorWalk7{
    84%{
        transform: translate(0px,0px);
    }
    98%{
        transform: translate(0px,-20px);
    }
    100%{
        transform: translate(0px,0px);
    }
}

.linkHolder:hover .processorLegs tr:nth-child(2){
    animation: processorWalk1 1s infinite;
}

.linkHolder:hover .processorLegs tr:nth-child(4){
    animation: processorWalk2 1s infinite;
}

.linkHolder:hover .processorLegs tr:nth-child(6){
    animation: processorWalk3 1s infinite;
}

.linkHolder:hover .processorLegs tr:nth-child(8){
    animation: processorWalk4 1s infinite;
}

.linkHolder:hover .processorLegs tr:nth-child(10){
    animation: processorWalk5 1s infinite;
}

.linkHolder:hover .processorLegs tr:nth-child(12){
    animation: processorWalk6 1s infinite;
}

.linkHolder:hover .processorLegs tr:nth-child(14){
    animation: processorWalk7 1s infinite;
}

/* ================ anime ================ */

.animeHolder{
    position: relative;
    height: 100%;
    width: 100%;
}

#best-girl-link:hover{
    color: var(--LIGHT_MAGENTA);
}

.animeHeadHolder{
    position: absolute;
    top: 0;
    left: 75px;
    width: 150px;
    height: 200px;
}

.animeHead{
    position: absolute;
    top: 0;
    left: 0;
    width: 150px;
    height: 200px;
    border-radius: 50%;
    border: 2px solid var(--BACKGROUND);
}

.animeHair{
    position: absolute;
    top: 0;
    left: -25px;
    width: 200px;
    height: 200px;
    border-radius: 50%;
}

.animeHairCutOff{
    position: absolute;
    top: 100px;
    left: -25px;
    width: 200px;
    height: 100px;
}

.animeHairLonger{
    position: absolute;
    top: 99px;
    left: -25px;
    width: 200px;
    height: 75px;
}

.animeHairBangs{
    position: absolute;
    top: 0;
    left: 2px;
    width: 145px;
    height: 75px;
    border-top-left-radius: 80px;
    border-top-right-radius: 80px;
    border-bottom: solid 2px var(--BACKGROUND);
}

.animeBody{
    position: absolute;
    bottom: 0;
    left: 0;

    width: 300px;
    height: 75px;
    border-top-left-radius: 50px;
    border-top-right-radius: 50px;
    border: solid 2px var(--BACKGROUND);
}

.animeMouth{
    position: absolute;
    top: 150px;
    left: 55px;
    width: 40px;
    height: 3px;
    border-bottom-left-radius: 50%;
    border-bottom-right-radius: 50%;
}

.animeEye1{
    position: absolute;
    top: 80px;
    left: 20px;
    width: 30px;
    height: 20px;
    border-radius: 50%;
}

.animeEye2{
    position: absolute;
    top: 80px;
    left: 100px;
    width: 30px;
    height: 20px;
    border-radius: 50%;
}

.animeHandHolder{
    position: absolute;
    top: 270px;
    transform: rotate(-30deg) scale(40%);
}

.animePalm{
    position: absolute;
    top: 40px;
    left: 20px;
    width: 60px;
    height: 60px;
    border-radius: 50%;
}

.animeFinger1{
    position: absolute;
    top: 0;
    left: 20px;
    width: 20px;
    height: 60px;
    border-radius: 10px;
    transform: rotate(-20deg);
}

.animeFinger2{
    position: absolute;
    top: 0;
    left: 60px;
    width: 24px;
    height: 60px;
    border-radius: 10px;
    transform: rotate(20deg);
    border: 2px solid var(--BACKGROUND);
}

.linkHolder:hover .animeMouth{
    animation: animeMouthOpen 0.2s forwards;
}

.linkHolder:hover .animeEye1{
    animation: animeEye 0.2s forwards;
}

.linkHolder:hover .animeEye2{
    animation: animeEye 0.2s forwards;
}

.linkHolder:hover .animeHeadHolder{
    animation: animeHeadTurn 0.2s forwards;
}

.linkHolder:hover .animeHandHolder{
    animation: animeHandUp 0.2s forwards;
}

@keyframes animeHeadTurn{
    100%{
        transform: rotate(-30deg) translateX(-30px);
    }
}

@keyframes animeMouthOpen{
    100%{
        height: 30px;
    }
}

@keyframes animeEye{
    100%{
        height: 3px;
        transform: translateY(10px);
    }
}

@keyframes animeHandUp {
    100%{
        transform: translate(-50px,-90px) rotate(-30deg) scale(100%);
    }
}




/*============================ Calculator ================*/

.calcHolder{
    position: relative;
    height: 100%;
    width: 100%;
}

.calcShell{
    width: 100%;
    height: 100%;
}

.calcScreenHolder{
    position: absolute;
    width: 280px;
    height: 60px;
    top: 10px;
    left: 10px;
    padding-right: 10px;
}

.calcScreen{
    width: 100%;
    height:100%;
    overflow: hidden;
}

.calcNumberHolder{
    width: 100%;
    height:100%;
    display: flex;
    flex-direction: row-reverse;
    transform: translateX(213px);
}

.calcNumber{
    width: 31px;
    height: 100%;
    font-size: 60px;
    line-height: 60px;
    text-align: center;
}

.calcKeyBoardHolder{
    position: absolute;
    width: 280px;
    height: 200px;
    left: 10px;
    bottom: 10px;
}

.calcKeyBoardHolder table{
    width: 100%;
    height: 100%;
}

.calcKeyBoardHolder td{
    color: var(--BACKGROUND);
    text-align: center;
    font-size: 20px;
}

@keyframes calcNumbers {
    0%{
        transform: translateX(182px);
    }
    14%{
        transform: translateX(182px);
    }
    15%{
        transform: translateX(152px);
    }
    28%{
        transform: translateX(152px);
    }
    29%{
        transform: translateX(121px);
    }
    42%{
        transform: translateX(121px);
    }
    43%{
        transform: translateX(90px);
    }
    56%{
        transform: translateX(90px);
    }
    57%{
        transform: translateX(60px);
    }
    70%{
        transform: translateX(60px);
    }
    71%{
        transform: translateX(30px);
    }
    84%{
        transform: translateX(30px);
    }
    85%{
        transform: translateX(-1px);
    }
    100%{
        transform: translateX(-1px);
    }
}

@keyframes calc5 {
    0%{
        background-color: var(--BACKGROUND);
        color: var(--FORGROUND);
    }
    7%{
        background-color: var(--BACKGROUND);
        color: var(--FORGROUND);
    }
    8%{
        background-color: var(--GREEN);
        color: var(--BACKGROUND);
    }
}

@keyframes calc3 {
    0%{
        background-color: var(--GREEN);
        color: var(--BACKGROUND);
    }
    14%{
        background-color: var(--GREEN);
        color: var(--BACKGROUND);
    }
    15%{
        background-color: var(--BACKGROUND);
        color: var(--FORGROUND);
    }
    21%{
        background-color: var(--BACKGROUND);
        color: var(--FORGROUND);
    }
    22%{
        background-color: var(--GREEN);
        color: var(--BACKGROUND);
    }
}

@keyframes calc1 {
    0%{
        background-color: var(--GREEN);
        color: var(--BACKGROUND);
    }
    28%{
        background-color: var(--GREEN);
        color: var(--BACKGROUND);
    }
    29%{
        background-color: var(--BACKGROUND);
        color: var(--FORGROUND);
    }
    36%{
        background-color: var(--BACKGROUND);
        color: var(--FORGROUND);
    }
    37%{
        background-color: var(--GREEN);
        color: var(--BACKGROUND);
    }
}

@keyframes calc8 {
    0%{
        background-color: var(--GREEN);
        color: var(--BACKGROUND);
    }
    42%{
        background-color: var(--GREEN);
        color: var(--BACKGROUND);
    }
    43%{
        background-color: var(--BACKGROUND);
        color: var(--FORGROUND);
    }
    50%{
        background-color: var(--BACKGROUND);
        color: var(--FORGROUND);
    }
    51%{
        background-color: var(--GREEN);
        color: var(--BACKGROUND);
    }
    84%{
        background-color: var(--GREEN);
        color: var(--BACKGROUND);
    }
    85%{
        background-color: var(--BACKGROUND);
        color: var(--FORGROUND);
    }
    92%{
        background-color: var(--BACKGROUND);
        color: var(--FORGROUND);
    }
    93%{
        background-color: var(--GREEN);
        color: var(--BACKGROUND);
    }
    100%{
        background-color: var(--GREEN);
        color: var(--BACKGROUND);
    }
}

@keyframes calc0 {
    0%{
        background-color: var(--GREEN);
        color: var(--BACKGROUND);
    }
    56%{
        background-color: var(--GREEN);
        color: var(--BACKGROUND);
    }
    57%{
        background-color: var(--BACKGROUND);
        color: var(--FORGROUND);
    }
    64%{
        background-color: var(--BACKGROUND);
        color: var(--FORGROUND);
    }
    65%{
        background-color: var(--GREEN);
        color: var(--BACKGROUND);
    }
    70%{
        background-color: var(--GREEN);
        color: var(--BACKGROUND);
    }
    71%{
        background-color: var(--BACKGROUND);
        color: var(--FORGROUND);
    }
    78%{
        background-color: var(--BACKGROUND);
        color: var(--FORGROUND);
    }
    79%{
        background-color: var(--GREEN);
        color: var(--BACKGROUND);
    }
    100%{
        background-color: var(--GREEN);
        color: var(--BACKGROUND);
    }
}

.linkHolder:hover .calcNumberHolder{
    animation: calcNumbers 2s infinite;
}

.linkHolder:hover #calc5{
    animation: calc5 2s infinite;
}

.linkHolder:hover #calc3{
    animation: calc3 2s infinite;
}

.linkHolder:hover #calc1{
    animation: calc1 2s infinite;
}

.linkHolder:hover #calc8{
    animation: calc8 2s infinite;
}

.linkHolder:hover #calc0{
    animation: calc0 2s infinite;
}

/*============================ planner ================*/

.plannerHolder{
    position: relative;
    height: 100%;
    width: 100%;
}

.car-wheel1{
    position: absolute;
    bottom: 0;
    left: 20px;
    width: 60px;
    height: 60px;
    border-radius: 50%;
}

.car-wheel2{
    position: absolute;
    bottom: 0;
    right: 20px;
    width: 60px;
    height: 60px;
    border-radius: 50%;
}

.car-wheel-empty{
    position: absolute;
    width: 40px;
    height: 40px;
    top: 10px;
    left: 10px;
    border-radius: 50%;

}
.car-wheel-line1{
    position: absolute;
    width: 4px;
    height: 40px;
    top: 10px;
    left: 28px;
}

.car-wheel-line2{
    position: absolute;
    width: 4px;
    height: 40px;
    top: 10px;
    left: 28px;
    transform: rotate(60deg);
}

.car-wheel-line3{
    position: absolute;
    width: 4px;
    height: 40px;
    top: 10px;
    left: 28px;
    transform: rotate(120deg);
}

.car-wheel-hole1{
    position: absolute;
    bottom: -5px;
    right: 12px;
    width: 76px;
    height: 76px;
    border-radius: 50%;
}

.car-wheel-hole2{
    position: absolute;
    bottom: -5px;
    left: 12px;
    width: 76px;
    height: 76px;
    border-radius: 50%;
}

.car-lower-body{
    position: absolute;
    width: 100%;
    height: 80px;
    bottom: 30px;
    left:0;
    border-top-right-radius: 60px 50px;
    border-top-left-radius: 50px 50px;
}

.car-top{
    position: absolute;
    right: 60px;
    bottom: 110px;
    height: 60px;
    width: 190px;
    border-top-right-radius: 100px 60px;
    border-top-left-radius: 50px 60px;
}

.front-window{
    position: absolute;
    width: 80px;
    height: 55px;
    bottom: 110px;
    right: 70px;
    border-top-right-radius: 80px 55px;
}

.rear-window{
    position: absolute;
    width: 65px;
    height: 55px;
    bottom: 110px;
    left: 75px;
    border-top-left-radius: 25px 30px;
}


@keyframes carBody {
    0%{
        transform: translateY(300px);
    }
    50%{
        transform: translateY(290px);

    }
    100%{
        transform: translateY(300px);

    }
}

@keyframes wheels {
    0%{
        transform: rotate(0deg);
    }

    100%{
        transform: rotate(360deg);

    }
}



.linkHolder:hover .car-body{
    animation: carBody 2s infinite;
}

.linkHolder:hover .car-wheel{
    animation: wheels 1s linear infinite;
}

/*============================ media ================*/

@media only screen and (min-width: 680px){

    .mainTitle{
        font-size: 150px;
    }

    .mainText{
        font-size: 25px;
        margin-left: 14px;
    }

    .linkListHolder{
        margin-left: 14px;
        width: 70%;
    }

    .linkHolder{
        flex-direction: row;
    }

    .linkTextHolder{
        /* height: 100%; */
        flex:1;
        order: 1;
    }

    .linkImg{
        margin-left: 20px;
        margin-right: 20px;
        order: 1;
    }
}

@media only screen and (min-width: 1500px){

}
