analogGallery/public/styles.css
2024-12-28 21:43:20 -05:00

115 lines
1.9 KiB
CSS

body {
margin: 0;
padding: 0;
height: 100vh;
background: #000;
font-family: "Courier New", Courier, monospace;
color: white;
display: flex;
justify-content: center;
align-items: center;
overflow: hidden;
}
.image-container {
position: relative;
height: 100vh;
width: 100vw;
display: flex;
justify-content: center;
align-items: center;
}
img {
max-height: 100vh;
max-width: 100vw;
width: auto;
height: auto;
display: block;
position: relative;
object-fit: contain;
}
@media (max-aspect-ratio: 1/1) {
img {
height: auto;
width: 100vw;
max-height: 100vh;
}
}
.description {
position: absolute;
bottom: 1em;
left: 1em;
max-width: 80%;
text-align: left;
mix-blend-mode: hard-light;
color: white;
margin: 0;
font-size: 16px;
letter-spacing: 0.5px;
line-height: 1.4;
opacity: 0.7;
z-index: 2;
color: #cccccc;
mix-blend-mode: color-dodge;
}
.navigation {
position: fixed;
left: 0;
right: 0;
display: flex;
justify-content: space-between;
padding: 0 5px;
pointer-events: none;
}
.navigation a {
text-decoration: none;
color: white;
mix-blend-mode: color-dodge;
font-size: 24px;
pointer-events: auto;
opacity: 0.7;
transition: opacity 0.3s ease;
padding: 20px;
}
.navigation a:hover {
opacity: 1;
}
.progressive-image-container {
width: auto;
max-width: 100vw;
max-height: 100vh;
margin: 0 auto;
display: grid;
position: relative;
}
.progressive-image {
width: 100%;
height: 100%;
max-width: 100%;
max-height: 100vh;
grid-area: 1 / 1;
transition: opacity 0.5s ease-in-out;
object-fit: contain;
}
.thumbnail {
filter: blur(10px);
transform: scale(.95);
opacity: 1;
}
.full-image {
opacity: 0;
}
.full-image.loaded {
opacity: 1;
}