.uv-imghover {
    width: 100%;
    /* Set the width to any desired value */
    position: relative;
    /* Make sure the container is positioned relative */
}
.uv-imghover::before {
    content: "";
    display: block;
    padding-top: 100%;
    /* This creates a square shape */
}

.view-type-square a:not(.uv-btn) {
    padding-top: 100%;
    /* This creates a square shape */
}

.view-type-short-rectagle-vertical a:not(.uv-btn){
    padding-top: 115%;
    /* This creates a square shape */
}
.view-type-rectagle-vertical a:not(.uv-btn){
    padding-top: 133.33%;
    /* This creates a square shape */
}

.view-type-rectangle-horizontal a:not(.uv-btn){
    padding-top: 75%;
    /* This creates a square shape */
}

.view-type-large-rectangle-horizontal a:not(.uv-btn){
    padding-top: 66.666%;
    /* This creates a square shape */
}


.uv-imghover img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: all .35s ease-in-out;
}

.uv-imghover{
    overflow: hidden;
}
.uv-cta-image:hover img{
    transform: scale(1.1);
}


.uv-cta-nimages-2 .uv-cta-image {
    width: calc(50% - 1em);
}

.uv-cta-nimages-3 .uv-cta-image {
    flex: 0 0 calc(33.4% - 8px);
}

.uv-cta-nimages-4 .uv-cta-image {
    width: calc(25% - 1.5em);
}

.uv-cta-nimages-5 .uv-cta-image {
    width: calc(20% - 2em);
}

.uv-flex-col {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.uv-cta-image{
    position: relative;
}
.uv-cta-image .uv-overlay{
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding-left: 20px;
    padding-bottom: 20px;
    padding-right: 20px;
    padding-top: 20px;
}

.uv-text h2,
.uv-text p{
    margin-bottom: 0px;
}

.uv-align-left .uv-text h2,
.uv-align-left .uv-text p{
   text-align: left;
}

.uv-align-center .uv-text h2,
.uv-align-center .uv-text p{
   text-align: center;
}

.uv-align-right .uv-text h2,
.uv-align-right .uv-text p{
   text-align: right;
}

.uv-img-radius .uv-imghover img{
    border-radius: 10px;
}

.uv-img-radius .uv-cta-image .uv-text{
    border-radius: 10px;
}

/*Responsive*/
@media(max-width: 1120px) {
    .uv-cta-nimages-3 .uv-cta-image,  .uv-cta-nimages-4 .uv-cta-image  {
        flex: 0 0 calc(50% - 5px);
    }
}

@media(max-width: 766px) {
    .uv-cta-nimages-2 .uv-cta-image, .uv-cta-nimages-3 .uv-cta-image,  .uv-cta-nimages-4 .uv-cta-image  {
        flex: 0 0 calc(100%);
    }
}