:root {
    --main-color: #eaeaea;
    --stroke-color: black;

}

/**/
body {
    background: var(--main-color);
}


body,
html {
    padding: 0;
    margin: 0;
    font-family: 'Quicksand', sans-serif;
    font-weight: 400;
    overflow: hidden;
}

.loading {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 3rem 0;
    gap: 10rem;
}

.writing {
    width: 320px;
    height: 200px;
    background-color: #3f3f3f;
    border: 1px solid #bbbbbb;
    border-radius: 6px 6px 4px 4px;
    position: relative;
}

.writing .topbar {
    position: absolute;
    width: 100%;
    height: 12px;
    background-color: #f1f1f1;
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
}

.writing .topbar div {
    height: 6px;
    width: 6px;
    border-radius: 50%;
    margin: 3px;
    float: left;
}

.writing .topbar div.green {
    background-color: #60d060;
}

.writing .topbar div.red {
    background-color: red;
}

.writing .topbar div.yellow {
    background-color: #e6c015;
}

.writing .code {
    padding: 15px;
}

.writing .code ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.writing .code ul li {
    background-color: #9e9e9e;
    width: 0;
    height: 7px;
    border-radius: 6px;
    margin: 10px 0;
}

.container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    /* height: 100vh; */
    height: auto;
    width: 100%;
    -webkit-transition: -webkit-transform .5s;
    transition: -webkit-transform .5s;
    transition: transform .5s;
    transition: transform .5s, -webkit-transform .5s;
}

.stack-container {
    position: relative;
    /* height: 210px; */
    height: 210px;
    width: 420px;
    -webkit-transition: width 1s, height 1s;
    transition: width 1s, height 1s;
}

.pokeup {
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
}

.pokeup:hover {
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px);
    -webkit-transition: .3s ease;
    transition: .3s ease;
}


.error {
    width: 400px;
    padding: 40px;
    text-align: center;
}

.error h1 {
    font-size: 125px;
    padding: 0;
    margin: 0;
    font-weight: 700;
}

.error h2 {
    margin: -30px 0 0 0;
    padding: 0px;
    font-size: 47px;
    letter-spacing: 12px;
}

.perspec {
    -webkit-perspective: 1000px;
    perspective: 1000px;
}

.writeLine {
    -webkit-animation: writeLine .4s linear forwards;
    animation: writeLine .4s linear forwards;
}

.explode {
    -webkit-animation: explode .5s ease-in-out forwards;
    animation: explode .5s ease-in-out forwards;
}

.card {
    -webkit-animation: tiltcard .5s ease-in-out 1s forwards;
    animation: tiltcard .5s ease-in-out 1s forwards;
    position: absolute;
    cursor: pointer;
}

@-webkit-keyframes tiltcard {
    0% {
        -webkit-transform: rotateY(0deg);
        transform: rotateY(0deg);
    }

    100% {
        -webkit-transform: rotateY(-30deg);
        transform: rotateY(-30deg);
    }
}

@keyframes tiltcard {
    0% {
        -webkit-transform: rotateY(0deg);
        transform: rotateY(0deg);
    }

    100% {
        -webkit-transform: rotateY(-30deg);
        transform: rotateY(-30deg);
    }
}

@-webkit-keyframes explode {
    0% {
        -webkit-transform: translate(0, 0) scale(1);
        transform: translate(0, 0) scale(1);
    }

    100% {
        -webkit-transform: translate(var(--spreaddist), var(--vertdist)) scale(var(--scaledist));
        transform: translate(var(--spreaddist), var(--vertdist)) scale(var(--scaledist));
    }
}

@keyframes explode {
    0% {
        -webkit-transform: translate(0, 0) scale(1);
        transform: translate(0, 0) scale(1);
    }

    100% {
        -webkit-transform: translate(var(--spreaddist), var(--vertdist)) scale(var(--scaledist));
        transform: translate(var(--spreaddist), var(--vertdist)) scale(var(--scaledist));
    }
}

@-webkit-keyframes writeLine {
    0% {
        width: 0;
    }

    100% {
        width: var(--linelength);
    }
}

@keyframes writeLine {
    0% {
        width: 0;
    }

    100% {
        width: var(--linelength);
    }
}

@media screen and (max-width: 1000px) {
    .container {
        -webkit-transform: scale(.85);
        transform: scale(.85);
    }
}

@media screen and (max-width: 850px) {
    .container {
        -webkit-transform: scale(.75);
        transform: scale(.75);
    }
}

@media screen and (max-width: 775px) {
    .container {
        -ms-flex-wrap: wrap-reverse;
        flex-wrap: wrap-reverse;
        -webkit-box-align: inherit;
        -ms-flex-align: inherit;
        align-items: inherit;
    }
}

@media screen and (max-width: 370px) {
    .container {
        -webkit-transform: scale(.6);
        transform: scale(.6);
    }
}

/**/

.gears {
    position: relative;
    margin: 0 auto;
    width: auto;
    height: 0;
}

.gear {
    position: relative;
    z-index: 0;
    width: 120px;
    height: 120px;
    margin: 0 auto;
    border-radius: 50%;
    background: var(--stroke-color);
}

.gear:before {
    position: absolute;
    left: 5px;
    top: 5px;
    right: 5px;
    bottom: 5px;
    z-index: 2;
    content: "";
    border-radius: 50%;
    background: var(--main-color);
}

.gear:after {
    position: absolute;
    left: 25px;
    top: 25px;
    z-index: 3;
    content: "";
    width: 70px;
    height: 70px;
    border-radius: 50%;
    border: 5px solid var(--stroke-color);
    box-sizing: border-box;
    background: var(--main-color);
}

.gear.one {
    left: -130px;
}

.gear.two {
    top: -75px;
}

.gear.three {
    top: -235px;
    left: 130px;
}

.gear .bar {
    position: absolute;
    left: -15px;
    top: 50%;
    z-index: 0;
    width: 150px;
    height: 30px;
    margin-top: -15px;
    border-radius: 5px;
    background: var(--stroke-color);
}

.gear .bar:before {
    position: absolute;
    left: 5px;
    top: 5px;
    right: 5px;
    bottom: 5px;
    z-index: 1;
    content: "";
    border-radius: 2px;
    background: var(--main-color);
}

.gear .bar:nth-child(2) {
    transform: rotate(60deg);
    -webkit-transform: rotate(60deg);
}

.gear .bar:nth-child(3) {
    transform: rotate(120deg);
    -webkit-transform: rotate(120deg);
}

@-webkit-keyframes clockwise {
    0% {
        -webkit-transform: rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(360deg);
    }
}

@-webkit-keyframes anticlockwise {
    0% {
        -webkit-transform: rotate(360deg);
    }

    100% {
        -webkit-transform: rotate(0deg);
    }
}

@-webkit-keyframes clockwiseError {
    0% {
        -webkit-transform: rotate(0deg);
    }

    20% {
        -webkit-transform: rotate(30deg);
    }

    40% {
        -webkit-transform: rotate(25deg);
    }

    60% {
        -webkit-transform: rotate(30deg);
    }

    100% {
        -webkit-transform: rotate(0deg);
    }
}

@-webkit-keyframes anticlockwiseErrorStop {
    0% {
        -webkit-transform: rotate(0deg);
    }

    20% {
        -webkit-transform: rotate(-30deg);
    }

    60% {
        -webkit-transform: rotate(-30deg);
    }

    100% {
        -webkit-transform: rotate(0deg);
    }
}

@-webkit-keyframes anticlockwiseError {
    0% {
        -webkit-transform: rotate(0deg);
    }

    20% {
        -webkit-transform: rotate(-30deg);
    }

    40% {
        -webkit-transform: rotate(-25deg);
    }

    60% {
        -webkit-transform: rotate(-30deg);
    }

    100% {
        -webkit-transform: rotate(0deg);
    }
}

.gear.one {
    -webkit-animation: anticlockwiseErrorStop 2s linear infinite;
    animation: anticlockwiseErrorStop 2s linear infinite;
}

.gear.two {
    -webkit-animation: anticlockwiseError 2s linear infinite;
    animation: anticlockwiseError 2s linear infinite;
}

.gear.three {
    -webkit-animation: clockwiseError 2s linear infinite;
    animation: clockwiseError 2s linear infinite;
}

.loading .gear.one, .loading .gear.three {
    -webkit-animation: clockwise 3s linear infinite;
    animation: clockwise 3s linear infinite;
}

.loading .gear.two {
    -webkit-animation: anticlockwise 3s linear infinite;
    animation: anticlockwise 3s linear infinite;
}

@media screen and (max-width: 410px) {


    .gear.one {
        /* left: -130px; */
        left: 10px;
        /* margin: auto; */

    }

    .gear.two {
        display: none;
    }

    .gear.three {
        display: none;
    }
}

.glow-on-hover {
    width: 220px;
    height: 50px;
    border: none;
    outline: none;
    color: #fff;
    background: #111;
    cursor: pointer;
    position: relative;
    z-index: 0;
    border-radius: 10px;
}

.glow-on-hover:before {
    content: '';
    background: linear-gradient(45deg, #ff0000, #ff7300, #fffb00, #48ff00, #00ffd5, #002bff, #7a00ff, #ff00c8, #ff0000);
    position: absolute;
    top: -2px;
    left: -2px;
    background-size: 400%;
    z-index: -1;
    filter: blur(5px);
    width: calc(100% + 4px);
    height: calc(100% + 4px);
    animation: glowing 20s linear infinite;
    opacity: 0;
    transition: opacity .3s ease-in-out;
    border-radius: 10px;
}

.glow-on-hover:active {
    color: #000
}

.glow-on-hover:active:after {
    background: transparent;
}

.glow-on-hover:hover:before {
    opacity: 1;
}

.glow-on-hover:after {
    z-index: -1;
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background: #111;
    left: 0;
    top: 0;
    border-radius: 10px;
}

@keyframes glowing {
    0% {
        background-position: 0 0;
    }

    50% {
        background-position: 400% 0;
    }

    100% {
        background-position: 0 0;
    }
}

nav {
    position: fixed;
    /* width: 100%; */
    z-index: 10000;
    top: 10px;
    right: 18px;
}

nav img {
    /* display: flex;
    margin: auto; */
    width: 3.5em;
    margin-left: 2em;
}