.csLocations-container {
    opacity: 0;
    visibility: hidden;
    -webkit-appearance: none;
    transition: opacity .5s, visibility .5s;
}

.csLocations-container.active {
    opacity: 1;
    visibility: visible;
    -webkit-appearance: inherit;
}

.csLocations-map {
    width: 100%;
    height: calc(100vh - (60px + 114px));
}

.csLocations-map img {
    opacity: 1;
    visibility: visible;
}

.csLocations-map .gm-style-pbc[style*="opacity: 1"] {
    z-index: 9999 !important;
}

.csLocations-map .csLocations-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);

    z-index: 999;
}

.csLocations-map .csLocations-overlay .csLocations-overlay-inner {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translateY(-50%) translateX(-50%);
    color: #fff;
    text-align: center;
    font-size: 14px;
}

.csLocations-filter > .filter-item > .form-control {
    height: 60px;
}

/*.csLocations-optin {*/
/*    text-align: center;*/
/*    margin: 15px;*/
/*    padding: 45px 30px;*/
/*    background: #eee;*/
/*    width: calc(100% - 30px);*/
/*    box-sizing: border-box;*/
/*    color: #000;*/
/*}*/
/*.csLocations-optin button {*/
/*    border: 0;*/
/*    border-radius: 12.5rem;*/
/*    padding: 5px 15px;*/
/*}*/

.csLocations-container table {
    border-collapse: collapse;
    border-spacing: 0;
    margin-bottom: 20px;
}

.csLocations-container table thead tr {
    text-align: left;
    font-weight: 700;
}

.csLocations-container table thead th,
.csLocations-container table tbody td {
    border: 0;
    font-size: 16px;
}

.csLocations-container table tbody td {
    vertical-align: middle;
    white-space: normal;
    width: auto;
}

.csLocations-container table tbody tr:nth-child(even) {
    background: #f4f4f4
}
.csLocations-container table tbody tr:nth-child(odd) {
    background: #fff
}

.csLocations-container {
    background-color: #fff;
}

.csLocations-filter {
    display: flex;
    counter-reset: step;
}

.csLocations-filter, .csLocations-list {
    padding: 18px 0;
    max-width: 1170px;
    width: 100%;
    margin: 0 auto;
    box-sizing: border-box;
}

.csLocations-filter>.filter-item {
    position: relative;
    box-sizing: border-box;
    width: calc(100% - 30px)!important;
    margin: 0 15px;
    padding-left: 52px;
}

.csLocations-filter>.filter-item:before {
    counter-increment: step;
    content: counter(step);
    position: absolute;
    top: 0;
    left: 0;
    width: 37px;
    height: 37px;
    background: #cd1a19;
    border-radius: 50%;
    z-index: 1;
    color: #fff;
    text-align: center;
    padding: 5px;
    box-sizing: border-box;
}

.csLocations-filter>.filter-item>.form-control {
    width: calc(100% - (37px + 15px));
    padding: 0 9px;
    height: 38px;
    border: 0;
    margin-left: calc(37px + 15px);
    border-radius: 4px !important;
    background: #eee;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.csLocations-filter, .csLocations-list {
    padding: 18px 0;
    max-width: 1170px;
    width: 100%;
    margin: 0 auto;
    box-sizing: border-box;
}

#csLocations table a.route {
    margin-top: 15px;
    margin-bottom: 15px;
}

#csLocations a.route {
    background: #ce1a1a;
    display: block;
    text-align: center;
    padding: 5px;
    margin-top: 10px;
    border-radius: 12.5rem;
    color: #fff;
    font-weight: 500;
    min-width: 120px;
}

#csLocations a.route:hover {
    text-decoration: none;
    background: #cf4747;
}

@media screen and (max-width: 1199px) {
    .csLocations-container table tbody tr.csLocations-item td {
        display: block;
        text-align: center;
        padding: 0;
    }
}