.gallery { display: grid; gap: var(--Space-x2); padding: var(--Space-x2); height: 100%; overflow-y: auto; background-color: var(--Background-Primary); } .mobileGallery { display: grid; grid-template-columns: 1fr 1fr; gap: var(--Space-x1); padding-bottom: var(--Space-x3); } .thumbnailContainer { position: relative; height: 242px; } .fullWidthImage { grid-column: 1 / -1; height: 240px; } .imageButton { position: relative; height: 100%; width: 100%; padding: 0; border-width: 0; background-color: transparent; cursor: pointer; overflow: hidden; z-index: 0; &:focus-visible { outline-offset: -2px; /* Adjust the outline offset as wrappers uses overflow-hidden */ } } .image { transition: opacity 0.3s ease-in-out; object-fit: cover; z-index: -1; border-radius: var(--Corner-radius-md); } @media screen and (max-width: 767px) { .closeButton .desktopCloseIcon, .desktopGallery { display: none; } .gallery { align-content: start; } .closeButton { justify-self: start; } } @media screen and (min-width: 768px) { .mobileGallery, .closeButton .mobileCloseIcon { display: none; } .gallery { padding: var(--Space-x5) var(--Space-x6); } .closeButton { position: absolute; top: var(--Space-x2); right: var(--Space-x2); z-index: 1; } .desktopGallery { display: grid; grid-template-rows: 28px 1fr 125px; row-gap: var(--Space-x15); background-color: var(--Background-Primary); height: 100%; position: relative; overflow: hidden; } .header { display: flex; justify-content: center; } .caption { background-color: var(--Base-Surface-Subtle-Normal); padding: var(--Space-x05) var(--Space-x1); border-radius: var(--Corner-radius-sm); color: var(--Text-Secondary); } .content { position: relative; width: 100%; height: 100%; } .motionContainer { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; } .mainImage { object-fit: contain; border-radius: var(--Corner-radius-Medium); /* Override Next.js Image styles, we can't set width/height on the image as we don't know the aspect ratio of the image */ width: auto !important; height: auto !important; position: relative !important; max-width: 100%; max-height: 100%; cursor: pointer; } .desktopThumbnailGrid { display: grid; grid-template-columns: repeat(5, 1fr); gap: var(--Space-x1); max-height: 7.8125rem; overflow: hidden; } .thumbnailContainer { height: 125px; } .fullWidthImage { grid-column: auto; height: auto; } .thumbnailContainer img { border-radius: var(--Corner-radius-sm); } .navigationButton { position: absolute; top: 50%; transform: translateY(-50%); &.previous { left: var(--Space-x2); } &.next { right: var(--Space-x2); } } }