:root {
    --xiketic: #141115;
    --tan: #D0E3C4;
    --dark-tan: #d6cc95;
    --darker-tan: #beb26f;
    --darkest-tan: #a0934d;
}

@font-face {
    font-family: floral;
    src: url('fonts/FLORAL\ PERSONAL\ USE.otf');
}

@font-face {
    font-family: eunoia;
    src: url('fonts/eunoia\ FREE.ttf');
}

@font-face {
    font-family: cafe;
    src: url('fonts/Louis\ George\ Cafe.ttf');
}

/* Fix credits text resolution in firefox. */
@supports (-moz-appearance:none) {
    .styled #contact #credits-page {
        position: absolute;
        top: 50%;
        left: 50%;
    
        font-size: 1rem;
    
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        align-items: center;
    
        width: 75%;
        background-color: var(--dark-tan);
        color: black;
    
        transform-style: preserve-3d;
        transform-origin: center;
        transform: translate(-50%, -50%) rotateX(90deg);
    
        transition: all 1s cubic-bezier(.35, .04, 0, 1.1);
    }
    
    .styled #contact #credits-page.credits-hover {
        transform: translate(-50%, -50%) rotateX(90deg) translateY(15rem);
    }
    
    .styled #contact #credits-page.credits-angled {
        transform: translate(-50%, -50%) rotateX(180deg) translateY(15rem) translateZ(-50px);
    }
}

body {
    box-sizing: border-box;
    margin: 0;
    height: 100vh;
    max-height: 100vh;

    background-color: white;

    position: relative;
}

body.no-scroll::-webkit-scrollbar {
    display: none;
}

body.no-scroll {
    overflow: hidden;
    -ms-overflow-style: none;
    scrollbar-width: none;
}

#content {
    box-sizing: border-box;
    padding: 8px;
    transition: all 1s, top 0.5s;

    overflow-y: scroll;

    width: 100%;
    background-color: white;

    position: absolute;
    top: 0;
    left: 0;
}

#content.styled {
    padding: 0px;
    background-color: var(--xiketic);
    color: var(--tan);

    font-family: cafe, sans-serif;
}

.styled h2,
.styled h3,
.styled h4 {
    font-family: eunoia, 'Times New Roman', Times, serif;
}

#content::-webkit-scrollbar {
    display: none;
}

#content {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.section {
    box-sizing: border-box;
    transition: height 1s;

    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;

    position: relative;

}

.styled>.section {

    height: 100vh !important;
    width: 100vw !important;
}

.item-box {
    transition: width 1s;
    display: flex;
    justify-content: center;
}

.styled .item-box {
    width: 100% !important;
}

#main-title h1 {
    background-clip: text;
    -webkit-background-clip: text;

    font-size: 2rem;
    transition: all 1s;
    background-color: var(--tan);

    white-space: nowrap;
}

.styled #main-title h1 {
    font-size: 8rem;
    margin: 0;

    font-family: floral, sans-serif;
    font-weight: lighter;

    position: relative;
    z-index: 1;
}

#main-title h1::before {
    content: attr(text-content);

    position: absolute;
    top: 50%;
    left: 50%;
    z-index: -1;

    background-clip: text;
    -webkit-background-clip: text;

    transform: translate(-50%, -50%);

    background-color: rgba(255, 0, 0, 0);
    color: transparent;

    transition: background-color 1s;
    transition-delay: 0.5s;
}

.styled #main-title h1::before {
    background-color: rgb(255, 0, 0);
}

.styled #main-title h2 {
    margin: 0;
    font-size: 2rem;
    white-space: nowrap;
    transition: all 1s;
}

.flicker>pre {
    display: inline-block;
    font-family: serif;
    transform-origin: left;
    margin: 0;
}

.styled .flicker>pre {
    transform: translate(0%, 0%);
    display: inline-block;

    font-family: floral, sans-serif;
    transform: translateY(0%) scaleY(1);
}

.styled .flicker>pre.flickered {
    animation: flicker 1.5s cubic-bezier(.35, .04, 0, 1.1);
}

@keyframes flicker {
    0% {
        transform: scaleX(1)
    }

    25% {
        transform: scaleX(-1)
    }

    100% {
        transform: scaleX(1)
    }
}

#featured-projects,
#other-projects {
    padding: 20px;
}

#featured-projects h2 {
    transition: all 1s;
    white-space: nowrap;
}

.styled #featured-projects h2,
.styled #other-projects h2 {
    font-size: 4rem;
    margin: 0 0 40px 0;
}

.featured-box {
    display: flex;
    max-width: 440px;
    flex-wrap: wrap;
    transition: all 1s;
}

.styled .featured-box {
    width: 100%;
    max-width: initial;
    flex-wrap: initial;

    justify-content: center;
    gap: 4rem;
}

.styled #featured-projects .featured-box {
    gap: 20px;
}

.styled #featured-projects-sidebar {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.styled .featured-project {
    color: black;
    background-color: var(--tan);

    padding: 20px;
    position: relative;
    width: 45vw;
    height: 15vh;

    display: flex;
    align-items: center;
    gap: 20px;

    cursor: pointer;

    max-width: 500px;
}

.styled .featured-project:hover {
    filter: brightness(0.85);
}

.styled .transform-wrapper:not(.card)>.project::after {
    content: '';
    height: 10%;
    width: 10%;

    position: absolute;
    top: 0;
    left: 0;

    transform: translate(0%, -90%);

    background-color: var(--tan);
}

.styled .card>.card-tab {
    height: 10%;
    width: 10%;

    position: absolute;
    top: 0;
    left: 0;

    transform: translate(0%, -90%);
    border-radius: 5px 5px 0 0;

    background-color: var(--tan);
    color: black;

    display: flex;
    justify-content: center;
    align-items: center;
}

.styled .card>.card-tab>.card-tab-text {
    padding: 5px;
}

.title-description-box {
    flex-grow: 1;
}

.styled .project-img {

    height: 100%;
    aspect-ratio: 1 / 1;

    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;

    position: relative;
    z-index: 1;
}

.styled .project-img::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;

    height: 6%;
    width: 20%;
    background-color: var(--xiketic);
    transform-origin: center center;
    transform: rotate(-45deg) translate(-30%, -20%);
}

.styled .project-img::before {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 2;

    height: 6%;
    width: 20%;
    background-color: var(--xiketic);
    transform-origin: center center;
    transform: rotate(-45deg) translate(30%, 20%);
}

.box {
    transition: all 0.1s;
}

.styled .selected-project-box {
    flex-grow: 1;
    max-width: 500px;
    padding: 0 20px;

    display: flex;
    flex-direction: column;

    position: relative;
}

.styled .selected-project-box h3 {
    margin: 10px 0;
}

.styled .selected-project-box p {
    margin: 10px 0;
    padding-bottom: 10px;
}

.styled .rolodex-project-box {
    height: 65vh;
}

.styled .selected-project-img {
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;

    position: relative;
    z-index: 1;

    transform-style: preserve-3d;

    transform-origin: right;
    transform: rotateY(0deg);
    position: relative;

    transition: all 0s;

    transition-delay: 0.3s;
}

.styled .selected-project-img.visible {
    animation: new-img 0.6s cubic-bezier(.93, .17, .24, .91);
}

@keyframes new-img {
    0% {
        transform-origin: right;
        transform: rotateY(0deg);
    }

    50% {
        transform-origin: right;
        transform: rotateY(-95deg);
    }

    51% {
        transform-origin: bottom;
        transform: rotateX(95deg);
    }

    100% {
        transform-origin: bottom;
        transform: rotateY(0deg);
    }
}

.styled .tech-carousel {
    width: 100%;
    height: 12%;
    position: relative;
}

.styled .tech-item {
    box-sizing: border-box;
    position: absolute;
    bottom: 0;
    left: 0;

    height: 75%;
    color: black;
}

.styled .tech-item>.icon {
    height: 100%;
    width: 100%;

    background-color: var(--tan);

    background-size: auto 75%;
    background-position: center;
    background-repeat: no-repeat;

    clip-path: circle(37.1% at 50% 50%);
    position: relative;
}

.styled .tech-item::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;

    width: 0.5rem;
    height: 0.25rem;
    transform: translate(0%, -50%);
    background-color: red;
}

.styled .tech-item::before {
    content: '';
    position: absolute;
    top: 50%;
    right: 0;

    width: 0.5rem;
    height: 0.25rem;
    transform: translate(0%, -50%);
    background-color: red;
}

.styled .tech-item:not(.first) {
    height: 100%;
    left: initial;
    right: 0;

    transition: transform 0.5s cubic-bezier(.93, .17, .24, .91);
    transform-origin: right;
}

.styled .tech-item:not(.first).flipped.tech1 {
    transform: scaleX(-1);
}

.styled .tech-item:not(.first).flipped.tech2 {
    transform: scaleX(-1);
}

.styled .tech-item.tech2 {
    transform-origin: left;
}

.styled .tech-item:not(.first).flipped.tech3 {
    transform: scaleX(-1);
}



.styled .tech-item:not(.first).tech1>.icon {
    transform-origin: center;
    transform: scaleX(-1);
}

.styled .tech-item:not(.first).tech3>.icon {
    transform-origin: center;
    transform: scaleX(-1);
}

.styled .project-img-btn-box {
    display: grid;
    grid-template-columns: 19rem 1fr;
    grid-template-rows: 18rem 1fr;
    column-gap: 20px;
    row-gap: 20px;

    flex-grow: 1;
    transition: all 0.2s;

    perspective: 1000px;
    perspective-origin: 50% 50%;
}

.styled .selected-project-live,
.styled .selected-project-github {
    box-sizing: border-box;
    background-color: rgba(255, 0, 0, 0);
    border: 5px solid red;
    display: flex;
    justify-content: center;
    align-items: center;

    position: relative;
    transition: all 0.3s cubic-bezier(.93, .17, .24, .91);
}

.styled .selected-project-github {
    grid-column: span 2;
    border-width: 0px 5px 5px 5px;
    background: rgb(255, 0, 0);
    background: linear-gradient(45deg,
            rgba(255, 0, 0, 1) 0%,
            rgba(255, 0, 0, 1) 50%,
            rgba(20, 17, 21, 0) 50%,
            rgba(20, 17, 21, 0) 100%);

    background-size: 200% 200%;
    background-position: 100% 0%;
}

.styled .selected-project-github:hover {
    background-position: 0% 100%;
    color: black;
}

.styled .selected-project-live {
    border-width: 5px 5px 0px 0px;
    background: rgb(255, 0, 0);
    background: linear-gradient(225deg,
            rgba(255, 0, 0, 1) 0%,
            rgba(255, 0, 0, 1) 50%,
            rgba(20, 17, 21, 0) 50%,
            rgba(20, 17, 21, 0) 100%);

    background-size: 200% 200%;
    background-position: 0% 100%;
}

.styled .selected-project-live:hover {
    background-position: 100% 0%;
    color: black;
}

.styled .selected-project-live>a,
.styled .selected-project-github>a {
    color: var(--tan);
    text-decoration: none;

    text-align: center;

    position: absolute;
    top: 0;
    left: 0;

    height: 100%;
    width: 100%;
}

#other-projects>.featured-box {
    perspective: 2000px;
    perspective-origin: 50% 50%;
}

.styled #rolodex {
    height: 30vh;

    margin-bottom: 30vh;

    perspective: 2000px;
    perspective-origin: 0% 100%;

    transform: rotateX(0deg) rotateY(12deg);

    transform-style: preserve-3d;

    position: relative;

    transition: all 0.5s;

    pointer-events: none;
}

.styled #rolodex>* {
    pointer-events: all;
}

.styled #rolodex-cap,
.styled #coin {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 50;

    height: 6rem;
    width: 6rem;
    border-radius: 100%;
    background-color: red;

    transform-style: preserve-3d;
    transform: translate(-100%, 50%) rotateY(-90deg);

    transition: all 0.2s;
}

.styled #cap-2,
.styled #coin-2 {
    position: absolute;
    top: 50%;
    left: 50%;

    height: 100%;
    width: 100%;
    border-radius: 100%;
    background-color: red;

    transform: translate(-50%, -50%) translateZ(-3rem);
}

.styled .cap-side,
.styled .coin-side {
    box-sizing: border-box;
    position: absolute;
    top: 50%;
    left: 50%;

    width: 50%;
    height: 33%;
    background-color: red;
    border: 2px solid black;

    transform-origin: center;
    transform:
        translate(-50%, -50%) rotate(0deg) translate(100%, 0%) rotateY(90deg) translate(50%, 0%);
}

.styled #rolodex .card:not(.filler) {
    box-sizing: border-box;
    height: 30vh;
    transform-origin: bottom;

    transform-style: preserve-3d;

    position: absolute;
    top: 0;
    left: 0;

    border-bottom: 10px solid red;

    transition: all 0.4s;
}

.styled #rolodex .filler {
    filter: opacity(0);
    pointer-events: none;
}

.styled #rolodex .featured-project {
    box-sizing: border-box;
    height: 100%;

    position: relative;
}

.styled #rolodex .transform-wrapper {
    position: relative;

    perspective: 2000px;
    perspective-origin: 0% 100%;
}

.styled #rolodex .transform-wrapper>.card-back {
    font-size: 3rem;
    text-align: center;
    position: absolute;
    bottom: 0;
    left: 0;

    z-index: -1;

    height: 100%;
    width: 100%;

    background-color: #cbcf98;
    color: black;

    transform-style: preserve-3d;
    transform: translateZ(-1px);

    display: flex;
    justify-content: center;
    align-items: center;
}

.styled #rolodex .transform-wrapper>.card-back>.card-back-text {
    transform: scaleY(-1);
    font-weight: lighter;
}

.styled #rolodex:hover {
    transform: rotateX(-12deg) rotateY(-12deg);
}

.card>*:not(.project) {
    pointer-events: none;
}

.styled #about h2 {
    margin: 0;
    font-size: 4rem;
    white-space: nowrap;
    transition: all 1s;
}

#folder-container {
    width: 100vw;

    display: flex;
    justify-content: flex-start;
}

.styled #folder-container {
    margin-top: 60px;
    justify-content: center;

    perspective-origin: 50%, 50%;
    perspective: 2000px;
}

.styled #about-folder {
    position: relative;

    width: 700px;
    height: 400px;
    background-color: var(--tan);

    transform-style: preserve-3d;
    transform-origin: bottom;
    transform: rotateY(-15deg) rotateX(-10deg);
    color: black;

    transition: all 0.5s cubic-bezier(.35, .04, 0, 1.1);
    ;
    cursor: pointer;

    display: flex;
    justify-content: center;
    align-items: center;
}

.styled #folder-text {
    text-align: center;
    font-size: 3rem;
}

.styled #about-folder:hover {
    transform: translateY(20%) rotateY(-25deg) rotateX(-80deg);
}

.styled #about-folder::after {
    content: '';
    height: 10%;
    width: 20%;

    position: absolute;
    top: 0;
    left: 0;

    transform: translate(0%, -90%);

    background-color: var(--tan);
}

.styled #folder-back {
    position: absolute;
    bottom: 0;
    left: 0;

    height: 100%;
    width: 100%;

    transform-origin: bottom;
    transform-style: preserve-3d;
    transform: rotateX(15deg);

    background-color: red;

    transition: all 0.5s cubic-bezier(.35, .04, 0, 1.1);
    ;
}

.styled #folder-back::after {
    content: '';
    height: 10%;
    width: 20%;

    position: absolute;
    top: 0;
    right: 0;

    transform: translate(0%, -90%);

    background-color: red;
}

.styled #about-folder:hover>#folder-back {
    transform: rotateX(155deg);
}

.styled #about-file {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;

    height: 100%;
    width: 100%;

    transform-origin: bottom;
    transform-style: preserve-3d;

    color: black;
    background-color: #6b6d51;
    transform: rotateX(10deg) translate(3%, -3%);

    transition: all 0.5s cubic-bezier(.35, .04, 0, 1.1), background-color 0.2s;
}

.styled #about-folder:hover>#about-file:hover {
    transform: rotateX(80deg) translate(-20%, -30%) rotateY(10deg) translateZ(-50px);
}

.styled #about-folder:hover>#about-file {
    background-color: #e5e9b3;
    transform: rotateX(80deg) translate(-20%, -30%) rotateY(10deg) translateZ(-200px);
}

.styled #tech-file {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;

    height: 100%;
    width: 100%;

    transform-origin: bottom;
    transform-style: preserve-3d;

    background-color: #5b5d40;
    transform: rotateX(15deg) translate(6%, -6%);

    transition: all 0.5s cubic-bezier(.35, .04, 0, 1.1), background-color 0.2s;

    display: flex;
    flex-direction: column;
}

.styled #about-folder:hover>#tech-file:hover {
    transform: rotateX(80deg) translate(15%, -30%) rotateY(10deg) translateZ(-150px);
}

.styled #about-folder:hover>#tech-file {
    background-color: #b5b982;
    transform: rotateX(80deg) translate(15%, -30%) rotateY(10deg) translateZ(-200px);
}

.styled #tech-grid {
    box-sizing: border-box;
    flex-grow: 1;

    display: grid;

    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-template-rows: 1fr 1fr 1fr;

    row-gap: 10px;
    column-gap: 10px;
    padding: 0 10px 10px 10px;
}

.styled .grid-pop {
    background-color: var(--tan);
    border-radius: 10px;

    background-position: left;
    background-size: contain;
    background-repeat: no-repeat;

    position: relative;
    overflow: hidden;

    transition: all 0.2s cubic-bezier(.35, .04, 0, 1.1);
}

.styled .grid-pop:hover {
    background-color: #b5b982;
}

.styled .pop-icon {
    position: absolute;
    top: 0;
    left: 8%;

    height: 100%;
    width: 100%;

    background-position: left;
    background-size: auto 85%;
    background-repeat: no-repeat;
}

.styled .pop-name {
    position: absolute;
    right: 0;
    top: 50%;

    transform-origin: center;
    transform: translate(50%, -50%) rotate(-90deg) translate(0%, -20px);

    background-color: var(--xiketic);
    color: var(--tan);
    padding: 12px;
    width: 100%;

    text-align: center;
    font-family: sans-serif;

    transition: all 0.2s cubic-bezier(.35, .04, 0, 1.1);
}

.styled .grid-pop:hover .pop-name {
    transform: translate(50%, -50%) rotate(-90deg) translate(100%, -20px);
}

.styled .pop-rarity {
    position: absolute;
    right: 0;
    top: 50%;

    transform-origin: center;
    transform: translate(50%, -50%) rotate(-90deg) translate(-100%, -20px);

    background-color: #b5b982;
    color: red;
    padding: 12px;
    width: 100%;

    text-align: center;
    font-family: sans-serif;

    transition: all 0.2s cubic-bezier(.35, .04, 0, 1.1);
}

.styled .grid-pop:hover .pop-rarity {
    transform: translate(50%, -50%) rotate(-90deg) translate(-0%, -20px);
}

.styled #tech-grid-header {
    display: flex;
    justify-content: right;
    align-items: center;

    font-size: 2rem;
    padding: 10px;
}

#about-file {
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
}

.styled #about-file-header {
    display: flex;
    justify-content: left;
    align-items: center;

    font-size: 2rem;
    padding: 10px 10px 0 10px;
}

.styled #about-file>p {
    margin: 15px;
}

.styled #contact {
    display: flex;
    flex-direction: column;
    align-items: center;

    perspective: 2000px;
    perspective-origin: 50% 50%;
}

#contact h2 {
    transition: all 1s;
    white-space: nowrap;
}

.styled #contact h2 {
    font-size: 4rem;
    margin: 0 0 40px 0;
}

.styled #contact-box {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr;

    background-color: red;

    height: 400px;
    width: 100%;
    max-width: 650px;
    padding: 4rem 0 4rem 4rem;

    transform-origin: top;
    transform-style: preserve-3d;
    transform: rotateY(0deg) rotateX(40deg);

    transition: all 0.5s cubic-bezier(.35, .04, 0, 1.5);
    position: relative;
}

.styled #contact-box:hover {
    transform: rotateY(0deg) rotateX(20deg);
}

.styled #contact-box.credits-hover {
    transform-origin: center;
    transform: rotateY(0deg) rotateX(80deg);
}

.styled #coin-brand {
    font-size: 0.75rem;

    position: absolute;
    top: 0;
    right: 10px;
}

.styled #link-box {
    display: flex;
    flex-direction: column;
    gap: 3rem;

    transform-style: preserve-3d;
}

.styled #coin-box {
    position: relative;

    perspective: 2000px;
    perspective-origin: 50% 50%;

    transform-style: preserve-3d;

    padding: 10px;
}

.styled #coin-header {
    color: var(--tan);
    width: 100%;
    text-align: center;

    position: absolute;
    bottom: 12rem;
    left: 50%;
    transform: translate(-50%, 0%);
}

.styled #coin-wrap {
    border-radius: 100%;
    width: 10rem;
    height: 10rem;

    position: absolute;
    bottom: 0;
    left: 50%;

    transform-style: preserve-3d;
    transform: translate(-50%, 0) translateZ(17px);
    cursor: pointer;

    transition: all 0.3s cubic-bezier(.35, .04, 0, 1.5);
}

.styled #coin-wrap:hover {
    transform: translate(-50%, 0) translateZ(40px);
}

.styled #coin-wrap.flipping {
    animation: flipping 0.65s linear 0s 1 none;
}

@keyframes flipping {

    0% {
        transform: translate(-50%, 0) translateZ(40px);
        animation-timing-function: cubic-bezier(0.33333, 0.66667, 0.66667, 1);
    }

    69.0983% {
        transform: translate(-50%, 0%) translateZ(200px);
        animation-timing-function: cubic-bezier(0.33333, 0, 0.66667, 0.33333);
    }

    100% {
        transform: translate(-50%, 0) translateZ(40px);
    }

}

.styled #contact-box>#coin-box #coin {
    background-color: goldenrod;
    border: 2px solid rgb(124, 90, 3);
    width: 10rem;
    height: 10rem;

    bottom: 0;
    left: 50%;

    transform: translate(-50%, 0);

    display: flex;
    justify-content: center;
    align-items: center;

    color: black;
    cursor: pointer;

    transition: all 1s cubic-bezier(.35, .04, 0, 1.1);
}

.styled #contact-box>#coin-box #coin>.coin-side {
    border: 2px solid rgb(124, 90, 3);
    width: 10%;
    transform: translate(-50%, -50%) rotate(0deg) translate(100%, 0) rotateY(90deg) translate(50%, 0%);
    background-color: rgb(163, 121, 14);
}

.styled #contact-box>#coin-box #coin>#coin-2 {
    background-color: goldenrod;
    border: 2px solid rgb(124, 90, 3);
    transform: translate(-50%, -50%) translateZ(-1rem);

    display: flex;
    justify-content: center;
    align-items: center;

    color: black;
}

.styled #contact-box>#coin-box #coin>#coin-2>* {
    transform: scaleY(-1);
}

.styled #contact-box .transform-wrapper {
    flex-grow: 1;
    transform-style: preserve-3d;
}

.styled #contact-box .contact-link {
    transform-style: preserve-3d;
    transform: rotateY(0deg) translateZ(65px);

    background-color: var(--tan);
    color: black;
    height: 100%;

    display: flex;
    justify-content: center;
    align-items: center;
}

.styled #contact-box .contact-link:active {
    transform: rotateY(0deg) translateZ(45px) !important;
}

.styled #contact-box .contact-link>div {
    font-size: 2rem;
}

.styled #contact-box .contact-link a {
    text-decoration: none;

    text-align: center;

    position: absolute;
    top: 0;
    left: 0;

    height: 100%;
    width: 100%;
}

.styled .btn-face {
    position: absolute;
    transform-style: preserve-3d;
}

.styled .btn-front::after {
    clip-path: polygon(0 0, 0% 100%, 100% 87%);
    background-color: var(--darker-tan);
}

.styled .btn-right::after {
    clip-path: polygon(0 100%, 100% 100%, 13% 0);
    background-color: var(--darker-tan);
}

.styled .btn-back::after {
    clip-path: polygon(100% 100%, 100% 0, 0 13%);
    background-color: var(--darker-tan);
}

.styled .btn-left::after {
    clip-path: polygon(100% 0, 0 0, 13% 100%);
    background-color: var(--darker-tan);
}

.styled .btn-front::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;

    transform-origin: left;
    transform: translate(100%, 0%) rotateY(45deg);
    height: 100%;
    width: 1.5rem;
}

.styled .btn-back::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;

    transform-origin: right;
    transform: translate(-100%, 0%) rotateY(-45deg);
    height: 100%;
    width: 1.5rem;
}

.styled .btn-right::after,
.styled .btn-left::after {
    content: '';
    position: absolute;

    height: 1.5rem;
    width: 100%;
}

.styled .btn-right::after {
    top: 0;
    left: 0;

    transform-origin: bottom;
    transform: translate(0%, -100%) rotateX(-45deg);
}

.styled .btn-left::after {
    bottom: 0;
    left: 0;

    transform-origin: top;
    transform: translate(0%, 100%) rotateX(-45deg);
}

.styled .btn-front {
    bottom: 0;
    left: 0;

    transform-origin: top;
    transform: translate(0%, 95%) rotateX(-70deg);
    height: 3rem;
    width: 100%;

    background-color: var(--dark-tan);
}

.styled .btn-back {
    top: 0;
    left: 0;

    transform-origin: bottom;
    transform: translate(0%, -100%) rotateX(70deg);
    height: 3rem;
    width: 100%;

    background-color: var(--dark-tan);
}

.styled .btn-left {
    top: 0;
    left: 0;

    transform-origin: right;
    transform: translate(-100%, 0%) rotateY(-70deg);
    height: 100%;
    width: 3rem;

    background-color: var(--darkest-tan);
}

.styled .btn-right {
    top: 0;
    right: 0;

    transform-origin: right;
    transform: rotateY(-110deg);
    height: 100%;
    width: 3rem;

    background-color: var(--darkest-tan);
}

.styled #box-bottom {
    position: absolute;
    bottom: 0;
    left: 0;

    height: 100%;
    width: 100%;
    background-color: rgb(51, 0, 0);

    transform-origin: top;
    transform-style: preserve-3d;
    transform: translateZ(-12rem);
}

.styled #credits-box {
    position: absolute;
    bottom: 0;
    left: 0;

    height: 12rem;
    width: 100%;
    background-color: rgba(144, 2, 2, 0);

    transform-origin: top;
    transform-style: preserve-3d;
    transform: translate(0%, 100%) rotateX(-90deg);
}


.styled #credits-box::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;

    height: 12rem;
    width: 100%;
    background-color: rgb(93, 0, 0);

    transform-origin: top;
    transform-style: preserve-3d;
    transform: translateZ(-100px);
}

.styled #credits-box::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;

    height: 12rem;
    width: 100%;
    background-color: rgb(144, 2, 2);

    clip-path: polygon(0% 0%, 0% 100%, 10% 100%, 10% 41%, 90% 41%, 90% 59%, 10% 59%, 10% 100%, 100% 100%, 100% 0%);
}

.styled #credits-page {
    position: absolute;
    top: 50%;
    left: 50%;

    font-size: 0.5rem;

    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;

    width: 37.5%;
    background-color: var(--dark-tan);
    color: black;

    transform-style: preserve-3d;
    transform-origin: center;
    transform: translate(-50%, -50%) rotateX(90deg) scale(2, 2);

    transition: all 1s cubic-bezier(.35, .04, 0, 1.1);
}

.styled #credits-page.credits-hover {
    transform: translate(-50%, -50%) rotateX(90deg) translateY(15rem) scale(2, 2);
}

.styled #credits-page.credits-angled {
    transform: translate(-50%, -50%) rotateX(180deg) translateY(15rem) translateZ(-50px) scale(2, 2);
}

.styled #credits-header {
    position: absolute;
    bottom: 20%;
    left: 50%;

    font-size: 2rem;

    transform-style: preserve-3d;
    transform: translate(-50%, 0) translateZ(1px);
}

.styled #credits-text {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 10px;

    padding: 10px;
    height: 100%;

    transform-style: preserve-3d;
    transform: scaleY(-1) translateZ(-1px);
}

.styled #credits-text h4 {
    margin: 0;
}

.styled #credits-text ul {
    padding: 0 0 0 10px;
    width: 95%;
}

.email-btn {
    cursor: pointer;
}

.styled #pip-box {
    font-family: floral, sans-serif;
    font-size: 2rem;
    border-radius: 100%;

    position: fixed;
    top: 0;
    right: 0;
    z-index: 3;

    transform: translate(0, 0);

    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 10px;

    margin: 20px 10px;
}

.styled .pip {
    position: relative;
    height: 1rem;
    width: 1rem;

    border-radius: 100%;
    background-color: var(--tan);

    transform: rotate(15deg);
    transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);

    overflow: hidden;
    cursor: pointer;
}

.styled .pip-flower {
    position: absolute;
    top: 50%;
    left: 50%;

    transform: translate(-50%, -50%);

    color: var(--tan);
}

.styled .pip.current {
    background-color: transparent;
    height: 2rem;
    width: 2rem;

    transform: rotate(0deg);
}

.styled .floral-accent {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;

    transform: translate(-50%, -50%);
    font-family: floral, sans-serif;
    font-size: 30rem;

    color: var(--xiketic);

    cursor: default;
}

.styled .floral-accent::before {
    content: 'o';
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: -1;

    transform: translate(-50%, -50%) scale(0.9);
    font-family: floral, sans-serif;

    color: rgba(255, 0, 0, 0.452);

    transition: all 1s cubic-bezier(0, .93, .13, .97);
}

.styled .floral-accent:hover::before {
    transform: translate(-50%, -50%) scale(1.5);
}

.styled .floral-accent.accent-1 {
    top: 100%;
    left: 0;
    transform: translate(-50%, -50%) scaleX(-1) rotate(-90deg);
}

.styled .floral-accent.accent-2 {
    top: 100%;
    left: initial;
    right: 0;
    transform: translate(50%, -50%) scale(0.8) scaleX(-1) rotate(-90deg);
}

.styled .floral-accent.accent-3 {
    top: 100%;
    left: 0;
    transform: translate(-50%, -40%) scale(0.8) scaleX(-1) rotate(-90deg);
}

.styled .tippable {
    position: relative;
}

.styled .tooltip {
    color: var(--tan);
    font-family: sans-serif;
    position: absolute;

    top: 50%;
    left: -10px;
    font-size: 1rem;

    transform-style: preserve-3d;
    transform: translate(-150%, -50%);
    transition: all 0.2s cubic-bezier(0, .62, .45, 1.03);

    filter: opacity(0);
}

.styled .tippable:hover .tooltip {
    filter: opacity(1);
    transform: translate(-100%, -50%);
}

.styled .tooltip.tooltip-top {
    top: -10px;
    left: initial;
    right: 0;
    transform: translate(0%, -150%);
}

.styled .tippable:hover .tooltip.tooltip-top {
    transform: translate(0%, -100%);
}

.styled #other-projects .tippable:hover .tooltip.tooltip-top {
    transform: translate(0%, -200%);
}

.modal {
    background-color: red;

    position: absolute;
    top: 0;
    left: 50%;

    transform: translate(-50%, 0%);
    padding: 10px;

    animation: modal 1s cubic-bezier(0, .79, .4, 1.07);
    transition: all 1s cubic-bezier(0, .79, .4, 1.07);
}

@keyframes modal {
    from {
        transform: translate(-50%, -200%);
    }

    to {
        transform: translate(-50%, 0%);
    }
}

.modal.hidden {
    transform: translate(-50%, -200%);
}

.rolodex-btn {
    position: absolute;
    bottom: 0;
    left: 0;

    height: 2rem;
    width: 2rem;

    background-color: red;
    transition: all 0.2s;
    cursor: pointer;

    filter: opacity(1);
}

.rolodex-btn:hover {
    filter: opacity(0.5);
}

#rolodex-up-btn {
    transform: translate(-125%, -200%);
    clip-path: polygon(100% 0, 0% 100%, 100% 100%);
}

#rolodex-down-btn {
    transform: translate(-125%, 300%);
    clip-path: polygon(100% 0, 0 0, 100% 100%);
}

.sticker {
    position: absolute;
    top: 0;
    left: 0;

    margin: 20px;
    padding: 5px;
    border-radius: 10px;

    background-color: var(--xiketic);
    color: var(--xiketic);

    cursor: pointer;
    text-decoration: none;
}

.sticker#pokemetric-sticker {
    top: 60px;
    left: 0;
}

.sticker, .sticker * {
    transition: all 0.3s cubic-bezier(.22,.81,.67, 1.8);
}

.sticker:hover {
    background-color: red;
    color: var(--tan);
    
}

.sticker:hover>.sticker-text {
    background-color: var(--xiketic);
    
    border-radius: 10px;

    padding: 10px 20px 10px 10px;
}

.sticker>.sticker-text {
    padding: 10px 10px 10px 10px;
    background-color: var(--tan);
    border-radius: 0px;
}

.sticker-corner-box {
    background-color: transparent;
    position: absolute;
    top: 0;
    right: 0;

    height: 35px;
    width: 35px;

    transform: translate(50%, -25%);
}

.sticker-arrow {
    position: absolute;
    top: 0;
    left: 0;

    height: 90%;
    width: 100%;

    transition-delay: 0.1s;
    background-color: transparent;
    clip-path: polygon(28% 46%, 0 45%, 0 25%, 50% 25%, 51% 56%, 50% 100%, 26% 100%);
    
}

.sticker:hover .sticker-arrow {
    background-color: red;
    clip-path: polygon(0 73%, 35% 37%, 0 0, 100% 0, 100% 100%, 61% 63%, 26% 100%);
}

.sticker:hover .sticker-corner-box {
    background-color: var(--xiketic);
}

#discord-warning {
    position: absolute;
    z-index: 1;
    top: -2px;
    right: 0;

    height: calc(100% + 4px);
    width: 100%;

    overflow: hidden;
    pointer-events: none;
}

#discord-warning-text {
    position: absolute;
    top: 50%;
    left: 50%;

    background-color: red;
    color: white;
    padding: 10px 50px;
    filter: drop-shadow(4px 2px 2px rgba(0, 0, 0, 0.445));

    white-space: nowrap;
    transform: translate(-20%, -40%) rotate(35deg);
}

@media only screen and (max-width: 800px) {
    .styled #main-title h1 {
        font-size: 4rem;
    }

    #main-title {
        max-width: 100vw;
    }

    #main-title h2 {
        font-size: 2rem !important;
    }

    .styled>.section {
        /* box-sizing: border-box;
        border: 5px solid white; */
    }

    .styled>#featured-projects {
        height: initial !important;
    }

    .section h2 {
        font-size: 2rem !important;
    }

    #content::-webkit-scrollbar {
        display: initial;
    }
    
    #content {
        -ms-overflow-style: initial;
        scrollbar-width: initial;

        overflow-y: initial;
    }

    #content.styled {
        overflow: hidden;
    }

    body.no-scroll::-webkit-scrollbar {
        display: initial;
    }
    
    body.no-scroll {
        overflow: initial;
        -ms-overflow-style: initial;
        scrollbar-width: initial;
    }

    .styled #pip-box {
        display: none;
    }

    .styled .featured-box {
        flex-direction: column;
        gap: 40px !important;
    }

    .styled .floral-accent {
        font-size: 20rem;
        display: none;
    }

    .styled .selected-project-box {
        height: 100vh;
    }

    .styled .project-img-btn-box {
        grid-template-columns: 100%;
        grid-template-rows: 18rem 1fr 1fr;
    }

    .styled .selected-project-github {
        grid-column: initial;
    }

    .styled .featured-project {
        width: initial;
        height: 8rem;
    }

    #featured-projects-sidebar {
        height: 100vh;
    }

    .styled .project-img {
        height: 75%;
    }

    .styled #about {
        /* overflow: hidden; */
        height: initial !important;
    }

    .styled #about-folder {
        height: 100vh;
        width: 100vw;
    }

    .styled #tech-grid {
        grid-template-columns: 1fr 1fr 1fr;
        grid-template-rows: 1fr 1fr 1fr 1fr;
    }

    .styled #about-folder>#tech-file {
        width: 100%;
    }

    .styled #about-folder:hover>#tech-file:hover {
        transform: rotateX(80deg) translate(0%, -40%) rotateY(10deg) translateZ(-150px);
    }

    .styled #about-folder:hover>#tech-file {
        transform: rotateX(80deg) translate(0%, -40%) rotateY(10deg) translateZ(-200px);
    }

    .styled #about-folder:hover>#about-file:hover {
        transform: rotateX(80deg) translate(-10%, -30%) rotateY(10deg) translateZ(-50px);
    }
    
    .styled #about-folder:hover>#about-file {
        transform: rotateX(80deg) translate(-10%, -30%) rotateY(10deg) translateZ(-200px);
    }

    .styled #other-projects {
        height: initial !important;
    }

    .styled #rolodex:hover {
        transform: rotateX(0deg) rotateY(12deg);
    }

    .styled #rolodex .transform-wrapper>.card-back {
        font-size: 2rem;
    }

    .styled #rolodex .card {
        height: 45vh;
    }

    .styled .rolodex-btn {
        left: 5%;
        z-index: 40;
    }

    .styled #rolodex>.tooltip {
        display: none;
    }

    .styled #contact-box {
        box-sizing: border-box;
        transform: rotateY(0deg) rotateX(20deg);
        grid-template-columns: 1fr;
        grid-template-rows: 1fr 1fr;
        width: 100vw;
        padding: 2rem;

        justify-items: center;
        row-gap: 20px;

        height: initial;
    }

    .styled #contact-box>.tooltip {
        display: none;
    }

    .styled #link-box {
        width: 100%;
    }

    .styled #coin-box {
        width: 100%;
        height: 25vh;

        display: flex;
        align-items: center;
    }

    .styled #coin-wrap {
        left: initial;
        right: -25%;
        bottom: 0%;
    }

    .styled #coin-brand {
        display: none;
    }

    .styled #coin-header {
        position: initial;
        font-size: 1rem;
        transform: initial;
        width: 35%;
    }

    .styled #credits-page {
        transform: translate(-50%, -50%) rotateX(90deg) scale(2, 2) translateY(-4rem);
    }

    .styled #other-projects h2 {
        margin-top: 2rem;
    }

    .styled #contact h2 {
        margin-bottom: 4rem;
    }

    .styled #contact {
        margin: 2rem 0 4rem 0;
    }
}