﻿/* Import Google font - Poppins */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600&display=swap');

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: "Poppins", sans-serif;
}

h1 {
    text-align: center;
    margin-top: 50px;
}
/* Masonry image gallery styling */
.gallery {
    display: flex;
    flex-direction: column;
    align-items: center;
}

    .gallery .images {
        gap: 5px;
        max-width: 95%;
        margin: 40px 0;
        columns: 5 200px;
        list-style: none;
    }

        .gallery .images .img {
            display: flex;
            cursor: pointer;
            overflow: hidden;
            position: relative;
            margin-bottom: 14px;
            border-radius: 4px;
        }

        .gallery .images img {
            width: 100%;
            transition: transform 0.2s ease;
        }

        .gallery .images .img:hover img {
            transform: scale(1.1);
        }
/* Image lightbox styling */
.lightbox {
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 1000;
    position: absolute;
    visibility: hidden;
    background: rgba(0,0,0,0.8);
}

    .lightbox.show {
        visibility: visible;
    }

    .lightbox .wrapper {
        position: relative;
        left: 50%;
        top: 50%;
        width: 100%;
        padding: 20px;
        max-width: 550px;
        background: rgba(255,255,255,0.9);
        border-radius: 6px;
        opacity: 0;
        pointer-events: none;
        transform: translate(-50%, -50%) scale(0.9);
        transition: transform 0.1s ease;
        z-index: 100;
    }

    .lightbox.show .wrapper {
        opacity: 1;
        pointer-events: auto;
        transform: translate(-50%, -50%) scale(1);
    }

.wrapper :where(header, .details) {
    display: flex;
    align-items: center;
}

.wrapper header {
    justify-content: space-between;
}

header .details i {
    font-size: 1.7rem;
}

header .details span {
    font-size: 1.2rem;
    margin-left: 10px;
}

header .buttons i {
    height: 40px;
    width: 40px;
    cursor: pointer;
    display: inline-block;
    color: #fff;
    margin-left: 10px;
    background: #6C757D;
    font-size: 1.25rem;
    line-height: 40px;
    text-align: center;
    border-radius: 4px;
    transition: 0.2s ease;
}

    header .buttons i:hover {
        background: #5f666d;
    }

.wrapper .preview-img {
    display: flex;
    justify-content: center;
    margin-top: 25px;
}

.preview-img .img {
    max-height: 65vh;
}

.preview-img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
/* Responsive media query code */
@media screen and (max-width: 688px) {
    .lightbox .wrapper {
        padding: 12px;
        max-width: calc(100% - 26px);
    }

    .wrapper .preview-img {
        margin-top: 15px;
    }

    .gallery .images {
        max-width: 100%;
        padding: 0 13px;
        margin-top: 20px;
    }
}
