.gl-catalog{
    margin-top:40px;
}

.gl-location-card{
    display:flex;
    gap:30px;
    padding:20px;
    border:1px solid #e5e5e5;
    margin-bottom:20px;
    background:#fff;
}

.gl-location-image{
    position:relative;
    flex:0 0 300px;
}

.gl-location-image img{
    width:100%;
    height:220px;
    object-fit:cover;
    display:block;
}

.gl-location-category{
    position:absolute;
    top:15px;
    left:15px;
    background:#fff;
    padding:8px 14px;
    border:2px solid #0d6efd;
    z-index:2;
    font-size:13px;
}

.gl-location-content{
    flex:1;
}

.gl-location-title{
    margin:0 0 15px;
    font-size:34px;
}

.gl-location-title a{
    text-decoration:none;
}

.gl-location-excerpt{
    margin-bottom:20px;
    line-height:1.8;
}

.gl-location-address,
.gl-location-phone,
.gl-location-email,
.gl-location-schedule{
    margin-bottom:10px;
}

.gl-location-actions{
    display:flex;
    gap:12px;
    margin-top:20px;
}

.gl-location-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:12px 20px;
    text-decoration:none;
    border:1px solid #ddd;
}

#gl-catalog {
    transition: opacity .35s ease;
}

.gl-location-card {
    animation: glFadeIn .4s ease;
}

@keyframes glFadeIn {
    from {
        opacity: 0;
        transform: translateY(12px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media(max-width:991px){

    .gl-location-card{
        flex-direction:column;
    }

    .gl-location-image{
        flex:auto;
    }

    .gl-location-image img{
        height:auto;
    }

}