/*************************************************************
   HEADER / MENU CUSTOMIZATION
*************************************************************/

/* Top green border on header */
.hhs-top-bar {
  border-bottom: 5px solid #2a5135;
}

/* Offset only the navigation links row */
#hhs-main-nav .hhs-nav-links {
  margin-top: 59px !important;
}

/* Logo spacing */
.hhs-header-logo {
  padding-left: 10px !important;
}

/* Remove caret icon from desktop dropdown parents */
.sc-site-header__menu.hs-menu-flow-horizontal 
.hhs-nav-links > li.hs-item-has-children > a svg {
  display: none !important;
}

/* =========================================
   FOOTER COLLAPSE UP TO 1000px
   ========================================= */
@media (max-width: 1000px) {

  /* Hide content by default */
  .hhs-foot-nav-col .hhs-col-content {
    display: none;
    text-align: center;
  }

  /* Show when opened */
  .hhs-foot-nav-col .hhs-col-content.open-menu {
    display: block;
  }

  /* Make toggle buttons visible on tablet */
  .foot-nav-title {
    display: block !important;
    cursor: pointer;
  }}
@media (max-width: 1000px) {
  .foot-nav-title.hide-tablet {
    display: block !important;
  }
}







/* =========================================
   TABLET = MOBILE FOOTER LAYOUT
   ========================================= */
@media (max-width: 1000px) {

  /* Stack columns full width */
  .hhs-foot-nav-cols > div {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
  }

  /* Center everything like mobile */
  .hhs-foot-nav-col {
    text-align: center;
  }

  /* Show accordion buttons (override hidden tablet) */
  .foot-nav-title {
    display: block !important;
    width: 100%;
    text-align: center;
    padding: 15px 0;
    border-bottom: 1px solid rgba(255,255,255,0.3);
  }

  /* Hide desktop titles */
  .hhs-foot-nav-col .col-title {
    display: none !important;
  }

  /* Match mobile spacing */
  .hhs-col-content {
    padding: 10px 0 20px;
  }

  /* Social icons centered */
  .hhs-social-con {
    text-align: center;
    margin-top: 20px;
  }

  /* Logo centered */
  .hhs-foot-logo {
    text-align: center;
    margin: 20px 0;
  }
  .hhs-foot-nav-col {
    border-bottom: 1px solid rgba(255,255,255,0.3);
    padding-bottom: 10px;
  }
  /* =========================================
   FORCE WHITE COLORS ON TABLET (MATCH MOBILE)
   ========================================= */
  /* Accordion titles */
  .foot-nav-title {
    color: #ffffff !important;
  }

  /* Caret icon */
  .foot-nav-title svg,
  .foot-nav-title i {
    fill: #ffffff !important;
    color: #ffffff !important;
  }

  /* Divider lines */
  .hhs-foot-nav-col {
    border-bottom: 1px solid rgba(255,255,255,0.3) !important;
  }

  /* If line is applied elsewhere (Clean sometimes does this) */
  .hhs-foot-break-line,
  .hhs-foot-nav-col hr {
    border-color: rgba(255,255,255,0.3) !important;
  }
}
/*************************************************************
   CUSTOM NAV BUTTONS
*************************************************************/

.blue-nav-button,
.highlight-nav-item {
  padding: 4px 15px;
  border: 1px solid #ffffff;
  color: #ffffff;
}

.blue-nav-button {
  background-color: #005288;
}

.highlight-nav-item {
  background-color: #2a5135;
}

/* Mobile nav button adjustments */
@media (max-width: 767px) {

  .blue-nav-button {
    padding: 5px 5px;
    font-size: 14px;
    margin-bottom: 20px !important;
  }

  .highlight-nav-item {
    padding: 5px 2px;
    font-size: 14px;
    margin-bottom: 20px !important;
  }

}


/*************************************************************
   HERO SLIDER
*************************************************************/

/* Full viewport-height hero fading slider (desktop only) */
@media (min-width: 992px) {

  .hero-slider-module .slide-item {
    min-height: 100vh;
  }

  /* Ensure Slick wrappers stretch full height */
  .hero-slider-module .hero-slider,
  .hero-slider-module .slick-list,
  .hero-slider-module .slick-track,
  .hero-slider-module .slick-slide,
  .hero-slider-module .slick-slide > div {
    height: 100%;
  }

}


/*************************************************************
   CUSTOM CTA BUTTONS
   (Added by MN-STCM – 04/09/2024)
*************************************************************/

.cta-blue {
  color: #ffffff !important;
  background-color: #083B60 !important;
  font-family: Raleway !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  letter-spacing: 1px !important;
  padding: 10px 15px !important;
  border-radius: 0 !important;
}

.cta-blue:hover {
  background-color: #00213D !important;
}


/* Large special CTA */

.cta-special-xl {
  color: #ffffff !important;
  background-color: #083B60 !important;
  font-family: Raleway !important;
  font-size: 24px !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  padding: 18px 50px !important;
  border-radius: 0 !important;
}

.cta-special-xl:hover {
  background-color: #00213D !important;
}


/*************************************************************
   CTA SIZE ADJUSTMENTS
*************************************************************/

.special-cta {
  font-size: 22px !important;
  padding: 20px 25px !important;
}

@media (max-width: 1100px) and (min-width: 660px) {
  .special-cta {
    font-size: 16px !important;
    text-align: center !important;
  }
}

@media (max-width: 650px) {
  .special-cta {
    margin-bottom: 30px !important;
    font-size: 20px !important;
    text-align: center !important;
  }
}


/*************************************************************
   CTA ALIGNMENT FIX
   (Removes extra spacing so CTAs match form buttons)
*************************************************************/

.cta-primary,
.cta-secondary,
.cta-tertiar {
  text-align: center !important;
}

/*************************************************************
   global module customization
*************************************************************/
.xl-h2 {font-size: 48px;}
@media (max-width: 900px) {.xl-h2 {font-size: 35px;}}

.c-card-content .read-more {font-weight: 600; color: #2a5135; margin-top: auto; padding-top: 15px;}


/***** floated content images *****/

/* RIGHT FLOAT */
.image-right-control {
  float: right;
  width: 350px;
  margin: 5px 0px 20px 20px;
  height: auto;
  margin: 0 0 20px 20px; /* space between image and text */
}

/* LEFT FLOAT */
.image-left-control {
  float: left;
  width: 350px;
  margin: 5px 20px 20px 0px;
  height: auto;
  margin: 0 20px 20px 0; /* space between image and text */
}

/* MOBILE OVERRIDE */
@media (max-width: 650px) {

  .image-right-control,
  .image-left-control {
    float: none !important;
    display: block !important;
    width: calc(100%) !important;
    max-width: calc(100%) !important;
    height: auto !important;
    margin: 0 auto 20px auto !important;
  }
}



/* ===================================================================
   TABLET STACK
   =================================================================== */
@media (min-width: 768px) and (max-width: 1000px) {
  .tablet-stack .col-md-8,
  .tablet-stack .col-md-4,
  .tablet-stack .col-md-6,
  .tablet-stack .col-md-5,
  .tablet-stack .col-md-7 {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
}

/* ===================================================================
   TABLET STACK REVERSE
   =================================================================== */
@media (min-width: 768px) and (max-width: 1000px) {
  .tablet-stack-reverse .row {
    display: flex;
    flex-wrap: wrap;
  }

  .tablet-stack-reverse .row > div:first-child {
    order: 2;
  }

  .tablet-stack-reverse .row > div:nth-child(2) {
    order: 1;
  }

  .tablet-stack-reverse .row > div {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
}


/* only for sliders that should NOT force the bg image to fill */
.hero-slider-module.bg-image-contain .slide-item {
  min-height: auto !important;
}

.hero-slider-module.bg-image-contain .slide-background {
  position: relative !important;
  height: auto !important;
}

.hero-slider-module.bg-image-contain .slide-bg-image {
  position: relative !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  padding-top: 56.25% !important; /* 16:9 ratio, adjust if needed */
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
}

.hero-slider-module.bg-image-contain .slide-overlay {}
  
  
 /* =========================================
   RESPONSIVE TABLE
   ========================================= */

.custom-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid #4f6f59;
  background: #f4f4f4;
}

.custom-table th,
.custom-table td {
  padding: 14px 16px;
  border: 1px solid #e7e7e7;
  vertical-align: middle;
}

.custom-table thead th {
  background-color: #295536;
  color: #ffffff;
  font-size: 18px;
  font-weight: 700;
  text-align: center;
  line-height: 1.2;
}

.custom-table tbody td {
  background-color: #efefef;
  color: #111111;
  font-size: 18px;
  line-height: 1.35;
}

.custom-table tbody tr:nth-child(even) td {
  background-color: #f7f7f7;
}

.custom-table tbody td:first-child {
  text-align: left;
  font-weight: 400;
}

.custom-table tbody td:not(:first-child) {
  text-align: center;
}

.custom-table td div {
  margin: 0;
}

/* optional: slightly larger heading above table */
h4 {
  margin-bottom: 18px;
}
  
  @media (max-width: 991px) {
  .custom-table thead {
    display: none;
  }

  .custom-table,
  .custom-table tbody,
  .custom-table tr,
  .custom-table td {
    display: block;
    width: 100%;
  }

  .custom-table tr {
    margin-bottom: 20px;
    border: 1px solid #d9d9d9;
    padding: 14px;
    background: #f7f7f7;
  }

  .custom-table td {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    text-align: left !important;
    padding: 10px 0;
    border: none;
    background: transparent !important;
  }

  .custom-table td::before {
    content: attr(data-label);
    font-weight: 700;
    color: #295536;
    margin-right: 16px;
    flex: 0 0 42%;
    text-align: left;
  }

  .custom-table td > * {
    text-align: right;
  }
}

 /* =========================================
   FORM UPDATES
   ========================================= */

.form-title {color: #2a5135 !important;}


 /* =========================================
   BLOG UPDATES
   ========================================= */
/********************************* padding above/below recent posts row  **********************/
@media (min-width: 1001px)  {.hhs-blog-grid-cards .container {padding: 50px 0px 50px 0px !important;}

.hhs-blog-post-card-foot h6 {
  font-size: 21px;
  letter-spacing: 1px;
  line-height: 1.3;
}

.hhs-blog-post-card-foot p {
  letter-spacing: 1px;
  line-height: 1.3;
}
.blog-index__post-content.blog-index__post-content--small .card_post_title {font-weight: 500; letter-spacing: .5px !important;}

/* =========================================
   DEFAULT (DESKTOP + MOBILE)
   Keep fixed 238px height
   ========================================= */
.blog-index__post-image.blog-index__post-image--small {
  height: 238px;
  width: 100%;
  display: block;
  overflow: hidden;
  line-height: 0;
}

.blog-index__post-image.blog-index__post-image--small img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  display: block;
}
/* =========================================
   FORCE 2-COLUMN TABLET (BLOG LISTING)
   ========================================= */
@media (min-width: 768px) and (max-width: 1000px) {

  .hhs-blog-grid-cards.listing-page .blog-index {
    display: flex;
    flex-wrap: wrap;
  }

  .hhs-blog-grid-cards.listing-page .blog-index__post {
    flex: 0 0 50% !important;
    max-width: 50% !important;
  }
}
/* =========================================
   POST PAGE RELATED POSTS - 2 COLUMNS ON TABLET
   ========================================= */
@media (min-width: 768px) and (max-width: 1000px) {
  .hhs-blog-grid-cards.post-page .blog-index {
    display: flex;
    flex-wrap: wrap;
  }

  .hhs-blog-grid-cards.post-page .blog-index__post {
    flex: 0 0 50% !important;
    max-width: 50% !important;
    width: 50% !important;
  }
}

/* =========================================
   HIDE TAGS
   ========================================= */
.blog-post__tags {
  display: none !important;
}


 /* =========================================
  RIDER CUP PAGE
   ========================================= */

.hs-content-id-209889244206 #hhs-main-nav {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

.hs-content-id-209889244206 #hhs-main-nav.sticky-menu.active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
/* ######## Hero vertical height  ###### */
@media (min-width: 1000px) {
    .hero-container {position: relative; height: calc(100vh - 240px); /* adjust if needed for mobile */
    }
}