footer {visibility: hidden}

@font-face {
    font-family: NeueMontreal;
    src: url("https://invariantlabs.ai/theme/NeueMontreal-Regular.otf") format("opentype");
}

body.invariant.dark {
    background-color: #111113;
    --body-background-fill: #111113;
}
body.invariant:not(.dark) {
    background-color: white;
    --body-background-fill: white;
}

.toggled-off-button {
    background-color: rgb(85 85 85 / 69%);
    color: rgb(255 255 255 / 60%);
    border-color: #ced4da;
}  

.toggled-off-button:hover { 
    cursor: not-allowed;
}

.toggled-on-button {
    background-color: #4f46e5;
    color: white;
    border-color: #007bff;
}

#submit-button {
    border: 1pt solid #0f9d0f;
    background-color: rgb(15 157 15 / 41%);
}

#reset-button {
    border: 1pt solid #BA2929;
    background-color: rgba(186, 41, 41, 0.1764705882);
}

#instruction-banner {
    background: linear-gradient(92deg, #434DA6 7.93%, #10135C 94.43%);
    padding: 10pt 20pt;
}

.hidden-button {
    display: none
}

#key_input {
    font-family: 'Courier New', Courier, monospace;
}

.home-banner {
    background: linear-gradient(92deg, #4f46e5 7.93%, #10135c 94.43%);
}

.home-banner-wrapper {
    color: #fff;
    border-radius: 5pt;
    margin: 0 10pt;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 10pt;
}

.home-banner-content h1 {
    color: #fff;
}

.home-banner-content p {
    color: #fff;
}

.home-banner-buttons a {
    background-color: #fff;
    color: #000;
    border: none;
    border-radius: 20pt;
    font-size: 10pt;
    cursor: pointer;
    transition: background-color .5s, color .5s;
    line-height: normal;
    height: 35px;
    padding: 8pt 20pt;
    text-decoration: none; /* Remove underlining */
}

/* Base style for the button */
.button-loading {
    display: inline-block;
    position: relative;
    overflow: hidden;
}

.button-loading:hover {
    cursor: loading;
}


/* Adding a wave effect */
.button-loading::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(78, 70, 229, 0.2), transparent);
    animation: wave-animation 2s infinite;
    cursor: loading;
}

/* Animation for the wave */
@keyframes wave-animation {
    0% {
        left: -100%;
    }
    50% {
        left: 50%;
    }
    100% {
        left: 100%;
    }
}