.close-article-button { width: 40px; height: 40px; position: fixed; top: 10px; right: 10px; display: flex; align-items: center; justify-content: center; background-color: rgba(#ffff, 0.5); border-radius: 50%; z-index: 3; opacity: 0; transform: translateY(10px); transition: opacity 0.3s, transform 0.3s; &.active { animation: fadeInFromBottom 0.5s forwards; } ion-icon { color: white; font-size: 20px; } } @keyframes fadeInFromBottom { 0% { opacity: 0; transform: translateY(30px); } 100% { opacity: 1; transform: translateY(0px); } } .image-holder { position: sticky; position: -webkit-sticky; top: 0; height: 40%; overflow: hidden; h4 { font-size: 1.5rem; margin: 0px; line-height: 1.5; font-weight: 500; transition: opacity 0.1s; padding: 10px 0; position: absolute; color: white; bottom: 45px; left: 6%; width: 70%; animation: fadeInFromBottom 0.5s forwards; } button { width: 60px; height: 60px; position: absolute; top: calc(50% - 60px); left: calc(50% - 30px); display: flex; align-items: center; justify-content: center; background-color: rgba(var(--brand-red-rgb), 0.5); border-radius: 50%; animation: popin 0.3s forwards; animation-delay: 0.5s; transform: scale(0); @keyframes popin { 0% { transform: scale(0); } 50% { transform: scale(1.4); } 100% { transform: scale(1); } } ion-icon { color: white; font-size: 20px; transition: color 0.3s; } } figure { margin: 0; display: block; width: 100%; height: 100%; filter: brightness(30%); img { height: 100%; object-fit: cover; display: block; width: 100%; } } } .content { background-color: white; padding: 5%; margin: 0 auto; border-radius: 0px; transition: border-radius 0.3s, transform 0.3s, width 0.3s, margin 0.3s, box-shadow 0.3s; border-bottom: 1px solid rgba(var(--light-grey-rgb), 0.3); z-index: 2; width: 90%; height: auto; position: relative; border-radius: 10px; overflow: auto; border-width: 0px; box-shadow: 0px 0px 15px rgba(var(--light-grey-rgb), 0.3); animation: showUpContent 0.5s forwards; } @keyframes showUpContent { 0% { transform: translateY(0px); } 100% { transform: translateY(-40px); } } .details { margin: 0px; font-size: 0.9rem; line-height: 1.5; font-weight: 400; color: var(--light-grey); overflow: hidden; transition: opacity 0.1s; } .action-buttons { display: flex; padding: 0 3%; z-index: 1; margin: 0 auto 20px; width: 90%; background-color: white; border-radius: 10px; position: sticky; position: -webkit-sticky; bottom: 10px; z-index: 2; box-shadow: 0px 0px 15px rgba(var(--light-grey-rgb), 0.3); justify-content: center; height: 60px; .shortcuts { display: flex; align-items: center; height: 100%; width: 50%; button { margin-right: 5px; border-radius: 50%; background-color: rgba(var(--light-grey-rgb), 0.1); margin: 0 auto; width: 40px; height: 40px; &.wide-button { width: auto; border-radius: 5px; padding: 0 10px; } &.active { ion-icon, span { color: var(--brand-red); } } span { vertical-align: middle; color: var(--light-grey); } ion-icon { vertical-align: middle; color: var(--brand-black); font-size: 1.2rem; } } } } .comments { background-color: white; width: 90%; position: relative; box-shadow: 0px 0px 0px var(--light-grey); z-index: 1; margin: -20px auto 20px; border-radius: 10px; box-shadow: 0px 0px 15px rgba(var(--light-grey-rgb), 0.3); border-radius: 10px; overflow: hidden; opacity: 0; animation: fadeInFromBottom 0.5s forwards; header { font-size: 1.1rem; margin: 0px; line-height: 1.5; font-weight: 500; color: var(--brand-black); transition: opacity 0.1s; background-color: white; padding: 10px 5%; } ul { list-style: none; padding: 0; margin: 0; li { padding: 5px 5% 10px; border-top: 1px solid rgba(var(--light-grey-rgb), 0.3); line-height: 1.5; } label { font-size: 1rem; font-weight: 500; letter-spacing: 1px; color: rgba(var(--brand-red-rgb), 0.8); } p { margin: 3px 0; font-size: 1rem; font-weight: 400; color: var(--light-grey); } button { background-color: #f3f3f3; margin-right: 5px; height: 30px; width: auto; border-radius: 5px; padding: 0 5px; span { vertical-align: middle; color: var(--light-grey); } ion-icon { vertical-align: middle; color: var(--brand-black); font-size: 1rem; } &.active { ion-icon, span { color: var(--brand-red); } } } .input-holder { display: flex; width: 100%; height: 70px; align-items: center; input { width: calc(100% - 80px); margin: 0 auto; border: 1px solid rgba(var(--light-grey-rgb), 0.3); border-radius: 30px; font-size: 14px; color: var(--brand-black); font-weight: 500; height: 40px; padding: 0 15px; } button { width: 40px; height: 40px; background-color: var(--brand-red); margin: 0 auto; border-radius: 50%; ion-icon { color: white; font-size: 16px; } } } } }