main {
    width: 1110px;
    display: grid;
    column-gap: 30px;
    grid-template-columns: repeat(12, 65px);
    margin: 0 auto;
}

section {
    margin: 24px 0;
}

.page-header {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 120px;
    
    .hero-heading {
        font-size: 3rem;
    }

    .background {
        position: absolute;
        z-index: -1;
        background: var(--sub-banner-background);
        height: 168px;
        width: 100vw;
    }
}

section.contact {
    display: flex;
    grid-column: span 12;
    flex-direction: column;
    align-items: center;
    padding-bottom: 48px;

    article {
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;

        .title {
            width: 100%;
            height: fit-content;
            padding-bottom: 24px;
        }
        
        .contact-left {
            width: fit-content;
            height: fit-content;
            display: flex;
            flex-direction: column;
            justify-content: center;
            padding: 12px 24px;
            gap: 2px;
            margin-right: 120px;

            .email-contact {
                display: flex;
                flex-direction: column;
                justify-content: center;
                gap: 8px;
                .button-wrapper {
                    display: flex;
                    gap: 8px;
                    align-items: center;

                    .button-link {
                        a {
                            text-decoration: none;
                        }

                        button {
                            border: none;
                            svg {
                                filter: var(--svg-filter-light);
                            }
                        }
                    }
                    button {
                            transition: background-color 2s;
                        }
                    button.confirm {
                            background-color: rgb(170, 255, 148);
                            transition: background-color .5s;
                        }
                }
            }
        }

        .contact-right {
            width: 48%;
            display: flex;
            flex-direction: column;

                .bento-button {
                    padding: 8px;
                    background-color: var(--banner-background);
                    border-radius: 1.5rem;
                    margin: 8px;
                    
                    a {
                        display: flex;
                        align-items: center;
                        color: var(--paragraph-text-color);
                        text-decoration: none;
                        font-size: 1rem;

                        .icon {
                            height: 2rem;
                            width: 2rem;
                            padding: 4px;
                            filter: var(--svg-filter);
                        }

                        .bento-description {
                            padding-left: 8px;
                        }
                    }
                    a:hover {
                        text-decoration: underline 1px var(--paragraph-text-color);
                        text-underline-offset: 2px;
                    }
                }
            }
    }
}

@media (max-width: 1110px) and (min-width: 730px ){
    main {
        width: 730px;
        display: grid;
        column-gap: 30px;
        grid-template-columns: repeat(8, 65px);
        margin: 0 auto;
    }

    section.contact {
        grid-column: span 8;

        article {
            width: 80vw;
            .contact-left {
                padding: 0;
                margin: 0 4% 0 0;
            }
            
        }
    }
}

@media (width <= 730px ){
    main {
        width: 350px;
        display: grid;
        column-gap: 30px;
        grid-template-columns: repeat(4, 65px);
        margin: 0 auto;
    }

    section.contact {
        grid-column: 1/span 4;

        article {
            width: 100%;
            flex-direction: column;

            .contact-left {
                padding: 0;
                margin: 0;
            }
            .contact-right {
                margin-top: 48px;
                width: 100%;
            }
        }
    }
}