.map_section {
    & .container {
        position: relative;
        z-index: 2;

        & .section_inner {
            width: 100%;
            display: flex;
            flex-direction: row;
            align-items: stretch;
            justify-content: space-between;
            flex-wrap: wrap;

            & .map_wrapper {
                width: 68%;

                @media (max-width: 991px) {
                    width: 100%;
                    order: 3;
                    margin-top: 5rem;
                }
        
                & h2, & h3 {
                    font-family: "Aboreto", arial, sans-serif;
                    text-transform: uppercase;
                    font-weight: 400;
                    font-size: 5rem;
                    color: var(--primary);
                    margin: 0 0 3rem;
                    letter-spacing: -2px;

                    @media (max-width: 991px) {
                        font-size: 3rem;
                    }
                }
        
                & p {
                    font-size: 1.8rem;
                    color: var(--primary);

                    &:last-of-type {
                        margin: 0;
                    }
                }

                & #map {
                    width: 100%;
                    height: 40rem;
                    border: 1px solid var(--primary);
                    margin-top: 3rem;

                    @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;
                        }
                    }
                }
            }

            & .sidebar {
                width: 28%;
                background: #fff1e8;
                padding: 4rem 3rem;
                border-radius: 1rem;
                border: 2px solid #44251B;

                @media (max-width: 991px) {
                    width: 100%;
                    order: 2;
                    margin-top: 3rem;
                }

                & .location-info-card {
                    display: flex;
                    flex-direction: column;
                    gap: 3rem;

                    @media (max-width: 991px) {
                        padding: 2.5rem;
                        gap: 2.5rem;
                    }

                    & .info-section {
                        display: flex;
                        gap: 1.5rem;
                        align-items: flex-start;

                        & .icon-placeholder {
                            width: 4rem;
                            height: 4rem;
                            min-width: 4rem;
                            background-color: #F5E6D3;
                            border-radius: 50%;
                            flex-shrink: 0;
                        }

                        & .info-content {
                            flex: 1;

                            & .info-heading {
                                font-size: 1.8rem;
                                font-family: "DM Sans", arial, sans-serif;
                                font-weight: 700;
                                color: #000;
                                margin: 0 0 1rem;
                            }

                            & .info-text {
                                font-size: 1.6rem;
                                color: var(--primary);
                                margin: 0;
                                line-height: 1.5;

                                &.address {
                                    & p {
                                        margin: 0;
                                    }
                                }
                                
                                & a {
                                    color: #f26532;

                                    & p {
                                        color: #f26532;
                                    }
                                }
                            }

                            & .opening-hours {
                                & .hours-line {
                                    font-size: 1.6rem;
                                    color: #000;
                                    margin: 0 0 0.5rem;

                                    &:last-child {
                                        margin-bottom: 0;
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}