.card { background-size: cover; background-position: center; background-repeat: no-repeat; .cardImage { width: 100%; height: 100%; object-fit: cover; position: absolute; } .cardVideo { width: 100%; height: 100%; } .cardMask { position: absolute; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.1); } &:hover { .cardInner { top: 0; background: rgba(20, 53, 92, 0.9); justify-content: flex-start; transition-delay: 0s; .cardTitle span { left: 1.875rem; transform: translateX(0); text-align: left; transition-delay: 0s; } } .cardContent { opacity: 1; transition: opacity 0.3s ease 0.3s; } .cardTitleUnderline::before { left: 1.875rem; transform: translateX(0); transition-delay: 0s; } } .cardInner { padding: 3.125rem; width: 100%; height: 100%; background: transparent; transition: all 0.3s ease; transition-delay: 0.2s; position: absolute; top: calc(100% - 10.625rem); } .cardTitle { position: relative; font-weight: 500; font-size: 1.5rem; color: #FFFFFF; height: 2.125rem; line-height: 2.125rem; font-style: normal; text-transform: none; padding: 0 1.875rem; span { display: inline-block; transition: all 0.3s ease; transition-delay: 0.2s; position: absolute; left: 50%; transform: translateX(-50%); width: max-content; max-width: 100%; box-sizing: border-box; text-align: center; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } } .cardTitleUnderline { position: relative; width: 100%; height: .0625rem; background: rgba(255,255,255,0.3); margin-top: 1.875rem; &::before { content: ''; display: block; width: 18.75rem; height: .1875rem; background: rgba(255,255,255,1); position: absolute; left: 50%; top: -0.0625rem; transform: translateX(-50%); transition: all 0.3s ease; transition-delay: 0.2s; } } .cardContent { margin-top: 1.25rem; padding: 0 1.875rem; font-weight: 400; font-size: 1.125rem; color: #FFFFFF; line-height: 2.125rem; text-align: justify; font-style: normal; text-transform: none; opacity: 0; transition: opacity 0.2s ease 0s; .cardMore { display: inline-block; margin-top: 3.75rem; width: 6.5rem; height: 2.375rem; border-radius: 0rem 0rem 0rem 0rem; border: .0625rem solid #FFFFFF; font-weight: 400; font-size: 1rem; color: #FFFFFF; line-height: 1.375rem; text-align: center; display: flex; align-items: center; justify-content: center; &:hover { background: #FFFFFF; color: #14355C; } } } }