@top_controls_height: 55px; .embbededMediaPlayerWrapper { position: relative; display: flex; flex-direction: row; align-items: center; justify-content: center; width: 270px; height: fit-content; border-radius: 12px; pointer-events: initial; transition: all 150ms ease-in-out; &.no-frame { width: 100%; height: 100%; flex-direction: column; .player { background-color: transparent; border-radius: 0; box-shadow: none; } .top_controls { position: relative; opacity: 1; height: @top_controls_height; width: 100%; background-color: transparent; box-shadow: none; } } &.minimized { pointer-events: none; animation: minimize 150ms ease-in-out forwards; } &.hovering { .top_controls { height: @top_controls_height; opacity: 1; // translate y negative height of @top_controls_height minus 10px transform: translateY(calc(-1 * (@top_controls_height - 5px))); } margin-top: 45px; } .top_controls { position: absolute; top: 0; z-index: 300; display: flex; flex-direction: row; align-items: center; justify-content: space-between; gap: 20px; width: 100%; height: 0px; background-color: var(--background-color-accent); border-radius: 8px 8px 0 0; padding: 10px 10px 15px 10px; opacity: 0; box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.2); transition: all 150ms ease-in-out; } .player { position: relative; z-index: 310; display: inline-flex; flex-direction: column; align-items: flex-start; justify-content: center; width: 100%; height: 100%; padding: 10px; border-radius: 8px; background-color: var(--background-color-accent); // animate in from bottom to top animation: fadeIn 150ms ease-out forwards; transition: all 150ms ease-out; box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.2); .cover { position: relative; z-index: 320; width: 100%; height: 250px; min-height: 250px; border-radius: 10px; background-position: center; background-size: cover; background-repeat: no-repeat; transition: all 0.3s ease-in-out; img { width: 100%; height: 100%; object-fit: cover; object-position: center; } } .header { position: relative; display: flex; flex-direction: row; margin: 15px 0; width: 100%; .info { display: flex; flex-direction: column; h1, h2, h3, h4, h5, h6, p, span { margin: 0; color: var(--text-color); } width: 100%; .title { font-size: 1rem; font-weight: 600; color: var(--text-color); word-break: break-all; font-family: "Space Grotesk", sans-serif; } .subTitle { display: flex; flex-direction: row; width: 100%; justify-content: space-between; .likeButton { margin-right: 20px; } .artist { font-size: 0.6rem; font-weight: 400; color: var(--text-color); } } } } } } @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } } @keyframes minimize { 0% { opacity: 1; } 99% { opacity: 0; //transform: translateX(100%); } 100% { opacity: 0; height: 0px; } }