body {
    margin: 0;
}

.contenedor {
    height: 93vh;
    display: flex;
    flex-direction: column;
}

.contenedor-flex {
    width: auto;
    height: auto;
    max-width: 1200px;
    margin: auto;
    display: flex;
    flex-wrap: nowrap;
    flex-direction: row;
    justify-content: space-around;
    align-items: center;
}

.columna-flex {
    width: auto;
    max-width: 300px;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    align-items: center;
}

.bg-image {
    background: url(../img/banner/8.jpg) no-repeat center center fixed;
    -moz-background-size: cover;
    -webkit-background-size: cover;
    background-size: cover;
    -o-background-size: cover;
}

.columna-flex img {
    width: 90%;
    height: auto;
    background-size: auto;
    background-position: center top;
    padding: 5%;
}

.shadow {
    filter: drop-shadow(2px 2px 6px rgb(104, 104, 104));
    -webkit-filter: drop-shadow(2px 2px 6px rgb(104, 104, 104));
}

.blur {
    -webkit-filter: blur(5px);
    filter: blur(5px);
}

.opacity {
    -webkit-filter: opacity(30%);
    filter: opacity(30%);
}

.img-desaturada img {
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    backface-visibility: hidded;
    -webkit-backface-visibility: hidden;
    opacity: .8 ;
}

.img-desaturada a:hover img {
    opacity: 1;
    filter: drop-shadow(2px 2px 4px rgb(183, 183, 183));
    -webkit-transform:scale(1.15);
    -ms-transform:scale(1.15);
    -moz-transform:scale(1.15);
    transform:scale(1.15);
    -o-transform:scale(1.15);
}

.contenedor-footer {
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    align-items: center;
    position: fixed;
}

.footer {
    width: 100%;
    height: 7vh;
    margin: 0;
    background-color: #16171d;
    color: #a2a2a2;
    font-family: "Source Sans Pro", sans-serif;
    font-weight: bold;
    font-size: 14px;
    text-align: center;
    padding: 14px;
}

.latido {
  animation: latidos 3s infinite;
}

@keyframes latidos {
    from { transform: none; }
    50% { transform: scale(1.05); }
    to { transform: none; }
}

@media only screen and (max-width: 500px) {

    .contenedor-flex {
        max-width: 350px;
        margin: auto;
        display: flex;
        flex-wrap: nowrap;
        flex-direction: column;
        justify-content: space-around;
        align-items: center;
    }

    .columna-flex {
        width: auto;
        max-width: 250px;
        height: 100%;
        display: flex;
        flex-direction: column;
        justify-content: space-around;
        align-items: center;
    }

    .columna-mt {
        margin-top: 40px;
    }

    .columna-mb {
        margin-bottom: 50px;
    }

    .order-1 {
        order: -1;
    }

    .columna-flex img {
        width: 100%;
        height: auto;
        background-size: auto;
        background-position: center top;
        padding: 1%;
    }
}