:root {
    --color-page: #FFFFFF08;
    --color-page-special: #000000CC;
    --font-family-heading: "BrandonGrotesqueBold", sans-serif;
    --font-family-regular: "VarelaRoundRegular", sans-serif;
    --color-accent: #BBBBBB;
    --color-accent-special: #ffffff;
    --hover-transition-duration: 300ms;
    --border: none;
    --color-border: #ffffff10;
}

@font-face {
    font-family: "BrandonGrotesqueBold";
    src: url("/fonts/BrandonGrotesqueBold.woff2");
    font-display: swap;
}

@font-face {
    font-family: "VarelaRoundRegular";
    src: url("/fonts/VarelaRoundRegular.woff2");
    font-display: swap;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    text-transform: uppercase;
    font-weight: bold;
}

#background {
    position: fixed;
    width: 100%;
    height: 100%;
    z-index: -1;
    top: 0;
    left: 0;
}

#profileImageContainer {
    position: relative;
    perspective: 1000px;
    width: 150px;
    height: 150px;
}

#profileImage,
#profileBackImage {
    position: absolute;
    transform-style: preserve-3d;
    transition: transform var(--hover-transition-duration);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    width: 100%;
    height: 100%;
}

#profileBackImage {
    transform: rotateY(180deg);
}

#profileImageContainer:hover #profileImage {
    transform: rotateY(180deg);
}

#profileImageContainer:hover #profileBackImage {
    transform: rotateY(0deg);
}

#wallpaperIcon {
    position: fixed;
    bottom: var(--space-small);
    right: var(--space-small);
}

@media (max-width: 600px) {

    #wallpaperIcon {
        display: none;
    }

}

.backgroundAnimation {
    background: linear-gradient(45deg, #000000, #303035, #000010);
    background-size: 300% 300%;
    animation: backgroundVariance 5s ease infinite;
}

.titleContainer {
    position: relative;
}

.locationContainer {
    position: absolute;
    left: 0;
    bottom: 0;
}

.iconContainer {
    position: absolute;
    right: 0;
    bottom: 0;
}

.icon {
    position: relative;
}

.icon svg {
    animation-name: shake;
    animation-duration: 5s;
    animation-timing-function: ease-out;
    animation-iteration-count: infinite;
    animation-play-state: running;
}

/* .icon:hover .tooltip {
    opacity: 1;
    z-index: 10;
} */

/* .icon .tooltip {
    pointer-events: none;
    background-color: var(--color-page-special);
    position: fixed;
    bottom: 100%;
    right: 0;
    transition: opacity var(--hover-transition-duration) ease-out;
    opacity: 0;
    overflow: hidden;
    z-index: 100;
    max-width: 80vw;
} */

/* .icon .tooltip.left {
    right: auto;
    left: 0;
} */

/* .icon .tooltip.top {
    top: 100%;
    bottom: auto;
} */

/* .tooltip img {
    border-radius: var(--border-radius);
} */

.tooltip {
    position: fixed;
    pointer-events: none;
    z-index: 10;
}

.tooltip.card {
    background-color: var(--color-page-special);
}

.tooltip.hidden {
    display: none;
}

.icon path {
    fill: var(--color-accent);
    transition: fill var(--hover-transition-duration) ease-out;
}

.icon:hover path {
    fill: var(--color-accent-special);
}

.heart {
    display: inline-block;
    transition: color 500ms ease-out;
    animation-name: heart;
    animation-duration: 1s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    animation-play-state: paused;
}

.heart:hover {
    color: #900000;
    transform: scale(1.15);
    animation-play-state: running;
}

@keyframes backgroundVariance {
    0% {
        background-position: 10% 0%;
    }

    50% {
        background-position: 91% 100%;
    }

    100% {
        background-position: 10% 0%;
    }
}

@keyframes shake {
    0% {
        transform: rotateZ(0);
    }

    90% {
        transform: rotateZ(0);
    }

    92.5% {
        transform: rotateZ(20deg);
    }

    97.5% {
        transform: rotateZ(-20deg);
    }

    100% {
        transform: rotateZ(0);
    }
}

@keyframes heart {
    0% {
        transform: scale(1.0);
    }

    40% {
        transform: scale(0.75);
    }

    50% {
        transform: scale(1.05);
    }

    60% {
        transform: scale(0.75);
    }

    100% {
        transform: scale(1.0);
    }
}

::-webkit-scrollbar {
    width: var(--space-small);
    height: var(--space-small);
}

::-webkit-scrollbar-track {
    background-color: var(--color-page);
    border-radius: var(--border-radius);
}

::-webkit-scrollbar-corner {
    background-color: var(--color-page-special);
}

::-webkit-scrollbar-thumb {
    background-color: var(--color-accent-special);
    border-radius: var(--border-radius);
}