.map_section {
    & .container {
        padding-top: 60px;
        padding-bottom: 60px;

        @media (max-width: 991px) {
            padding-top: 50px;
            padding-bottom: 50px;
        }

        & .section_inner {
            width: 100%;
            display: flex;
            flex-direction: row;
            align-items: stretch;
            justify-content: space-between;
            flex-wrap: wrap;

            & .map_wrapper {
                width: 45%;

                @media (max-width: 991px) {
                    width: 100%;
                    order: 3;
                    margin-top: 5rem;
                }

                & #map {
                    width: 100%;
                    height: 70rem;
                    border: 2px solid var(--primary);
                    border-radius: 1rem;

                    @media (max-width: 991px) {
                        height: 40rem;
                    }

                    & .info-window {
                        width: 36rem;
                        max-width: 100%;

                        & p.main_header {
                            font-size: 2rem;
                            font-weight: 700;
                            font-family: "DM Sans", arial, sans-serif;
                            margin: 0 0 1rem;
                            color: var(--primary);
                        }

                        & p.sub_header {
                            font-size: 1.8rem;
                            font-weight: 700;
                            color: var(--accent);
                            margin: 0;
                        }

                        & a {
                            display: block;
                            margin: 0 0 1rem;
                            color: var(--accent) !important;
                        }
                    }
                }
            }

            & .main_content {
                width: 45%;

                @media (max-width: 991px) {
                    width: 100%;
                }
        
                & p.subheader {
                    font-size: 1.8rem;
                    color: var(--primary);
                    margin: 0 0 2rem;
                }
        
                & h2, & h3 {
                    width: 100%;
                    font-weight: 400;
                    font-size: 5rem;
                    margin: 0 0 3rem;
                    line-height: 1;
                    color: var(--primary);

                    @media (max-width: 991px) {
                        font-size: 3rem;
                        text-align: center;
                    }
                }

                & .text {
                    & p {
                        font-size: 1.8rem;
                        color: var(--primary);

                        &:last-of-type {
                            margin: 0;
                        }
                    }
                }

                & .call_to_action_buttons {
                    margin: 3rem 0;
                }

                & details summary::-webkit-details-marker {
                    display: none;
                }

                /* Container */
                & details {
                    border-bottom: 1px solid var(--primary);
                    padding: 1rem 0;
                }

                /* Summary Layout */
                & details summary {
                    display: flex;
                    align-items: center;
                    justify-content: space-between;
                    cursor: pointer;
                    padding: 8px 0;
                }

                /* ICON + TEXT WRAPPER */
                & details summary > *:first-child {
                    display: flex;
                    align-items: center;
                    gap: 12px;
                }

                /* ICON */
                & details summary img {
                    width: 28px;
                    height: 28px;
                    object-fit: contain;
                }

                /* TITLE */
                & details summary .name {
                    width: 100%;
                    padding-left: 2rem;
                    margin: 0;
                    font-size: 1.8rem;
                    font-weight: 500;
                    color: var(--primary);
                }

                /* PLUS / MINUS TOGGLER */
                & details summary::after {
                    content: "+";
                    font-size: 2.4rem;
                    font-weight: 300;
                    color: var(--primary);
                }

                /* Rotate to minus when opened */
                & details[open] summary::after {
                    content: "-";
                }

                /* CONTENT */
                & details .content {
                    padding: 2rem 4.8rem;
                    font-size: 1.6rem;
                    color: var(--primary);
                    line-height: 1.6;

                    & ul {
                        margin: 1rem 0 0;

                        & li {
                            margin: 0;
                        }
                    }
                }
            }
        }
    }
}

/* Fade animation */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(-3px); }
    to   { opacity: 1; transform: translateY(0); }
}