--- export interface Props { name: string level: string skills: string np: string image_servant: string image_bond: string ml: string bond10: string } const { bond10, ml, image_bond, image_servant, np, skills, level, name } = Astro.props const servant_img: string = `/assets/servant/${image_servant}.webp` const bondce_img: string = `/assets/ce/bond-ce/${image_bond}.webp` let bondce_css: string = 'bond-ce' if (bond10 === 'false') { bondce_css += ' unobtained' } --- <article> <img src={servant_img} alt={name} /> <h2 class="subtext"> Level {level}<br /> {skills}<br /> NP {np} </h2> <div class="expand-on-hover"> <img class={bondce_css} src={bondce_img} alt="" /> <h2 class="subtext">Mana Loading: {ml === 'Not Unlocked' && <br />}{ml}</h2> </div> </article> <style> .heading { display: flex; height: 4rem; width: 100%; align-items: center; justify-content: center; font-size: 24px; color: white; max-width: 200px; padding-bottom: 0.3rem; font-weight: bold; } .servants-container { row-gap: 1em; column-gap: 1em; justify-content: center; align-self: center; } article:hover { transform: scale(var(--hover-scale)); } article { display: flex; flex-wrap: wrap; flex-direction: column; background-color: var(--c-darkergray); border-color: var(--c-darkgray); padding: 0em 0.75em; width: 40%; height: auto; justify-content: center; align-items: center; text-align: center; transition: transform var(--speed) var(--ease); border-radius: 1.25rem; } article > img { width: 7.5rem; height: 7.5rem; border-radius: 2.5rem; margin-top: 0.75rem; } .subtext { color: white; font-size: 16px; font-weight: 600; margin: 5; line-height: 20px; } .expand-on-hover { background-color: var(--c-duskgray); z-index: 99; transform: scaleY(0); transform-origin: top; position: absolute; top: 95%; left: 0px; right: 0px; border-radius: 0px 0px 1.25rem 1.25rem; } article:hover .expand-on-hover { transform: scaleY(1); transition: transform 200ms ease-in-out; background-color: var(--c-duskgray); } .bond-ce { padding-top: 0.75rem; height: 3rem; } .unobtained { filter: grayscale(1); } @media (min-width: 512px) { article { padding: 10px 10px; width: auto; height: auto; } article > img { width: 200px; height: 200px; } .bond-ce { height: 3.5rem; } } </style>