:root {
   --cardColor: #282828;
   --blue: #38beea;
   --red: #da2c4d;
   --yellow: #f8ab37;
   --grey: #ecedf3;
   --darkGray: #555;
}
/* @import url('https://fonts.googleapis.com/css2?family=Kanit:ital,wght@1,500&display=swap'); */
body {
   font-family:Cambria, Cochin, Georgia, Times, 'Times New Roman', serif;
   color: #eee;
}

.rgb-text {
   background-size: 400%;
   background-position: 0% 0%;
   /* font-style: italic; */
   font-weight: 500;
   -webkit-background-clip: text;
   -webkit-text-fill-color: transparent;
   filter: blur(0px);
   text-transform: uppercase;
   letter-spacing: 0.28rem;
   background-image: linear-gradient(to right,
         hsl(0, 100%, 60%), hsl(120, 100%, 60%), hsl(240, 100%, 60%),
         hsl(0, 100%, 60%), hsl(120, 100%, 60%), hsl(240, 100%, 60%),
         hsl(0, 100%, 60%), hsl(120, 100%, 60%), hsl(240, 100%, 60%),
         hsl(0, 100%, 60%), hsl(120, 100%, 60%), hsl(240, 100%, 60%),
         hsl(0, 100%, 60%), hsl(120, 100%, 60%), hsl(240, 100%, 60%));
   animation: ChangeColor 13s alternate infinite linear;
}

@keyframes ChangeColor {
   0% {
      background-position: 0%;
   }
   100% {
      background-position: 100%;
   }
}



.container .card-stack {
   width: 300px;
   height: 500px;
   position: relative;
   margin: 80px auto;
   margin-top: 20px;
}

.container .card-stack .buttons {
   /* display: none; */
   cursor: pointer;
   position: absolute;
   background: rgba(0, 0, 0, 0.3);
   border-radius: 50%;
   width: 35px;
   height: 35px;
   left: 0;
   top: 68%;
   text-align: center;
   line-height: 32px;
   text-decoration: none;
   font-size: 22px;
   z-index: 100;
   outline: none;
   transition: all 0.2s ease;
}

.container .card-stack .buttons:hover {
   transform: scale(1.3, 1.3);
}

.container .card-stack .prev {
   left: 5px;
   right: auto;
}

.container .card-stack .next {
   right: 5px;
   left: auto;
}

/* .container .card-stack .carousel .buttons:hover {
   color: #C01313;
   background: #fff;
} */

.container .card-stack .card-list {
   width: 320px;
}

.container .card-stack .card-list li {
   background-color: var(--cardColor);
   position: absolute;
   list-style: none;
   left: 0;
   right: 0;
   margin-left: auto !important;
   margin-right: auto !important;
   transition: all 400ms ease-in-out;
   top: 36px;
   width: 70%;
   box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
}

.container .card-stack .card-list li:first-child {
   top: 36px;
   width: 70%;
   animation: scaleCard 400ms ease-in-out;
}

/*!changing the number of displayed item should change the scaleCard @keyframe height!*/

.container .card-stack .card-list li:nth-last-child(3) {
   top: 48px;
   width: 80%;
}

.container .card-stack .card-list li:nth-last-child(2) {
   top: 60px;
   width: 90%;
}

.container .card-stack .card-list li:nth-last-child(1) {
   top: 72px;
   width: 100%;
}

.container .card-stack .arrow {
   color: var(--blue);
   height: 1rem;
   width: 1rem;
   margin: auto;
   margin-top: -4px;
}

/* .container .card-stack:hover>.buttons.prev {
   display: block;
   animation: bounceInLeft 400ms ease-out;
}

.container .card-stack:hover>.buttons.next {
   display: block;
   animation: bounceInRight 400ms ease-out;
} */

.transformPrev {
   animation: scaleDown 400ms ease-in-out;
}

.transformNext {
   animation: scaleUp 400ms ease-in-out;
}

@keyframes scaleUp {
   0% {
      transform: scale(1.2) translateY(50px);
      opacity: 0;
   }

   20% {
      transform: scale(1.15) translateY(40px);
      opacity: 0.1;
   }

   40% {
      transform: scale(1.1) translateY(30px);
      opacity: 0.2;
   }

   60% {
      transform: scale(1.05) translateY(20px);
      opacity: 0.4;
   }

   80% {
      transform: scale(1.01) translateY(10px);
      opacity: 0.8;
   }

   100% {
      transform: scale(1) translateY(0);
      opacity: 1;
   }
}

@keyframes scaleDown {
   0% {
      transform: scale(1) translateY(0);
      opacity: 1;
   }

   20% {
      transform: scale(1.01) translateY(20px);
      opacity: 0.8;
   }

   40% {
      transform: scale(1.05) translateY(40px);
      opacity: 0.4;
   }

   60% {
      transform: scale(1.1) translateY(60px);
      opacity: 0.2;
   }

   80% {
      transform: scale(1.15) translateY(80px);
      opacity: 0.1;
   }

   100% {
      transform: scale(1.2) translateY(100px);
      opacity: 0;
   }
}

@keyframes scaleCard {
   0% {
      top: 10px;
      /* width: 50%; */

   }

   100% {
      top: 36px;
      /* width: 60%; */
   }
}

@keyframes bounceInLeft {
   0% {
      opacity: 0;
      transform: translateX(40px);
   }

   100% {
      transform: translateX(0);
   }
}

@keyframes bounceInRight {
   0% {
      opacity: 0;
      transform: translateX(-40px);
   }

   100% {
      transform: translateX(0);
   }
}


a {
   text-decoration: none;
}

.containerCSS {
   max-width: 1170px;
   width: 100%;
   margin: 0 auto;
   padding-right: 15px;
   padding-left: 15px;
   margin-top: 40px;
}

.row {
   display: flex;
   justify-content: space-between;
}

.col {
   width: 33%;
}

@media (max-width: 576px) {
   .row {
      display: block;
   }

   .row .col {
      width: 100%;
      margin: 0 0 10px 0;
   }
}

.cardCSS .cardCSS-content h2,
.cardCSS .cardCSS-content h3,
.cardCSS .cardCSS-content h4,
.cardCSS .cardCSS-content h5,
.cardCSS .cardCSS-content h6 {
   margin: 1.2rem 0;
   /* font-weight: 700; */
   /* line-height: 1.5; */
   /* color: #ffffff; */
}

.cardCSS {
   text-align: center;
   background: var(--cardColor);
   height: 510px;
   border-radius: 6px;
   overflow: hidden;
   box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
   transition: all 400ms ease-in-out;
}

.cardCSS:hover {
   box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}


.cardCSS h2 {
   font-size: 1.25rem;
   margin: 0;
}

.cardCSS .cardCSS-content {
   padding: 1.8rem;
   padding-top: 1rem;
   min-height: 110px;
}

.cardCSS .cardCSS-content .kicker {
   color: var(--blue);
   margin-top: 0;
   text-transform: uppercase;
   letter-spacing: 0.16rem;
   font-weight: 500;
   font-size: 0.75rem;
   margin-bottom: 0.5rem;
}

.cardCSS .cardCSS-content p {
   color: #adacb5;
}

.cardCSS .cardCSS-content p:last-of-type {
   margin-bottom: 0;
}

.cardCSS .cardCSS-image img {
   width: 100%;
   height: 300px;
}


.cardCSS .cardCSS-footer {
   margin-top: auto;
   position: relative;
   bottom: 0;
}

.cardCSS .cardCSS-footer .icon {
   position: absolute;
   right: 2rem;
   max-width: 20px;
   top: 50%;
   margin-top: -10px;
   transition: color 0.4s;
   cursor: pointer;

}

.cardCSS .cardCSS-footer a {
   background: transparent;
   border: none;
   color: #fff;
   padding: 1.25rem 2rem;
   width: 100%;
   cursor: pointer;
   text-align: left;
   display: block;
   opacity: 0;
   position: relative;
   top: 3px;
   /* font-weight: 400; */
   transition: opacity 0.4s, top 0.4s ease 0s;
}

.cardCSS .cardCSS-footer:after {
   content: "";
   width: 0%;
   height: 3px;
   background: #38beea;
   position: absolute;
   bottom: 0;
   left: 0;
   transition: width 0.4s;
}

.card-stack:hover .cardCSS .cardCSS-footer::after,
.card-stack:focus .cardCSS .cardCSS-footer::after {
   width: 100%;
}

.cardCSS .cardCSS-footer a:hover .icon,
.cardCSS .cardCSS-footer a:focus .icon{
   color: var(--blue);
}

.cardCSS .cardCSS-footer:hover a,
.cardCSS .cardCSS-footer:focus a,
.cardCSS .cardCSS-content:hover + div .cardCSS-footer a,
.cardCSS .cardCSS-content:focus + div .cardCSS-footer a{
   opacity: 1;
}


/************************** scroll progress ***********************************/

.progress-wrap {
   position: fixed;
   right: 50px;
   bottom: 50px;
   height: 46px;
   width: 46px;
   cursor: pointer;
   display: block;
   border-radius: 50px;
   box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.2);
   z-index: 10000;
   opacity: 0;
   visibility: hidden;
   transform: translateY(15px);
   -webkit-transition: all 200ms linear;
   transition: all 200ms linear;
}

.progress-wrap.active-progress {
   opacity: 1;
   visibility: visible;
   transform: translateY(0);
}

.progress-wrap::after {
   position: absolute;
   content: '➜';
   transform: rotate(270deg);
   text-align: center;
   line-height: 46px;
   font-size: 24px;
   color: var(--grey);
   left: 0;
   top: 0;
   height: 46px;
   width: 46px;
   cursor: pointer;
   display: block;
   z-index: 1;
   -webkit-transition: all 200ms linear;
   transition: all 200ms linear;
}

.progress-wrap:hover::after {
   opacity: 0;
}

.progress-wrap::before {
   position: absolute;
   content: '➜';
   transform: rotate(270deg);
   text-align: center;
   line-height: 46px;
   font-size: 24px;
   opacity: 0;
   background-image: linear-gradient(298deg, var(--red), var(--yellow));
   -webkit-background-clip: text;
   -webkit-text-fill-color: transparent;
   left: 0;
   top: 0;
   height: 46px;
   width: 46px;
   cursor: pointer;
   display: block;
   z-index: 2;
   -webkit-transition: all 200ms linear;
   transition: all 200ms linear;
}

.progress-wrap:hover::before {
   opacity: 1;
}

.progress-wrap svg path {
   fill: none;
}

.progress-wrap svg.progress-circle path {
   stroke: var(--grey);
   stroke-width: 4;
   box-sizing: border-box;
   -webkit-transition: all 200ms linear;
   transition: all 200ms linear;
}

/***************************************************************************/

.gray {
   color: #ecedf3;
}

.blue {
   color: Var(--blue);
}

/******************************* card skeleton loading ***********************************************/


.loading .cardCSS-image {
   height: 300px;
}

.loading .cardCSS-content {
   margin: auto;
}

.loading .cardCSS-content .l1 {
   /* height:20px; */
   margin: 1rem 0;
   height: 1.8rem;
   border-radius: 6px;
   /* margin:20px; */
}


.loading .cardCSS-footer {
   display: none;
}

.card-list .card .loading .cardCSS-image,
.card-list .card:last-child .loading .cardCSS-content .l1,
.card-list .card:last-child .loading .cardCSS-footer {
   background-color: var(--darkGray);
   background: linear-gradient(100deg,
         rgba(255, 255, 255, 0) 40%,
         rgba(255, 255, 255, .3) 50%,
         rgba(255, 255, 255, 0) 60%) var(--darkGray);
   background-size: 200% 100%;
   background-position-x: 180%;
   animation: 1s loading ease-in-out infinite;
}

@keyframes loading {
   to {
      background-position-x: -20%;
   }
}
