:root {
    --orange: #ff4400;
    --green: #598c40;
    --blue: #00eeff;
    --purple: #e1145c;
    --pink: #d9b0c0;
    --darkwhite: #fdfef5;
}

html, body{
    padding: 0;
    border: 0;
    margin: 0;
    background-color: black;
}

.site-wrapper{
    position: fixed;
    min-height: 100dvh;
    width: 100vw;
    overflow-x: hidden !important;
    overflow-y: scroll;

    display: grid;
    grid-template-columns: 10vw 65vw 25vw;
    grid-template-rows: auto 15vh 15vh auto 25vh auto;

    justify-content: center;

    font-family: Helvetica, sans-serif, system-ui;
}

.pepe-wrapper{
    position: absolute;
    top: 50%;
    right: 8%;
    transform: translate(50%,-50%);
    height: 65vh;
    z-index: -9;
}

.pepe-wrapper > img{    
    height: 50vw;
    max-height: 100%;
    aspect-ratio: 1 / 1;
}

h1{
    font-size: calc(5vw + 12px);
    margin: 0;
    font-variant: small-caps;
}

#title-top-line{
    grid-column: 2 / 3;
    grid-row: 2 / 3;
    justify-self: start;
    align-self: end;
}

#title-bottom-line{
    grid-column: 2 / 3;
    grid-row: 3 / 4;
    justify-self: start;
    align-self: start;
}

h1{
    color: var(--green);
    box-shadow: 0;
    font-size: clamp(5vw + 12px, 5vw + 12px, 3rem);
    margin: 0;
    font-variant: small-caps;
}

h1 > a{
    font-variant: small-caps;
    text-transform: none;
    letter-spacing: 0.5rem;
    text-decoration: none;
    color: var(--darkwhite);

    background-image: linear-gradient(to right, var(--purple), var(--purple));
    background-position: 0 100%; /*OR bottom left*/
    background-size: 0% 1rem;
    background-repeat: no-repeat;
    transition:
        background-size 0.4s,
        background-position 0s 0.4s; /*change after the size immediately*/
}

h1:last-of-type{
    padding-bottom: 2rem;
}

h1 > a:hover{
    background-position: 100% 100%; /*OR bottom right*/
    background-size: 100% 1rem;
}

#text{
    grid-column: 2 / 3;
    grid-row: 4 / 5;
    justify-self: start;
    align-self: center;
    line-height: 1.5;
    color: var(--darkwhite);
    z-index: 2;
    font-size: calc(8px + 0.7vh);
}

.button-wrapper{
    grid-column: 2 / 3;
    grid-row: 5 / 6;
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    align-items: center;
    gap: 0rem 5rem;
}

.highlight-border:hover {
    outline: none;
    position: relative;
    z-index: 0;
    border-radius: 0.25rem;
    user-select: none;
    -webkit-user-select: none;
    touch-action: manipulation;
}

.highlight-border:hover:before {
    content: "";
    background: linear-gradient(
        60deg,
        rgba(255, 0, 0, 1) 0%,
        rgba(251, 7, 217, 1) 10%,
        rgba(186, 12, 248, 1) 20%,
        rgba(95, 21, 242, 1) 30%,
        rgba(28, 127, 238, 1) 40%,
        rgba(47, 201, 226, 1) 50%,
        rgba(63, 218, 216, 1) 60%,
        rgba(79, 220, 74, 1) 70%,
        rgba(208, 222, 33, 1) 80%,
        rgba(255, 154, 0, 1) 90%,
        rgba(255, 0, 0, 1) 100%
    );
    position: absolute;
    top: -.5rem;
    left: -.5rem;
    background-size: 400%;
    z-index: -1;
    filter: blur(.5rem);
    -webkit-filter: blur(.5rem);
    width: calc(100% + 1rem);
    height: calc(100% + 1rem);
    animation: glowing 30s linear infinite;
    transition: opacity 0.3s ease-in-out;
    border-radius: 0.25rem;
}

@keyframes glowing {
  0% {
    background-position: 0 0;
  }
  50% {
    background-position: -400% 0;
  }
  100% {
    background-position: 0 0;
  }
}

.highlight-border:hover:after {
    z-index: -1;
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background: #222;
    left: 0;
    top: 0;
    border-radius: 0.25rem;
}

.button {
    background: #141414;
    cursor: pointer;
    font-variant: small-caps;
    line-height: 1.5;
    color: var(--darkwhite);
    font-size: calc(6px + 0.7vh);
    padding: 1rem;
    border-radius: 0.25rem;
    outline: none;
    vertical-align: middle;
    border: 2px solid var(--green);
    text-decoration: none;
    font-family: inherit;
}

.button:hover {
    background: #2d2d2d;
}

#imprint{
    position:fixed;
    bottom:0;
    left: 0;
    right: auto;
    padding: 0 0 0.25rem 0.5rem;
    text-decoration: none;
}

#imprint > a{
    color: var(--darkwhite);
}

dialog{
    font-family: Helvetica, sans-serif, system-ui;
    padding: 1rem;
    background-color: rgba(24, 24, 24, 0.90);
    color: var(--darkwhite);
    place-items: center;
    border-radius: 0.25rem;
}

dialog[open]{
    animation: show 0.5s ease normal;
}
dialog[open]::backdrop{
    animation: show 0.5s ease normal;
}

dialog.hide{
    animation: hide 0.5s ease normal;
}
dialog.hide::backdrop{
    animation: hide 0.5s ease normal;
}

@keyframes show{
    from {
        transform: translateY(150%);
        opacity: 0;
    }
    to {
        transform: translateY(0%);
        opacity: 1;
    }
}

@keyframes hide{
    to {
        transform: translateY(150%);
        opacity: 0;
    }
}

dialog::backdrop{
    background-color: rgba(24, 24, 24, 0.5);
}

.dialog-close {
    color: var(--darkwhite);
    position: absolute;
    top: 0.5em;
    right: 0.5em;
    border: 0;
    padding: 0;
    background-color: transparent;
    font-weight: bold;
    font-size: 1.5em;
    width: 1.2em;
    height: 1.2em;
    text-align: center;
    cursor: pointer;
}

.dialog-close:focus {
    outline-color: transparent;
    outline-style: none;
}

td{
    padding: 0.2rem 0.4rem;
}

#kbs{
    display: inline-grid;
    place-items: center;
    font-weight: bold;
    border: 1px solid var(--darkwhite);
    padding: 0.2rem 0.6rem;
}

@view-transition {
    navigation: auto;
}
