@import url('https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap');

body {
    display: flex;
    flex-direction: column;
    background: #1A1A1A;
    height: 100vh
}

body.dark {
    background: #1A1A1A;
}
body.light {
    background: #efefef;
}
body.light p {
    color: #1A1A1A;
}
body.dungeon {
    background: url(../media/dungeon_wall2.jpeg) repeat center;
    background-size: 400px;
}

h1, h2, nav a {
    font-family: 'Press Start 2P', cursive;
    background-image: linear-gradient(90deg,rgba(255, 215, 0, 1) 0%, rgba(218, 165, 32, 1) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

p , li {
    font-family: 'Roboto', sans-serif;
    color: #F0F0F0;
}

ul {
    list-style: none;
}
li {
    display: flex;
    align-items: flex-start;
    position: relative;
}
li p {
    margin-left: 20px;
}
ul p:before {
    content: '';
    background: url(../media/pixel_diamond.png) no-repeat 50% 50%;
    background-size: contain;
    width: 16px;
    height: 16px;
    position: absolute;
    left: 0;
    top: 3px;
}


header {
    display: flex;
    flex-direction: row;
    min-height: 100px;
    align-items: center;
    margin-bottom: 60px;
    justify-content: center;
    gap: 20px;
}
header .logo img {
    max-height: 50px;
}
nav {
    padding: 10px;
}
.nav {
    display: flex;
    flex-direction: row;
    gap: 10px;
}
main {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 100px;
}
.about {
    display: flex;
    width: 80vw;
    margin: 0 auto;
    justify-content: space-evenly;
    align-items: center;
}
.about-container {
    width: 50%;
}
.about-container h2 {
    text-align: center;
}
.about img {
    max-height: 400px;
    width: 40%;
}
.services {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: center;
    justify-content: space-between;
    width: 80vw;
    gap: 20px;
}
.service-card-container {
    width: calc((100% / 2) - 3%);
}
.service-card {
    /* border: solid 6px #fff; */
    padding: 20px;
    border: 20px solid transparent;
    border-image-source: url(../media/border.png);
    border-image-slice: 20 fill;
    border-image-repeat: stretch;
    image-rendering: pixelated;
}
.service-card-container {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.service-card h3, .service-card p, .service-card li {
    color: #000000;
}
.service-card h3 {
    font-family: 'Press Start 2P', cursive;
}
.service-card-container img {
    max-height: 60px;
    margin: 5px;
}
footer {
    justify-self: flex-end;
    display: flex;
    justify-content: center;
}
form {
    display: flex;
    flex-direction: column;
    gap: 20px;
    align-items: center;
    width: 50vw;
    padding: 40px;
}
.form-container {
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 50vw;
    border: 20px solid transparent;
    border-image-source: url(../media/border.png);
    border-image-slice: 20 fill;
    border-image-repeat: stretch;
    image-rendering: pixelated;
    align-items: center;
}
label {
    font-family: "Courier New", Courier, monospace;
    font-size: 1.4rem;
}
.submit {
    border: none;
    background: none;
    font-family: "Press Start 2P", cursive;
    font-size: 2rem;
}
a:hover {
    cursor: url(../media/pixel_sword.png), pointer;
}
.background-select-button {
    background-color: transparent;
    border: none;
    font-family: "Press Start 2P", cursive;
    font-size: 1rem;
    background-image: linear-gradient(90deg,rgba(255, 215, 0, 1) 0%, rgba(218, 165, 32, 1) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

@media screen and (max-width: 1200px) {
    header {
        flex-direction: column;
        min-height: unset;
        align-items: center;
        justify-content: center;
        text-align: center;
        gap: unset;
    }
    .about {
        flex-direction: column;
    }
    .about-container {
        width: 80vw;
    }
    .about img {
        width: 100%;
    }
    .form-container {
        width: 80vw;
    }
    form {
        width: 80vw;
    }
}

@media screen and (max-width: 768px) {
    .services {
        flex-direction: column;
    }

    .service-card-container {
        width: 90vw;
    }
    .form-container {
        width: 90vw;
    }
    form {
        width: 90vw;
    }
    form .submit {
        font-size: 1.5rem;
    }
}