﻿/* Container */
.container {
    width: 100%;
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 15px;
}

/* Columns */
.col-md-4 {
    float: left;
    width: 50%;
    padding: 0 15px;
}

    .col-md-4:nth-child(2n+1) {
        clear: both;
    }

@media (min-width: 992px) {
    .col-md-4 {
        width: 33.33333%;
    }

        .col-md-4:nth-child(3n+1) {
            clear: both;
        }

        .col-md-4:nth-child(2n+1) {
            clear: none;
        }
}

/* List Items */
.col-md-4 li {
    list-style-type: none;
    position: relative;
    padding-left: 20px;
    margin-bottom: 17px;
    font-size: 12pt;
}

    .col-md-4 li::before {
        position: absolute;
        left: 0;
        top: 50%;
        transform: translateY(-50%);
        width: 0;
        height: 0;
        border-top: 5px solid transparent;
        border-bottom: 5px solid transparent;
        border-left: 8px solid #0A2041;
        content: '';
    }

    .col-md-4 li a {
        text-decoration: none;
        color: black;
    }

        .col-md-4 li a:hover {
            color: #40AE49;
        }

/* Locations Header and Description */
.locations-header {
    margin-top: 35px;
    margin-bottom: 15px;
}

.locations-description {
    margin-bottom: 50px;
}

/* Flex Container */
.flex-container {
    display: flex;
    flex-direction: column;
}

/* City Details */
.city-details {
    color: #0A2041;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: start;
    margin-bottom: 40px;
    padding-bottom: 30px;
    border-bottom: 2px solid #e1e1e1;
    font-size: 16px;
}

/* Location Info */
.location-info {
    margin-bottom: 20px;
    font-size: 20px;
    color: #0A2041;
}

/* Hours and Address Info */
.hours-address-info {
    padding: 0 15px;
    display: flex;
    flex-direction: column;
    gap: 5px;
    margin-bottom: 20px;
}

/* Links Info */
.links-info {
    flex: 1;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    gap: 48.55vw;
}

@media (min-width: 768px) {
    .city-details {
        flex-direction: row;
    }

    .location-info {
        flex: 1;
        min-width: 20%;
        margin-bottom: 0;
        color: #0A2041;
    }

    .hours-address-info {
        flex: 1.25;
    }

    .links-info {
        flex-direction: column;
        align-items: flex-start;
        gap: 5px;
    }
}

/* City Details Link Styles */
.city-details a {
    color: #007bff;
    text-decoration: none;
    font-weight: bold;
    font-size: 14px;
}

    .city-details a:hover {
        text-decoration: underline;
    }
