/* include PT_Mono-Regular.ttf */
@font-face {
    font-family: 'PT Mono';
    src: url('PTMono-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'PT Sans';
    src: url('PTSans-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
}
@font-face {
    font-family: 'PT Sans';
    src: url('PTSans-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
}
html,body {
    font-size: max(1vw,16px);
}

@keyframes cameraShake {
    0% {
        transform: translate(0, 0);
    }
    25% {
        transform: translate(-1px, -1px) rotate(-1deg);
    }
    50% {
        transform: translate(-1px, 2px) rotate(1deg);
    }
    75% {
        transform: translate(0, 0);
    }
    100% {
        transform: translate(0, 0);
    }
}

.loading {
    z-index: -5;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: black;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 3rem;
    color:  white;
    font-family: "degular-mono"; 
    font-weight: 700
}

body {
    font-family: "PT Mono", "Inconsolata", monospace;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
    font-variation-settings:"wdth" 100;
    margin: 0;
    padding: 0;
    background: black;
    }
    .background-wrapper {
        /* transition: opacity 0.1s ease-out; */
        opacity: 0;
        z-index: -1;
        position: fixed;
    }
    .background-wrapper.showing {
        opacity: 1;
    }
    .background {
        position: fixed;
        z-index: -1;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100vh;
        background: url(ptg5000.jpg);
        background-blend-mode: overlay;
        background-size: cover;
        background-size: 300%;
        /* transition: background-position 20s ease-in-out; */
        /* background-position: 50% 50%; */
    }

    @media (max-width: 768px) {
        body {
            font-size: 4vw;
        }
        .title {
            font-size: 3rem!important;
        }
    }
    .flex {
        display: flex;
    }
    .column {
        flex-direction: column;
    }
    h1 {
        margin: 0;
        font-family: "degular-mono", sans-serif;
        font-weight: 700;
        font-style: normal;
    }
    .flex {
        display: flex;
    }
    .column {
        flex-direction: column;
    }
    .contact {

        /* background: white; */
        padding: 0.5rem 0;
        width: calc(100% - 1rem);
        width: fit-content;
        padding: .5rem .5rem;
        background: rgb(237 237 237);
        position: fixed;
        bottom: 0rem;
        right: 0rem;
        margin-top: 2rem;

        border: solid black 1px;
        border-right: 0;
        border-bottom: 0;
        border-top-left-radius: 0.4rem;
        
    }
    @media(max-width: 768px) {
        .contact {
            border-top: solid black 1px;
        }
    }
    .contact:hover {
            background: #fcfcfc;
    }
    form {
        display: flex;
        flex-direction: column;
        gap: .5rem;
    }
    textarea {
        width: 100%;
        font-size: inherit;
        font-family: inherit;
        padding: .5em;
        max-width: calc(100% - 1rem - 2px);
    }
    @media(max-width: 768px) {
        textarea {
            width: calc(100% - 1.8rem);
        }
    }
    .form-row {
        display: flex;
        flex-direction: column;
        gap: .5rem;
        padding: 0;
    }
    .form-row input {
        width: calc(100% - 4px - .5rem)!important;
        padding-left: .5rem;
    }
    .form-row input, button{
        width: 100%;
        font-size: inherit;
        font-size: inherit;
        font-family: inherit;
        padding: 0;
        margin: 0;
        padding-left: .5rem;
    }
    #ascii-grid {
        position: fixed;
        width: 100vw;
        height: 100vh;
        top: 0vh;
        left: 0vw;
        z-index: -1;
        pointer-events: none;
        margin: 0 auto;
        word-wrap: break-word;
        letter-spacing: 0.4em;
        line-height: 1;
        text-align: center;
        mix-blend-mode: difference;
        opacity: 0;

    }
    #ascii-grid.showing {
        opacity: 1;
    }
    .controls {
        position: fixed;
        top: 0;
        right: 0;
        background: white;
        width: fit-content;
        color: black;
    }
    .toggle-parent {
        cursor: pointer;
        display: flex;
        width: 100%;
        justify-content: space-between;
    }
    .close {
        width: fit-content;
        padding: 0.25rem .5rem;
        border: none;
        opacity: 0;
        pointer-events: none;
        position: absolute;
        bottom: 0.5rem;
        right: .5rem;
        /* transition: all .3s ease-in-out; */
        cursor: pointer;
        text-decoration: underline;
    }
    .contact.active:hover {
        background: rgb(237 237 237);
    }
    .contact.active .close {
        opacity: 1;
        pointer-events: all;
        
        background: transparent;
    }

    .contact form {
        display: none;
    }
    .contact.active form {
        display: flex;
        padding: 1rem 0 2rem 0;
    }
    .motto, .title {
        /* mix-blend-mode: difference; */
        /* filter: invert(1); */
        color: #3e0202;
    }
    .text-box {

        padding: 1rem;
        padding: 0.5rem 1rem 1rem;
        width: fit-content;
        background: white;
        /* background: rgba(255,255,255,0.8); */
        border: solid black 1px;
        align-items: baseline;
        display: flex;
        flex-direction: column;
        gap: 0.5rem;
        /* background: #3e0202; */
        /* mix-blend-mode: difference; */
        /* filter: drop-shadow(2px 4px 1px black); */
        min-width: 16rem;
        border-top: 0;
        border-left: 0;
        border-bottom-right-radius: 0.4rem;
    }
    @media(max-width: 768px) {
        .text-box {
            width: calc(100% - 27px);
            filter: none;
            /* border: none; */
            width: fit-content;
        }
    }
    .title {
        /* padding: .5rem .5rem; */
        font-weight: 900;
        font-size: 2rem;
        /* letter-spacing: 0.05em; */
        /* text-decoration: underline; */
        text-decoration-thickness: 0.15em;
        text-underline-offset: .25em;
        /* background: white; */
        margin: 0;
        font-size: 3rem;
    }
    .title img {
        max-width: 10rem;
    }
    .pause {
        cursor: pointer;
        position: fixed;
        bottom: .5rem;
        right: .5rem;
        padding: .5rem;
        font-size: 1rem;
        background: white;
    }
    button[type="submit"]{
        text-align: left;
        width: fit-content;
        padding: 0 1rem;
    }

    .ptg5000 {
        width: 100vw;
    }