@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@400;500&display=swap');

.carousel-item>img {
    object-fit: cover;
    height: calc(100vh - 56px);
    width: 100%;
}

.carousel-item>img,
.carousel-item>picture>img {
    object-fit: cover;
    height: calc(100vh - 56px); /*56.2 align-baseline*/
    width: 100%;
}

.carousel-control-next,
.carousel-control-prev,
.carousel-indicators {
    filter: invert(100%);
}

.carousel-indicators {
    bottom: 20px;
}

#mainContainer {
    min-height: 100vh;
    overflow: hidden;
}

.card-img,
.card-img-top {
    width: 100%;
    height: 40vh;
    object-fit: cover;
}

.card-img-overlay {
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.6))
}

.card {
    transition: all 0.5s;
    -webkit-transition: all 0.5s;
}

.card-title {
    font-family: 'Oswald', sans-serif;
}

.card:hover {
    transform: scale(1.1);
}

h1 {
    color: #fff;
}

* {
    box-sizing: border-box;
}

.grid-item img {
    margin: 0 auto;
}

.grid:after {
    content: '';
    display: block;
    clear: both;
}

.gutter-sizer {
    width: 4%;
}

.grid-sizer,
.grid-item {
    width: calc((100% - 20px) / 3);
    margin-bottom: 10px;
}

.grid-item img:hover {
    cursor: zoom-in;
}

@media (max-width: 575px) {

    .grid-sizer,
    .grid-item {
        width: 100%;
        /* 1 columnas  */
    }
}

@media (min-width: 576px) and (max-width: 767px) {

    .grid-sizer,
    .grid-item {
        width: calc((100% - 10px) / 2);
        margin-bottom: 10px;
    }
}

@media (min-width: 768px) and (max-width: 991px) {

    .grid-sizer,
    .grid-item {
        width: calc((100% - 10px) / 2);
        margin-bottom: 10px;
    }
}

@media (min-width: 992px) and (max-width: 1199px) {

    .grid-sizer,
    .grid-item {
        width: calc((100% - 10px) / 2);
        margin-bottom: 10px;
    }
}

@media (min-width: 1200px) {

    .grid-sizer,
    .grid-item {
        width: calc((100% - 10px) / 2);
        margin-bottom: 10px;
    }
}

.grid-item {
    float: left;
}

.grid-item img {
    display: block;
    max-width: 100%;
}

@keyframes slideInFromLeft {
    0% {
        transform: translateX(-100%);
    }

    100% {
        transform: translateX(0);
    }
}

@keyframes slideInFromRight {
    0% {
        transform: translateX(100%);
    }

    100% {
        transform: translateX(0);
    }
}

#left {
    animation: 1s ease-out 0s 1 slideInFromLeft;
}

#right {
    animation: 1s ease-out 0s 1 slideInFromRight;
}

#fade-in {
    opacity: 1;
    animation-name: fadeInOpacity;
    animation-iteration-count: 1;
    animation-timing-function: ease-in;
    animation-duration: 1s;
}

@keyframes fadeInOpacity {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

span.red {
    color: #FF0000;
}