body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; background: linear-gradient(135deg, #ffeeee 25%, #dce2ff 75%); margin: 0; padding: 0; display: flex; flex-direction: column; align-items: center; min-height: 100vh; } h1 { color: #333; margin: 20px 0; font-size: 24px; text-align: center; } .gallery-container { display: grid; gap: 10px; padding: 20px; width: 100%; max-width: 1200px; box-sizing: border-box; } /* Media queries for responsive padding */ @media (max-width: 1199px) { .gallery-container { padding-left: 40px; padding-right: 40px; } } @media (max-width: 991px) { .gallery-container { padding-left: 30px; padding-right: 30px; } } @media (max-width: 767px) { .gallery-container { padding-left: 20px; padding-right: 20px; } } .responsive-img { width: 100%; height: auto; border: 2px solid #ddd; border-radius: 5px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); transition: transform 0.2s; aspect-ratio: 16 / 9; object-fit: cover; opacity: 0; transition: opacity 0.5s ease-in-out, transform 0.2s; } .responsive-img.loaded { opacity: 1; } .responsive-img:hover { transform: scale(1.05); } /* Media queries for responsive columns */ @media (min-width: 1200px) { .gallery-container { grid-template-columns: repeat(4, 1fr); } } @media (min-width: 992px) and (max-width: 1199px) { .gallery-container { grid-template-columns: repeat(3, 1fr); } } @media (min-width: 768px) and (max-width: 991px) { .gallery-container { grid-template-columns: repeat(2, 1fr); } } @media (max-width: 767px) { .gallery-container { grid-template-columns: 1fr; } }