| @@ -1,62 +1,64 @@ | |||
| <ion-content> | |||
| <div class="heading-holder"> | |||
| <h2 class="main-header"> # Discover </h2> | |||
| <section class="segments"> | |||
| <button [ngClass]="{'active' : selectedTab === 'news'}" | |||
| (click)="selectedTab = 'news'"> News </button> | |||
| <button [ngClass]="{'active' : selectedTab === 'videos'}" | |||
| (click)="selectedTab = 'videos'"> Videos </button> | |||
| </section> | |||
| </div> | |||
| <ion-slides #slides [options]="slideOpts" *ngIf="selectedTab === 'news'"> | |||
| <div class="content-container"> | |||
| <div class="heading-holder"> | |||
| <h2 class="main-header"> # Discover </h2> | |||
| <ion-slide *ngFor="let news of newsData; let i = index" | |||
| [ngClass]="{'active' : selectedArticle === i}"> | |||
| <div class="image-holder"> | |||
| <figure> | |||
| <img [src]="news.image"> | |||
| </figure> | |||
| <button *ngIf="news.type === 'VIDEO'"> | |||
| <ion-icon name="play"></ion-icon> | |||
| </button> | |||
| <button *ngIf="news.type === 'ARTICLE'"> | |||
| <ion-icon name="newspaper"></ion-icon> | |||
| </button> | |||
| </div> | |||
| <section class="content"> | |||
| <h4> {{ news.heading }} </h4> | |||
| <div class="details"> | |||
| {{ news.description }} | |||
| </div> | |||
| </section> | |||
| <section class="action-buttons"> | |||
| <section class="shortcuts"> | |||
| <button class="wide-button" (click)="news.isLiked = !news.isLiked" | |||
| [ngClass]="{'active' : news.isLiked}"> | |||
| <ion-icon *ngIf="!news.isLiked" name="heart-outline"></ion-icon> | |||
| <ion-icon *ngIf="news.isLiked" name="heart"></ion-icon> | |||
| <span> {{ news.isLiked ? news.likes + 1 : news.likes }} </span> | |||
| <section class="segments"> | |||
| <button [ngClass]="{'active' : selectedTab === 'news'}" | |||
| (click)="selectedTab = 'news'"> News </button> | |||
| <button [ngClass]="{'active' : selectedTab === 'videos'}" | |||
| (click)="selectedTab = 'videos'"> Videos </button> | |||
| </section> | |||
| </div> | |||
| <ion-slides #slides [options]="slideOpts" *ngIf="selectedTab === 'news'"> | |||
| <ion-slide *ngFor="let news of newsData; let i = index" | |||
| [ngClass]="{'active' : selectedArticle === i}"> | |||
| <div class="image-holder"> | |||
| <figure> | |||
| <img [src]="news.image"> | |||
| </figure> | |||
| <button *ngIf="news.type === 'VIDEO'"> | |||
| <ion-icon name="play"></ion-icon> | |||
| </button> | |||
| <button> | |||
| <ion-icon name="share-social-outline"></ion-icon> | |||
| <button *ngIf="news.type === 'ARTICLE'"> | |||
| <ion-icon name="newspaper"></ion-icon> | |||
| </button> | |||
| </section> | |||
| <button class="read-more" (click)="showNewsDetails(news);"> | |||
| <span> More </span> | |||
| <ion-icon name="chevron-forward-outline"></ion-icon> | |||
| </button> | |||
| </section> | |||
| </ion-slide> | |||
| </ion-slides> | |||
| </div> | |||
| <section class="content"> | |||
| <h4> {{ news.heading }} </h4> | |||
| <div class="details"> | |||
| {{ news.description }} | |||
| </div> | |||
| </section> | |||
| <section class="action-buttons"> | |||
| <section class="shortcuts"> | |||
| <button class="wide-button" (click)="news.isLiked = !news.isLiked" | |||
| [ngClass]="{'active' : news.isLiked}"> | |||
| <ion-icon *ngIf="!news.isLiked" name="heart-outline"></ion-icon> | |||
| <ion-icon *ngIf="news.isLiked" name="heart"></ion-icon> | |||
| <span> {{ news.isLiked ? news.likes + 1 : news.likes }} </span> | |||
| </button> | |||
| <button> | |||
| <ion-icon name="share-social-outline"></ion-icon> | |||
| </button> | |||
| </section> | |||
| <button class="read-more" (click)="showNewsDetails(news);"> | |||
| <span> More </span> | |||
| <ion-icon name="chevron-forward-outline"></ion-icon> | |||
| </button> | |||
| </section> | |||
| </ion-slide> | |||
| </ion-slides> | |||
| </div> | |||
| </ion-content> | |||
| @@ -59,8 +59,8 @@ ion-slides { | |||
| left: 0; | |||
| top: 0; | |||
| z-index: 1; | |||
| overflow: visible; | |||
| height: calc(100vh - 40%); | |||
| overflow: visible; | |||
| height: 65vh; | |||
| ion-slide { | |||
| display: block; | |||
| @@ -175,13 +175,12 @@ ion-slides { | |||
| 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; | |||
| margin: 0 auto; | |||
| .shortcuts { | |||
| display: flex; | |||
| @@ -1,49 +1,54 @@ | |||
| <ion-content> | |||
| <div class="heading-holder"> | |||
| <h2 class="main-header"> | |||
| Matches | |||
| </h2> | |||
| <p> | |||
| Live / Next Match | |||
| </p> | |||
| </div> | |||
| <div class="content-container"> | |||
| <div class="heading-holder"> | |||
| <h2 class="main-header"> | |||
| Matches | |||
| </h2> | |||
| <p> | |||
| Live / Next Match | |||
| </p> | |||
| </div> | |||
| <section class="match-card"> | |||
| <span class="format"> T20 Qualifiers </span> | |||
| <header> <h4> Kings XI Punjab v/s Mumbai Indians </h4> </header> | |||
| <p> <ion-icon src="assets/icons/helmet.svg"></ion-icon> Sehwag, KL Rahul </p> | |||
| <p> <ion-icon name="baseball-outline"></ion-icon> <span> Pollard </span> </p> | |||
| <section class="score-card"> | |||
| <div class="team"> | |||
| <header> <img src="assets/home-team/KXIP.svg"> <h5> Kings XI Punjab </h5> </header> | |||
| <div class="score"> 179/9 <span> (19.3) </span> </div> | |||
| </div> | |||
| <section class="match-card"> | |||
| <span class="format"> T20 Qualifiers </span> | |||
| <header> <h4> Kings XI Punjab v/s Mumbai Indians </h4> </header> | |||
| <p> <ion-icon src="assets/icons/helmet.svg"></ion-icon> Sehwag, KL Rahul </p> | |||
| <p> <ion-icon name="baseball-outline"></ion-icon> <span> Pollard </span> </p> | |||
| <div class="team"> | |||
| <header> <img src="assets/logos/mi.svg"> <h5> Mumbai Indians </h5> </header> | |||
| <div class="score"> 10/2 <span> (5.5) </span> </div> | |||
| </div> | |||
| <section class="score-card"> | |||
| <div class="team"> | |||
| <header> <img src="assets/home-team/KXIP.svg"> <h5> Kings XI Punjab </h5> </header> | |||
| <div class="score"> 179/9 <span> (19.3) </span> </div> | |||
| </div> | |||
| <div class="team"> | |||
| <header> <img src="assets/logos/mi.svg"> <h5> Mumbai Indians </h5> </header> | |||
| <div class="score"> 10/2 <span> (5.5) </span> </div> | |||
| </div> | |||
| </section> | |||
| </section> | |||
| </section> | |||
| <ul class="statistical-pages"> | |||
| <li> | |||
| <label> Fixtures </label> | |||
| <button> + </button> | |||
| </li> | |||
| <li> | |||
| <label> Results </label> | |||
| <button> + </button> | |||
| </li> | |||
| <li> | |||
| <label> Tours </label> | |||
| <button> + </button> | |||
| </li> | |||
| </ul> | |||
| <ul class="statistical-pages"> | |||
| <li> | |||
| <label> Fixtures </label> | |||
| <button> + </button> | |||
| </li> | |||
| <li> | |||
| <label> Results </label> | |||
| <button> + </button> | |||
| </li> | |||
| <li> | |||
| <label> Tours </label> | |||
| <button> + </button> | |||
| </li> | |||
| </ul> | |||
| </div> | |||
| </ion-content> | |||
| @@ -5,28 +5,7 @@ $pink: #d73e53; | |||
| ion-content { | |||
| --background: transparent; | |||
| background-color: white; | |||
| &::before { | |||
| content: ''; | |||
| position: absolute; | |||
| left: 0; | |||
| top: 0; | |||
| opacity: 0; | |||
| width: 100%; | |||
| height: 100%; | |||
| animation: fadeIn 0.5s forwards; | |||
| background: linear-gradient(90deg, $dark-blue-shade1 50%, $dark-blue-shade2); | |||
| } | |||
| @keyframes fadeIn { | |||
| 0% { | |||
| opacity: 0; | |||
| } | |||
| 100% { | |||
| opacity: 1; | |||
| } | |||
| } | |||
| background: linear-gradient(90deg, $dark-blue-shade1 50%, $dark-blue-shade2); | |||
| } | |||
| .heading-holder { | |||
| @@ -1,95 +1,101 @@ | |||
| <ion-content> | |||
| <section class="action-buttons"> | |||
| <div class="nav"> | |||
| <button> <ion-icon name="chevron-back-outline"></ion-icon> <span> BACK </span> </button> | |||
| </div> | |||
| <div class="action"> | |||
| <button> <ion-icon name="share-social-outline"></ion-icon> </button> | |||
| <button> <ion-icon name="bookmark-outline"></ion-icon> </button> | |||
| </div> | |||
| </section> | |||
| <section class="player-primary-data"> | |||
| <section class="details"> | |||
| <div class="teams-holder"> | |||
| <img src="assets/home-team/KXIP.svg" alt=""> | |||
| <img src="assets/home-team/india.png" alt=""> | |||
| <div class="content-container"> | |||
| <section class="action-buttons"> | |||
| <div class="nav"> | |||
| <button> <ion-icon name="chevron-back-outline"></ion-icon> <span> BACK </span> </button> | |||
| </div> | |||
| <div class="action"> | |||
| <button> <ion-icon name="share-social-outline"></ion-icon> </button> | |||
| <button> <ion-icon name="bookmark-outline"></ion-icon> </button> | |||
| </div> | |||
| </section> | |||
| <section class="player-primary-data"> | |||
| <section class="details"> | |||
| <div class="teams-holder"> | |||
| <figure> | |||
| <img src="assets/home-team/KXIP.svg" alt=""> | |||
| </figure> | |||
| <figure> | |||
| <img src="assets/home-team/india.png" alt=""> | |||
| </figure> | |||
| </div> | |||
| <h2 class="name"> KL Rahul </h2> | |||
| <div class="role"> <ion-icon name="shirt-outline"></ion-icon> Batsman, <br> Wicket Keeper </div> | |||
| </section> | |||
| <figure class="player-image"> | |||
| <img src="assets/home-team/player.png" alt=""> | |||
| </figure> | |||
| <h2 class="name"> KL Rahul </h2> | |||
| <div class="role"> <ion-icon name="shirt-outline"></ion-icon> Batsman / Wicket Keeper </div> | |||
| </section> | |||
| <figure> | |||
| <img src="assets/home-team/player.png" alt=""> | |||
| </figure> | |||
| </section> | |||
| <ul class="statistics"> | |||
| <li> | |||
| <label> Age </label> | |||
| <h5> 26 </h5> | |||
| </li> | |||
| <li> | |||
| <label> Games </label> | |||
| <h5> 64 </h5> | |||
| </li> | |||
| <li> | |||
| <label> Centuries </label> | |||
| <h5> 18 </h5> | |||
| </li> | |||
| </ul> | |||
| <section class="news"> | |||
| <header> | |||
| Now discussing | |||
| </header> | |||
| <ul> | |||
| <li> | |||
| <label> 30 <span> Jan </span> </label> | |||
| <p> | |||
| KL Rahul wins the player of the season 2018 confirms BCCI | |||
| </p> | |||
| <button> <ion-icon name="share-social-outline"></ion-icon> </button> | |||
| </li> | |||
| <li> | |||
| <label> 22 <span> Oct </span> </label> | |||
| <p> | |||
| KL Rahul planning to head back to RCB | |||
| </p> | |||
| <button> <ion-icon name="share-social-outline"></ion-icon> </button> | |||
| </li> | |||
| </ul> | |||
| </section> | |||
| <section class="about"> | |||
| <header> ABOUT </header> | |||
| <ul> | |||
| <li> | |||
| <label> Full name </label> | |||
| <p> KL Rahul </p> | |||
| </li> | |||
| <ul class="statistics"> | |||
| <li> | |||
| <label> Age </label> | |||
| <p> 26 </p> | |||
| <h5> 26 </h5> | |||
| </li> | |||
| <li> | |||
| <label> Native </label> | |||
| <p> Mangaluru </p> | |||
| <label> Games </label> | |||
| <h5> 64 </h5> | |||
| </li> | |||
| <li> | |||
| <label> Avg. Run rate </label> | |||
| <p> 43.64 </p> | |||
| <label> Centuries </label> | |||
| <h5> 18 </h5> | |||
| </li> | |||
| </ul> | |||
| </section> | |||
| <section class="news"> | |||
| <header> | |||
| <span></span> <h4> Now discussing </h4> | |||
| </header> | |||
| <ul> | |||
| <li> | |||
| <label> 30 <span> Jan </span> </label> | |||
| <p> | |||
| KL Rahul wins the player of the season 2018 confirms BCCI | |||
| </p> | |||
| <button class="share-button"> <ion-icon name="share-social-outline"></ion-icon> </button> | |||
| </li> | |||
| <li> | |||
| <label> 22 <span> Oct </span> </label> | |||
| <p> | |||
| KL Rahul planning to head back to RCB | |||
| </p> | |||
| <button class="share-button"> <ion-icon name="share-social-outline"></ion-icon> </button> | |||
| </li> | |||
| </ul> | |||
| </section> | |||
| <section class="about"> | |||
| <header> ABOUT </header> | |||
| <ul> | |||
| <li> | |||
| <label> Full name </label> | |||
| <p> KL Rahul </p> | |||
| </li> | |||
| <li> | |||
| <label> Age </label> | |||
| <p> 26 </p> | |||
| </li> | |||
| <li> | |||
| <label> Native </label> | |||
| <p> Mangaluru </p> | |||
| </li> | |||
| <li> | |||
| <label> Avg. Run rate </label> | |||
| <p> 43.64 </p> | |||
| </li> | |||
| </ul> | |||
| </section> | |||
| </div> | |||
| </ion-content> | |||
| @@ -3,37 +3,15 @@ $blue-grey: #949599; | |||
| ion-content { | |||
| --background: transparent; | |||
| background-color: white; | |||
| &::before { | |||
| content: ''; | |||
| position: absolute; | |||
| left: 0; | |||
| top: 0; | |||
| opacity: 0; | |||
| width: 100%; | |||
| height: 100%; | |||
| animation: fadeIn 0.5s forwards; | |||
| background-color: $dark-blue; | |||
| } | |||
| @keyframes fadeIn { | |||
| 0% { | |||
| opacity: 0; | |||
| } | |||
| 100% { | |||
| opacity: 1; | |||
| } | |||
| } | |||
| background-color: $dark-blue; | |||
| } | |||
| .action-buttons { | |||
| display: flex; | |||
| justify-content: space-between; | |||
| align-items: center; | |||
| height: 80px; | |||
| padding-right: 5%; | |||
| padding-left: 3%; | |||
| align-items: flex-start; | |||
| padding: 20px 5% 10px 3%; | |||
| margin-bottom: 20px; | |||
| button { | |||
| background-color: transparent; | |||
| @@ -61,19 +39,19 @@ ion-content { | |||
| } | |||
| .action button { | |||
| width: 40px; | |||
| height: 40px; | |||
| width: 35px; | |||
| height: 35px; | |||
| border: 1px solid $blue-grey; | |||
| background-color: rgba($blue-grey, 0.1); | |||
| border-radius: 50%; | |||
| display: flex; | |||
| align-items: center; | |||
| justify-content: center; | |||
| margin-left: 10px; | |||
| margin-left: 15px; | |||
| ion-icon { | |||
| color: $blue-grey; | |||
| font-size: 20px; | |||
| font-size: 17px; | |||
| } | |||
| } | |||
| @@ -82,35 +60,90 @@ ion-content { | |||
| .player-primary-data { | |||
| display: flex; | |||
| width: 95%; | |||
| padding-left: 5%; | |||
| position: relative; | |||
| &::before { | |||
| content: ''; | |||
| position: absolute; | |||
| left: 0; | |||
| top: 0; | |||
| width: 100%; | |||
| height: 100%; | |||
| background-image: url('../../assets/home-team/KXIP-lion-white.svg'); | |||
| background-size: contain; | |||
| background-position: center; | |||
| background-repeat: no-repeat; | |||
| opacity: 0.1; | |||
| } | |||
| .details { | |||
| width: 50%; | |||
| position: relative; | |||
| } | |||
| .teams-holder { | |||
| display: flex; | |||
| position: relative; | |||
| z-index: 0; | |||
| display: flex; | |||
| justify-content: flex-start; | |||
| img { | |||
| figure { | |||
| width: 50px; | |||
| height: 50px; | |||
| border-radius: 50%; | |||
| position: relative; | |||
| z-index: 1; | |||
| margin: 0; | |||
| display: block; | |||
| overflow: hidden; | |||
| box-shadow: 0px 0px 5px $dark-blue; | |||
| &:nth-child(2) { | |||
| margin-left: -10px; | |||
| z-index: 0; | |||
| object-fit: cover; | |||
| transform: translateX(-10px); | |||
| } | |||
| img { | |||
| width: 100%; | |||
| height: 100%; | |||
| display: block; | |||
| transform: scale(1.5); | |||
| } | |||
| } | |||
| } | |||
| .name { | |||
| font-size: 2rem; | |||
| font-weight: 700; | |||
| letter-spacing: 1px; | |||
| color: white; | |||
| } | |||
| .role { | |||
| position: absolute; | |||
| bottom: 60px; | |||
| left: 0; | |||
| color: $blue-grey; | |||
| font-size: 1rem; | |||
| display: flex; | |||
| align-items: center; | |||
| font-weight: 500; | |||
| line-height: 1.5; | |||
| ion-icon { | |||
| margin-right: 10px; | |||
| font-size: 2rem; | |||
| vertical-align: middle; | |||
| color: var(--brand-red); | |||
| } | |||
| } | |||
| figure { | |||
| .player-image { | |||
| width: 50%; | |||
| display: block; | |||
| height: 40vh; | |||
| img { | |||
| display: block; | |||
| @@ -120,4 +153,214 @@ ion-content { | |||
| object-position: bottom; | |||
| } | |||
| } | |||
| } | |||
| .statistics { | |||
| display: flex; | |||
| width: 100%; | |||
| padding: 0 5%; | |||
| list-style: none; | |||
| margin: 0 auto -30px auto; | |||
| justify-content: space-between; | |||
| transform: translateY(-50px); | |||
| z-index: 1; | |||
| position: relative; | |||
| background-color: rgba($dark-blue, 0.8); | |||
| box-shadow: 0px -10px 10px rgba($dark-blue, 0.8); | |||
| li { | |||
| width: 27vw; | |||
| height: 27vw; | |||
| background-color: rgba($dark-blue, 0.8); | |||
| border: 1px solid rgba($blue-grey, 0.3); | |||
| display: flex; | |||
| border-radius: 10px; | |||
| color: white; | |||
| align-items: flex-end; | |||
| justify-content: space-between; | |||
| padding: 10px; | |||
| overflow: hidden; | |||
| position: relative; | |||
| &::before { | |||
| content: ''; | |||
| position: absolute; | |||
| left: 0; | |||
| top: 0; | |||
| background-color: rgba($blue-grey, 0.1); | |||
| width: 100%; | |||
| height: 100%; | |||
| } | |||
| } | |||
| label { | |||
| font-weight: 500; | |||
| font-size: 0.8rem; | |||
| align-self: flex-start; | |||
| width: 50%; | |||
| overflow: visible; | |||
| white-space: nowrap; | |||
| position: relative; | |||
| } | |||
| h5 { | |||
| width: 50%; | |||
| white-space: nowrap; | |||
| overflow: visible; | |||
| margin: 0; | |||
| font-weight: 700; | |||
| font-size: 1.8rem; | |||
| align-self: flex-end; | |||
| text-align: right; | |||
| position: relative; | |||
| } | |||
| } | |||
| .news { | |||
| width: 90%; | |||
| margin: 0 auto 20px auto; | |||
| header { | |||
| display: flex; | |||
| align-items: center; | |||
| justify-content: flex-start; | |||
| h4 { | |||
| color: #148dfc; | |||
| font-size: 0.8rem; | |||
| font-weight: 500; | |||
| letter-spacing: 0.5px; | |||
| } | |||
| span { | |||
| margin-right: 10px; | |||
| border: 7px solid #148dfc; | |||
| border-radius: 50%; | |||
| height: 25px; | |||
| width: 25px; | |||
| background-color: $dark-blue; | |||
| } | |||
| } | |||
| ul { | |||
| list-style: none; | |||
| padding: 0; | |||
| background-color: lighten($dark-blue, 5%); | |||
| box-shadow: 0px 0px 10px darken($dark-blue, 3%); | |||
| border-radius: 10px; | |||
| overflow: hidden; | |||
| li { | |||
| width: 90%; | |||
| margin: 0 auto; | |||
| padding: 15px 0px; | |||
| display: flex; | |||
| align-items: center; | |||
| justify-content: space-between; | |||
| border-bottom: 1px solid rgba($blue-grey, 0.2); | |||
| &:last-child { | |||
| border-bottom: none; | |||
| } | |||
| } | |||
| label { | |||
| width: 40px; | |||
| text-align: center; | |||
| color: white; | |||
| font-size: 0.8rem; | |||
| display: block; | |||
| line-height: 1.3; | |||
| span { | |||
| color: $blue-grey; | |||
| font-size: 0.8rem; | |||
| display: block; | |||
| } | |||
| } | |||
| p { | |||
| width: calc(100% - 100px); | |||
| font-size: 0.8rem; | |||
| color: white; | |||
| font-weight: 500; | |||
| line-height: 1.5; | |||
| margin: 0; | |||
| } | |||
| .share-button { | |||
| width: 30px; | |||
| height: 30px; | |||
| border: 1px solid $blue-grey; | |||
| background-color: rgba($blue-grey, 0.1); | |||
| border-radius: 50%; | |||
| display: flex; | |||
| align-items: center; | |||
| justify-content: center; | |||
| margin-left: 10px; | |||
| ion-icon { | |||
| color: $blue-grey; | |||
| font-size: 15px; | |||
| } | |||
| } | |||
| } | |||
| } | |||
| .about { | |||
| background-color: lighten($dark-blue, 5%); | |||
| box-shadow: 0px 0px 10px darken($dark-blue, 3%); | |||
| border-radius: 10px; | |||
| overflow: hidden; | |||
| width: 90%; | |||
| margin: 0 auto 40px auto; | |||
| padding: 0px 0px 5px 0px; | |||
| header { | |||
| font-size: 1rem; | |||
| font-weight: 500; | |||
| color: white; | |||
| padding: 15px 5%; | |||
| border-bottom: 1px solid rgba($blue-grey, 0.2); | |||
| margin: 0; | |||
| } | |||
| ul { | |||
| list-style: none; | |||
| padding: 0; | |||
| margin: 0 auto; | |||
| width: 90%; | |||
| } | |||
| li { | |||
| padding: 10px 5px; | |||
| display: flex; | |||
| width: 100%; | |||
| align-items: center; | |||
| justify-content: space-between; | |||
| border-bottom: 1px solid rgba($blue-grey, 0.2); | |||
| text-align: left; | |||
| &:last-child { | |||
| border-bottom: none; | |||
| } | |||
| } | |||
| label { | |||
| color: $blue-grey; | |||
| font-size: 0.7rem; | |||
| display: block; | |||
| line-height: 1.3; | |||
| width: 100px; | |||
| } | |||
| p { | |||
| width: calc(100% - 100px); | |||
| font-size: 0.9rem; | |||
| color: white; | |||
| font-weight: 500; | |||
| line-height: 1.5; | |||
| margin: 0; | |||
| opacity: 0.8; | |||
| } | |||
| } | |||
| @@ -32,4 +32,24 @@ | |||
| outline: none; | |||
| text-decoration: none; | |||
| letter-spacing: 0.5px; | |||
| } | |||
| figure { | |||
| margin: 0; | |||
| } | |||
| .content-container { | |||
| animation: fadeIn 0.4s forwards; | |||
| opacity: 0; | |||
| @keyframes fadeIn { | |||
| 0% { | |||
| opacity: 0; | |||
| transform: translateY(10vh); | |||
| } | |||
| 100% { | |||
| opacity: 1; | |||
| transform: translateY(0vh); | |||
| } | |||
| } | |||
| } | |||