* { 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 2750ms ease-out forwards; opacity: 0; } .card { display: block; position: relative; max-width: 420px; width: 80%; height: 260px; color: #fff; flex: none; perspective: 1000px; } .card__figure { margin: 0; width: 100%; height: 100%; display: block; position: relative; background: #111; border-radius: 3px; } .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; border-radius: 3px; } .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; } .links { display: flex; justify-content: space-between; font-weight: 900; align-items: center; } a { color: #ddd; transition: color 100ms ease; height: 20px; } a:hover { color: #eee; } p { margin: 0; } svg { width: 20px; height: 20px; border-radius: 3px; fill: currentColor; } @keyframes fade-in { 0% { opacity: 0; } 100% { opacity: 1; } } @media screen and (max-width: 430px) { .card { height: 450px; } } @media screen and (max-width: 380px) { h1 { font-size: 2.8rem; line-height: 2.8rem; } } @media screen and (max-width: 330px) { h1 { font-size: 2rem; line-height: 2rem; } } @media screen and (max-width: 250px) { h1 { font-size: 1.3rem; line-height: 1.3rem; } }