:root {
    --border: 4px solid #20a6ff;
    --thinborder: 1px solid #20a6ff;
    --textshadow: rgb(255, 255, 255) 3px 0px 0px, rgb(255, 255, 255) 2.83487px 0.981584px 0px,
        rgb(255, 255, 255) 2.35766px 1.85511px 0px, rgb(255, 255, 255) 1.62091px 2.52441px 0px,
        rgb(255, 255, 255) 0.705713px 2.91581px 0px, rgb(255, 255, 255) -0.287171px 2.98622px 0px,
        rgb(255, 255, 255) -1.24844px 2.72789px 0px, rgb(255, 255, 255) -2.07227px 2.16926px 0px,
        rgb(255, 255, 255) -2.66798px 1.37182px 0px, rgb(255, 255, 255) -2.96998px 0.42336px 0px,
        rgb(255, 255, 255) -2.94502px -0.571704px 0px, rgb(255, 255, 255) -2.59586px -1.50383px 0px,
        rgb(255, 255, 255) -1.96093px -2.27041px 0px, rgb(255, 255, 255) -1.11013px -2.78704px 0px,
        rgb(255, 255, 255) -0.137119px -2.99686px 0px, rgb(255, 255, 255) 0.850987px -2.87677px 0px,
        rgb(255, 255, 255) 1.74541px -2.43999px 0px, rgb(255, 255, 255) 2.44769px -1.73459px 0px,
        rgb(255, 255, 255) 2.88051px -0.838247px 0px;
    --maincolor: #20a6ff;
    --secondarycolor: #7ecafd;
}

* {
    box-sizing: border-box;
    scrollbar-color: var(--maincolor) white;
    scrollbar-width: thin;
}

::selection {
    background: var(--maincolor);
    color: white;
    text-shadow: none;
}

@font-face {
    font-family: "Atkinson Hyperlegible";
    src: url("/fonts/Atkinson Hyperlegible.ttf");
}

@font-face {
    font-family: "Aachen";
    src: url("/fonts/Aachen.woff2") format("woff2");
}

body {
    font-family: "Atkinson Hyperlegible";
    font-size: 1rem;
    background-image: url("/images/bg.png");
    background-attachment: fixed;
    animation: diagonalscroll 3s linear infinite;
}

@keyframes diagonalscroll {
    from {
        background-position: 0 0;
    }
    to {
        background-position: 68px 68px;
    }
}

a {
    color: var(--maincolor);
    text-decoration: none;
    transition: 0.3s;
}

a:hover {
    color: var(--secondarycolor);
}

#wrapper {
    width: 650px;
    margin: 20px auto;
    display: flex;
    flex-direction: column;
    border-radius: 20px 20px 0 0;
    outline: 4px solid white;
}

#container {
    border: var(--border);
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    overflow: hidden;
    background-color: #d1ecff;
}

table,
th,
td {
    border: var(--border);
    border-collapse: collapse;
    text-align: center;
}

table {
    width: 100%;
}

th,
td {
    padding: 5px 10px;
}

th {
    background-color: var(--secondarycolor);
    color: white;
}

td {
    background-color: white;
}

ul {
    position: relative;
    list-style: none;
    margin: 0;
    padding-left: 1.2em;
}

ul li:before {
    content: "■";
    position: absolute;
    left: 0;
    color: var(--maincolor);
}

header {
    font-family: "Aachen";
    font-size: 24px;
    text-align: center;
    color: var(--maincolor);
    text-shadow: var(--textshadow);
    margin: auto;
}

#code,
#members,
#footer,
#welcome,
#join,
#rules,
#about,
#noform {
    display: flex;
    flex-direction: column;
    gap: 20px;
    align-items: center;
    width: 100%;
}

#webringulist {
    width: 100%;
}

#footer {
    padding: 5px 10px;
    border: var(--border);
    border-top: none;
    background-color: var(--secondarycolor);
    color: white;
}

#footer a {
    color: white;
}

#header {
    text-align: center;
    border: var(--border);
    border-bottom: none;
    overflow: hidden;
    border-radius: 20px 20px 0 0;
}

#title {
    font-family: "Aachen";
    font-size: 3rem;
    color: var(--maincolor);
    background-color: var(--secondarycolor);
    padding: 10px;
    text-shadow: var(--textshadow);
}

.box {
    border: var(--thinborder);
    background-color: white;
    width: 100%;
    padding: 10px;
}

#links {
    padding: 5px 10px;
    border-top: var(--border);
}

#melanatedmembers {
    display: flex;
    flex-direction: column;
    width: 100%;
    text-align: center;
    gap: 10px;
}

hr {
    width: 100%;
    border-color: var(--maincolor);
    border-width: 1px;
}

input[type="text"],
select {
    border: var(--thinborder);
    color: black;
    background-color: white;
    flex: 1;
    font-family: "Atkinson Hyperlegible";
    font-size: 1rem;
    padding: 10px;
}

input[type="text"]:focus {
    border: var(--thinborder);
    outline: none !important;
}

button {
    font-size: 1rem;
    font-family: "Atkinson Hyperlegible";
    border: var(--thinborder);
    padding: 7.5px 10px;
    color: white;
    background-color: var(--maincolor);
    width: 100%;
    transition: 0.3s;
    cursor: pointer;
}

button:hover {
    background-color: var(--secondarycolor);
    color: var(--maincolor);
}

button:disabled {
    cursor: not-allowed;
    background-color: var(--maincolor);
    color: white;
    opacity: 0.8;
}

#submission {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.center {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

@media only screen and (max-width: 600px) {
    #wrapper {
        width: 100%;
    }

    #title {
        font-size: 2rem;
    }

    input[type="text"] {
        width: 100%;
    }

    table {
        word-break: break-word;
    }
}
