.card-title{
    font-size: 1.1rem;
    font-weight: bold;
    text-align: start;
    color: #C0334D;
    font-family: poppins;
}

.card-date{
    font-size: .7rem;
    text-align: start;
    font-family: poppins;
}

.card-desc{
    font-size: .9rem;
    text-align: start;
    color: #fff !important;
}

.bs{
    box-shadow: rgba(0, 0, 0, 0.2) 0px 18px 50px -10px !important;
}

.tags{
    text-align: start;
    margin-top: 8px;
    color: #C0334D;
    font-size: 13px;
}


/* CSS */
.button-55 {
  align-self: center;
  background-color: #fff;
  background-image: none;
  background-position: 0 90%;
  background-repeat: repeat no-repeat;
  background-size: 4px 3px;
  border-radius: 15px 225px 255px 15px 15px 255px 225px 15px;
  border-style: solid;
  border-width: 2px;
  box-shadow: rgba(0, 0, 0, .2) 15px 28px 25px -18px;
  box-sizing: border-box;
  color: #41403e;
  cursor: pointer;
  display: inline-block;
  font-family: Neucha, sans-serif;
  font-size: 1rem;
  line-height: 23px;
  outline: none;
  padding: .40rem;
  text-decoration: none;
  transition: all 235ms ease-in-out;
  border-bottom-left-radius: 15px 255px;
  border-bottom-right-radius: 225px 15px;
  border-top-left-radius: 255px 15px;
  border-top-right-radius: 15px 225px;
  user-select: none;
  -webkit-user-select: none;
  touch-action: manipulation;
}

.button-55:hover {
  box-shadow: rgba(0, 0, 0, .3) 2px 8px 8px -5px;
  transform: translate3d(0, 2px, 0);
}

.button-55:focus {
  box-shadow: rgba(0, 0, 0, .3) 2px 8px 4px -6px;
}


































  /* ================ The Timeline ================ */
  
  .timeline {
    position: relative;
    width: 660px;
    margin: 0 auto;
    margin-top: 20px;
    padding: 1em 0;
    list-style-type: none;
  }
  
  .timeline:before {
    position: absolute;
    left: 50%;
    top: 0;
    content: ' ';
    display: block;
    width: 6px;
    height: 100%;
    margin-left: -3px;
    background: rgb(80,80,80);
    background: -moz-linear-gradient(top, rgba(80,80,80,0) 0%, rgb(80,80,80) 8%, rgb(80,80,80) 92%, rgba(80,80,80,0) 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(30,87,153,1)), color-stop(100%,rgba(125,185,232,1)));
    background: -webkit-linear-gradient(top, rgba(80,80,80,0) 0%, rgb(80,80,80) 8%, rgb(80,80,80) 92%, rgba(80,80,80,0) 100%);
    background: -o-linear-gradient(top, rgba(80,80,80,0) 0%, rgb(80,80,80) 8%, rgb(80,80,80) 92%, rgba(80,80,80,0) 100%);
    background: -ms-linear-gradient(top, rgba(80,80,80,0) 0%, rgb(80,80,80) 8%, rgb(80,80,80) 92%, rgba(80,80,80,0) 100%);
    background: linear-gradient(to bottom, rgba(80,80,80,0) 0%, rgb(80,80,80) 8%, rgb(80,80,80) 92%, rgba(80,80,80,0) 100%);
    
    z-index: 5;
  }
  
  .timeline li {
    padding: 1em 0;
  }
  
  .timeline li:after {
    content: "";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
  }
  
  .direction-l {
    position: relative;
    width: 300px;
    float: left;
    text-align: right;
  }
  
  .direction-r {
    position: relative;
    width: 300px;
    float: right;
    text-align: left;
  }
  
  .flag-wrapper {
    position: relative;
    display: inline-block;
    
    text-align: center;
  }
  
  .flag {
    position: relative;
    display: inline;
    background: rgb(248,248,248);
    padding: 6px 10px;
    border-radius: 5px;
    font-weight: 600;
    text-align: left;
  }
  
  .direction-l .flag {
    -webkit-box-shadow: -1px 1px 1px rgba(0,0,0,0.15), 0 0 1px rgba(0,0,0,0.15);
    -moz-box-shadow: -1px 1px 1px rgba(0,0,0,0.15), 0 0 1px rgba(0,0,0,0.15);
    box-shadow: -1px 1px 1px rgba(0,0,0,0.15), 0 0 1px rgba(0,0,0,0.15);
  }
  
  .direction-r .flag {
    -webkit-box-shadow: 1px 1px 1px rgba(0,0,0,0.15), 0 0 1px rgba(0,0,0,0.15);
    -moz-box-shadow: 1px 1px 1px rgba(0,0,0,0.15), 0 0 1px rgba(0,0,0,0.15);
    box-shadow: 1px 1px 1px rgba(0,0,0,0.15), 0 0 1px rgba(0,0,0,0.15);
  }
  
  .direction-l .flag:before,
  .direction-r .flag:before {
    position: absolute;
    top: 50%;
    right: -40px;
    content: ' ';
    display: block;
    width: 12px;
    height: 12px;
    margin-top: -10px;
    background: #fff;
    border-radius: 10px;
    border: 4px solid rgb(255,80,80);
    z-index: 10;
  }
  
  .direction-r .flag:before {
    left: -40px;
  }
  
  .direction-l .flag:after {
    content: "";
    position: absolute;
    left: 100%;
    top: 50%;
    height: 0;
    width: 0;
    margin-top: -8px;
    border: solid transparent;
    border-left-color: rgb(248,248,248);
    border-width: 8px;
    pointer-events: none;
  }
  
  .direction-r .flag:after {
    content: "";
    position: absolute;
    right: 100%;
    top: 50%;
    height: 0;
    width: 0;
    margin-top: -8px;
    border: solid transparent;
    border-right-color: rgb(248,248,248);
    border-width: 8px;
    pointer-events: none;
  }
  
  .time-wrapper {
    display: inline;
    
    line-height: 1em;
    font-size: 0.66666em;
    color: rgb(250,80,80);
    vertical-align: middle;
  }
  
  .direction-l .time-wrapper {
    float: left;
  }
  
  .direction-r .time-wrapper {
    float: right;
  }
  
  .time {
    display: inline-block;
    padding: 4px 6px;
    background: rgb(248,248,248);
  }
  
  .desc {
    margin: 1em 0.75em 0 0;
    color: #fff !important;
    font-size: 0.77777em;
    font-style: italic;
    line-height: 1.5em;
  }
  
  .direction-r .desc {
    margin: 1em 0 0 0.75em;
  }
  
  /* ================ Timeline Media Queries ================ */
  
  @media screen and (max-width: 660px) {
  
  .timeline {
       width: 100%;
      padding: 4em 0 1em 0;
  }
  
  .timeline li {
      padding: 2em 0;
  }
  
  .direction-l,
  .direction-r {
      float: none;
      width: 100%;
  
      text-align: center;
  }
  
  .flag-wrapper {
      text-align: center;
  }
  
  .flag {
      background: rgb(255,255,255);
      z-index: 15;
  }
  
  .direction-l .flag:before,
  .direction-r .flag:before {
    position: absolute;
    top: -30px;
      left: 50%;
      content: ' ';
      display: block;
      width: 12px;
      height: 12px;
      margin-left: -9px;
      background: #fff;
      border-radius: 10px;
      border: 4px solid rgb(255,80,80);
      z-index: 10;
  }
  
  .direction-l .flag:after,
  .direction-r .flag:after {
      content: "";
      position: absolute;
      left: 50%;
      top: -8px;
      height: 0;
      width: 0;
      margin-left: -8px;
      border: solid transparent;
      border-bottom-color: rgb(255,255,255);
      border-width: 8px;
      pointer-events: none;
  }
  
  .time-wrapper {
      display: block;
      position: relative;
      margin: 4px 0 0 0;
      z-index: 14;
  }
  
  .direction-l .time-wrapper {
      float: none;
  }
  
  .direction-r .time-wrapper {
      float: none;
  }
  
  .desc {
      position: relative;
      margin: 1em 0 0 0;
      padding: 1em;
      
      /* background: rgb(245,245,245); */
      -webkit-box-shadow: 0 0 1px rgba(0,0,0,0.20);
      -moz-box-shadow: 0 0 1px rgba(0,0,0,0.20);
      box-shadow: 0 0 1px rgba(0,0,0,0.20);
      
    z-index: 15;
  }
  
  .direction-l .desc,
  .direction-r .desc {
      position: relative;
      margin: 1em 1em 0 1em;
      padding: 1em;
      
    z-index: 15;
  }
  
  }
  
  @media screen and (min-width: 400px ?? max-width: 660px) {
  
  .direction-l .desc,
  .direction-r .desc {
      margin: 1em 4em 0 4em;
  }
  
  }










/* CSS */
.button-89 {
  --b: 3px;   /* border thickness */
  --s: .45em; /* size of the corner */
  --color: #fefeff;
  --color2: #343438;
  
  padding: calc(.5em + var(--s)) calc(.9em + var(--s));
  color: var(--color);
  --_p: var(--s);
  background:
    conic-gradient(from 90deg at var(--b) var(--b),#0000 90deg,var(--color) 0)
    var(--_p) var(--_p)/calc(100% - var(--b) - 2*var(--_p)) calc(100% - var(--b) - 2*var(--_p));
  transition: .3s linear, color 0s, background-color 0s;
  outline: var(--b) solid #0000;
  outline-offset: .6em;
  font-size: 16px;

  border: 0;

  user-select: none;
  -webkit-user-select: none;
  touch-action: manipulation;
}

.button-89:hover,
.button-89:focus-visible{
  --_p: 0px;
  outline-color: var(--color2);
  outline-offset: .05em;
}

.button-89:active {
  background: var(--color);
  color: #fff;
}

























































/* Basic card styling for context */
.card.bs {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* Hover effect */
.card.bs:hover {
  transform: translateY(-10px);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
}

/* Optional: Button hover effect */
.button-89 {
  transition: background-color 0.3s ease, transform 0.3s ease;
}

.button-89:hover {
  background-color: #007bff;
  transform: translateY(-5px);
}

/* Testimonials Slider */
.testimonials {
  padding: 80px 0 50px;
}

.testimonials-intro {
  text-align: center;
  color: var(--color-secondary);
  margin: 0 auto 2rem;
  max-width: 520px;
  font-size: 1rem;
  line-height: 1.6;
}

.testimonials-slider-wrap {
  position: relative;
  padding: 0 8px 10px;
}

.testimonials-swiper {
  padding: 12px 4px 28px;
  overflow: hidden;
}

.testimonials-swiper .swiper-slide {
  height: auto;
  display: flex;
}

.testimonial-card {
  position: relative;
  background: linear-gradient(160deg, hsl(0, 0%, 16%) 0%, hsl(0, 0%, 12%) 100%);
  border: 1px solid hsla(84, 74%, 35%, 0.35);
  border-radius: 16px;
  padding: 2rem 1.6rem 1.6rem;
  display: flex;
  flex-direction: column;
  width: 100%;
  min-height: 340px;
  overflow: hidden;
  transition: transform 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease;
}

body:not(.dark_theme) .testimonial-card {
  background: linear-gradient(160deg, #fff 0%, #f3f5f0 100%);
  border-color: hsla(84, 74%, 35%, 0.25);
}

.testimonial-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #709c17, #a3d044);
  transform: scaleX(0.35);
  transform-origin: left;
  transition: transform 0.35s ease;
}

.testimonial-card:hover {
  transform: translateY(-6px);
  border-color: #709c17;
  box-shadow: 0 18px 40px hsla(84, 74%, 20%, 0.25);
}

.testimonial-card:hover::before {
  transform: scaleX(1);
}

.testimonial-quote-icon {
  font-size: 4rem;
  line-height: 0.7;
  color: #709c17;
  opacity: 0.35;
  font-family: Georgia, serif;
  margin-bottom: 0.75rem;
}

.testimonial-stars {
  color: #709c17;
  font-size: 0.85rem;
  margin-bottom: 1rem;
  letter-spacing: 2px;
}

.testimonial-stars i {
  margin-right: 2px;
}

.testimonial-text {
  color: var(--color-secondary);
  font-size: 0.95rem;
  line-height: 1.7;
  flex-grow: 1;
  margin-bottom: 1.5rem;
}

.testimonial-author {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  border-top: 1px solid hsla(0, 0%, 100%, 0.08);
  padding-top: 1.1rem;
  margin-top: auto;
}

body:not(.dark_theme) .testimonial-author {
  border-top-color: hsla(0, 0%, 0%, 0.08);
}

.testimonial-avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #709c17, #567a12);
  color: #fff;
  font-weight: 700;
  font-family: 'Poppins', sans-serif;
  flex-shrink: 0;
}

.testimonial-name {
  margin: 0;
  font-size: 1rem;
  color: var(--color-primary);
  font-family: 'Poppins', sans-serif;
}

.testimonial-role {
  display: block;
  font-size: 0.8rem;
  color: var(--color-secondary);
  margin-top: 2px;
}

.testimonials-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  margin-top: 0.5rem;
}

.testimonials-btn {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: 1px solid hsla(84, 74%, 35%, 0.45);
  background: hsl(0, 0%, 16%);
  color: #709c17;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
}

body:not(.dark_theme) .testimonials-btn {
  background: #fff;
}

.testimonials-btn:hover {
  background: #709c17;
  border-color: #709c17;
  color: #fff;
  transform: translateY(-2px);
}

.testimonials-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 90px;
}

.testimonials-pagination .swiper-pagination-bullet {
  width: 9px;
  height: 9px;
  background: hsla(0, 0%, 100%, 0.35);
  opacity: 1;
  margin: 0 !important;
  transition: width 0.25s ease, background 0.25s ease;
}

body:not(.dark_theme) .testimonials-pagination .swiper-pagination-bullet {
  background: hsla(0, 0%, 0%, 0.25);
}

.testimonials-pagination .swiper-pagination-bullet-active {
  width: 24px;
  border-radius: 999px;
  background: #709c17;
}

@media (max-width: 767px) {
  .testimonial-card {
    min-height: 300px;
  }
}
