/* ----------------------------------------------------------------
    Fonts

    Replace your Fonts as necessary
-----------------------------------------------------------------*/


body,
small,
.sub-menu-container .menu-item > .menu-link,
.wp-caption,
.fbox-center.fbox-italic p,
.skills li .progress-percent .counter,
.nav-tree ul ul a,
.font-body,
h1,
h2,
h3,
h4,
h5,
h6,
#logo a,
.menu-link,
.mega-menu-style-2 .mega-menu-title > .menu-link,
.top-search-form input,
.entry-link,
.entry.entry-date-section span,
.button.button-desc,
.fbox-content h3,
.tab-nav-lg li a,
.counter,
label,
.widget-filter-links li a,
.nav-tree li a,
.wedding-head,
.font-primary,
.entry-link span,
.entry blockquote p,
.more-link,
.comment-content .comment-author span,
.comment-content .comment-author span a,
.button.button-desc span,
.testi-content p,
.team-title span,
.before-heading,
.wedding-head .first-name span,
.wedding-head .last-name span { font-family: 'Poppins', sans-serif !important; }

.heading-block h2,
.heading-block h3,
.font-secondary { font-family: 'Caveat Brush', cursive !important; }

* {
  box-sizing: border-box;
}

.timeline {
  position: relative;
  max-width: 1100px;
  margin: auto;
  overflow-x: hidden;
}

.timeline::before {
  content: '';
  position: absolute;
  width: 2px;
  background: #e5e7eb;
  top: 0;
  bottom: 0;
  left: 50%;
  margin-left: -1px;
}

.timeline::after {
  content: '';
  display: table;
  clear: both;
}

.timeline-item {
  width: 50%;
  float: left;
  padding: 15px 20px;
  position: relative;
}

.timeline-item::after {
  content: '';
  position: absolute;
  top: 25px;
  width: 12px;
  height: 12px;
  background: #1e40af;
  border-radius: 50%;
}

.timeline-item.left { clear: left; }
.timeline-item.left::after { right: -6px; }
.timeline-item.right::after { left: -6px; }

.card {
  background: #fff;
  padding: 20px;
  border-radius: 14px;
  box-shadow: 0 4px 12px rgba(0,0,0,.06);
  max-width: 100%;
  overflow: hidden;
}

/* Mobile */
@media (max-width: 992px) {
  .timeline::before {
    left: 20px;
  }

  .timeline-item {
    width: 100%;
    float: none;
    padding-left: 60px;
  }

  .timeline-item::after,
  .timeline-item.left::after,
  .timeline-item.right::after {
    left: 14px;
    right: auto;
  }
}

.timeline-item.center {
  width: 100%;
  float: none;
  padding-left: 0;
  padding-right: 0;
  text-align: center;
}

.timeline-item.center .card {
  margin: auto;
  max-width: 520px;
}

.timeline-item.center::after {
  left: 50%;
  transform: translateX(-50%);
}



