﻿/* ====================================
   COAP 2024
   ==================================== */
.coap2024-container {
    min-height: auto;
}

.logo-coap2024 {
    max-width: min(50vw, 400px);
}

.gallery-img:hover {
    transform: scale(1.05);
    box-shadow: 0 8px 25px rgba(0,0,0,0.3) !important;
}

.video-coap2024 {
    width: 100%;
    max-width: 1200px;
}

.foto-coap2024 {
    cursor: pointer;
    transition: transform 0.3s ease;
}

.foto-coap2024-main {
    cursor: pointer;
    transition: transform 0.3s ease;
    object-fit: cover;
    min-height: 400px;
}

.coap2024-more {
    min-height: 150px;
}

.ratio-16x9::before {
    padding-top: 56.25%;
}

@media (max-width: 768px) {
    .gallery-img {
        min-height: 120px;
        object-fit: cover;
    }
}

.carousel-container {
    height: 800px;
}

.carousel-inner {
    height: 100%;
}

.carousel-item {
    height: 100%;
}

.carousel-slide-content {
    height: 100%;
    padding: 20px;
    background-color: #20325E;
}

.gallery-img-small {
    height: 300px;
    width: 100%;
    object-fit: cover;
}

.gallery-img-medium {
    height: 350px;
    width: 100%;
    object-fit: cover;
}

.gallery-img-large {
    height: 250px;
    width: 100%;
    object-fit: cover;
}

.gallery-img-hero {
    height: 760px;
    width: 100%;
    object-fit: cover;
}

@media (max-width: 480px) {
    .carousel-container {
        height: 55vh;
        min-height: 300px;
    }

    .gallery-img-small {
        height: 120px;
    }

    .gallery-img-medium {
        height: 130px;
    }

    .gallery-img-hero {
        height: calc(55vh - 20px);
        min-height: 280px;
    }

    .carousel-slide-content {
        padding: 8px;
    }

    .row.g-2 .col-4 {
        flex: 0 0 50%;
        max-width: 50%;
    }

        .row.g-2 .col-4:nth-child(n+5) {
            display: none;
        }

    .carousel-control-prev svg,
    .carousel-control-next svg {
        width: 32px;
        height: 32px;
    }
}

.gallery-img-small,
.gallery-img-medium,
.gallery-img-hero {
    will-change: transform;
}

@media (prefers-reduced-motion: reduce) {
    .gallery-img-small,
    .gallery-img-medium,
    .gallery-img-hero,
    .carousel-control-prev,
    .carousel-control-next {
        transition: none;
    }
}

.touch-device .carousel {
    touch-action: pan-y pinch-zoom;
}

.img-loading {
    background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
    background-size: 200% 100%;
    animation: loading 1.5s infinite;
}

@keyframes loading {
    0% {
        background-position: 200% 0;
    }

    100% {
        background-position: -200% 0;
    }
}

