* { box-sizing: border-box; } body { background-color: #0e0e0e; height: 100vh; margin: 0; display: flex; justify-content: center; align-items: center; } .background { background-color: #0e0e0e; background-image: repeating-linear-gradient(135deg, #000, #19191a 1%, transparent 1.5%, transparent 50% ); background-size: 100px 100px; position: absolute; top: 0; left: 0; width: 100%; height: 100%; animation: fade-in 2500ms ease-out forwards 1s; opacity: 0; } .card { display: block; position: relative; width: 420px; height: 260px; color: #fff; flex: none; perspective: 1000px; } .card__figure { margin: 0; width: 100%; height: 100%; display: block; position: relative; background: #111; border-radius: 2px; } .card__figure::before { content: ''; position: absolute; width: calc(100% - 14px); height: calc(100% - 14px); top: 6px; left: 6px; border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 2px; pointer-events: none; box-shadow: 0 30px 20px rgb(0 0 0 / 50%); } .card__deco { position: absolute; top: 0; left: 0; width: 100%; height: 100%; overflow: hidden; pointer-events: none; } .card__deco--shine div { position: absolute; width: 200%; height: 200%; top: -50%; left: -50%; background-image: linear-gradient(45deg, rgba(0, 0, 0, 0.9) 0%, rgba(200, 200, 200, 0.05) 50%, transparent 100%); } figcaption { height: 100%; padding: 25px; color: #eee; font-family: Avenir; display: flex; justify-content: space-between; flex-direction: column; } h1 { margin: 0; font-size: 3.3rem; line-height: 3.3rem; font-weight: 900; } p { margin: 0; font-weight: 900; } @keyframes fade-in { 0% { opacity: 0; } 100% { opacity: 1; } }