.ucx-locations{
    --ucx-bg:#f6f3ee;
    --ucx-panel:#ffffff;
    --ucx-text:#213547;
    --ucx-muted:#667085;
    --ucx-line:#E6E6E6;
    --ucx-accent:#b78b5a;
    --ucx-accent-dark:#6f4f28;
    display:block;
    color:var(--ucx-text);
}
.ucx-locations *{
    box-sizing:border-box;
}
.ucx-locations__header{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:20px;
    margin-bottom:16px;
}
.ucx-locations__title{
    margin:0;
    font-size:clamp(28px,3vw,40px);
    line-height:1.05;
}
.ucx-locations__filters-wrap{
    display:grid;
    grid-template-columns:minmax(0,33%) minmax(220px,1fr);
    gap:0;
    align-items:start;
}
.ucx-locations__keys{
    padding: 10px 20px;
    background: #f1f1f1;
}
.ucx-locations__keys-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
    margin-bottom: 10px;
}
.ucx-locations__keys-title{
    margin:0;
    font-size: 21px;
    line-height: 23px;
    font-weight: 600;
    color: #4C4F59;
    text-transform: uppercase;
}
.ucx-locations__filters{
    display:flex;
    flex-direction:column;
    gap:14px;
    align-items:stretch;
    justify-content:flex-end;
    padding-top:2px;
    min-width:0;
    position: relative;
    z-index: 3;
    background: #fff;
}
.ucx-locations__regions{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:0;
    width:100%;
    min-width:0;
}
.ucx-locations .ucx-locations__regions button.ucx-locations__region-card{
    border:0;
    border-radius: 0;
    background:transparent;
    text-align:left;
    cursor:pointer;
    min-width:0;
    color: #4C4F59;
    font-size: 14px;
    font-weight: 600;
    line-height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: .5;
    padding: 40px 0 35px 0;
    border-bottom: 4px solid #DEDEDE;
    height: 100%;
    gap: 15px;
}
.ucx-locations .ucx-locations__regions button.ucx-locations__region-card:hover,
.ucx-locations .ucx-locations__regions button.ucx-locations__region-card.is-active{
    color:#8C97AC;
    opacity: 1;
    border-color: #8C97AC;
}
.ucx-locations__region-dot{
    width:50px;
    height:50px;
    border-radius:50%;
    flex:0 0 50px;
    margin-top:2px;
    background:#d7dce7;
}
.ucx-locations__region-dot--all{
    background:radial-gradient(circle at 65% 30%, #f2e1a6 0 26%, transparent 27%), radial-gradient(circle at 40% 30%, #bcc8e0 0 30%, transparent 31%), radial-gradient(circle at 50% 65%, #b59db6 0 30%, transparent 31%);
}
.ucx-locations__region-dot--northeast{
    background:#cfd7ea;
}
.ucx-locations__region-dot--southeast{
    background:#b9a3b9;
}
.ucx-locations__region-dot--default{
    background:#d7dce7;
}
.ucx-locations__regions button.ucx-locations__region-card .ucx-locations__region-copy{
    display:flex;
    flex-direction:column;
    gap:2px;
    line-height:1.1;
    min-width:0;
}
.ucx-locations__regions button.ucx-locations__region-card .ucx-locations__region-copy,
.ucx-locations__regions button.ucx-locations__region-card .ucx-locations__region-copy *{
    color: #4C4F59;
}
.ucx-locations__region-copy strong{
    /* font-size:15px;
    font-weight:700; */
}
.ucx-locations__region-copy span{
    font-weight: 400;
    font-size: 14px;
    line-height: 17px;
}
.ucx-locations__filter,
.ucx-locations__clear{
    /* min-height:46px; */
}
ul.ucx-locations__filter{
    list-style: none;
    margin: 0;
    padding: 0;
}
.filterby-text{
    font-size: 18px;
}
.filterby-text span {
    display: block;
    padding: 0 0 20px;
    border-bottom: 1px solid #E6E6E6;
}
.filterby-text .region-text {
    margin: 10px 0 20px;
}
.heading-close-wrp .close-fly {
    font-size: 30px;
    position: absolute;
    right: 20px;
    top: 10px;
    color: #000;
    cursor: pointer;
}
ul.ucx-locations__filter li{
    margin: 5px 0;
}
ul.ucx-locations__filter li label {
    color: #4C4F59;
    font-size: 14px;
    font-weight: 400;
    position: relative;
    padding-left: 25px;
}
ul.ucx-locations__filter li label strong{
    display: block;
}
ul.ucx-locations__filter li label span:before,
.ucx-locations .ucx-locations__type-buttons button.ucx-locations__type-button:before {
    margin-right: 0px;
    width: 10px;
    height: 10px;
    background-color: #5F6E84;
    border-radius: 50px;
    content: '';
    position: absolute;
    left: 5px;
    top: 4.5px;
    opacity: 0;
}
ul.ucx-locations__filter li label span:after,
.ucx-locations .ucx-locations__type-buttons button.ucx-locations__type-button:after {
    margin-right: 0px;
    width: 20px;
    height: 20px;
    border: 2px solid #5F6E84;
    border-radius: 50px;
    content: '';
    position: absolute;
    left: 0;
    top: 0;
}
.ucx-locations .ucx-locations__type-buttons button.ucx-locations__type-button:after{
    top: 13px;
    display: none;
}
.ucx-locations .ucx-locations__type-buttons button.ucx-locations__type-button:before{
    top: 18px;
    display: none;
}
ul.ucx-locations__filter li label input{
    opacity: 0;
    visibility: hidden;
    position: absolute;
}
ul.ucx-locations__filter li label input:checked + span:before,
.ucx-locations .ucx-locations__type-buttons button.ucx-locations__type-button.is-active:before{
    opacity: 1;
}
.ucx-locations .ucx-locations__keys-head button.ucx-locations__clear{
    cursor:pointer;
    color:#2a2a2a;
    line-height:1;
    text-transform: uppercase;
    text-decoration: underline;
    font-size: 14px;
    cursor: pointer;
    min-height:auto;
    padding:0;
    border:0;
    background:transparent;
    border-radius:0;
    width: auto;
}
.ucx-locations__type-buttons{
    display:grid;
    grid-template-columns:repeat(4, auto);
    gap:12px 18px;
    align-items:start;
    justify-content: center;
}
.ucx-locations .ucx-locations__type-buttons button.ucx-locations__type-button{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:4px;
    border:0;
    outline:0;
    box-shadow:none;
    background:transparent;
    padding:12px 8px 10px;
    margin:0;
    font-size: 13px;
    line-height: 14px;
    letter-spacing: 0.9px;
    color: #5F6E84;
    text-transform: uppercase;
    font-weight: 500;
    cursor:pointer;
    text-align:center;
    min-width:0;
    min-height:66px;
    border-radius:3px;
    opacity: 0.5;
    position: relative;
}
.ucx-locations .ucx-locations__type-buttons button.ucx-locations__type-button:hover,
.ucx-locations .ucx-locations__type-buttons button.ucx-locations__type-button:focus,
.ucx-locations .ucx-locations__type-buttons button.ucx-locations__type-button:active,
.ucx-locations .ucx-locations__type-buttons button.ucx-locations__type-button.is-active{
    opacity: 1;
}
.ucx-locations__type-chip{
    width:44px;
    height:44px;
    border-radius:2px;
    display:grid;
    place-items:center;
    overflow:hidden;
    background:transparent;
}
.ucx-locations__type-image{
    width:44px;
    height:44px;
    display:block;
    object-fit:contain;
}
.ucx-locations__type-label{
    color:inherit !important;
}
.ucx-locations__type-button.is-active .ucx-locations__type-label,
.ucx-locations__type-button:hover .ucx-locations__type-label{
    color:#ffffff;
}
.ucx-locations__type-button.is-active .ucx-locations__type-chip{
    box-shadow:0 0 0 2px rgba(255,255,255,.2);
}
.ucx-locations__type-button.is-active{
    background:rgba(255,255,255,.06);
}
.ucx-locations__filter{
    display:none;
}
.ucx-locations__status,
.ucx-locations__count{
    margin-bottom:16px;
    color:#627fa8;
    font-size:15px;
}
.ucx-locations__layout{
    display:grid;
    grid-template-columns:minmax(320px, 33.33%) minmax(360px, 66.66%);
    gap:0;
}
/* .ucx-locations__panel,
.ucx-locations__media{
    overflow:hidden;
} */
.ucx-locations__results{
    max-height:720px;
    overflow-y:auto;
    padding-right:8px;
    scrollbar-width:thin;
    scrollbar-color:#8b8b8b transparent;
}
.ucx-locations__results::-webkit-scrollbar{
    width:8px;
}
.ucx-locations__results::-webkit-scrollbar-track{
    background:transparent;
}
.ucx-locations__results::-webkit-scrollbar-thumb{
    background:#8b8b8b;
    border-radius:999px;
}
.ucx-locations__media{
    min-height:640px;
    position: relative;
}
.ucx-locations__map{
    position: relative;
    width: 100%;
    /* height: 100%; */
}
.ucx-locations__image,
.ucx-locations__image-placeholder{
    width:100%;
    /* height:100%; */
    display:block;
}
.ucx-locations__image{
    object-fit:cover;
    margin-top: -7%;
}
.ucx-locations__pins{
    position:absolute;
    inset:0;
    z-index:6;
    pointer-events:none;
}
.ucx-locations__pin{
    position:absolute;
    width:28px;
    height:28px;
    margin:-14px 0 0 -14px;
    border:0;
    border-radius:50%;
    background:transparent;
    padding:0;
    cursor:pointer;
    pointer-events:auto;
    overflow:visible;
}
.ucx-locations__pin-dot{
    width:100%;
    height:100%;
    display:block;
    border-radius:50%;
    border:0;
    background:transparent;
    box-shadow:none;
    transition:none;
}
.ucx-locations__pin:hover .ucx-locations__pin-dot,
.ucx-locations__pin.is-active .ucx-locations__pin-dot{
    transform:none;
    border-color:transparent;
    background:transparent;
}
.ucx-locations__pin-tooltip{
    position:absolute;
    left:50%;
    bottom:calc(100% + 10px);
    transform:translateX(-50%);
    width:340px;
    max-width:340px;
    display:flex;
    flex-direction:column;
    gap:12px;
    padding:18px 18px 16px;
    border-radius:10px;
    background:#fff;
    border:1px solid #e3e3e3;
    box-shadow:0 8px 24px rgba(32,58,99,.12);
    color:#203a63;
    text-align:left;
    white-space:normal;
    z-index:5;
}
.ucx-locations__pin-tooltip[hidden]{
    display:none !important;
}
.ucx-locations__pin-tooltip::after{
    content:"";
    position:absolute;
    left:50%;
    bottom:-7px;
    width:14px;
    height:14px;
    transform:translateX(-50%) rotate(45deg);
    background:#fff;
    border-right:1px solid #e3e3e3;
    border-bottom:1px solid #e3e3e3;
}
.ucx-locations__pin-tooltip-title{
    font-size:20px;
    font-weight:700;
    line-height:1.1;
    letter-spacing:-.02em;
    /* text-transform:uppercase; */
}
.ucx-locations__pin-tooltip-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
}
.ucx-locations__pin-tooltip button.ucx-locations__pin-tooltip-close{
    width:24px;
    height:24px;
    flex:0 0 24px;
    border:0;
    border-radius:50%;
    background:transparent;
    color:#8b97ab !important;
    cursor:pointer;
    font-size:35px;
    line-height: 0;
    transform:rotate(45deg);
    padding:0;
    text-align: center;
    display: inline-flex;
    justify-content: center;
}
.ucx-locations__pin-tooltip button.ucx-locations__pin-tooltip-close:hover{
    color:#203a63 !important;
}
.ucx-locations__pin-tooltip-address{
    font-size:14px;
    line-height:1.15;
    color:#4f596a;
}
.ucx-locations__pin-tooltip-meta{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
}
.ucx-locations__pin-tooltip-phone{
    display:flex;
    align-items:flex-start;
    gap:8px;
    font-size:14px;
    line-height:1.25;
    color:#64748b;
    font-weight:700;
    flex:1 1 auto;
}
.ucx-locations__pin-tooltip-phone em{
    color:#5f6e84;
    font-size:18px;
    margin-top:1px;
}
.ucx-locations__pin-tooltip-phone-link{
    color:inherit;
    text-decoration:none;
}
.ucx-locations__pin-tooltip-phone-link:hover{
    color:#203a63;
    text-decoration:underline;
}
.ucx-locations__pin-tooltip-badges{
    display:flex;
    align-items:flex-start;
    gap:2px;
    flex:0 0 auto;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}
.ucx-locations__pin-tooltip-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
}
.ucx-locations__pin-tooltip-badge-image{
    display:block;
    width:30px;
    height:auto;
}
.ucx-locations__pin-tooltip-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    align-self:flex-start;
    min-height:48px;
    padding:16px 24px 14px;
    border-radius:0;
    background:#203a63;
    color:#fff;
    text-decoration:none;
    text-transform:uppercase;
    font-size:14px;
    font-weight:700;
    line-height:1;
    transition:background-color .2s ease;
}
.ucx-locations__pin-tooltip-button:hover,
.ucx-locations__pin-tooltip-button:focus{
    background:#162847;
    color:#fff !important;
    text-decoration: none;
}
.ucx-locations__pin-tooltip-hours{
    display:flex;
    flex-direction:column;
    gap:8px;
}
.ucx-locations__pin-tooltip-hours-title{
    font-size:16px;
    font-weight:700;
    line-height:1.2;
}
.ucx-locations__pin-tooltip-hours-list{
    display:flex;
    flex-direction:column;
    gap:6px;
}
.ucx-locations__pin-tooltip-hours-row{
    display:grid;
    grid-template-columns:88px minmax(0, 1fr);
    gap:10px;
    font-size:14px;
    line-height:1.2;
    color:#6b7280;
}
.ucx-locations__pin-tooltip-hours-day{
    font-weight:400;
    color:#6b7280;
}
.ucx-locations__pin-tooltip-hours-value{
    text-align:left;
}
.ucx-location-card__phone-link{
    color:inherit;
    text-decoration:none;
}
.ucx-location-card__phone-link:hover{
    color:#203a63;
    text-decoration:underline;
}
.ucx-locations__image-placeholder{
    display:flex;
    align-items:center;
    justify-content:center;
    padding:32px;
    color:var(--ucx-muted);
    text-align:center;
}
.ucx-locations__list{
    display:flex;
    flex-direction:column;
    gap:14px;
    counter-reset: my-awesome-counter;
}
.ucx-location-card{
    background:var(--ucx-panel);
    border-bottom:1px solid var(--ucx-line);
    overflow:hidden;
    transition:border-color .2s ease, box-shadow .2s ease;
}
.ucx-location-card.is-active{
    border-color:#d4bd9e;
}
.ucx-location-card button.ucx-location-card__toggle .row{
    width: stretch;
}
.ucx-location-card button.ucx-location-card__toggle{
    width:100%;
    display:flex;
    justify-content:space-between;
    gap:16px;
    padding:20px 0px 20px 20px;
    border:0;
    background:#fff;
    text-align:left;
    cursor:pointer;
    color: #8C97AC;
    counter-increment: my-awesome-counter;
    position: relative;
    padding-left: 40px;
    background: url(../../images/location_placeholder.png) no-repeat 0 20px;
}
.ucx-location-card.mid-atlantic-southeast button.ucx-location-card__toggle{
    background-image: url(../../images/location_placeholder-mid-atlantic.png);
}
.ucx-location-card.northeast button.ucx-location-card__toggle{
    background-image: url(../../images/location_placeholder-northeast.png);
}
.ucx-location-card.south-central button.ucx-location-card__toggle{
    background-image: url(../../images/location_placeholder-south-central.png);
}
.ucx-location-card button.ucx-location-card__toggle:before{
    content: counter(my-awesome-counter);
    font-size: 12px;
    letter-spacing: 0.47px;
    left: 7px;
    top: 25px;
    position: absolute;
    width: 20px;
    color: #fff;
    text-align: center;
}
.ucx-location-card button.ucx-location-card__toggle * {
    color: #000 !important;
}
.ucx-location-card__summary h3{
    margin:0 0 8px;
    font-size:16px;
    line-height:1.1;
    color:#001e60 !important;
    font-weight:700;
}
.ucx-location-card__summary p{
    margin:4px 0;
}
.ucx-location-card__phone{
    margin-top:14px;
    color:#8C97AC;
    margin: 0;
}
.ucx-location-card__phone *{
    color:#8C97AC !important;
}
.ucx-location-card__phone em.fa{
    width: 25px;
    height: 25px;
    text-align: center;
    margin-right: 3px;
    color: #fff !important;
    padding: 5px;
    background-color: #5F6E84;
    border-radius: 30px;
}
.ucx-location-card__icon{
    display:none;
    place-items:center;
    color:var(--ucx-accent-dark);
    font-size:26px;
    line-height:1;
    transition: all 0.3s;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -o-transition: all 0.3s;
    -ms-transition: all 0.3s;
}
.ucx-location-card__icon:before{
    content: "\f105";
    display: inline-block;
    font: normal normal normal 14px / 1 FontAwesome;
    font-size: 24px;
    color: #5F6E84;
}
.ucx-location-card.is-active .ucx-location-card__icon{
    transform:rotate(90deg);
}
.ucx-location-card__details{
    position:relative;
    padding:0 22px 22px;
    border-top:0;
}
.ucx-location-card__details[hidden]{
    display:none !important;
}
.ucx-location-card__badges{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin: 20px 0 0px;
    justify-content: flex-start;
}
.ucx-location-card__badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
}
.ucx-location-card__badge-image{
    height:28px;
    width:auto;
    display:block;
}
.ucx-location-card__content,
.ucx-location-card__meta,
.ucx-location-card__hours{
    margin-top:20px;
}
.ucx-location-card__hours h4{
    margin:0 0 12px;
    font-size:18px;
    color:#000;
    font-weight: 600;
}
.ucx-location-card__button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    max-width: 220px;
    width: 100%;
    text-align: center;
    padding:20px 30px 17px;
    border-radius:0;
    background:#203a63;
    color:#fff;
    text-decoration:none;
    text-transform: uppercase;
    font-weight:700;
    transition:background-color .2s ease;
}
.ucx-location-card__button:hover,
.ucx-location-card__button:focus,
.ucx-location-card__button:hover *,
.ucx-location-card__button:focus *{
    background:#162847;
    color:#fff !important;
}
.ucx-location-card__meta p,
.ucx-location-card__hours li{
    margin:8px 0;
}
.ucx-location-card__hours ul{
    padding:0;
    margin:0;
    list-style:none;
}
.ucx-location-card__hours li{
    display:grid;
    grid-template-columns:100px 1fr;
    gap:10px;
    color:#4C4F59;
    font-size:15px;
    line-height:1.25;
}
.ucx-location-card__hours li strong{
    font-weight: 400;
}
.ucx-locations.is-loading{
    opacity:.72;
    pointer-events:none;
}
.ucx-locations__layout .ucx-button-count-wrp,
#ucx-apply-filter-but,
.ucx-region_by_filters{
    display: none;
}
#ucx-apply-filter-but{
    padding: 20px;
}
.ucx-locations__layout .ucx-button-count-wrp {
    padding: 20px;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #ccc;
}
.ucx-locations__layout .filter-button {
    color: #4C4F59;
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 17px;
    border: 1px solid #4C4F59;
    border-radius: 50px;
    padding: 15px 30px 15px 40px;
    display: inline-block;
    position: relative;
    text-align: center;
    float: right;
    cursor: pointer;
    display: flex;
    align-items: center;
}
.ucx-locations__layout .filter-button:after{
    background: url(../../images/filter-design-bg.jpg)no-repeat;
    content: '';
    width: 25px;
    height: 20px;
    display: inline-block;
    background-size: contain;
    margin: -5px 0 0 10px;   
}
@media (max-width: 992px){
    .ucx-locations__media{
        display: none;
    }
    .ucx-locations__layout .ucx-button-count-wrp{
        display: flex;
    }
    #ucx-apply-filter-but,
    .ucx-region_by_filters{
        display: block;
    }
    .ucx-locations__filters-wrap,
    .ucx-locations__layout{
        grid-template-columns:1fr;
    }
    .ucx-locations__filters{
        justify-content:flex-start;
    }
    .ucx-locations__regions{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }
    .ucx-locations__type-buttons{
        grid-template-columns:repeat(3, 1fr);
        display: block;
    }
    .ucx-locations .ucx-locations__type-buttons button.ucx-locations__type-button{
        flex-direction: row;
        padding: 0 0 0 25px;
        min-height: auto;
    }
    .ucx-locations .ucx-locations__type-buttons button.ucx-locations__type-button:before,
    .ucx-locations .ucx-locations__type-buttons button.ucx-locations__type-button:after{
        display: block;
    }
    .ucx-locations__type-chip{
        width: auto;
    }
    .ucx-locations .ucx-locations__type-buttons button.ucx-locations__type-button .ucx-locations__type-image {
        height: 25px;
        width: 25px;
        margin: 0;
    }
    .ucx-locations__media{
        min-height:360px;
    }
    .ucx-locations__keys {
        padding: 20px;
        display: flex;
        flex-direction: column;
        position: fixed;
        background: #F3F1F1;
        top: 0;
        max-width: 75%;
        width: 100%;
        height: 100%;
        left: 0;
        z-index: 9999;
        translate: -100% 0;
        overflow: scroll;
        transition: all 0.4s;
    }
    .ucx-locations__keys.active{
        translate: 0% 0;
    }
    .ucx-location-card button.ucx-location-card__toggle .row {
        width: 100%;
        position: relative;
    }
    .ucx-location-card__topright {
        display: flex;
        align-items: center;
        justify-content: space-between;
        position: static;
    }
    .ucx-location-card__topright .ucx-location-card__icon{
        display: grid;
        position: absolute;
        top: -15px;
        right: 0;
        font-size: 0;
        margin-top: 10px;
    }
    .ucx-location-card__badges{
        margin-top: 0;
    }
}
@media (max-width: 767px){
    .ucx-locations__header{
        flex-direction:column;
        align-items:stretch;
    }
    .ucx-locations__keys{
        padding:14px;
    }
    .ucx-locations__keys-head{
        margin-top: 20px;
    }
    .ucx-locations__keys-head .ucx-locations__keys-title{
        font-size: 18px;
        text-transform: none;
        font-weight: 400;
    }
    .ucx-locations__filters{
        flex-direction:column;
        align-items:stretch;
    }
    .ucx-locations__regions{
        grid-template-columns:1fr;
        gap:14px;
    }
    .ucx-locations__type-buttons{
        grid-template-columns:repeat(2, 1fr);
        gap:16px;
    }
    .ucx-locations__clear{
        width:100%;
    }
    .ucx-locations__results{
        max-height:none;
        overflow:visible;
        padding-right:0;
    }
    .ucx-location-card__toggle{
        padding:18px;
    }
    .ucx-location-card__details{
        padding:0 18px 18px;
    }
}
