ion-content { --background: var(--brand-black); } .heading-holder { position: fixed; top: 0; left: 0; width: 100%; } .main-header { background: -webkit-linear-gradient(180deg, rgba(var(--brand-red-rgb), 0.6) 50%, rgba(var(--brand-red-rgb), 1)); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; font-size: 2.5rem; font-weight: 700; letter-spacing: 1px; padding: 0px 7%; margin: 5% 0%; } .segments { display: flex; align-items: stretch; width: 100%; padding: 0px 7%; margin: 5% 0%; button { background-color: transparent; color: white; font-size: 1.2rem; font-weight: 400; margin-right: 5%; position: relative; opacity: 0.5; &.active { font-weight: 500; opacity: 1; &::before { content: ''; width: 8px; height: 8px; border-radius: 50%; position: absolute; bottom: -18px; left: calc(50% - 4px); background-color: var(--brand-red); } } } } .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); pointer-events: none; transition: opacity 0.3s, transform 0.3s; &.active { opacity: 1; transition-delay: 1s; transform: translateY(0px); pointer-events: all; } ion-icon { color: white; font-size: 20px; } } ion-slides { margin-top: 40%; height: calc(100vh - 40%); position: relative; left: 0; top: 0; transition: transform 0.5s, height 0.3s, margin 0.3s, width 0.3s; z-index: 1; &.active { margin: 0px; width: 100%; transform: translate(0, 0%); height: calc(100vh - 56px); ion-slide { background-color: white; border-radius: 0px; overflow: auto; .content { width: 90%; height: auto; background-color: white; transform: translateY(-30px); position: relative; border-radius: 10px; transition-delay: 0.3s; overflow: auto; border-width: 0px; box-shadow: 0px 0px 15px rgba(var(--light-grey-rgb), 0.3); h4, .details { opacity: 0; animation: showUpContent 0.3s forwards; animation-delay: 0.3s; } } .action-buttons { width: 90%; background-color: white; border-radius: 10px; position: sticky; position: -webkit-sticky; bottom: 0; z-index: 2; box-shadow: 0px 0px 15px rgba(var(--light-grey-rgb), 0.3); justify-content: center; height: 60px; .shortcuts { width: 50%; button { background-color: rgba(var(--light-grey-rgb), 0.1); margin: 0 auto; width: 40px; height: 40px; &.wide-button { width: auto; padding: 0 10px; } } } .read-more { display: none; } } .image-holder figure { filter: brightness(30%); } } } @keyframes showUpContent { 0% { opacity: 0; transform: translateY(20px); -webkit-line-clamp: 4; } 100% { opacity: 1; -webkit-line-clamp: unset; transform: translateY(0px); } } ion-slide { display: block; overflow: hidden; border-radius: 7px; text-align: left; align-self: start; height: 100%; transition: width 0.5s, transform 0.3s, margin 0.3s; } .image-holder { position: sticky; position: -webkit-sticky; top: 0; height: 40%; overflow: hidden; button { width: 40px; height: 40px; position: absolute; bottom: 10px; right: 10px; display: flex; align-items: center; justify-content: center; background-color: rgba(#ffff, 0.5); border-radius: 50%; transition: transform 0.3s, background-color 0.3s, opacity 0.3s; &.hide { opacity: 0; pointer-events: none; } &.active { transform: translate(calc(-50vw + 40px), -15vh); animation: ripple 1s infinite; background-color: rgba(var(--brand-red-rgb), 0.5); ion-icon { color: white; } } @keyframes ripple { 0% { box-shadow: 0px 0px 0px var(--brand-red); } 50% { box-shadow: 0px 0px 5px var(--brand-red); } 100% { box-shadow: 0px 0px 0px var(--brand-red); } } ion-icon { color: white; font-size: 20px; transition: color 0.3s; } } figure { margin: 0; display: block; width: 100%; height: 100%; filter: brightness(60%); transition: filter 0.3s; img { height: 100%; object-fit: cover; display: block; width: 100%; } } } .content { background-color: white; padding: 0px 5% 5% 5%; width: 100%; margin: 0 auto; height: calc(60% - 50px); overflow: hidden; margin-top: -1px; border-radius: 0px; transform: translateY(0px); box-shadow: 0px 0px 0px var(--light-grey); 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; } h4 { font-size: 1.2rem; margin: 0px; line-height: 1.5; font-weight: 500; color: var(--brand-black); transition: opacity 0.1s; background-color: white; position: sticky; position: -webkit-sticky; top: 1px; z-index: 1; padding: 10px 0; } .details { margin: 0px; font-size: 0.9rem; line-height: 1.5; font-weight: 400; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; color: var(--light-grey); overflow: hidden; transition: opacity 0.1s; } .action-buttons { background-color: white; display: flex; justify-content: space-between; width: 100%; height: 50px; margin-top: -1px; padding: 0 3%; position: relative; box-shadow: 0px 0px 0px var(--light-grey); transition: border-radius 0.3s, transform 0.3s, width 0.3s, margin 0.3s, box-shadow 0.3s; z-index: 1; margin: 0 auto 20px; .shortcuts { display: flex; align-items: center; height: 100%; button { background-color: #f3f3f3; margin-right: 5px; width: 30px; height: 30px; border-radius: 50%; &.wide-button { width: auto; border-radius: 5px; padding: 0 10px; } &.active { ion-icon, span { color: var(--brand-red); } } // &.bookmark-button { // &.active { // ion-icon, span { // color: var(--light-grey); // } // } // } span { vertical-align: middle; color: var(--light-grey); } ion-icon { vertical-align: middle; color: var(--brand-black); font-size: 1.2rem; } } } .read-more { background-color: transparent; font-size: 0.9rem; color: var(--brand-red); font-weight: 400; ion-icon { color: var(--brand-black); font-size: 1.2rem; vertical-align: middle; color: var(--brand-red); } } } .comments { background-color: white; width: 90%; position: relative; box-shadow: 0px 0px 0px var(--light-grey); z-index: 1; margin: 0px auto 20px; border-radius: 10px; box-shadow: 0px 0px 15px rgba(var(--light-grey-rgb), 0.3); border-radius: 10px; overflow: hidden; 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; } } } } } }