:root {
    --primary: #bd2e2eff;
    --secondary: #27262c;
    --secondary-subtle: #302d3e; 
    --default-text-color: white;
    --subtle-text-color: #8093a9;
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    text-decoration: none;
    color: var(--default-text-color);
}

body {
    background-color: var(--secondary);
}

.container {
    margin: 5rem auto;
    width: 80vw;
    background-color: var(--secondary-subtle);

    border: 4px double #fff;
}

/* Header Styles */
.header {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0.5rem;
}
.dev-name {
    font-size: 5rem;
}
.contact-options-container {
    display: flex;
    gap: 1rem;
    font-size: 1.2rem;
}

.contact-option {
    color: var(--subtle-text-color);
}

.contact-icon {
    width: 1.2rem;
    filter: invert(1);
}

@media only screen and (max-width: 768px) {
    .container {
        width: 90vw;
    }

    .header {
        gap: 0.3rem;
    }

    .dev-name {
        font-size: 2rem;
    }

    .contact-options-container {
        gap: 0.7rem;
        font-size: 0.8rem;
    }

    .contact-icon {
        width: 0.8rem;
    }

    .list-container {
        flex-direction: column;
    }

    .two-column-list > ul {
        grid-template-columns: 1fr !important;
    }
}

/* Main Styles */
.main {
    padding: 2rem;
    display: flex;
    flex-direction: column;
    row-gap: 1rem;
}

.section-header {
    border-bottom: 4px dotted var(--primary);
}

.section-body {
    margin-top: 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.section-title {
    font-size: 2rem;
}

.entry-header {
    display: flex;
    justify-content: space-between;
}

.list-container {
    display: flex;
    justify-content: start;
    column-gap: 3rem;
    row-gap: 1rem;
}

.list > ul {
    list-style-position: inside;
}

.list-header, .entry-title {
    font-size: 1.1rem;
    font-weight: 600;
}

.list-entry-text, .entry-body {
    color: var(--subtle-text-color);
}

.two-column-list > ul {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 2rem;
}

@media only screen and (max-width: 768px) {
    .main {
        padding: 0.5rem;
    }
}