.library-header { position: relative; display: grid; grid-template-areas: 'image' 'info'; grid-template-rows: auto 1fr; grid-template-columns: 1fr; gap: var(--theme-spacing-md); align-items: center; justify-items: center; width: 100%; max-width: 100%; height: auto; min-height: 340px; padding: 2rem 1rem; :global(.item-image-placeholder) { width: 175px !important; height: 175px; } .image { width: 250px !important; height: 250px; } } @container (min-width: 768px) { .library-header { grid-template-areas: 'image info'; grid-template-rows: 100%; grid-template-columns: 225px minmax(0, 1fr); align-items: flex-end; justify-items: start; height: 30vh; min-height: 340px; max-height: 500px; padding: 5rem 2rem 2rem; .image { width: 225px !important; height: 225px; } :global(.item-image-placeholder) { width: 225px !important; height: 225px; } } } @container (min-width: 1200px) { .library-header { grid-template-columns: 250px minmax(0, 1fr); .image { width: 250px !important; height: 250px; } :global(.item-image-placeholder) { width: 250px !important; height: 250px; } } } .image-section { z-index: 15; display: flex; grid-area: image; align-items: center; justify-content: center; filter: drop-shadow(0 0 8px rgb(0 0 0 / 50%)); } .metadata-section { z-index: 15; display: flex; flex-direction: column; grid-area: info; gap: var(--theme-spacing-sm); align-items: center; justify-content: center; width: 100%; text-align: center; & > div { align-items: center; justify-content: center; text-align: center; } } @container (min-width: 768px) { .image-section { align-items: flex-end; } .metadata-section, .metadata-section > div:first-of-type { align-items: flex-start; justify-content: flex-start; text-align: left; } } .image { object-fit: var(--theme-image-fit); border-radius: 5px; } .background { position: absolute; top: 0; z-index: 0; width: 100%; height: 100%; background-position: center !important; background-size: cover !important; opacity: 0.9; } .background-overlay { position: absolute; top: 0; left: 0; z-index: 0; width: 100%; height: 100%; background: var(--theme-overlay-header); } .opaque-overlay { opacity: 0.5; } .title { display: flex; align-items: center !important; margin: var(--theme-spacing-sm) 0; overflow: hidden; -webkit-line-clamp: 2; line-clamp: 2; font-size: 2rem; line-height: 1.2; color: var(--theme-colors-foreground); -webkit-box-orient: vertical; }