← back to Model Arena
data/artifacts/15bc10e7ee25/gemma3-12b.html
247 lines
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Grandmillennial Lookbook</title>
<style>
/* :root */
:root {
--bg-color: #faf8f4;
--surface-color: #ffffff;
--text-color: #1c1a17;
--muted-color: #9b948a;
--accent-color-1: #b0472e;
--accent-color-2: #2f4c39;
--caption-size: 12px;
--body-size: 16px;
--lead-size: 21px;
--h3-size: 28px;
--h2-size: 38px;
--h1-size: 50px;
--display-size: 67px;
--spacing-scale: 4/8/12/16/24/32/48/64/96/128px;
--card-radius: 14px;
--grid-gap: 24px;
}
body {
font-family: 'apple-system', 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
background-color: var(--bg-color);
color: var(--text-color);
margin: 0;
padding: 0;
}
header {
background-color: var(--surface-color);
padding: 32px;
text-align: center;
}
h1 {
font-family: 'Playfair Display', serif;
font-size: var(--display-size);
margin: 0;
line-height: 1;
color: #1c1a17;
}
.carousel-container {
padding: 96px;
overflow-x: auto; /* Enable horizontal scrolling */
scroll-snap-type: x mandatory;
-webkit-overflow-scrolling: touch; /* For smooth scrolling on iOS */
}
.card {
background-color: var(--surface-color);
border-radius: var(--card-radius);
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
padding: 32px;
margin-bottom: 48px;
width: calc(100% - 2 * var(--grid-gap)); /* Adjust width to fit grid */
display: inline-block; /* Required for horizontal scrolling */
transition: transform .3s ease;
}
.card:hover {
box-shadow: 0 16px 48px rgba(0, 0, 0, 0.18);
transform: translateY(-5px);
}
.card img {
width: 100%;
border-radius: var(--card-radius);
margin-bottom: 24px;
}
.card-text {
display: flex;
flex-direction: column;
}
h2 {
font-family: 'Didot', serif;
font-size: var(--h2-size);
margin: 0;
line-height: 1.2;
}
p {
font-size: var(--body-size);
line-height: 1.6;
margin: 8px 0;
}
.pattern-swatch {
width: 150px;
height: 150px;
background: linear-gradient(to right, var(--accent-color-1) 0%, var(--accent-color-2) 100%);
border-radius: 8px;
margin-right: 24px;
}
.room-vignette {
width: 350px;
height: 250px;
background: linear-gradient(to bottom, #fbf7e6, #eee9d8); /* Simulating a room */
border-radius: 8px;
}
.cta {
text-align: center;
padding: 32px;
}
.cta button {
background-color: var(--accent-color-1);
color: white;
border: none;
padding: 16px 32px;
font-size: var(--lead-size);
border-radius: 8px;
cursor: pointer;
}
/* Dots */
.dots {
text-align: center;
margin-top: 16px;
}
.dots button {
width: 12px;
height: 12px;
border-radius: 50%;
background-color: #ccc;
border: none;
padding: 0;
margin: 0 4px;
cursor: pointer;
}
.dots button.active {
background-color: var(--accent-color-1);
}
/* Animations */
@keyframes fadeUp {
from { opacity: 0; transform: translateY(28px) }
to { opacity: 1; transform: none }
}
</style>
</head>
<body>
<header>
<h1>DESIGNER WALLCOVERINGS</h1>
</header>
<div class="carousel-container">
<!-- Slide 1 -->
<div class="card" id="slide1">
<img src="" alt="Grandmillennial Pattern & Room">
<div class="card-text">
<h2>Floral Medallion</h2>
<p>Pair a classic floral medallion pattern with antique furniture and soft lighting for a cozy, nostalgic feel.</p>
</div>
<div style="display: flex; align-items: center;">
<div class="pattern-swatch" style="background: conic-gradient(from 0deg, #b0472e 90%, #2f4c39);"></div>
<div class="room-vignette"></div>
</div>
</div>
<!-- Slide 2 -->
<div class="card" id="slide2">
<img src="" alt="Grandmillennial Pattern & Room">
<div class="card-text">
<h2>Toile de Jouy</h2>
<p>Combine a traditional Toile de Jouy fabric with modern accents and playful artwork to create an unexpected contrast.</p>
</div>
<div style="display: flex; align-items: center;">
<div class="pattern-swatch" style="background: repeating-linear-gradient(45deg, #b0472e 0%,#b0472e 10px ,#2f4c39 10px, #2f4c39 20px);"></div>
<div class="room-vignette"></div>
</div>
</div>
<!-- Slide 3 -->
<div class="card" id="slide3">
<img src="" alt="Grandmillennial Pattern & Room">
<div class="card-text">
<h2>Chintz</h2>
<p>Layer a vibrant chintz wallpaper with vintage rugs and comfortable seating for a welcoming, lived-in atmosphere.</p>
</div>
<div style="display: flex; align-items: center;">
<div class="pattern-swatch" style="background: radial-gradient(circle, #b0472e 10%,#2f4c39 60%);"></div>
<div class="room-vignette"></div>
</div>
</div>
<!-- CTA -->
<div class="cta">
<h2>Explore Our Collection</h2>
<button>Shop Now</button>
</div>
</div>
<div class="dots">
<button class="active"></button>
<button></button>
<button></button>
</div>
<script>
const carouselContainer = document.querySelector('.carousel-container');
const cards = document.querySelectorAll('.card');
const dots = document.querySelectorAll('.dots button');
let currentSlide = 0;
function updateDots() {
dots.forEach((dot, index) => {
if (index === currentSlide) {
dot.classList.add('active');
} else {
dot.classList.remove('active');
}
});
}
// Initial setup: Activate the first dot
updateDots();
function showSlide(n) {
cards[n].scrollIntoView({ behavior: 'smooth', block: 'start', inline: 'nearest' });
updateDots();
}
showSlide(0); // Show initial slide.
</script>
</body>
</html>