/*!
Theme Name: HLI Rail & Rigging
Theme URI: https://www.organiqmedia.com/
Author: Organiq Media
Author URI: https://www.organiqmedia.com/
Description: This theme is used for HLI Rail & Rigging
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: hli_rail_rigging
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

HLI Rail & Rigging is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

.hli-pdf-report-sec .hli_service_list {
	text-align: center;
	font-size: 20px;
	line-height: 27px;
	/*word-spacing: 14px;*/
	margin-bottom: 20px;
}

.hli-pdf-report-sec ul.hli_service_list li {
	display: inline-block;
	color: #fff;
	/*margin: 0 10px;*/
}

.hli-pdf-report-sec .hli_service_list .plus_sign {
  /*color: #FAA62E;*/
  /*color: #016DB5;*/
  color: #ffffff; /* was #016DB5 (1.8:1 on blue) — a11y contrast fix, 9.8:1 */
}
.hli-pdf-report-sec .hli_service_list li:last-child .plus_sign {
  display: none;
}



#hliNavbar {
}
#hliNavbar ul li.parent-about > .sub-menu { display: none; margin-top: 10px; position: absolute; z-index: 9; background-color: #303037; width: 250px; /*right: 20px;*/ /*left: 80%;*/ }
#hliNavbar ul li.parent-about:hover > .sub-menu { display: block; }
#hliNavbar .sub-menu li {
	border-bottom: 1px solid rgba(255,255,255,0.10);
	width: 100%;
  	padding: 10px 25px;
}
#hliNavbar .sub-menu li a:hover { text-decoration: underline; }

#hliNavbar li.tc-parent .sub-menu {
	display: none;
	position: absolute;
	z-index: 9;
	background-color: #303037;
	padding: 0;
	width: 200px;
	right: 100%;
	bottom: 0;
}

#hliNavbar li.tc-parent:hover .sub-menu {
  display: block;
}

#hliNavbar .sub-menu li a {
  line-height: 24px;
  font-weight: 500;
  font-size: 15px;
  text-align: left;
  text-transform: capitalize;
  nsition: all 500ms ease;
  -moz-transition: all 500ms ease;
  -webkit-transition: all 500ms ease;
  -ms-transition: all 500ms ease;
  -o-transition: all 500ms ease;
}

#hliNavbar .sub-menu li:hover {
  background-color: #18408b;
}


/*#hliNavbar li.menu-item-has-children::after {
  position: absolute;
  font-size: 11px;
  content: '\25bc';
  top: 44px;
  color: #c05ea4;
  padding-left: 5px;
  right: unset;
}*/


/* Chevron on any menu item that has a submenu (desktop + mobile) */
#hliNavbar li.menu-item-has-children > a { position: relative; }
#hliNavbar li.menu-item-has-children > a::after {
  content: '';
  display: inline-block;
  width: 7px; height: 7px;
  margin-left: 9px;
  vertical-align: middle;
  position: relative;
  top: -2px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);          /* chevron pointing down */
  transition: transform .2s ease, top .2s ease;
}
#hliNavbar li.menu-item-has-children.open > a::after {
  transform: rotate(225deg);         /* flip up when open */
  top: 1px;
}

/* Active / current menu item. Only on inner pages: on the homepage every
   single-page-anchor link resolves as "current", so the JS scroll-spy
   (.current-active) owns the active state there instead. */
body:not(.home) #hliNavbar li.current-menu-item > a,
body:not(.home) #hliNavbar li.current_page_item > a,
body:not(.home) #hliNavbar li.current-menu-ancestor > a { color: #ffffff; }

/* Mobile menu: full-screen blue overlay + tap-to-open submenu accordion */
@media (max-width: 991.98px) {
  #hliNavbar {
    position: fixed;
    inset: 0;
    z-index: 1000;
    background-color: #18408b;
    padding: 80px 24px 40px;
    margin: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
  /* skip Bootstrap's height animation so the full-screen overlay doesn't jump */
  #hliNavbar.collapsing { transition: none; height: auto; }
  /* keep logo + hamburger tappable above the overlay */
  .hli-navbar .navbar-brand,
  .hli-navbar .navbar-toggler { position: relative; z-index: 1001; }

  #hliNavbar .navbar-nav { width: 100%; }
  #hliNavbar > ul > li { border-bottom: 1px solid rgba(255,255,255,0.12); }

  /* Submenu visibility is driven ONLY by .open on mobile. !important defeats the
     desktop :hover rules, which stick after a tap on touch devices and otherwise
     keep the submenu hidden even while the chevron shows open. */
  #hliNavbar .sub-menu {
    display: none !important;
    position: static !important;
    width: 100% !important;
    right: auto !important; bottom: auto !important; margin: 0 !important;
    background-color: rgba(0,0,0,0.18) !important; /* darker-blue tint over the blue overlay */
  }
  #hliNavbar li.open > .sub-menu { display: block !important; }

  /* Keep menu links white on tap (override the #095fff :hover/:focus rule) */
  #hliNavbar .navbar-nav > li > a:hover,
  #hliNavbar .navbar-nav > li > a:focus,
  #hliNavbar .sub-menu li a:hover,
  #hliNavbar .sub-menu li a:focus { color: #fff; }

  /* Kill sticky :hover artifacts on touch (underline, bg highlight, grey tap flash) */
  #hliNavbar .sub-menu li a:hover,
  #hliNavbar .sub-menu li a:focus { text-decoration: none; }
  #hliNavbar .sub-menu li:hover { background-color: transparent; }
  #hliNavbar a { -webkit-tap-highlight-color: transparent; }

  /* active item gets an accent bar on mobile (inner pages only — see note above) */
  body:not(.home) #hliNavbar li.current-menu-item > a,
  body:not(.home) #hliNavbar li.current_page_item > a { box-shadow: inset 3px 0 0 #ffffff; padding-left: 8px; }
}

.hli_text_service_block { padding: 100px 0 75px; }
.hli_text_service_block .hli-pdf-report-content p { font-weight: 600; }
.hli_text_service_block .header-border::before { left: 45%; }
.hli_text_service_block.line-bg-pattern::before { opacity: .35; }
.hli_text_service_block h2.heading-title {
    margin-bottom: 20px;
    position: relative;
    text-transform: capitalize;
    font-weight: 700;
    color: #fff;
    font-size: 45px;
}

@media (max-width: 991.98px) {
	.hli-pdf-report-sec .hli_service_list { word-spacing: inherit; text-align: left }
}

/* START: Equipment Form CSS; */
#popmake-6222 {background-color: #2b2b2b;}

#popmake-6222 .pum-title {
    text-align: center;
    color: #ffffff;
    font-size: 25px;
    line-height: 35px;
    margin-bottom: 30px;
}
#popmake-6222 button.pum-close {
    background: transparent;
    height: 35px;
    width: 35px;
    font-size: 45px !important;
}

.equipment-specs-frm {
    padding: 0 35px;
    color: #ffffff;
}
#wpcf7-f6226-o1 .wpcf7-response-output {
    color: #fff;
}

.equipment-specs-frm input[type="text"], .equipment-specs-frm input[type="email"], .equipment-specs-frm input[type="tel"] {
    height: 40px;
    color: #2b2b2b;
}

.equipment-specs-frm input[type="text"]::placeholder, .equipment-specs-frm input[type="email"]::placeholder, .equipment-specs-frm input[type="tel"]::placeholder {
    color: #2b2b2b;
}

.equipment-specs-frm #ContactRadio input[type="radio"] {width: 10%;}

.equipment-specs-frm #ContactRadio .wpcf7-list-item-label {
    width: 90%;
    font-weight: 400;
}

.equipment-specs-frm #ContactRadio .wpcf7-list-item {
    display: block;
    margin: 0;
}

.equipment-specs-frm #ContactRadio .wpcf7-list-item label {
    width: 100%;
}

.equipment-specs-frm .frm-submit-btn .wpcf7-submit {
border-radius: 0;
  font-weight: 400;
  text-transform: uppercase;
  margin: 0;
  position: relative;
  line-height: 24px;
  color: #fff;
  font-size: 16px;
  background: #18408b;
    background-color: rgb(24, 64, 139);
  background-color: rgb(24, 64, 139);
  display: inline-block;
  padding: 11px 50px;
  border: 2px solid #18408b;
  font-family: 'Poppins', sans-serif;
}

.equipment-specs-frm .frm-submit-btn {
    padding-left: 0;
}

.equipment-specs-frm .frm-close a {
    color: #fff;
    padding: 11px 0;
    font-weight: 400;
}

.equipment-specs-frm .frm-btns {
    display: flex;
    align-items: baseline;
}
.equipment-specs-frm .Post_Title {
  display: none;
}
.equipment-specs-frm .frm-submit-btn .wpcf7-submit:hover {
    color: #ffffff !important;
}

.equipment-specs-frm .radio-btns {
    clear: both;
}
/* END: Equipment Form CSS; */


.home .hli-header-main {
    position: absolute;
    left: 0px;
    top: 0px;
    z-index: 999;
    width: 100%;
    background-color: transparent;
    /*background-color: #303038b0;*/
    border-bottom: 1px solid rgba(255,255,255,0.15);
}
@media only screen and (max-width: 767px) {
  /*.home .hli-header-main {
    background-color: #18408B;
  }*/
}
/*.hli-hero::before {
	position: absolute;
	content: '';
	background: #303038;
	width: 100%;
	height: 100%;
}*/
.home .hli-hero { height: 850px; padding: 0; }

.home .hli-hero .slider-overlay-gredient {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.7) 0%, rgba(255, 252, 252, 0.3) 100%);
}

.home .slider-overlay-content {
  position: absolute;
  left: 0;
  right: 0;
  top: 40%;
  transform: translateY(-40%);
  margin: 0 auto;
  z-index: 1;
}
.home .slider-overlay-content .hli-hero-content { /*background: #303038b0; padding: 20px;*/ margin: 0; text-align:left; }
.slider-overlay-content .hli-hero-content h1 { font-size: 100px; line-height: 107px; text-align: left; margin-top: 0; text-shadow: 5px 5px 7px rgba(0, 0, 0, 0.8);}
.slider-overlay-content .hli-hero-content h2.sub-text-heading {
  font-size: 40px;
  line-height: 47px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 20px;
  text-shadow: 5px 5px 7px rgba(0, 0, 0, 0.8);
}

.hli-laredo-sec .video-sec {
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    height: 250px;
    position: relative;
    background-color: #18408B;
}

.hli-laredo-sec .video-sec::before {
  position: absolute;
  content: '';
  left: 0px;
  top: 0px;
  width: 100%;
  height: 100%;
  display: block;
  background-color: rgba(38,37,43,0.60);
}

.hli-laredo-sec .video-sec-caption {
    position: absolute;
    bottom: 60px;
    left: 130px;
    color: #fff;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}

/*.video-sec-caption h3 {
    font-size: 2rem;
    font-weight: bold;
}*/

.hli-laredo-sec .video-sec-caption p {
    font-size: 25px;
  line-height: 32px;
}

.hli-laredo-sec .video-sec-caption a {
  color: #fff;
}
.hli-laredo-sec #videoModal .btn-close {
  float: right;
  bottom: 5px;
  position: relative;
  opacity: 1;
}

#hli_gallery .card-image img {
  width: 100%;
  height: 300px;
  object-fit: cover;
}

#hli_gallery .gall-card {
  margin-top: 12px;
  margin-bottom: 12px;
}

@media only screen and (max-width: 767px) {
  /*.schnarail-grid-list { margin: 20px; }*/

  /*.hli-header-main { background-color: #303037; }*/

}

.home .hli-header-main.fixed { position: fixed; background-color: #303037; }

.footer-social {
  margin-top: 50px;
}

@media only screen and (max-width: 1170px) {
  .home .hli-hero {
    height: 650px;
    padding: 0;
  }
  .slider-overlay-content .hli-hero-content h1 {
    font-size: 80px;
    line-height: 87px;
  }
  .slider-overlay-content .hli-hero-content h2.sub-text-heading {
    font-size: 30px;
    line-height: 37px;
  }
}
@media only screen and (max-width: 991px) {
    .home .hli-hero { height: 410px; }

    .slider-overlay-content .hli-hero-content h1 {
        font-size: 60px;
        line-height: 67px;
    }
    .slider-overlay-content .hli-hero-content h2.sub-text-heading {
        font-size: 30px;
        line-height: 37px;
    }
}

@media only screen and (max-width: 767px) {
	.home .hli-hero-content { margin-top: 45%; }

    .home .hli-hero { height: 250px; }
    .hli-hero-video .background-video { width: 100% !important; }

    .home .slider-overlay-content {
        top: 50%;
    }

    .slider-overlay-content .hli-hero-content h1 {
        font-size: 21px;
        line-height: 27px;
    }
    .slider-overlay-content .hli-hero-content h1 br { display:none; }
    .slider-overlay-content .hli-hero-content h2.sub-text-heading {
        font-size: 18px;
        line-height: 24px;
    }


}

/* BOOTSTRAP-LIKE CONTAINER */
.container {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 15px;
}

/* SECTION GRID */
.transport-section {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}

/* CARD */
.transport-card {
  position: relative;
  height: 700px;
  overflow: hidden;
  cursor: pointer;
}

/* IMAGE */
.transport-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}

/* LIGHT OVERLAY */
.transport-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.15);
  transition: 0.4s;
  z-index: 1;
}

/* HOVER */
.transport-card:hover img {
  transform: scale(1.12);
}

.transport-card:hover::before {
  background: rgba(0,0,0,0.25);
}

/* TITLE */
.transport-content {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 2;
}

.transport-content h2 {
  margin: 0;
  text-align: center;
  padding: 18px 20px;
  font-size: 26px;
  font-weight: 600;
  color: #fff;
  background: rgba(0,0,0,0.7);
  letter-spacing: 0.4px;
}

/* RESPONSIVE */
@media (max-width: 1024px) {
  .transport-section {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .transport-section {
    grid-template-columns: repeat(1, 1fr);
  }

  .transport-card { height: 400px; }
}

/* START: Who We Are 3 Logos CSS */
.hli-partner-companies .hli-logo-sec img {
    /*width: 200px;*/
    height: 150px;
}
.hli-partner-companies {
    padding-top: 100px;
    margin: 0 auto;
    text-align: center;
}

.title-dark {
    color: #000;
}
.hli-partner-companies .hli-logo-title-dec h2 {
  margin-top: 20px;
}
.hli-partner-companies .hli-logo-title-dec p {
    font-size: 17px;
    line-height: 24px;
    font-weight: 400;
}


.hli-hero-video .background-video {
  width: 100%;
}

/* END: Who We Are 3 Logos CSS */

/* START: Inner Page Header Banner — per page image + overlay */
.page-header-banner {
  position: relative;
  overflow: hidden;
/*  min-height: clamp(220px, 30vw, 460px);
  max-height: none;*/
  background-position: center center;
  background-repeat: no-repeat;
  background-color: #18408b;
}

/* The overlay layer itself. Hidden until a modifier class turns it on. */
.page-header-banner::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  background-color: transparent;
  pointer-events: none;
}

/* Blue overlay — 25% of the brand blue ( #18408b ). */
.page-header-banner--overlay-blue-25::before {
  background-color: rgba(24, 64, 139, 0.25);
}

/* Black overlay — 50%. */
.page-header-banner--overlay-black-50::before {
  background-color: rgba(51, 51, 51, 0.5);
}

/* Lift the title above the overlay. */
.page-header-banner > .container {
  position: relative;
  z-index: 1;
}

/* END: Inner Page Header Banner */



/* START: Home Hero Brand Shape — chevron from the client's print work */
.hli-hero-video::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-image: url('images/hli-home-hero-pattern.png');
    background-repeat: no-repeat;
    background-size: auto 100%;
    background-position: right center;

    /* Decorative: never swallow clicks meant for the hero. */
    pointer-events: none;
    z-index: 1;
}

.home .slider-overlay-content {
    z-index: 2;
}

.hli-hero-video .background-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    z-index: 0;
}

@media only screen and (max-width: 767px) {
    .hli-hero-video::after {
        display: none;
    }

    .hli-hero-video .background-video {
        width: 100% !important;
    }
}

/* END: Home Hero Brand Shape */

/*  SCHNABEL RAILCARS PAGE TEMPLATE*/
.schnarail-tabs-bar {
  background-color: #18408b;
  padding: 22px 0;
}
.schnarail-tabs {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.schnarail-tab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 190px;
  height: 46px;
  padding: 0 28px;
  border-radius: 100px;
  background-color: #fff;
  color: #18408b;
  font-weight: 600;
  font-size: 15px;
  text-align: center;
  transition: all 0.3s ease;
}
.schnarail-tab:hover,
.schnarail-tab:focus {
  background-color: #016DB5;
  color: #fff;
  transform: translateY(-2px);
}

.schnarail-sec { padding-top: 0; }

.schnarail-row {
  display: flex;
  align-items: stretch;
  scroll-margin-top: 120px;
}
.schnarail-row--reverse { flex-direction: row-reverse; }
.schnarail-row-media {
  flex: 0 0 50%;
  max-width: 50%;
  position: relative;
}
.schnarail-row-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.schnarail-row-body {
  flex: 0 0 50%;
  max-width: 50%;
  padding: 40px 55px;
}
.schnarail-row-title {
  font-size: 32px;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 24px;
}
.schnarail-row-desc p { margin-bottom: 15px; }
.schnarail-sec .schnarail-content { padding-top: 60px; }
html { scroll-behavior: smooth; }
@media only screen and (max-width: 991px) {
  .schnarail-row,
  .schnarail-row--reverse { flex-direction: column; }
  .schnarail-row:not(:last-child) { margin-bottom: 40px; }
  .schnarail-row-media,
  .schnarail-row-body { flex: 0 0 100%; max-width: 100%; }
  .schnarail-row-media { margin-bottom: 25px; position: static; }
  .schnarail-row-body { padding: 0 15px; }
  .schnarail-row-img { position: static; height: auto; }
}
@media only screen and (max-width: 575px) {
  .schnarail-tab { min-width: 100%; }
}


.tablepress tbody.row-striping a { color: #18408B; }