body .itin {
  font-family: var(--body_typography-font-family);
  font-size: var(--body_typography-font-size);
  font-weight: var(--body_typography-font-weight);
  line-height: var(--body_typography-line-height);
  letter-spacing: var(--body_typography-letter-spacing);
  color: var(--body_typography-color);
  margin: 0;
  --fontSize: var(--base-font-size);
}

.itin h1 {
  font-family: var(--h1_typography-font-family);
  font-weight: var(--h1_typography-font-weight);
  line-height: var(--h1_typography-line-height);
  letter-spacing: var(--h1_typography-letter-spacing);
  font-size: var(--h1_typography-font-size);
  color: var(--h1_typography-color);
  text-transform: var(--h1_typography-text-transform);
  margin-top: var(--h1_typography-margin-top);
  margin-bottom: var(--h1_typography-margin-bottom);
}

.itin h2 {
  font-family: var(--h2_typography-font-family);
  font-weight: var(--h2_typography-font-weight);
  line-height: var(--h2_typography-line-height);
  letter-spacing: var(--h2_typography-letter-spacing);
  font-size: var(--h2_typography-font-size);
  color: var(--h2_typography-color);
  text-transform: var(--h2_typography-text-transform);
  margin-top: var(--h2_typography-margin-top);
  margin-bottom: var(--h2_typography-margin-bottom);
}

.itin h3 {
  font-family: var(--h3_typography-font-family);
  font-weight: var(--h3_typography-font-weight);
  line-height: var(--h3_typography-line-height);
  letter-spacing: var(--h3_typography-letter-spacing);
  font-size: var(--h3_typography-font-size);
  color: var(--h3_typography-color);
  text-transform: var(--h3_typography-text-transform);
  margin-top: var(--h3_typography-margin-top);
  margin-bottom: var(--h3_typography-margin-bottom);
}

.itin h4 {
  font-family: var(--h4_typography-font-family);
  font-weight: var(--h4_typography-font-weight);
  line-height: var(--h4_typography-line-height);
  letter-spacing: var(--h4_typography-letter-spacing);
  font-size: var(--h4_typography-font-size);
  color: var(--h4_typography-color);
  text-transform: var(--h4_typography-text-transform);
  margin-top: var(--h4_typography-margin-top);
  margin-bottom: var(--h4_typography-margin-bottom);
}

.itin h5 {
  font-family: var(--h5_typography-font-family);
  font-weight: var(--h5_typography-font-weight);
  line-height: var(--h5_typography-line-height);
  letter-spacing: var(--h5_typography-letter-spacing);
  font-size: var(--h5_typography-font-size);
  color: var(--h5_typography-color);
  text-transform: var(--h5_typography-text-transform);
  margin-top: var(--h5_typography-margin-top);
  margin-bottom: var(--h5_typography-margin-bottom);
}

.itin h6 {
  font-family: var(--h6_typography-font-family);
  font-weight: var(--h6_typography-font-weight);
  line-height: var(--h6_typography-line-height);
  letter-spacing: var(--h6_typography-letter-spacing);
  font-size: var(--h6_typography-font-size);
  color: var(--h6_typography-color);
  text-transform: var(--h6_typography-text-transform);
  margin-top: var(--h6_typography-margin-top);
  margin-bottom: var(--h6_typography-margin-bottom);
}

.itin .btn {
  margin: 0.25rem;
  padding: var(--button_padding-top) var(--button_padding-right) var(--button_padding-bottom) var(--button_padding-left);
  font-family: var(--button_typography-font-family);
  font-weight: var(--button_typography-font-weight);
  letter-spacing: var(--button_typography-letter-spacing);
  font-size: var(--button_font_size);
  line-height: var(--button_line_height);
  text-transform: var(--button_text_transform);
  background: linear-gradient(var(--button_gradient_angle),
    var(--button_gradient_top_color) var(--button_gradient_start),
    var(--button_gradient_bottom_color) var(--button_gradient_end));
  color: var(--button_accent_color);
  border-width: var(--button_border_width-top) var(--button_border_width-right) var(--button_border_width-bottom) var(--button_border_width-left);
  border-color: var(--button_border_color);
  border-style: solid;
  box-shadow: var(--button_box_shadow);
  transition: all 0.3s ease;
}

.itin .btn:hover {
  background: linear-gradient(var(--button_gradient_angle),
    var(--button_gradient_top_color_hover) var(--button_gradient_start),
    var(--button_gradient_bottom_color_hover) var(--button_gradient_end));
  color: var(--button_accent_hover_color);
  border-color: var(--button_border_hover_color);
}

.itin.itinerator-itinerary .itinerary-content .leg-title {
  color: #fff;
  margin-top: 50px;
  font-family: "TradeGothicLTStd-BdCn20", sans-serif;
  line-height: 1em;
  padding: 1em 1em .75em;
}

@media (min-width: 768px) {
  .itin.itinerator-itinerary .itinerary-content .list-group .list-group-item {
    padding: 10px 50px 10px 100px;
  }
}

.itin .card {
  border: none;
  background: transparent;
}

.itin .card-title {
  color: var(--itin-primary-color);
  font-size: 1.5rem;
}

.itin .card-text {
  color: #77858c;
  font-size: 1rem;
  font-family: "Tiempos Regular", serif;
}

.fusion-layout-column.put-on-top:hover {
  z-index: 100;
}

.itin .itin-tag {
  background-color: var(--itin-secondary-color);
  color: var(--itin-btn-link-color);
  padding: 0.5rem 1rem;
  margin: 0.25rem;
  font-size: 0.875rem;
  border-radius: 0;
  margin-bottom: 0.5rem;
  margin-left: 0;
}

.itin .tags-container {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.itin.itinerator-socials {
  justify-content: flex-start;
}

.itin.itinerator-itinerary .itinerary-content .list-group .list-group-item {
  border: none;
}

@media (min-width: 768px) {
  .itin.itinerator-itinerary .itinerary-content .list-group .badge-col {
    left: 0px;
    top: 15px;
  }
}

.itin.itinerator-itinerary .section-itinerary .map-container .poi-marker {
  visibility: hidden !important;
}

.itin.itinerator-itinerary .section-itinerary .map-container .poi-marker:has(.badge.show) {
  visibility: visible !important;
}


.itin.itinerator-itinerary .map-container .poi-marker:hover {
  z-index: 1025 !important;
}

.itin.itinerator-itinerary .badge-pill.badge {
  padding-top: 14px;
  font-family: 'TradeGothicLTStd-BdCn20';
}

.itin.itinerator-itinerary .content {
  color: #77858c;
  font-size: 1rem;
  font-family: "Tiempos Regular", serif;
}

.itin.itinerator-itinerary .title-link {
  color: var(--itin-primary-color);
}

.itin.itinerator-itinerary .media-infowindow {
  font-family: 'Tiempos Regular';
  font-size: .75rem;
  line-height: 1.75em;
}

.itin.itinerator-itinerary .media-infowindow .title-link {
  color: var(--itin-primary-color);
  font-size: 1.25rem;
}

.itin.itinerator-itinerary .nav-pills .nav-item {
  background-color: var(--itin-light-color);
  color: var(--itin-light-color);
}

.itin .nav-pills .nav-link {
  border-radius: 0;
  border: 0px solid #ece8e1;
  background-color: #ece8e1;
  font-family: 'Tiempos Italic';
  font-size: 1.25rem;
}

.itin .nav-pills .nav-link.active,
.itin .nav-pills .show > .nav-link {
  color: #fff;
  background-color: var(--itin-primary-color);
  border: 1px solid var(--itin-primary-color);
}

/* for the search */
#itinSearch {
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid grey !important;
  border-radius: 0 !important;
  font-style: italic;
  font-family: 'Tiempos Italic' !important;
}

.itin-filter-select {
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid grey !important;
  border-radius: 0 !important;
  font-style: italic;
  font-family: 'Tiempos Italic' !important;
}

.itin.itinerator-socials {
  display: block;
}

.heading-margin-bottom {
  margin-bottom: 0.5rem;
}

p.itin-tag-header {
  margin-bottom: .5em !important;
}

@media (max-width: 440px) {
  .itin.itinerator-itinerary .badge-pill.badge {
    font-size: 1rem;
    width: 30px;
    height: 30px;
    padding-top: 10px;
  }

  .itin.itinerator-itinerary .itinerary-content .list-group .list-group-item {
    padding: 60px 20px;
  }

  .itin.itinerator-itinerary .itinerary-content .list-group .badge-col {
    left: -30px;
    top: 60px;
  }
}

/* === Itinerator Itineraries Grid & Overlay === */
.itinerator-itineraries .grid-container {
  display: grid;
  grid-template-columns: repeat(2, minmax(250px, 1fr));
  gap: 20px;
  row-gap: 20px;
  align-items: stretch;
}

.itinerator-itineraries .item {
  position: relative;
  height: 100%;
}

.itinerator-itineraries .item figure {
  position: relative;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: flex-end;
  border-radius: 0 !important;

}

.itinerator-itineraries .overlay-content {
  position: relative;
  padding: 2rem;
  color: white !important;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5);
  background-color: #1a202c80;
  margin: 200px 1rem 1rem;
  width: calc(100% - 2rem);
  border-radius: 0 !important;
}

.itinerator-itineraries .overlay-content p {
  color: white !important;
  margin-bottom: 10px;
}

.itinerator-itineraries .itinerary-details h2 {
  margin-top: 0;
  color: white;
  font-size: 2rem;
}

.itinerator-itineraries .btn-primary {
  display: inline-block;
  margin-top: 10px;
  background-color: #0d6efd;
  color: white;
  border: none;
  padding: 0.5rem 1rem;
  border-radius: 0 !important;
  text-decoration: none;
}

.itinerator-itineraries .btn-primary:hover {
  background-color: #0b5ed7;
}

.itinerator-itineraries .itinerary-description {
  margin-bottom: 1rem;
}

@media (max-width: 768px) {
  .itinerator-itineraries .grid-container {
    grid-template-columns: 1fr;
  }
  .itinerator-itineraries .overlay-content {
    margin: 150px 1rem 1rem;
  }
}