main {
    display: grid;
    grid-template-rows: repeat(4, max-content);
    grid-template-columns: 1fr;
    gap: clamp(1rem, 3vw, 2rem);
    row-gap: 4rem;
    margin: 5rem 10vw;
}

main * {
    padding: 0;
    margin: 0;
    font-weight: 400;
    font-size: 1rem;
}

main div div, main div section {
    outline: 1px solid transparent;
    box-shadow: 0 0 3px -1.7px var(--primary-hover);
    box-sizing: border-box;
    transition: all 0.2s linear 0s;
    user-select: none;
}

main div div:hover, main div section:hover {
    outline-color: var(--secondary-color);
    box-shadow: 0 0 12px -6px var(--primary-hover);
    transform: translateY(-0.5rem);
}

main h3 {
    grid-area: 1 / 1 / 2 / -1;
    justify-self: center;
    align-self: center;
    font-size: 2rem;
    font-weight: 600;
}

main div#do-cards {
    grid-area: 2 / 1 / 3 / -1;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: max-content;
    column-gap: clamp(1rem, 3vw, 2rem);
}

@media (width <= 800px) {
    main div#do-cards {
        grid-template-columns: 1fr;
        grid-template-rows: 2fr;
        gap: clamp(1rem, 3vw, 2rem);
    }
    main {
        margin: 5rem 5vw;
    }
}

main div#do-cards section {
    display: flex;
    align-items: center;
    font-size: 1.6rem;
    padding: 0px 5%;
    height: 15rem;
    border-radius: 2rem;
    /*box-shadow: 0 0 10px -6px var(--primary-hover);*/
}

main div#do-cards section:nth-child(1) {
}
main div#do-cards section:nth-child(2) {
}

main div#project {
    display: grid;
    display: none;
    grid-template-columns: 1fr 4fr;
    grid-template-rows: max-content;
    column-gap: clamp(1rem, 3vw, 2rem);;
}
main div#project div {
    display: flex;
    display: none; 
    align-items: center;
    justify-content: center;;
    border-radius: 3rem;
    /*box-shadow: 0 0 10px -6px var(--primary-hover);*/
}
main div#project div#project-img {
    box-sizing: border-box;
    aspect-ratio: 1 / 1;
    padding: 0 2rem;
}
main div#project div#project-img h4 {
    font-size: clamp(3rem, 9vw, 6rem);
    text-align: center;
}
main div#project div#project-img img {
    display: none;
}
main div#project div#project-description {
    display: flex;
    display: none;
    flex-direction: column-reverse;
    padding: 10px 5%;
    width: auto;
}
main div#project div#project-description p {
    font-size: clamp(0.8rem, 2.6vw, 2rem);
}
main div#project div#project-description a {
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1 / 1;
    width: 3rem;
    height: 3rem;
    border-radius: 100%;
    outline: 0px solid var(--secondary-color);
    background-color: var(--secondary-color);
    color: var(--background-color);
    font-size: 1.2rem;
    text-decoration: none;
    text-align: center;
    padding: 1.5rem 1.5rem;
    margin-bottom: 2rem;
    transition: all 0.2s ease-in-out 0s;
}
main div#project div#project-description a:hover {
    cursor: pointer;
    outline-width: 5px;
}

@media (width <= 800px) {
    main div#project {
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: repeat(2, max-content);
        gap: clamp(1rem, 3vw, 2rem);
    }
    main div#project div#project-img {
        aspect-ratio: 2 / 1;
        border-radius: 2.5rem;
    }
    main div#project div#project-description {
        flex-direction: row;
        justify-content: center;
        align-items: center;
        border-radius: 2rem;
        height: 12rem;
    }
    main div#project div#project-description a {
        display: flex;
        align-items: center;
        aspect-ratio: 1 / 1;
        border-radius: 100%;
        padding: 1rem 1rem;
        margin: 0;
        margin-right: 1rem;
        font-size: 1.2rem;
    }
}

main div#join-reqs {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(2, max-content);
    gap: clamp(0.8rem, 3vw, 2rem);
}
main div#join-reqs div {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size: clamp(1rem, 2.5vw, 2.8rem);
    width: 100%;
    padding: 0 clamp(1rem, 2vw, 2rem);
    aspect-ratio: 1 / 1;
    border-radius: 20%;
    /*box-shadow: 0 0 10px -6px var(--primary-hover);*/
}
main div#join-reqs div:nth-child(4) {
    grid-column: 1 / -1;
    aspect-ratio: 6 / 1;
    border-radius: 2rem;
}