body {
    margin: 0;
    font-family: Inter, serif;
}

p strong {
    font-weight: 700;
}

/* Navbar */
.navbar-container {
    position: fixed;
    background-color: black;
    width: 100%;
    color: white;
    padding: 1px 25px;
    border-bottom: solid #ed4545;
    z-index: 999;
}

/* Hyperlink override */
a {
    color: #ed4545;
    text-decoration: none;
    transition: color 0.3s ease;
}

a:hover {
    color: #ff6b6b;
    text-decoration: underline;
}

/* Buttons */
.button {
    /* Button base attributes */
    background-color: #ed4545;
    color: white;
    padding: 20px 40px;
    width: fit-content;
    text-decoration: none;
    border-radius: 50px;
    transition-delay: 0s;
    transition: border-radius 0.3s ease, background-color 0.3s ease, color 0.3s ease;
    font-size: 18px;
    margin-left: 5px;
    margin-right: 5px;
    border-top: 20px;
}

.button.no-margin {
    /* Removes margin from button */
    margin: 0 0 10px;
}

.button:hover {
    /* Hover effect */
    background-color: #ff6b6b;
    border-radius: 10px;
    color: black;
    text-decoration: none;
}

.button.guilded {
    /* Custom button color for Discord */
    background-color: #F5C400;
    color: black;
}

.button.guilded:hover {
    /* Custom button hover color for Discord */
    background-color: #ffe76e;
}

.button.discord {
    /* Custom button color for Discord */
    background-color: #5865f2;
}

.button.discord:hover {
    /* Custom button hover color for Discord */
    background-color: #a8aeff;
}

.button i {
    /* Sets button icon image if any are set. */
    font-size: 18px;
    padding-right: 10px;
}

/* Header */
.header-container {
    background-color: black;
    color: white;
    padding: 170px 50px 150px;
    text-align: center;
}

.header-container h1 {
    word-break: break-word;
    line-height: 1;
    font-size: 108px;
    font-weight: 700;
    margin-bottom: 30px;
}

.header-container h1 span#slogan-gradient {
    background: linear-gradient(45deg, #EFC6C6, #FFA2A2);
    background-clip: text;
    color: transparent;
}

.header-container p {
    line-height: 1.5;
    font-size: 24px;
    font-weight: 300;
    margin-bottom: 50px;
}

p.small {
    font-size: 18px;
    color: #ccc;
}

p.small i {
    padding-left: 10px;
}

.body-container p.small {
    font-size: 16px;
}

/* Body */
.body-container {
    padding: 20px 10%;
    background-color: black;
    color: white;
    line-height: 1.5;
}

.box-container {
    display: flex;
    border-radius: 20px;
    background: linear-gradient(135deg, #171717, #333);
    height: 100%;
}

.box-container.no-half {
    display: block;
    border-radius: 20px;
    background: linear-gradient(135deg, #171717, #333);
    height: 100%;
}

.box.image {
    padding: 20px;
}

.box.image img {
    border-radius: 15px;
    text-align: center;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.box.image img:hover {
    /* Zoom and tilt effect on hover */
    transform: rotate(5deg) scale(1.2, 1.2);
    z-index: -1;
}

.box-content {
    padding: 40px 40px 40px 80px;
}

.box-content.button-spacing {
    padding: 40px 40px 70px 80px;
}

.box-content h1 {
    font-size: 36px;
    margin-top: 16px;
    margin-bottom: 16px;
}

.box-content p {
    margin-top: 16px;
    margin-bottom: 16px;
    font-size: 18px;
}

.box-content.button-spacing p {
    padding-bottom: 10px;
}

.box-container .box {
    flex: 1;
}

.box-content.align-center {
    text-align: center;
}

.box-container.no-half .box {
    flex: 0;
}

.box-container.no-half .box .box-content {
    padding: 40px;
}

.box-container.no-half .box .box-content.align-center.button-spacing {
    padding-bottom: 70px;
}

.box-content p.green-check i {
    color: #11AD79;
    margin-right: 5px;
}

.box-content span#feature-1 {
    background: linear-gradient(45deg, #FFA2A2, #E4AA54);
    background-clip: text;
    color: transparent;
    text-decoration: underline;
}

.box-content span#feature-2 {
    background: linear-gradient(45deg, #11AD79, #87ABE0);
    background-clip: text;
    color: transparent;
    text-decoration: underline;
}

.box-content span#feature-3 {
    background: linear-gradient(45deg, #e84dbc, #ff7474);
    background-clip: text;
    color: transparent;
    text-decoration: underline;
}

.box-content span#feature-4 {
    background: linear-gradient(45deg, #4de8c4, #d1ff74);
    background-clip: text;
    color: transparent;
    text-decoration: underline;
}

.box-content span#feature-5 {
    background: linear-gradient(45deg, #4de8e3, #7862fd);
    background-clip: text;
    color: transparent;
    text-decoration: underline;
}

.box-content span#feature-6 {
    background: linear-gradient(45deg, #864de8, #c8c0ff);
    background-clip: text;
    color: transparent;
    text-decoration: underline;
}

.box-content span#opensource {
    background: linear-gradient(45deg, #4de879, #f3ffc0);
    background-clip: text;
    color: transparent;
    text-decoration: underline;
}

@media screen and (max-width: 850px) {
    .button {
        display: block;
        margin: 5px auto;
    }

    .header-container {
        padding-left: 20px;
        padding-right: 20px;
    }

    .header-container h1 {
        font-size: 42px;
    }

    .header-container p {
        font-size: 18px;
    }

    .box-container {
        display: block;
    }

    .box-container .box {
        flex: 0;
    }

    .box-container .box.image {
        padding: 10px 10px 7px;
    }

    .box-container .box .box-content {
        padding: 10px 20px;
    }

    .box-content.button-spacing {
        padding: 40px 40px 40px 80px;
    }

    .box.image img:hover {
        /* Zoom and tilt effect on hover */
        transform: none;
    }
}