/* =========================================
   WRAPPER
========================================= */

.album-gallery-wrapper{
    display:flex;
    gap:18px;
    align-items:center;
    width:100%;
}

/* =========================================
   MAIN IMAGE
========================================= */

.album-main-container{
    flex:1;
    overflow:hidden;
    border-radius:18px;
    position:relative;
}

#albumMainImage{
    width:100%;
    height:450px;
    object-fit:cover;
    display:block;

    border-radius:18px;

    transition:.35s ease;

    cursor:pointer;

    box-shadow:
    0 10px 40px rgba(0,0,0,.15);
}

#albumMainImage:hover{
    transform:scale(1.01);
}

/* =========================================
   RIBBON
========================================= */

.album-ribbon-container{
    width:120px;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:12px;
}

.album-ribbon{
    display:flex;
    flex-direction:column;
    gap:12px;
}

.thumb-item{

    width:100px;
    height:100px;

    overflow:hidden;

    border-radius:14px;

    cursor:pointer;

    opacity:.55;

    transform:scale(.92);

    transition:.35s ease;

    border:2px solid transparent;
}

.thumb-item img{

    width:100%;
    height:100%;
    object-fit:cover;

    display:block;
}

.thumb-item:hover{

    opacity:1;

    transform:scale(.98);
}

.thumb-item.active{

    opacity:1;

    transform:scale(1.05);

    border:2px solid #111;

    box-shadow:
    0 8px 25px rgba(0,0,0,.18);
}

/* =========================================
   ARROWS
========================================= */

.ribbon-arrow{

    width:42px;
    height:42px;

    border:none;

    border-radius:50%;

    background:#fff;

    cursor:pointer;

    display:flex;
    align-items:center;
    justify-content:center;

    box-shadow:
    0 4px 15px rgba(0,0,0,.12);

    transition:.3s;
}

.ribbon-arrow:hover{

    transform:translateY(-2px);

    box-shadow:
    0 8px 25px rgba(0,0,0,.18);
}

/* =========================================
   ALBUMS
========================================= */

.album-list-container{

    display:flex;
    flex-direction:column;

    gap:10px;

    min-width:140px;
}

.album-button{

    border:none;

    background:#f5f5f5;

    border-radius:999px;

    padding:10px 18px;

    cursor:pointer;

    font-size:.85rem;

    transition:.3s;
}

.album-button:hover{

    background:#111;

    color:#fff;
}

.album-button.active{

    background:#111;

    color:#fff;
}

/* =========================================
   LIGHTBOX
========================================= */

#albumLightbox{

    display:none;

    position:fixed;

    inset:0;

    background:
    rgba(0,0,0,.92);

    z-index:9999;
}

#albumLightboxImage{

    max-width:90%;
    max-height:90%;

    position:absolute;

    top:50%;
    left:50%;

    transform:
    translate(-50%,-50%);
}

#closeAlbumLightbox{

    position:absolute;

    top:20px;
    right:30px;

    color:#fff;

    font-size:40px;

    cursor:pointer;
}

/* =========================================
   MOBILE
========================================= */

.ribbon-prev-mobile,
.ribbon-next-mobile{
    display:none;
}

@media(max-width:991px){

    .album-gallery-wrapper{

        flex-direction:column;
    }

    #albumMainImage{

        height:420px;
    }

    .album-ribbon-container{

        width:100%;
        flex-direction:row;
        justify-content:center;
        position:relative;
    }

    .album-ribbon{

        flex-direction:row;
    }

    .ribbon-up,
    .ribbon-down{
        display:none;
    }

    .ribbon-prev-mobile,
    .ribbon-next-mobile{

        display:flex;

        position:absolute;

        top:50%;

        transform:
        translateY(-50%);
    }

    .ribbon-prev-mobile{

        left:-10px;
    }

    .ribbon-next-mobile{

        right:-10px;
    }

    .album-list-container{

        flex-direction:row;
        flex-wrap:wrap;
        justify-content:center;
    }
}