.map_section{
    margin-top: 20px;
}

.map_section .heading{
    font-size: 2.5vw;
    font-weight: 700;
    color: var(--teal-dark);
    text-align: center;
    margin: 0px;
    line-height: 2vw;
}

.map_section .sub_heading{
    font-size: 3.5vw;
    text-align: center;
}

/* Media Queries for Responsive Design */

/* Large screens (desktops, 1200px and up) */
@media (min-width: 1200px) {
    .map_section .heading{
        font-size: 30px;
        line-height: 24px;
    }
    
    .map_section .sub_heading{
        font-size: 42px;
    }
}

/* Medium screens (tablets, 768px to 1199px) */
@media (min-width: 768px) and (max-width: 1199px) {
    .map_section{
        margin-top: 15px;
    }
    
    .map_section .heading{
        font-size: 2.8vw;
        line-height: 2.2vw;
    }
    
    .map_section .sub_heading{
        font-size: 4vw;
    }
}

/* Small screens (mobile devices, 576px to 767px) */
@media (min-width: 576px) and (max-width: 767px) {
    .map_section{
        margin-top: 15px;
    }
    
    .map_section .heading{
        font-size: 24px;
        line-height: 20px;
    }
    
    .map_section .sub_heading{
        font-size: 28px;
    }
}

/* Extra small screens (mobile devices, below 576px) */
@media (max-width: 575px) {
    .map_section{
        margin-top: 10px;
    }
    
    .map_section .heading{
        font-size: 20px;
        line-height: 18px;
    }
    
    .map_section .sub_heading{
        font-size: 24px;
    }
}