/* Row */
.mec-row {
    display: flex;
    flex-wrap: wrap;
    margin-left: -15px;
    margin-right: -15px;
    margin-bottom: 20px;
}

/* Columns */
.mec-col-2-5 {
    flex: 0 0 40%;
    /* 2/5 of the container */
    max-width: 40%;
    padding-left: 15px;
    padding-right: 15px;
    box-sizing: border-box;
}

.mec-col-3-5 {
    flex: 0 0 60%;
    /* 3/5 of the container */
    max-width: 60%;
    padding-left: 15px;
    padding-right: 15px;
    box-sizing: border-box;
}

/* Mobile view: 5/5 for both columns */
@media (max-width: 767px) {

    .mec-col-2-5,
    .mec-col-3-5 {
        flex: 0 0 100%;
        max-width: 100%;
    }
}

/* Style for select, date picker, and button */
.mec_options select,
.mec_options input,
.mec_options button {
    width: 100%;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-sizing: border-box;
    font-size: 17px;
    line-height: 1.2;
}

.mec_options button {
    color: white;
    cursor: pointer;
    transition: background-color 0.3s;
    border-radius: 50px;
}

.filter {
    background-color: #00386F;

}

.reset {
    background-color: #CA0611;
}

.filter:hover {
    background-color: #0056b3;
}

.reset:hover {
    background-color: rgb(112, 6, 6);
}

/* Date pickers */
.date_select input {
    width: 49%;
    padding: 10px !important;
    /* Some spacing between date pickers */
    border: 1px solid #ccc !important;
    border-radius: 4px !important;
    box-sizing: border-box !important;
}

.category_select,
.state_select,
.date_select {
    padding-bottom: 10px;
}

#mec-start-date {
    margin-right: 1%;
    float: left;
}

#mec-end-date {
    margin-left: 1%;
    float: right;
}

.date_select {
    width: 100%;
    float: left;
}

/* Mobile view */
@media (max-width: 767px) {

    #mec-end-date,
    #mec-start-date {
        width: 100%;
        /* On mobile, date pickers take full width */
        margin-left: 0;
        margin-right: 0;
    }
}

#mec-filter-form label {
    width: 100%;
    font-family: 'Bebas Neue', display;
    display: block;
    font-size: 21px;
    color: #000;
    line-height: 1.5;
}

.infoWindowContent,
.customControl {
    font-family: 'Open Sans', sans-serif;
}

.mec-events-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 20px !important;
}

.mec-events-table th,
.mec-events-table td {
    padding: 5px !important;
    border: 1px solid #e5e5e5;
    text-align: left;
}

.mec-events-table th {
    background-color: #00386F;
    text-align: center;
    color: #fff !important
}

.mec-events-table tr:nth-child(even) {
    background-color: #f2f2f2;
}

.details-button {
    background-color: #CA0611;
    color: #fff;
    padding: 5px 10px;
    border: none;
    border-radius: 50px;
    cursor: pointer;
    text-decoration: none;
    transition: 0.5s background;
}

.details-button:hover {
    background-color: #a7040c;

}

.load-more-button {
    background-color: #00386F;
    color: #fff;
    padding: 10px 15px;
    border: none;
    border-radius: 3px;
    cursor: pointer;
    display: block;
    margin: 10px auto 30px auto;
    font-family: 'Open Sans', sans-serif;
}

/* Responsive styles */
@media screen and (max-width: 767px) {

    .mec-events-table,
    .mec-events-table thead,
    .mec-events-table tbody,
    .mec-events-table th,
    .mec-events-table td,
    .mec-events-table tr {
        display: block;
    }

    .mec-events-table thead tr {
        position: absolute;
        top: -9999px;
        left: -9999px;
    }

    .mec-events-table tr {
        margin-bottom: 0.625em;
    }

    .mec-events-table td {
        border: none;
        border-bottom: 1px solid #e5e5e5;
        position: relative;
        padding-left: 50%;
        text-align: left;
        display: block;
    }

    .mec-events-table td::before {
        content: attr(data-label);
        position: absolute;
        left: 6px;
        width: 45%;
        padding-right: 10px;
        white-space: nowrap;
        text-align: left;
        font-weight: bold;
    }

    .mec_options {
        margin-bottom: 20px;
    }
}

#mec-results h2 {
    text-align: center;
    font-size: 35px;
    line-height: 1.2;
}

.mec_date {
    font-size: 15px;
    font-style: italic;
}

.mec_detail_button {
    text-align: center !important;
}

.web_form_description p {
    line-height: 1.2;
}

.web_form_description {
    margin-bottom: 15px
}

.web_form_title h1 {
    font-size: 40px
}

#better-mec-map {
    padding: 10px;
    border-radius: 50px;
}

.no-results {
    text-align: center;
    margin-bottom: 15px;
}

.full_address {
    font-size: 15px;
    font-style: italic;
}