/*
 _____       _             _
|  __ \     | |           | |
| |__) |   _| | _____ _ __| |_
|  _  / | | | |/ / _ \ '__| __|
| | \ \ |_| |   <  __/ |  | |_
|_|  \_\__,_|_|\_\___|_|   \__|
(c)Rukert Terminals. All Rights Reserved. Website by Chulado. be mÃ¡s!
*/

/* Base */
html {
  overflow-x: hidden; }

body {
  background: #f2f2f2;
  line-height: 27px;
  font-size: 20px;
  color: #212529; 
  font-weight: 400;
  font-family: source-serif-pro, serif;
}

::-moz-selection {
  background: #000;
  color: #fff; 
}

::selection {
  background: #000;
  color: #fff; 
}
.lead {
    font-size: 25px;
    font-weight: 400;
    line-height: 1;
}
@media(max-width:1024px) {
.lead {
    font-size: 21px;
  }
}   
.txt-red {
  color: #d7e4ee;
}
.txt-bluish {
  color: rgb(1, 34, 43);
}
.txt-dk-gray {
  color: rgba(33, 37, 41, 0.84)
}
.officers {
  margin-bottom: 35px;
}

.txt-blue {
  color: #083451;
}
.txt-blanco {
  color: #fff;
}
.txt-sand {
  color: #f4ede2;
}
.txt-verde {
  color: rgba(1, 30, 39, 0.8196078431372549);
}
.txt-verde-dk {
  color: rgb(1, 34, 43);
}
.txt-gray { 
  color: rgba(32, 37, 41, 0.74);
}
.txt-archive {
  color: rgba(44, 27, 13, 0.95);
}

a {
  -webkit-transition: .3s all ease;
  -o-transition: .3s all ease;
  transition: .3s all ease; }
  
a:hover {
    text-decoration: none; 
}

a {
    color: #027495;
    text-decoration: none;
}
a.body-copy {
    color: #027495;
    text-decoration: none;
}

h1, h2, h3, h4, h5, h6
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: "bebas-kai", sans-serif;

}
.txt-link a {
  color:#0274a9;
  text-decoration: none;
  position: relative;
}
.txt-link-lg a {
    color: #0274a9;
    text-decoration: none;
    position: relative;
}
.txt-link a:after {
    background-color: #0274a9;
    /*bottom: -1.6rem;*/
    display: block;
    content: '';
    font-size: 0;
    height: 1px;
    left: 0;
    position: absolute;
    -webkit-transition: -webkit-transform .5s cubic-bezier(.19,1,.22,1);
    transition: -webkit-transform .5s cubic-bezier(.19,1,.22,1);
    transition: transform .5s cubic-bezier(.19,1,.22,1);
    transition: transform .5s cubic-bezier(.19,1,.22,1),-webkit-transform .5s cubic-bezier(.19,1,.22,1);
    width: 100%;
}
.txt-link:hover:after {
  -webkit-transform:translateY(3px);
  transform:translateY(3px);
}
.txt-link-lg a:after {
    background-color: #0274a9;
    /*bottom: -1.6rem;*/
    display: block;
    content: '';
    font-size: 0;
    height: 1px;
    left: 0;
    position: absolute;
    -webkit-transition: -webkit-transform .5s cubic-bezier(.19,1,.22,1);
    transition: -webkit-transform .5s cubic-bezier(.19,1,.22,1);
    transition: transform .5s cubic-bezier(.19,1,.22,1);
    transition: transform .5s cubic-bezier(.19,1,.22,1),-webkit-transform .5s cubic-bezier(.19,1,.22,1);
    width: 100%;
}
.txt-link-lg:hover:after {
  -webkit-transform:translateY(3px);
  transform:translateY(3px);
}
.txt-link-pub a {
  color:#0274a9;
  text-decoration: none;
  position: relative;
}
.txt-link-pub a:after {
    background-color: rgba(56, 115, 169, 0.22);
    /* bottom: -1.6rem;
    /*bottom: -1.6rem;*/
    display: block;
    content: '';
    font-size: 0;
    height: 1px;
    left: 0;
    position: absolute;
    -webkit-transition: -webkit-transform .5s cubic-bezier(.19,1,.22,1);
    transition: -webkit-transform .5s cubic-bezier(.19,1,.22,1);
    transition: transform .5s cubic-bezier(.19,1,.22,1);
    transition: transform .5s cubic-bezier(.19,1,.22,1),-webkit-transform .5s cubic-bezier(.19,1,.22,1);
    width: 100%;
}
.txt-link-pub:hover:after {
  -webkit-transform:translateY(3px);
  transform:translateY(3px);
}

p {
font-family: source-serif-pro, serif;
font-weight: 400;
color: rgb(33 37 41);
}

p.medium {
  font-size: 17px;
  line-height: 28px;
}

p.x-grande {
  line-height: 50px;
  font-size: 42px;
  margin-bottom: 45px;
}


.site-wrap:before {
  display: none;
  -webkit-transition: .3s all ease-in-out;
  -o-transition: .3s all ease-in-out;
  transition: .3s all ease-in-out;
  background: rgba(0, 0, 0, 0.6);
  content: "";
  position: absolute;
  z-index: 2000;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 0;
  visibility: hidden; 
}

.offcanvas-menu .site-wrap {
  height: 100%;
  width: 100%;
  z-index: 2; 
}

.offcanvas-menu .site-wrap:before {
    opacity: 1;
    visibility: visible; 
}

.btn {
  text-transform: none;
  font-size: 16px;
  font-weight: 600;
  border-width: 2px;
  border-radius: 5px;
  padding: 15px 70px;
  margin: 10px 0;  
  background-color: #4d7fb3;
  color: #fff;
  width: 100%;
}
@media (max-width: 280px) {
.btn {
    padding: 15px 40px;
  }
}  
.btn-primary {
    color: #fff;
    border-color: #4d7fb3;
}

.btn:hover, .btn:active, .btn:focus {
    outline: none;
    -webkit-box-shadow: none !important;
    box-shadow: none !important; 
}

.btn.btn-primary:hover {
    border-color: #e83944;
    background: #fff;
    color: #e83944; 
}

.btn.btn-black {
    border-width: 2px;
    border-color: #000;
    background: #000;
    color: #fff;
}

.btn.btn-black:hover {
      color: #000;
      background-color: transparent; 
}

.btn.btn-black.btn-outline-black {
      color: #000;
      background-color: transparent; 
}

.btn.btn-black.btn-outline-black:hover {
        border-color: #000;
        background: #000;
        color: #fff; 
}
  
.btn.btn-white {
    border-width: 2px;
    border-color: #fff;
    background: #fff;
    color: #000; 
}

.btn.btn-white:hover {
      color: #fff;
      background-color: transparent;
}

.btn.btn-white.btn-outline-white {
      color: #fff;
      background-color: transparent; 
}

.btn.btn-white.btn-outline-white:hover {
        border-color: #fff;
        background: #fff;
        color: #000; 
}

.btn.btn-outline-white {
    background: transparent;
    border-color: #fff;
    color: #fff; 
}

.btn.btn-outline-white:hover {
      background: #fff;
      border-color: #fff;
      color: #000;
}

.line-height-1 {
  line-height: 1 !important; 
}

.bg-black {
  background: #000; 
}

.bg-blanco {
  background-color: #fff;
}

.site-section {
  padding: 2.5em 0; 
}

@media (min-width: 768px) {
    .site-section {
      padding: 5em 0; 
  } 
}

.site-section.site-section-sm {
    padding: 4em 0; 
}

.site-section-heading {
  padding-bottom: 20px;
  margin-bottom: 0px;
  position: relative;
  font-size: 2.5rem; 
}

@media (min-width: 768px) {
    .site-section-heading {
      font-size: 3rem; 
  } 
}     

#map-section{
  background: #083451;
  color: #fff;
}

.border-top {
  border-top: 1px solid #edf0f5 !important; 
}

.site-footer {
  padding: 4em 0; 
}
  
  @media (min-width: 768px) {
    .site-footer {
      padding: 8em 0; 
  } 
}

.site-footer p {
    color: #737373; 
}

.site-footer h2, .site-footer h3, .site-footer h4, .site-footer h5 {
    color: #fff; 
}

.site-footer a {
    color: #999999; 
}

.site-footer a:hover {
      color: black; 
}

.site-footer ul li {
    margin-bottom: 10px; 
}

.site-footer .footer-heading {
    font-size: 16px;
    color: #fff;
    text-transform: uppercase;
    font-weight: 900; 
}

.bg-text-line {
  display: inline;
  background: #000;
  -webkit-box-shadow: 20px 0 0 #000, -20px 0 0 #000;
  box-shadow: 20px 0 0 #000, -20px 0 0 #000; }

.text-white-opacity-05 {
  color: rgba(255, 255, 255, 0.5); }

.text-black-opacity-05 {
  color: rgba(0, 0, 0, 0.5); }

.img-blue {
  background-color: #083451;
  width: 330px;
  height: 310px;
  margin: -285px 0 30px -30px;
}


@media (max-width: 991.98px) {
  .img-md-fluid {
    max-width: 100%; } 
}
/* Unknown use 6-22-20
@media (max-width: 991.98px) {
  .display-1, .display-3 {
    font-size: 3rem; }
*/
/* Navbar */
.site-logo {
  position: relative;
  font-weight: 900;
  font-size: 1.3rem;
  text-transform: uppercase; 
}
  
.site-logo a {
  color: #fff; 
}
    
.site-logo a span {
  color: #f23a2e; 
}

.site-navbar {
  margin-bottom: 0px;
  z-index: 1999;
  position: absolute;
  width: 100%; 
}
.site-navbar .container-fluid {
    padding-left: 2rem;
    padding-right: 2rem; 
}

@media (max-width: 1200px) { /*Matias*/
      .site-navbar .container-fluid {
        padding-left: 15px;
        padding-right: 15px; 
  } 
}

.site-navbar .site-navigation.border-bottom {
    border-bottom: 1px solid #f3f3f4 !important;
}
  
.site-navbar .site-navigation .site-menu {
    margin-bottom: 0; 
}

.site-navbar .site-navigation .site-menu .active {
    color: #f23a2e;
    display: inline-block;
    padding: 5px 15px; 
}

.site-navbar .site-navigation .site-menu a {
      text-decoration: none !important;
      display: inline-block; 
}

.site-navbar .site-navigation .site-menu > li {
      display: inline-block; 
}
/* 
.site-navbar .site-navigation .site-menu > li > a {
    padding: 5px 20px;
    color: #f5fbff;
    display: inline-block;
    font-size: 14px;
    font-weight: 400;
    text-decoration: none !important; 
  }
*/
/* Mod for new a:hover style - previous style causing issues with padding and hover state*/
.site-navbar .site-navigation .site-menu > li > a {
    margin: 0 25px 0 0;
    color: #f5fbff;
    display: inline-block;
    font-size: 14px;
    font-weight: 400;
    text-decoration: none !important; 
  }
.nav-link { /* fuc*s up hover state with padding on */
    padding: unset;
}  

/*
.site-navbar .site-navigation .site-menu > li > a:hover {
     color: #cbeaff; 
}
*/
/* Begin default navbar hover styles */
.site-navbar .site-navigation .site-menu > li > a:before{left:0;bottom:-1px;width:100%;height:1px;content:'';position:absolute;background:#f3faff;transform:scaleX(0);transform-origin:right;transition:transform 0.4s ease-out;
}

.site-navbar .site-navigation .site-menu > li > a:hover{opacity:1;
}

.site-navbar .site-navigation .site-menu > li > a:hover:before{transform:scaleX(1);transform-origin:left;
}

/* End default hover styles */ 

/* Begin alternate hover styles */

.site-menu-mod > li > a:before{left:0;bottom:-1px;width:100%;height:1px;content:'';position:absolute;background-color: rgba(1, 34, 43, 0.57)!important;transform:scaleX(0);transform-origin:right;transition:transform 0.4s ease-out;}

.site-menu-mod > li > a:hover{opacity:1;}

.site-menu-mod > li > a:hover:before{transform:scaleX(1);transform-origin:left;}

/* End alternate hover styles */ 

.site-navbar .site-navigation .site-menu .has-children {
position: relative; 
}

.site-navbar .site-navigation .site-menu .has-children > a {
    position: relative;
    padding-right: 20px; 
}
        
.site-navbar .site-navigation .site-menu .has-children > a:before {
    position: absolute;
    content: "\e313";
    font-size: 16px;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    font-family: 'icomoon'; 
}
      
.site-navbar .site-navigation .site-menu .has-children .dropdown {
    visibility: hidden;
    opacity: 0;
    top: 100%;
    position: absolute;
    text-align: left;
    border-top: 2px solid #f23a2e;
    -webkit-box-shadow: 0 2px 10px -2px rgba(0, 0, 0, 0.1);
    box-shadow: 0 2px 10px -2px rgba(0, 0, 0, 0.1);
    border-left: 1px solid #edf0f5;
    border-right: 1px solid #edf0f5;
    border-bottom: 1px solid #edf0f5;
    padding: 0px 0;
    margin-top: 20px;
    margin-left: 0px;
    background: #fff;
    -webkit-transition: 0.2s 0s;
    -o-transition: 0.2s 0s;
    transition: 0.2s 0s; 
}
        
.site-navbar .site-navigation .site-menu .has-children .dropdown.arrow-top {
    position: absolute; 
}
          
.site-navbar .site-navigation .site-menu .has-children .dropdown.arrow-top:before {
    bottom: 100%;
    left: 20%;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none; 
}

.site-navbar .site-navigation .site-menu .has-children .dropdown.arrow-top:before {
            border-color: rgba(136, 183, 213, 0);
            border-bottom-color: #fff;
            border-width: 10px;
            margin-left: -10px; 
}

.site-navbar .site-navigation .site-menu .has-children .dropdown a {
          text-transform: none;
          letter-spacing: normal;
          -webkit-transition: 0s all;
          -o-transition: 0s all;
          transition: 0s all;
          color: #343a40; 
}
      
.site-navbar .site-navigation .site-menu .has-children .dropdown .active > a {
          color: #f23a2e !important;
}

.site-navbar .site-navigation .site-menu .has-children .dropdown > li {
    list-style: none;
    padding: 0;
    margin: 0;
    min-width: 200px; 
}
.site-navbar .site-navigation .site-menu .has-children .dropdown > li > a {
    padding: 9px 20px;
    display: block; 
}
.site-navbar .site-navigation .site-menu .has-children .dropdown > li > a:hover {
    background: #f4f5f9;
    color: #25262a; 
}
.site-navbar .site-navigation .site-menu .has-children .dropdown > li.has-children > a:before {
    content: "\e315";
    right: 20px; }
          
.site-navbar .site-navigation .site-menu .has-children .dropdown > li.has-children > .dropdown, .site-navbar .site-navigation .site-menu .has-children .dropdown > li.has-children > ul {
    left: 100%;
    top: 0; 
}
.site-navbar .site-navigation .site-menu .has-children .dropdown > li.has-children:hover > a, .site-navbar .site-navigation .site-menu .has-children .dropdown > li.has-children:active > a, .site-navbar .site-navigation .site-menu .has-children .dropdown > li.has-children:focus > a {
      background: #f4f5f9;
      color: #25262a; 
}

.site-navbar .site-navigation .site-menu .has-children:hover > a, .site-navbar .site-navigation .site-menu .has-children:focus > a, .site-navbar .site-navigation .site-menu .has-children:active > a {
      color: #f23a2e; 
}

.site-navbar .site-navigation .site-menu .has-children:hover, .site-navbar .site-navigation .site-menu .has-children:focus, .site-navbar .site-navigation .site-menu .has-children:active {
      cursor: pointer; 
}
        
.site-navbar .site-navigation .site-menu .has-children:hover > .dropdown, .site-navbar .site-navigation .site-menu .has-children:focus > .dropdown, .site-navbar .site-navigation .site-menu .has-children:active > .dropdown {
      -webkit-transition-delay: 0s;
      -o-transition-delay: 0s;
      transition-delay: 0s;
      margin-top: 0px;
      visibility: visible;
      opacity: 1; 
}

.site-navbar .site-navigation .site-menu.site-menu-dark > li > a {
      color: #000; 
}

.site-mobile-menu {
  width: 100%;
  position: fixed;
  right: 0;
  z-index: 2000;
  padding-top: 20px;
  background-color: rgb(2, 116, 149);
  height: calc(100vh);
  -webkit-transform: translateX(110%);
  -ms-transform: translateX(110%);
  transform: translateX(110%);
  -webkit-box-shadow: -10px 0 20px -10px rgba(0, 0, 0, 0.1);
  box-shadow: -10px 0 20px -10px rgba(0, 0, 0, 0.1);
  -webkit-transition: .3s all ease-in-out;
  -o-transition: .3s all ease-in-out;
  transition: .3s all ease-in-out; 
}
@media screen and (max-aspect-ratio: 3/4) and (max-width: 1200px) {
.site-mobile-menu {
    width: 100%;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
}  
  
.offcanvas-menu .site-mobile-menu {
    -webkit-transform: translateX(0%);
    -ms-transform: translateX(0%);
    transform: translateX(0%); 
}

.site-mobile-menu .site-mobile-menu-header {
    width: 100%;
    float: left;
    padding-left: 20px;
    padding-right: 20px; 
}

.site-mobile-menu .site-mobile-menu-header .site-mobile-menu-close {
    float: right;
    margin-top: 8px;
}

.site-mobile-menu .site-mobile-menu-header .site-mobile-menu-close span {
        font-size: 30px;
        display: inline-block;
        padding-left: 10px;
        padding-right: 0px;
        line-height: 1;
        cursor: pointer;
        -webkit-transition: .3s all ease;
        -o-transition: .3s all ease;
        transition: .3s all ease; 
        color: #fff;
        opacity: 0.6;
}
        
.site-mobile-menu .site-mobile-menu-header .site-mobile-menu-close span:hover {
          color: #25262a; 
}

.site-mobile-menu .site-mobile-menu-header .site-mobile-menu-logo {
      float: left;
      margin-top: 10px;
      margin-left: 0px; 
}

.site-mobile-menu .site-mobile-menu-header .site-mobile-menu-logo a {
      display: inline-block;
      text-transform: uppercase; 
}
        
.site-mobile-menu .site-mobile-menu-header .site-mobile-menu-logo a img {
      max-width: 70px; 
}

.site-mobile-menu .site-mobile-menu-header .site-mobile-menu-logo a:hover {
      text-decoration: none; 
}

.site-mobile-menu .site-mobile-menu-body {
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
    position: relative;
    padding: 0 20px 20px 20px;
    height: calc(100vh - 52px);
    padding-bottom: 150px; 
}
  
.site-mobile-menu .site-nav-wrap {
    padding: 0;
    margin: 0;
    list-style: none;
    position: relative; 
    text-align: center;
}

.site-mobile-menu .site-nav-wrap a {
      padding: 10px 20px;
      display: block;
      position: relative;
      color: #fff; 
}

.site-mobile-menu .site-nav-wrap a:hover {
        color: #f23a2e; 
}

.site-mobile-menu .site-nav-wrap li {
      position: relative;
      display: block;
}

.site-mobile-menu .site-nav-wrap li .active {
        color: #f23a2e; 
}

.site-mobile-menu .site-nav-wrap .arrow-collapse {
      position: absolute;
      right: 0px;
      top: 10px;
      z-index: 20;
      width: 36px;
      height: 36px;
      text-align: center;
      cursor: pointer;
      border-radius: 50%; 
}

.site-mobile-menu .site-nav-wrap .arrow-collapse:hover {
        background: #f8f9fa; 
}
      
.site-mobile-menu .site-nav-wrap .arrow-collapse:before {
        font-size: 12px;
        z-index: 20;
        font-family: "icomoon";
        content: "\f078";
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%) rotate(-180deg);
        -ms-transform: translate(-50%, -50%) rotate(-180deg);
        transform: translate(-50%, -50%) rotate(-180deg);
        -webkit-transition: .3s all ease;
        -o-transition: .3s all ease;
        transition: .3s all ease; 
}

.site-mobile-menu .site-nav-wrap .arrow-collapse.collapsed:before {
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
}
    
.site-mobile-menu .site-nav-wrap > li {
      display: block;
      position: relative;
      /*float: left;*/ /* messes up upgraded mobile menu */
      width: 100%; 
}

.site-mobile-menu .site-nav-wrap > li > a {
      font-size: 30px;
      line-height: 25px;
}
@media (max-width: 280px) {
  .site-mobile-menu .site-nav-wrap > li > a {
      font-size: 25px;
      line-height: 1;
  }
}  
      
.site-mobile-menu .site-nav-wrap > li > ul {
        padding: 0;
        margin: 0;
        list-style: none; 
}
        
.site-mobile-menu .site-nav-wrap > li > ul > li {
          display: block; 
}

.site-mobile-menu .site-nav-wrap > li > ul > li > a {
            padding-left: 40px;
            font-size: 16px; 
}
          
.site-mobile-menu .site-nav-wrap > li > ul > li > ul {
            padding: 0;
            margin: 0; 
}
            
.site-mobile-menu .site-nav-wrap > li > ul > li > ul > li {
      display: block; }

.site-mobile-menu .site-nav-wrap > li > ul > li > ul > li > a {
      font-size: 16px;
      padding-left: 60px; }

.site-mobile-menu .site-nav-wrap[data-class="social"] {
      float: left;
      width: 100%;
      margin-top: 30px;
      padding-bottom: 5em; 
}
      
.site-mobile-menu .site-nav-wrap[data-class="social"] > li {
        width: auto; 
}
        
.site-mobile-menu .site-nav-wrap[data-class="social"] > li:first-child a {
        padding-left: 15px !important; 
}

.sticky-wrapper {
  position: absolute;
  z-index: 100;
  width: 100%; 
}
.sticky-wrapper + .site-blocks-cover {
    margin-top: 96px; 
}
.sticky-wrapper .site-navbar {
    -webkit-transition: .3s all ease;
    -o-transition: .3s all ease;
    transition: .3s all ease; 
}
.sticky-wrapper .site-navbar .site-menu-toggle > span:before {
      color: #fff !important; 
}
.sticky-wrapper .site-navbar .site-menu > li {
      display: inline-block; 
}
.sticky-wrapper .site-navbar .site-menu > li > a.active {
        color: #f23a2e;
        position: relative; 
}
.sticky-wrapper .site-navbar .site-menu > li > a.active:after {
          height: 2px;
          background: #f23a2e;
          content: "";
          position: absolute;
          bottom: 0;
          left: 20px;
          right: 20px;
}
.sticky-wrapper.is-sticky .site-navbar {
    -webkit-box-shadow: 4px 0 20px -5px rgba(0, 0, 0, 0.2);
    box-shadow: 4px 0 20px -5px rgba(0, 0, 0, 0.2);
    background: rgba(0, 0, 0, 0.71); 
}
.sticky-wrapper.is-sticky .site-navbar .site-menu-toggle > span:before {
      color: #fff !important; 
}
.sticky-wrapper.is-sticky .site-navbar .site-logo a {
      color: #000; 
}
.sticky-wrapper.is-sticky .site-navbar .site-menu > li {
      display: inline-block; 
}
.sticky-wrapper.is-sticky .site-navbar .site-menu > li > a {
      padding: 5px 15px;
      color: #fff;
      display: inline-block;
      text-decoration: none !important; 
}
.sticky-wrapper.is-sticky .site-navbar .site-menu > li > a:hover {
          color: #f23a2e; 
}
.sticky-wrapper.is-sticky .site-navbar .site-menu > li > a.active:after {
          background: #f23a2e; 
}
  .sticky-wrapper .shrink {
    padding-top: 10px !important;
    padding-bottom: 10px !important; 
}

.phone {
  text-align: right;
  color: #fff;
  font-family: 'Open Sans', sans-serif;
  font-weight: 700;
  font-size: 16px;
  margin-right: 45px;
}    
    @media (max-width: 768px) {
      .phone {
      margin-right: 1px;} }    

/* Blocks */
.intro-section {
  position: absolute; 
}

.intro-section > .container {
    z-index: 10;
    position: relative; 
}
/*  2-11-26
.intro-section, .intro-section .container .row {
    height: 100vh;
    top: 0;
    width: 100%;
    display: flex;
  }
    @media (max-width: 768px) {
.intro-section, .intro-section .container .row {
    width: auto;
  }
} 
*/ 

/* 2-2026
  .intro-section:before {
    content: "";
    position: absolute;
    height: 100%;
    width: auto;
    background: #083451;
    border-bottom-right-radius: 0px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
*/

/*
@media (max-width: 425px) {
      .intro-section:before {
       width: unset; 
  }
}

@media (max-width: 768px) {

      min-height: 520px; 
      } 
    }    
  .intro-section:after {
    content: "";
    position: absolute;
    background-color: rgba(0, 0, 0, 0.5);
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1; 
  }

  .intro-section .desc {
    color: white;
    font-size: 1.4rem;
    max-width: 700px; 
  }

.intro-section a {
    color: #fff;
}

.intro-section a:hover {
      text-decoration: none;
      color: #fff;
    }

.intro-section .btn {
    text-decoration: none; 
  }
*/

/*
.section-heading .subheading {
  color: #ababab;
  font-size: 1.2rem; 
}
*/

.sm-heading {
  font-size: 1.7rem;
  margin-bottom: 25px;
}

/*
.section-heading .heading {
  font-size: 3rem;
  letter-spacing: -0.25px;
  color: rgb(5, 42, 69);
}
*/

/*
@media (max-width: 991.98px) {
      .section-heading .heading {
        font-size: 2rem; 
        letter-spacing: -0.75px;} 
  }
.map {
      margin: 50px 0 50px 0; 
}
.bgimg {
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: relative; }
  
  .bgimg, .bgimg .container .row {
    height: 470px; 
  }
  
.bgimg:before {
    content: "";
    background-color: rgba(0, 0, 0, 0.33);
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
    z-index: 1;
}

.bgimg .lead {
    color: #fff;
}

.bgimg > .container {
    z-index: 2;
    position: relative; 
}

.bgimg h1 {
    color: #fff;
    font-size: 3.4rem;
    margin-top: 0;
    margin-top: 70px;
  }
    
    @media (max-width: 991.98px) {
    .bgimg h1 {
        font-size: 2rem; 
  } 
}
  .bgimg a {
    color: #fff;
    text-decoration: underline; }
    .bgimg a:hover {
      text-decoration: none; }
*/
.sub-menu {
  background: #027495;
  height: auto;
  width: 100%;
}
.sub-menu ul li {
  display: inline-block;
  text-align: center;
}
.sub-menu ul li a{
  font-size: 14px;
  font-weight: 500;
  font-family: 'Open Sans', sans-serif;
  letter-spacing: .025rem;
  color: #fff;
  text-decoration: none;
  display: inline-block;
  padding: 20px 15px 5px 15px
}
.sub-menu ul li a:hover {
  color: rgba(255, 255, 255, 0.7607843137254902);
}
.sub-menu ul li a.active {
  color: rgba(255, 255, 255, 0.7607843137254902);;
}
@media(max-width:991.98px) {
  .sub-menu ul{ 
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding-left: 0;
    margin-bottom: 20px;
  }
}

/* GRID */
.container.grid{
  position: relative;
  min-height: 400px;
  max-width: 100%;
}
#grid-info{ 
  /*padding:35px 15px;*/
  padding: 205px 105px;
}
@media(max-width:1024px) {
  #grid-info{ 
  padding: 175px 105px;
  }
}  
.bg-white{
  background-color: #fff;
}

.grid-image-first {
  position: relative;
  min-height: 850px;
  background-image: url("../images/liebherr-crane.jpg");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
@media(max-width:768px) {
.grid-image-first {
  margin-bottom: 150px;
  }
}  
@media(max-width:640px) { 
.grid-image-first {
  background-position-x: 75%;
  margin-bottom: 15px;
  }  
}  
.hero-stevedore {
  position: relative;
  background-image: url("../images/stevedore-payday-historical.jpg");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  height: 100vh; 
}
.hero-rts {
  position: relative;
  background-image: url("../images/rail-car.jpg");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  height: 100vh; 
}
@media (max-width: 1024px) {
.hero-rts {
  background-position: 42%;
  height: 60vh;  
  }
.hero-stevedore {
  background-position: 42%;
  height: 60vh;  
  }
}  
@media(max-width:540px) {
.hero-rts {
  height: 90vh; 
  }
.hero-stevedore {
  height: 90vh; 
  }  
} 
@media(max-width:425px) {
.hero-rts {
  height: 70vh; 
  }
.hero-stevedore {
  height: 70vh; 
  }   
}   

.hero-tariffs {
  position: relative;
  background-image: url("../images/karine-bulker.jpg");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  height: 100vh; 
}

   
.hero-terminal {
  position: relative;
  background-image: url("../images/marine-terminal.jpg");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  height: 100vh; 
  /*margin-top:-80px*/
}

.grid-image-second {
  position: relative;
  min-height: 850px;
  background-image: url("../images/drone-rukert.jpg");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  /*margin-bottom: 150px;*/
}
@media(min-width:768px) and (max-width: 1024px) {
  .hero-terminal {
  height: 60vh; 
  }
}  
@media(max-width:540px) {
  .hero-terminal {
  height: 90vh; 
  }
} 
@media(max-width:425px) {
  .hero-terminal {
  height: 70vh; 
  }
}   

@media(max-width:900px) {
  #grid-info{ 
    padding:35px 15px;
  }
}
@media(max-width:640px) { 
.grid-image-second {
  margin-bottom: 15px;
  }  
} 
@media(max-width:768px) {
  #grid-info{ 
    text-align: left;
  }
}
.carousel {
  margin: 50px auto;
  padding: 0 25px;
}
.carousel .item {
  color: #999;
  overflow: hidden;
  min-height: 120px;
  font-size: 14px;
}
.carousel .media img {
  width: 80px;
  height: 80px;
  display: block;
  border-radius: 50%;
}
.carousel .testimonial {
  padding: 0 15px 0 60px ;
  position: relative;
}
@media(max-width:768px) {
  .carousel {
    padding: 0 15px;
  }
  .carousel .testimonial {
    padding: 15px 15px 30px 0px;
  }
}


.carousel .testimonial::before {
  content: '\93';
  color: #e2e2e2;
  font-weight: bold;
  font-size: 68px;
  line-height: 54px;
  position: absolute;
  left: 15px;
  top: 0;
}
.carousel .overview b {
  text-transform: uppercase;
  color: #1c47e3;
}
.carousel .carousel-indicators {
  bottom: -70px;
}
.carousel-indicators li, .carousel-indicators li.active {
  width: 18px;
    height: 18px;
  border-radius: 50%;
  margin: 1px 3px;
}
.carousel-indicators li { 
    background: #e2e2e2;
    border: 4px solid #fff;
}
.carousel-indicators li.active {
  color: #fff;
    background: #e73946;    
}

.footer-section {
  /*padding: 6em 0; waves not visible on desktop at this padding*/
  padding: 3em 0; 
  background: url(../images/bg-footer.jpg) center bottom no-repeat;
  background-size: cover; /*adds white line below bg needs to be svg*/
}
.footer-section p {
    font-family: 'Open Sans', sans-serif;
    font-size: .80rem;
    color: #c6d4d6;
    font-weight: 700;
    /* letter-spacing: 0.5px; */
    margin-bottom: 0;
  }

.footer-section h3 {
    font-size: 2.1rem;
    font-family: source-serif-pro, serif;
    color: #fff;
    margin-bottom: 1.8rem;
    font-weight: 700;
}
/*
@media(max-width:768px) and (min-width:360px){
.footer-section h3 {
    font-size: 2.5rem;
  }
} 
*/ 
.footer-section .footer-links li {
    margin-bottom: 10px; 
  }
.footer-link a {
    color: #c6d4d6;
    text-decoration: none;
}
.footer-link a:hover {
  color: #fff;
}

.logo-footer {
  margin-top: 25px;   
}
@media(max-width:768px) {
  .footer-section {
    text-align: center;
  }
}

.copyright {
    background: #0e2638;
    padding: 18px 0 10px 0;}
.copyright p {
    font-family: 'Open Sans', sans-serif;
    font-size: .6rem;
    text-transform: uppercase;
    color: #8ea2a4;
    font-weight: 300;
    letter-spacing: 0.5px;
  }  
  .copyright a{
      font-size: .6rem;
      text-transform: uppercase;
      text-decoration: none;
      color: #8ea2a4;;
      font-weight: 300;
      letter-spacing: 0.5px;
  }
  .copyright a:hover{
      color: #fff;
  }
@media(max-width:768px) {
 .copyright p, .copyright a {
    font-size: .5rem;
  }
}   
@media(max-width:768px) {
  .copyright {
    text-align: center;
  }
}

#contact-section .form-control {
  background: #fff; }

.contact-wrap {
  padding-bottom: 8rem !important; }

/*
.footer-section {
  padding-top: 12rem !important; }
*/

/* 1/8/2020 

.privacy {
  padding: 22px 0 0 0;
}
.stevedoring {
    width: 100%;
    position: relative;
    background: url(../images/stevedore.jpg) center bottom no-repeat;
    background-size: cover;
    padding: 250px 0 620px 0;
    margin-bottom: 75px;
}
.mang-contacts {
    width: 100%;
    position: relative;
    background: url(../images/employee-group-shot.jpg)center bottom no-repeat;
    background-size: cover;
    padding: 250px 0 620px 0;
    margin-bottom: 75px;
}
.row.no-gutters {
    margin-right: 75px;
    margin-left: 75px;
}
.bg-seagreen {
  background-color: rgba(2, 116, 149, 0.16);
  padding-bottom: 200px;
}
.bg-world-class {
    background-image: linear-gradient(rgba(81, 64, 32, 0.09), rgba(204, 200, 190, 0.15));
    margin-left: 90px;
    margin-right: 90px;
    margin-top: 200px;
    margin-bottom: 150px;
    padding-bottom: 200px;
    padding-top: 150px;
}
@media(max-width:1024px) {
.bg-world-class {
    margin-top: unset;
  }
}  

@media(max-width:414px) {
.bg-world-class {
    margin-left: 0;
    margin-right: 0;
  }
}  
#closing {
  padding-bottom: 200px;
}
#contacts {
  margin-bottom: 0;
  background-color: rgba(169, 220, 212, 0.43);
  padding: 140px 0 150px 0;
}

.quote {
  margin: -25px 0 0 0;
}
.quote h2 {
  font-style: italic;
}
#misc-contacts {
  padding: 150px 0 150px 0;
}
.intro {
  margin-right: 75px;
}
*/

iframe {
  margin-bottom: 200px;
}
.bgimg::after {
    content: ' ';
    display: block;
    width: 1px;
    height: 121px;
    background: #D2D2D2;
    bottom: -45px;
    left: 0;
    right: 0;
    margin: auto;
    position: absolute;
    opacity: 0;
    -webkit-transition: all .5s;
    transition: all .5s;
    z-index: 3;
}

ul {
    list-style-type: none;
}
.cargo-list {
  margin: 45px 0 0 0;
}

/* FORMS  */  
.form-control {
    border: 1px solid #c3ced2;
    /* background-color: #e5edf0; */
    background-color: rgba(255, 255, 255, 0.88);
}
.form-group {
    margin-bottom: 0.1rem;
}
.form-brand {
    background-color: rgba(255, 255, 255, 0.33);
    padding: 45px;
    border-radius: 7px;
    border: 1px solid rgba(195, 206, 210, 0.49);
    margin-bottom: 100px;
} 
@media(max-width:280px) {
.form-brand {
    background-color: unset;
    padding: 45px;
    border-radius: unset;
    border: 0px solid rgba(195, 206, 210, 0.49);
  }
}  
a.d-inline-block.d-lg-none.site-menu-toggle.js-menu-toggle.float-right {
    margin-top: -15px;
}
@media(max-width:320px) {
  a.d-inline-block.d-lg-none.site-menu-toggle.js-menu-toggle.float-right {
    margin-top: 0;
  }
}
@media(max-width:1025px) {
.phone-alternate {
  display: none;
  }
}  
a#menu {
    color: #0d2638;
}
/*
.world-class-stevedore {
  margin-top:-300px;
  margin-bottom: 200px;
  padding: 0 75px 0 75px;
}
*/
@media(max-width:1024px) {
.world-class-stevedore {
  padding: 0;
  } 
} 
.payday-photo-container {
  background-color: rgba(221, 213, 203, 0.7);
}
@media(max-width:414px) { 
 .payday-photo-container {
  background-color: unset;
  }
}   
.payday-photo {
  margin-top: -275px;
  padding: 0 95px 0 95px;
} 
@media(max-width:1024px) { 
  .payday-photo {
  padding: 0;
  }
}   
.reg-content {
  background-color: rgb(230, 230, 230);
}
.overlay-effect {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  opacity: 0;
  transition: .5s ease;
  background-color: rgba(259, 67, 95, 0.7);
  overflow:hidden;
}
.ngr-quote {
    font-family: 'Playfair Display', serif;
    font-weight: 400;
    line-height: 54px;
    font-size: 40px;
}
.rtc-content {
    background-color: #f0f2ee;
    /* display: flex; */
    /* display: -webkit-flex; */
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    align-items: flex-end;
    -webkit-align-items: flex-end;
    /*padding: 60px 120px 60px 20px;*/
    max-width: 25%; 
    overflow: hidden;
    /*height: 100vh;*/
    min-height: 100%;
    margin-top: 300px;
    /* min-width: 80%; */
}
@media(max-width:1024px) {
  .rtc-content {
    margin-top: 0;
  }
} 
@media (max-width: 576px) {
.rtc-content {
    padding: 60px 20px;
    margin-left: 23px;
    max-width: unset;
  }
} 

/*
.link-arrow:before {
    content: '\02192';
    position: relative;
    display: inline-block;
    margin-right: 10px;
    transition: 0.6s;
}
*/
*,*:before,*:after {
  -moz-box-sizing:border-box;
  -webkit-box-sizing:border-box;
  box-sizing:border-box;
}
::selection {
  background:rgb(242, 242, 242);
}
::-moz-selection {
  background:rgb(242, 242, 242);
}
a{ position:relative;
  word-wrap:break-word;
  text-decoration:none;
  border:none;
  outline:none;
  cursor:pointer;
  color:inherit;
  -o-user-select:none;
  -moz-user-select:none;
  -webkit-user-select:none;
  user-select:none;transition:.2s;
}
/*a:hover,a:visited{color:auto;}
.link-arrow:before {
  content:'\02192';
  position:relative;
  display:inline-block;
  margin-right:10px;
  transition:0.6s;
}
.link-arrow:hover::before {
  -webkit-transform:translateX(7px);
  transform:translateX(7px);
}
*/
/*
@media(max-width:1024px) {
.commerce {
  margin-top: 100px;
}
.heading-lg {
  font-size:5rem; 
  line-height: 70px;
  margin-top: 30%;
}
.heading-panels {
  line-height: 50px;
  }
} 
*/
/*
@media(max-width:768px) {
.heading-panels {
    font-size: 4rem;
    line-height: 50px;
    margin-top: 20%;
  }
}
@media(max-width:576px) {
.heading-panels {
    font-size: 3.5rem;
    line-height: 0.9;
  }
}
@media(max-width:640px) {
  .heading-lg {
  font-size:3.1rem; 
  line-height: 1;
  }
}
@media(max-width:280px) {
  .heading-lg {
  font-size:2.5rem; 
  line-height: 1;
  }
}

.heading-md {
  font-size: 4.5rem;
  line-height: 89px;
  width: 75%;
}
*/

/*
@media(max-width:1024px) {
.heading-md {
  font-size: 94px;
  line-height: 89px;
  }
}
*/
.section-charcoal {
  background-color:#f0f2ee;
}
.crane-liehberr {
  max-height: 100%;
}
.video-link {
  display:inline-block;
 /* margin-top:2rem; */
  text-decoration:none;
  background:transparent linear-gradient(90deg,#fff 50%,rgba(156,158,165,.6) 0) no-repeat;
  background-size:202% 1px;
  background-position:100% 100%;
  border:none;
  font-size:inherit;
  padding:0 0 2px;
  transition:all .3s;
}
.video-link a:hover {
  color: #fff;
} 
.x-grande-link {
  display:inline-block;
 /* margin-top:2rem; */
  text-decoration:none;
  background:transparent linear-gradient(90deg,#e6eef1 50%,rgba(156,158,165,.6) 0) no-repeat;
  background-size:202% 1px;
  background-position:100% 100%;
  border:none;
  font-size:inherit;
  padding:0 0 2px;
  transition:all .3s;
}
.x-grande-link a:hover {
  color: #031b74!important;
}
*,:after,:before{-webkit-box-sizing:border-box;box-sizing:border-box;}
/*
a{color:rgba(33, 37, 41, 0.82);text-decoration:none;background-color:transparent;-webkit-text-decoration-skip:objects;}
a:hover{color:#027495;text-decoration:none;}
*/

/*
body a:focus,body a:hover {
  background-position:0 100%;
}
*/

/* Video */
section.hero.stretch {
    height: 100vh;
}
section.hero {
    background-color: #000;
    color: #fff;
    position: relative;
}
section.hero .hero-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
section.hero .hero-bg {
    overflow: hidden;
    z-index: 2;
}
section.hero .hero-bg:after {
    content: "";
    background-color: #F7F6F1;
    opacity: .3;
    z-index: 8;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    pointer-events: none;
}
section.hero .hero-bg img, section.hero .hero-bg video {
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 0 0 4em 0;
}
.gateway { /*gateway to the midwest section */
  margin-top: 200px;
} 
.built-by { /*built by a vision to succeed */
  margin-top: 200px;
  margin-bottom: 200px;
}
.stevedore { /*3 stevedore photos */
  margin-top: 100px;
} 

@media (max-width: 1200px){
  .video-intro {
  margin-left: 0;
  }
  p.video-intro { 
   margin-left: 0px;
 }
 .gateway {
  margin-top: 100px;
  } 
  .built-by { 
  margin-top: 100px;
  } 
}
@media(max-width:640px) { 
.video-intro {
  font-size:27px;
  line-height:40px; 
  }
} 
.icon-menu:before { /* hamburger menu */
    color: #fff;
}
.icon-menu-dk:before { /* hamburger menu */
    color: #0e2638;
} 
.icon-menu-dk:before {
    content: "\e5d2";
} 
.blue-bg {
  background-color: #1f303a;
}
.pad-bottom {
  margin-bottom: 50px;
}
.facility-chart {
  margin-top:150px;
}
.piers {
  margin-top:10rem;
} 
.warehouse {
  margin-top:10rem;
} 
.kalmar {
  margin-top:30px;
}
.port {
  margin-top:7rem; 
  margin-bottom:7rem;
}
.img-margin {
  margin-top: 8rem;
}
.freight {
  background-color:#1f303a;
}
@media(max-width:640px) { 
  .warehousing {
  margin-left: 25px;
  }
  .storage-list {
    margin-right: 45px;
  }
  #closing {
  padding-bottom: 100px;
  }
  .ngr-quote {
    line-height: 44px;
    font-size: 30px;
  }
}  
.blue-panel {
  margin-top: 200px; 
  font-size:5rem; 
  line-height: 70px;
  padding-right: 5rem 
}/* vimeo use, not needed here
@media screen and (max-aspect-ratio: 3/4) and (max-width: 900px) { 
  */
@media (max-width: 912px) { 
.blue-panel {
  margin-top: -250px;
  text-align: center;
  background-color: #1f303a;
  padding: 75px 10px 75px 10px;
  }
.blue-bg {
  background-color: transparent;
  } 
.mb-div {
  margin-bottom: -10px;
  }   
}  

.storage {
  margin-bottom: 250px;
}
.peco-crane {
  margin-top:100px;
}
.intro-h {
  margin-top: 15rem; 
  font-size: 4rem;
}
@media (max-width: 1024px) { 
.intro-h {
  margin-top: 10rem; 
  }
}  
@media (max-width: 768px) { 
.blue-panel {
  margin-top: -100px;
  }
}  
@media(min-width:320px) and ( max-width: 360px) { 
.intro-h {  
    font-size: 3.4rem;
  }
}
@media(max-width:280px) { 
.intro-h {  
    font-size: 3rem;
  }
}
.margin-b-small {
  margin-bottom: 5rem;
}
.margin-b-med {
  margin-bottom: 10rem;
}
.margin-b-lg {
  margin-bottom: 15rem;
}
.port-of-entry {
    margin-top: 15rem;
    background-color: rgba(255, 255, 255, 0.5);
}
.features li {
    font-size: 22px;
    line-height: 38px;
    font-weight: 400;
    /* color: #333; */
    color: rgba(33, 37, 41, 0.75);
    margin-bottom: 0.5vw;
    list-style-type: circle;
    font-family: source-serif-pro, serif;
}

@media(max-width:414px) { 
.commodities-div { /* cargo pg */
  margin-bottom: -60px;
  }
}    

@media(max-width:320px) { 
h1 {
    font-size: 3.3rem;
    line-height: 1;
  }
}
@media(max-width:280px) { 
h1 {
    font-size: 2.8rem;
    line-height: 1;
  }
}
@media(max-width:1024px) {  
#menu-subsidiary {
    margin: 0;
    padding: 0;
    list-style: none;
    -webkit-column-count: 2;
    -moz-column-count: 2;
    column-count: 2;
    -webkit-column-gap: 60px;
    -moz-column-gap: 60px;
    column-gap: 60px;
    font-weight: 500;
  }
} 

.btn-social {
    display: inline-block;
    margin: 5px;
    color: #fff!important;
    text-align: center;
    font-size: 22px!important;
    line-height: 42px;
    transition: all .1s ease-in-out;
}

/* New Design CSS */
.logo {
  height: auto;
  width: 190px;
}
/* Index pg only */
@media (max-width: 1199px) {
.home .logo img,
.home img.logo {
  filter: brightness(0) invert(1);
}
.home .menu-toggle span {
  background: #fff;
  }
}  
/* End index pg */
@media (max-width: 390px) {
.logo {
  width: 130px;
  }
}  

.position-absolute {
  position: absolute !important;
  bottom: 6%;
  left: 8%;
}

/*Slider */
.pinnacle-slider {
  background: #F7F6F1;
  color: #fff;
}

.carousel-item img {
  height: 75vh;
  object-fit: cover;
  filter: brightness(100%);
  transform: scale(1.05);
  transition: transform 6s ease;
}

.carousel-item.active img {
  transform: scale(1.15);
}

/* overlay content on top of image */
.overlay-content {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  padding: 0 8% 6%;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.19) 40%, rgba(0, 0, 0, 0));

}

.step-label {
  font-size: 1.2rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #fff;
  font-weight: 600;
}

/* inner indicators below text */
.carousel-indicators-inner {
  display: flex;
  gap: 10px;
  margin-top: 1rem;
}

.carousel-indicators-inner button {
  width: 70px;
  height: 3px;
  border: none;
  border-radius: 3px;
  background-color: rgba(255, 255, 255, 0.3);
  transition: all 0.3s ease;
}

.carousel-indicators-inner button.active,
.carousel-indicators-inner button:hover {
  background-color: #fff;
  opacity: 1;
}
.rounded-4 {
  border-radius: 2em;
}
.row.g-0 {
  align-items: stretch !important;
}
.row.g-0 > div {
  display: flex;
}
.row.g-0 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.fade-up {
  opacity: 0;
  transform: translateY(30px);
  animation: fadeUp 1s ease-out forwards;
  animation-delay: 0.3s; /* optional delay */
}

@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.button:hover {
  animation: buttonHover 0.5s 
  ease forwards !important;
}
/* footer */
.footer p {
  font-size: 1.4rem;
  line-height: 1.4; 
  color: #fff;
}
.footer h6 {
  font-family: "bebas-kai", sans-serif;
}
.colophon a {
  color: rgb(255 255 255 / 87%);
  text-decoration: underline;
}
.colophon p {
  font-size: 1.1rem;
  line-height: 1.9;
  color: rgb(255 255 255 / 87%);
}
/* hover cards */
.noovo-card {
  position: relative;
  overflow: hidden;
  border-radius: 12px;
  cursor: pointer;
}


.noovo-card img {
  width: 100%;
  height: auto;
  display: block;
}


/* Overlay layer */
.noovo-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0);
  display: flex;
  align-items: flex-end;
  justify-content: center;
  transition: background 0.3s ease;
  padding: 2rem;
}


.noovo-text {
  opacity: 0;
  pointer-events: none;
  width: 90%;
  min-height: 150px;
  transform: translateY(0);
  background: #fff;
  color: #000;
  padding: 1.25rem 1.5rem;
  border-radius: 16px;
  box-shadow: 0 6px 18px rgba(0,0,0,0.15);
  transition: opacity 0.35s ease, transform 0.35s ease;
  will-change: opacity, transform;
}


/* Hover state */
/* Hover state only */
/* UGLY ASS
.noovo-card:hover .noovo-overlay {
  background: rgba(0, 0, 0, 0.25);
}
*/

.azul {
    border: 3px solid #0574b1;
    background: #0574b1;;
}
a.cta.azul.link-arrow:hover, a.cta.azul.link-arrow:focus, a.cta.azul.link-arrow:active {
    color: #fff !important;
    text-decoration: none !important;
}
/* hover in */
.noovo-card:hover .noovo-text {
  opacity: 1;
  transform: translateY(-10%);
  pointer-events: auto;
}
.overlay-content a {
  color: #fff!important;
}

/* Nav dropdown */
/* --------------------------------------------
   Base Navigation Styles
---------------------------------------------*/
.custom-navbar {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 25px 5%;
  z-index: 1000;
}

/* Logo */
.custom-navbar .logo img {
  height: 50px;
  width: auto;
}

/* Desktop Menu */
.nav-menu-desktop {
  display: flex;
  align-items: center;
  gap: 32px;
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Desktop Menu Links */
/*
.nav-menu-desktop li a {
  text-decoration: none;
  color: #fff;
  font-weight: 500;
  font-size: 1rem;
  transition: color 0.2s ease;
}
*/
.nav-menu-desktop li a:hover {
  color: #ddd;
}

/* --------------------------------------------
   Dropdown Styles
---------------------------------------------*/

/* Dropdown container */
.nav-menu-desktop .dropdown {
  position: relative;
}

/* CSS caret */
.nav-menu-desktop .dropdown-toggle::after {
  content: "";
  display: inline-block;
  margin-left: 6px;
  vertical-align: middle;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 5px solid currentColor;
  transition: transform 0.2s ease;
}

/* Rotate caret on hover */
.nav-menu-desktop .dropdown:hover .dropdown-toggle::after {
  transform: rotate(180deg);
}

/* Dropdown menu box */
.nav-menu-desktop .dropdown-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0; /* aligns perfectly under Company */
  transform: none;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(6px);
  padding: 0;
  margin: 0;
  padding-inline-start: 0;
  list-style: none;
  min-width: 180px;
  border-radius: 8px;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
  opacity: 0;
  pointer-events: none;
  transition: all 0.25s ease;
  z-index: 100;
}

/* Dropdown items */
.nav-menu-desktop .dropdown-menu li {
  margin: 0;
  padding: 0;
}

.nav-menu-desktop .dropdown-menu li a {
  display: block;
  padding: 10px 16px;
  text-decoration: none;
  color: #222;
  font-size: 0.95rem;
  white-space: nowrap;
  text-align: left;
  transition: color 0.2s ease;
}

/* Hover (no background) */
.nav-menu-desktop .dropdown-menu li a:hover {
  background: transparent;
  color: #027495; /* optional hover color */
}

/* Reveal dropdown on hover */
@media (min-width: 1200px) {
  .nav-menu-desktop .dropdown:hover .dropdown-menu {
    display: block;
    opacity: 1;
    pointer-events: auto;
  }
}

/* --------------------------------------------
   Mobile Menu Toggle
---------------------------------------------*/
.menu-toggle {
  display: none;
  flex-direction: column;
  cursor: pointer;
  gap: 5px;
}

.menu-toggle span {
  width: 26px;
  height: 2px;
  background-color: #fff;
  transition: all 0.3s ease;
}

/* Show hamburger on small screens */
@media (max-width: 1199px) {
  .nav-menu-desktop {
    display: none;
  }

  .menu-toggle {
    display: flex;
  }
}

/* Optional active state when mobile menu is open */
.menu-toggle.active span:nth-child(1) {
  transform: rotate(45deg) translateY(8px);
}

.menu-toggle.active span:nth-child(2) {
  opacity: 0;
}

.menu-toggle.active span:nth-child(3) {
  transform: rotate(-45deg) translateY(-8px);
}
/* Buttons */
.blu {
  border: 3px solid #0574b1;
  background: #0574b1;
}
/* 2-4-26
.cta {
  display: inline-block;
  padding: 12px 40px;
  border-radius: 2rem;
  color: #fff;
  font-size: 1.3rem;
  text-decoration: none;
  width: 300px;
  text-align: center;
}
*/
.blanco {
  border: 3px solid #ffffff;
  background: transparent;
}
.link-arrow::after {
  content: '\02192';
  position: relative;
  display: inline-block;
  margin-left: 10px;
  transition: 0.6s;
}
.link-arrow:hover::after {
  transform: translateX(4px); /* arrow slides slightly on hover */
}
a.cta.blanco.link-arrow {
  color: #fff;
  transition: color 0.3s ease;
}
a.cta.blanco.link-arrow:hover,
a.cta.blanco.link-arrow:focus,
a.cta.blanco.link-arrow:active {
  color: #fff !important;
  text-decoration: none !important;
}
.intro-section .btn {
  position: relative;
  display: inline-block;
  margin-top: 2rem;
  left: 8%;
}
/* Tariffs & Scribd embed */
iframe {
  margin-bottom: 200px!important;
}
.scribd_iframe_embed {
  /*width: 1080px !important;*/
  max-width: 100%;
  margin: 0 auto;
  padding: 75px 0 0 0;
  display: block;
  box-shadow: rgb(230 230 234 / 10%) 0px 13px 27px -2px, rgb(0 0 0 / 4%) 0px 8px 16px -4px;
}
.panel h1, .panel-t h1 {
  font-size: 10vw;
  line-height: 1;
  color: #212529; 
}
.panel h2 {
  font-size: 3.4vw;
  line-height: 1.2;
  color: rgb(33 37 41 / 67%);
  width: 60%;
  margin: auto;
}
.panel-t h2 {
  width: unset;
}
.panel-t {
  margin-top: 200px;
  font-size: 5rem;
  line-height: 70px;
  padding: 5rem;
  }
.panel {
  margin-top: 200px;
  font-size: 5rem;
  line-height: 70px;
  padding: 5rem;
  }
.doc-anchors p a {
  font-size: 1.8rem;
  line-height: 1.3;
  color: rgb(6 80 155 / 82%); 
} 
/*
.tariff-type h3 {
  font-size: 2rem;
  line-height: 1; 
}
*/
.txt-link-lg p {
  font-size: 1.6rem;
  line-height: 1.9;
}
.directory p {
  font-size: 1.6rem;
  line-height: 1.5;
}
.directory a {
  color: #0274a9;
  text-decoration: none;
}
iframe {
  margin-bottom: 200px;
}
@media (max-width: 767px) {
.directory p {
  font-size: 1.2rem;
  }
.panel {
  padding: 5rem 5rem 2rem 5rem;
  }  
} 
@media (max-width: 430px) {
.panel h2 {
  font-size: 6.5vw;
  }
.panel-t h1 {
  font-size: 18vw
  } 
.panel-t {
  padding: 0;
  margin-top: 250px;
}  
.txt-link-lg p {
  font-size: 1rem;
  } 
.cta { 
  width: unset;
  font-size: 1.1rem;
  }
}      

/* End tariffs pg */

/* Nav Inner */
.custom-navbar-inner {
  position: absolute;
  top: 25px;
  left: 50%;
  transform: translateX(-50%);
  width: calc(100% - 120px);
  max-width: 1600px;  
  background-color: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 30px 40px 30px 40px;
  box-shadow: rgb(50 50 93 / 0%) 0px 13px 27px -5px, rgb(0 0 0 / 4%) 0px 8px 16px -8px;
  border-radius: 50px;
  z-index: 9999;
}
.custom-navbar {
  position: relative;
  z-index: 1000;
}
.menu-toggle {
  display: none;
  flex-direction: column;
  cursor: pointer;
  width: 30px;
  height: 20px;
  justify-content: space-between;
}
.menu-toggle span {
  width: 100%;
  height: 2px;
  background-color: #000;
  transition: all 0.3s ease;
}
.nav-menu-inner .dropdown:hover .dropdown-menu {
  display: block;
}
/* Match homepage dropdown styling */
.nav-menu-inner .dropdown-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background-color: #fff;
    padding: 15px 0;
    min-width: 200px;
    border-radius: 6px;
    box-shadow: 0 8px 20px rgba(0,0,0,0.15);
    border: none;
}
/* Show on hover */
.nav-menu-inner .dropdown:hover .dropdown-menu {
    display: block;
}
.nav-menu-inner .dropdown-menu li a {
  color: #000;
  text-decoration: none;
  padding: 10px 20px;
  display: block;
  font-size: 16px;
  transition: background 0.2s ease, color 0.2s ease;
}
.nav-menu-inner .dropdown-menu li a:hover {
    background-color: #f2f2f2;
}
.nav-menu-inner {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
}
.nav-menu-inner li {
  margin-left: 45px;
}
.nav-menu-inner a:hover {
  color: #d12d15;
}
.nav-menu-inner li {
  margin-left: 30px;
}
.nav-menu-inner {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
}
.nav-menu-inner a {
  color: #000;
  text-decoration: none;
  font-size: 18px;
  transition: color 0.3s ease;
}
.nav-menu-inner .dropdown {
  position: relative;
}

.nav-menu-inner .dropdown-toggle::after {
  content: "";
  display: inline-block;
  margin-left: 6px;
  vertical-align: middle;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 5px solid currentColor;
  transition: transform 0.2s ease;
}

.nav-menu-inner .dropdown:hover .dropdown-toggle::after {
  transform: rotate(180deg);
}

.nav-menu-inner .dropdown-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0; /* aligns perfectly under Company */
  transform: none;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(6px);
  padding: 0;
  margin: 0;
  padding-inline-start: 0;
  list-style: none;
  min-width: 180px;
  border-radius: 8px;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
  opacity: 0;
  pointer-events: none;
  transition: all 0.25s ease;
  z-index: 100;
}
.nav-menu-inner .dropdown-menu li {
  margin: 0;
  padding: 0;
}
.nav-menu-inner .dropdown-menu li a {
  display: block;
  padding: 10px 16px;
  text-decoration: none;
  color: #222;
  font-size: 0.95rem;
  white-space: nowrap;
  text-align: left;
  transition: color 0.2s ease;
}
.nav-menu-inner .dropdown-menu li a:hover {
  background: transparent;
  color: #027495; 
}
@media (max-width: 1300px) {
.nav-menu-inner a {
  color: #000;
  text-decoration: none;
  font-size: 17px;
  transition: color 0.3s ease;
  }
.nav-menu-inner li {
    margin-left: 30px;
  }  
}  
@media (min-width: 1200px) {
.nav-menu-inner .dropdown:hover .dropdown-menu {
  display: block;
  opacity: 1;
  pointer-events: auto;
  }
}
@media (max-width: 1199px) {
.custom-navbar-inner {
  background-color: transparent;
  box-shadow: unset;
  width: calc(100% - 20px);
}
.nav-menu-inner {
  display: none;
}           
.menu-toggle {
  display: flex;
  }
}
@media (max-width: 767px) {
.custom-navbar-inner {
  padding-left: 40px;   
  padding-right: 40px;  
  }
}
@media (max-width: 576px) {
.custom-navbar-inner {
  padding-left: 12px;   
  padding-right: 12px;  
  }
} 
/* 
@media (max-width: 430px) {
.custom-navbar-inner {
  padding-left: 12px;   
  padding-right: 0;  
  }
}
*/
@media (min-width: 1200px) {
.menu-toggle {
  display: none;
  }
}
/* Company */
.bio {
  min-height: 100vh;
  background-image: url("../img/vestas.webp");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  transition: background-size 800ms ease, filter 300ms ease;
}
.no-webp .bio {
  background-image: url("../img/vestas.jpg");
}
.bio-panel {
  margin-top: 200px;
  font-size: 5rem;
  line-height: 70px;
  padding: 5rem 5rem 0 5rem;
  }
@media (min-width: 991px) {  
.bio-panel {
  padding: 5rem 5rem 0 4rem;
  }
}  
.bio-panel h1 {
  font-size: 10vw;
  line-height: 1;
  color: #fff; 
}
.bio-panel h2 {
  font-size: 2.4vw;
  line-height: 1.2;
  color: #fff;
}
.comp-bio h3 {
  font-size: 3.4vw; 
  line-height: 1;
}
.comp-bio p {
  font-size: 1.6rem; 
  line-height: 1.4;
}
.comp-bio p:first-of-type {
  margin-top: 3rem;
}

@media (max-width: 1199px) {
.comp-bio p:first-of-type {
  margin-top: 2rem;
  }
}  
.comp-bio a {
  color: #027495;
}
.leadership h2 {
  font-size: 5.5vw;
  line-height: 1;
}
.leadership h3 {
  font-size: 2vw;
  line-height: 1.2;
}
.leadership h4 {
  font-size: 5vw;
  line-height: 1.2;
}
.leadership p {
  font-size: 1.8rem;
  line-height: 1.5;
}
.team-sec {
  padding: 150px 0 200px 0;
}
.leadership-intro {
  padding: 200px 0 0 0;
}

.dir p {
  font-size: 1.4rem;
  line-height: 1.2;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  text-shadow: rgb(0 0 0 / 1%) 0 0 1px;
  margin-top: 20px;
  margin-top: -50px;
}
.dir span {
  font-weight: 600;
  color: #19191a;
  background-color: rgb(255 255 255 / 70%);
  padding: 5px 30px 5px 6px;
  border-radius: 0 0 5px 0;
  text-decoration: none;
  margin-bottom: 40px;
}  
.job p {
  font-size: 1.48rem;
  color: #212529;
  padding: 15px 0 0 0; 
  margin-bottom: 0;
  margin-top: 1.7rem;
  padding-left: 6px;
}
.job h4 {
  font-family: source-serif-pro, serif;
  font-size: 1.27rem;
  color: rgb(33 37 41 / 63%);
  margin-bottom: 0;
  padding-left: 6px;
}
@media (max-width: 1199px) {
.dir p, .job p, .job h4 {
  font-size: 1.1rem;
  }
}
@media (max-width: 991px) {
.comp-bio h3 {
  font-size: 5vw;
  }
.comp-bio p {
  font-size: 1.4rem;
  }
}
@media (max-width: 767px) {
.bio-panel {
    padding: unset;
  }
.pl-5 { 
  padding: 0 0 0 0; 
}  
.leadership p {
  font-size: 1.4rem;
  }  
.team-sec {
  padding: 50px 0 200px 0;
  }  
}  
@media (max-width: 767px) {
.leadership-intro {
  padding: 100px 0 0 0;
  }
}
@media (max-width: 576px) {
.leadership p, .comp-bio p {
  font-size: 1.25rem;
  }
.p-mobile {
  padding: 0 !important;  
} 
.leadership h4, .leadership h2, .comp-bio h3  {
  font-size: 8.5vw;
  }  
}
@media (max-width: 430px) {
.ms-4 {
  margin-left: 0!important;
  }
.p-4 {
  padding: 0!important;
  }  
.comp-bio p:first-of-type {
  margin-top: unset;
  }  
.h-line {
  margin-bottom: 10px;
  }  
}     
/* Misc */
.contacts a, .pubs a, .cargo a {
  color: #0274a9;
  text-decoration: none;
}
.cta {
    font-family: 'Open Sans', sans-serif;
    display: inline-block;
    padding: 12px 40px;
    border-radius: 2rem;
    color: #fff;
    font-size: 1.3rem;
    text-decoration: none;
    width: 300px;
    text-align: center;
}
.blanco {
    border: 3px solid #ffffff;
    background: transparent;
}
.link-arrow::after {
    content: '\02192';
    position: relative;
    display: inline-block;
    margin-left: 10px;
    transition: 0.6s;
}
.link-arrow:hover::after {
  transform: translateX(4px); /* arrow slides slightly on hover */
}
a.cta.blanco.link-arrow {
  color: #fff;
  transition: color 0.3s ease;
}
a.cta.blanco.link-arrow:hover,
a.cta.blanco.link-arrow:focus,
a.cta.blanco.link-arrow:active {
  color: #fff !important;
  text-decoration: none !important;
}
.infograph {
  width:100%; 
  max-width:1960px; 
  height:auto; 
  display:block;
}
.ws {
  padding: 75px 0 50px 0;
}
.intro h2 {
  font-family: source-serif-pro, serif; 
  width: unset; 
  font-size: clamp(1.5rem, 2.2vw, 2.4rem);
  line-height: 1.3;
}
@media (max-width: 390px) { 
.intro h2 {
  font-size: clamp(1.3rem, 2.2vw, 2.4rem);
  }
}  
.hero-img {
  border-radius: 20px;
  background: rgb(255 255 255);
  min-height: 1200px;
  margin: -200px auto 0 auto;
  padding: 75px 25px 75px 25px;
  box-shadow: rgb(50 50 93 / 10%) 0px 13px 27px -5px, rgb(0 0 0 / 4%) 0px 8px 16px -8px;
  }
@media (max-width: 576px) {
.hero-img {
  padding: 55px 25px 75px 25px;
  background: rgb(255 255 255);
  }
} 
@media (max-width: 320px) {
.hero-img {
  padding: 55px 15px 75px 15px;
  }
.intro h2 {
  font-size: 1.2rem;
  }  
}  
.h-line {
  width: 200px;
  height: 15px;
  display: inline-block;
  background-color: #0574b1;
  margin-bottom: 35px;
}
.pl-5 {
  padding: 0 0 0 5rem;
}
@media (max-width: 767px) {
.pl-5 { 
  padding: 0 0 0 0; 
  }
}  
.media-box {
  /*aspect-ratio: 16 / 9;*/
  height: 100%;
  padding-right: 3px;
  max-height: 534px;
}
.media-box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: left bottom;
}
.rounded-top {
  border-radius: 1em 1em 0 0!important;
}
.rounded-top-l {
  border-radius: 1em 0 0 0!important;
}
.rounded-top-r {
  border-radius: 0 1em 0 0!important;
}
.rounded-four {
  border-radius: 1rem;
}
@media (max-width: 767px) {
.rounded-top { 
  border-radius: 0.5em 0.5em 0 0!important; 
  }
} 
.rounded-hs {
  border-radius: 0.5em 0.5em 0 0;
}
.add-m {
  margin: 50px 0 50px 0;
}
  
.caption span {
  font-size: 1rem;
  display: inline-block;
  color: rgb(33 37 41 / 77%);
  line-height: 1.3;
}  
.two-col-list {
  columns: 2;
  -webkit-columns: 2;
  -moz-columns: 2;
  column-gap: 6rem; 
 /* list-style-type: circle;*/ 
  margin: 20px 0 30px 0;  
  padding-left: 0; 
}  

.two-col-list li {
  break-inside: avoid;   /* prevents awkward splits */
  padding-bottom: 10px;
  font-size: 1.4rem;
}
.three-col-list {
  columns: 3;
  -webkit-columns: 3;
  -moz-columns: 3;
  column-gap: 8rem; 
  max-width: 1400px;
  margin: 100px 0 50px 0;
  padding-left: 0;   
}
.four-col-list {
  columns: 4;
  -webkit-columns: 4;
  -moz-columns: 4;
  column-gap: 8rem; 
  max-width: 1400px;
  margin: 100px 0 50px 0;
  padding-left: 0;   
}  
@media (max-width: 991px) {
.two-col-list li {
    font-size: 1.25rem;
  }
.four-col-list {
  columns: 3;
  -webkit-columns: 3;
  -moz-columns: 3;
  margin: 25px 0 50px 0;  
  }
}

@media (max-width: 390px) {
.two-col-list {
  columns: 1;
  -webkit-columns: 1;
  -moz-columns: 1;  
  margin: 0 0 0 0;
  }
.menu-toggle {
  width: 25px;
  height: 20px;
  justify-content: unset; 
  }  
.hero-img {
  padding: 55px 0 75px 0;
  }  
} 

@media (max-width: 576px) {
.four-col-list {
  columns: 2;
  -webkit-columns: 2;
  -moz-columns: 2;
  }
.infograph {
  display:none;
  }      
}    
@media (max-width: 320px) {
.four-col-list {
  columns: 1;
  -webkit-columns: 1;
  -moz-columns: 1;
  margin: 0 0 50px 0; 
  font-size: 1.2rem;
  column-gap: 4rem; 
  }
}  
.three-col-list li {
  break-inside: avoid;   /* prevents awkward splits */
  padding-bottom: 9px;
  font-size: 1.3rem;
}

/* ------------------------------------------ */
/* RED SWIPE OVERLAY                          */
/* ------------------------------------------ */
#swipe-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: #0574B1;
  z-index: 999999;
  transform: translateX(-100%); /* hidden off-screen left */
  transition: transform 0.6s ease-in-out;
  pointer-events: none;
}

#swipe-overlay.active {
  transform: translateX(0); /* slide across */
}

/* ------------------------------------------ */
/* PAGE FADE-IN                               */
/* ------------------------------------------ */
body {
  opacity: 0;
  transition: opacity 0.45s ease;
}

body.loaded {
  opacity: 1;
}


/* Contact Pg */
.panel p {
  font-size: 2rem;
  line-height: 1.3;
}
.contact-container {
  padding: 5rem 0 0 0; 
}
.contacts {
  border-radius: 20px;
  background: rgb(255 255 255);
  min-height: 1200px;
  margin: -100px auto 0 auto;
  padding: 75px;
  box-shadow: rgb(50 50 93 / 10%) 0px 13px 27px -5px, rgb(0 0 0 / 4%) 0px 8px 16px -8px;
}
.contacts p {
  font-size: 1.2rem;
  line-height: 1.3;
  margin: 0 0 27px 0;
}
.contact-h span {
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1.3;
}
.contact-h hr {
  padding: 0 0 55px 0;
}
.contacts h2 {
  font-size: clamp(1.1rem, calc(8vw + 0.3rem), 8.5rem);
}
.contacts h3 {
  font-size: clamp(1.25rem, calc(3vw + 0.3rem), 8.5rem);
  line-height: 1;
  margin: 0 0 50px 0;
}
.contacts h3 span {
  font-size: clamp(1.1rem, calc(8vw + 0.3rem), 8.5rem);
  line-height: 1;
}
.contacts h4 {
  font-size: 1.65rem;
  line-height: 1;
}
.contact-container {
  margin: 0 0 125px 0;
}
@media (max-width: 430px) {
.contacts h4 {
  font-size: 1.45rem;
  }
.contacts {
  padding: 55px 25px 75px 25px; 
  margin: -200px auto 0 auto;
  }  
} 
@media (max-width: 360px) {
.contacts h4 {
  font-size: 1.3rem;
  line-height: 1.2;
  } 
.contacts {
  padding: 55px 20px 75px 20px;  
  } 
}   
/* History */
.f-img {
  padding: 0 75px 0 75px;
}
.cap {
  margin: 0 0 125px 0;
}
.cap-panel {
  border-radius: 20px; 
  background: rgb(255 255 255 / 91%); 
  min-height: 1200px; 
  margin: -200px auto 0 auto; 
  padding: 75px; 
  box-shadow: rgb(50 50 93 / 10%) 0px 13px 27px -5px, rgb(0 0 0 / 4%) 0px 8px 16px -8px;
}
.history h2 {
  font-size: 5rem;
  line-height: 1;
}
.history h3 {
  margin-top: 100px;
}
.history h3 span {
  font-size: 6vw; 
  line-height: 0.9;
}
.history h4 {
  font-size: 3vw;
  line-height: 1;
}
.history p, .steve p {
  font-size: 1.5rem;
  line-height: 1.5;
}
.history a {
  color: #0274a9;
  text-decoration: none;
}
.pubs p {
  font-size: 1.5rem;
  line-height: 1.6;
  margin: 0 0 25px 0;
}
.copy {
  width: 85%;
  margin: 0 auto;
}
@media (max-width: 1199px) {
.f-img {
  padding: 0 25px 0 25px;
  }
.cap {
  margin: 0 50px 125px 50px;
  }  
.history h2 {
  font-size: 4rem;
  }  
}
@media (max-width: 767px) {
.cap-panel {
  padding: 75px 25px 75px 25px; 
  }
.mb-5 {
  margin-bottom: 0.75rem !important;
  } 
.history h4 {
  font-size: 4vw;   
  }
.history p {
  font-size: 1.35rem;
  }
.f-img {
  min-height: 500px;
  }    
}   
@media (max-width: 576px) { 
.f-img {
  padding: 0;
  }  
.f-img img {
  object-position: 65% center;
}  
.cap {
  margin: 0 25px 125px 25px;
  }
.cap-panel {
  padding: 75px 10px 75px 10px; 
  } 
.panel h1 {
  font-size: 12vw;
  } 
.history h2 {
  font-size: 3rem;
  } 
.panel {
  padding: 5rem 5rem 5rem 0;
  }    
}  
@media (max-width: 430px) {
.history h3 span {
  font-size: 9vw;
  }
.history h4 {
  font-size: 7vw;
  }  
.history h2 {
  font-size: 2.3rem;
  }  
}  
@media (max-width: 390px) {  
.history p {
  font-size: 1.25rem;
  }
.copy {
  width: 95%;
  } 
.md-md-5 {
  margin-bottom: -4rem!important;
  }   
} 
@media (max-width: 390px) { 
.history p {
  font-size: 1.1rem;
  }
}    
/*Print History */
.books {
  margin: 0 0 125px 0; 
  padding: 5rem;
}  
.books p span {
  font-size: 1.86rem; 
  line-height: 1.4;
}
@media (max-width: 1199px) { 
.books p span {
  font-size: 1.56rem; 
  }
.pubs p {
  font-size: 1.4rem;
  }
}  
@media (max-width: 768px) { 
.books {
  padding: 5rem 0 0 0;
  }
} 
@media (max-width: 576px) { 
.books {
  padding: 2rem 0 0 0;
  }
}    
@media (max-width: 430px) { 
.books p span {
  font-size: 1.26rem;
  }
.pubs p {
  font-size: 1.1rem;
  }  
.panel {
  padding: 0 5rem 0 1rem;
  }  
} 
/* Stevedore */
.steve h3 {
  font-size: clamp(1.55rem, calc(3vw + 0.3rem), 8.5rem);
  line-height: 1;
  padding: 50px 0 0 0;
}
.steve-alt h3 {
  margin: 0;
}
.steve h3 span {
  font-size: clamp(1.1rem, calc(10vw + 0.3rem), 8.5rem);
}

.commodities h4 {
  font-size: clamp(1.1rem, calc(4vw + 0.3rem), 8.5rem);
  line-height: 1;
}
.commodities h4 span {
  font-size: clamp(1.1rem, calc(8vw + 0.3rem), 8.5rem);
  line-height: 1;
}
/* Terminal */
.sm-panel {
  margin-top: 100px;
  font-size: 5rem;
  line-height: 70px;
  padding: 5rem 5rem 0 5rem;
}
.sm-panel h1 {
  font-size: 6vw;
  line-height: 1;
}
.sm-panel h2{  
  font-size: 1.6vw;
  line-height: 1.2;
  color: rgb(33 37 41 / 67%);
  width: 60%;
  margin: auto;
}  
.terminal p {
  font-size: 1.5rem;
  line-height: 1.5
}
.terminal h3, .cargo h3 {
  font-size: 8vw;
  line-height: 1;
}
.terminal h5 {
  font-size: clamp(1.1rem, calc(6vw + 0.3rem), 8.5rem);
  line-height: 1;
}
.terminal h5 span {
  font-size: clamp(1.1rem, calc(7vw + 0.3rem), 8.5rem);
  line-height: 1;
}
.terminal h4 {
  font-size: clamp(1.1rem, calc(3vw + 0.3rem), 8.5rem);
  font-family: source-serif-pro, serif;
  line-height: 1.3;
}
.icon-rt {
  width: 100px;
  height: auto;
  flex-shrink: 0;
  transform: translateY(4px);
}
.ship-gear {
  min-height: 760px;
  object-fit: cover; 
}
.bb {
  min-height: 792px;
  object-fit: cover; 
}
.eqH img {
  width: 100%;
  height: auto;
  display: block;
}
.eq-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.eq-row { /* not used? 1-27-26 */
  --eqh: clamp(420px, 42vw, 760px);
}  
@media (max-width: 430px) {
.steve p, .terminal p, .cargo p {
  font-size: 1.2rem
  } 
.two-col-list li {
  font-size: 1.1rem;
} 
ol, ul {
  padding: 0 1rem 0 1rem;
} 
.terminal h5 {
  font-size: clamp(1.1rem, calc(7.5vw + 0.3rem), 8.5rem);
}
.terminal h5 span {
  font-size: clamp(1.1rem, calc(6.5vw + 0.3rem), 8.5rem);
  }  
}    
@media (min-width: 1200px) {
  .eqH img {
    height: var(--eqh);
    object-fit: cover;
    object-position: center;
  }
}
.eqH--sm { --eqh: clamp(380px, 34vw, 600px); }
.eqH--md { --eqh: clamp(440px, 40vw, 720px); }
.eqH--lg { --eqh: clamp(480px, 45vw, 820px); }
.eqH--xl { --eqh: clamp(520px, 50vw, 920px); }

/* Marine Terminal Table */
table {
  border: 1px solid #ccc;
  border-collapse: collapse;
  margin: 0;
  padding: 0;
  width: 100%;
  table-layout: fixed;
}
table caption {
  font-size: 2.5em;
  margin: .5em 0 .75em;
}
table tr {
  background: #f8f8f8;
  border: 3px solid #fff;
  padding: .35em;
  line-height: 35px; 
}
table th,
table td {
  padding: 1.3em;
  text-align: left;
  font-size: 19px;
}
table th {
  font-size: 18px;
  /*letter-spacing: 1.7em;*/
  text-transform: none;
  text-align: left;
}
@media (max-width: 991px) {
table th, table td {
  font-size: 17px;
  line-height: 1.4;
  }
}
@media (max-width: 767px) {
table th, table td {
  font-size: 15px;
  }
.steve h3 {
    font-size: clamp(1.55rem, calc(3vw + 1.6rem), 8.5rem);   
  }  
}  
/*
@media (max-width: 768px) and (min-width: 601px) {  
table {
  width: unset;
  }  
}
*/

@media screen and (max-width: 600px) {
  table {
  border: 0;
  }
.terminal-tableAlt {
  background: #f8f8f8!important;
}
table tr {
  background: rgba(214, 233, 238, 0.6);
}
table caption {
  font-size: 1.3em;
  }
table thead {
  border: none;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  }
table tr {
  border-bottom: 3px solid #ddd;
  display: block;
  margin-bottom: .625em;
}
table td {
  border-bottom: 3px solid #fff;
  display: block;
  font-size: .7em;
  text-align: right;
  padding: 1.5em .15em 1.5em .15em;
}
table td:before {
  content: attr(data-label);
  float: left;
  font-weight: bold;
  text-transform: none;
}
table td:last-child {
  border-bottom: 0;
  }
}
.terminal-table {
  width: 100%;
  max-width: 960px;
  display: block;
  background: #fafafa;
  color: #464646;
  font-size: 15px;
  padding-top: 20px;
  margin: 0;
  overflow-x: auto;
}
.terminal-table tr {
  height: 34px;
  padding-right: 20px;
}
.terminal-table td {
  padding: 10px !important;
}
.terminal-table th {
  text-align: left;
  font-size: 19px;
  font-family: 'Open Sans', sans-serif;
  font-weight: normal !important;
  color: #111;
  padding-left: 10px;
}
.terminal-tableAlt {
  background: rgba(214, 233, 238, 0.6); 
}
/*
.lazaretto-bb {
  padding-top: 35px;
  padding-bottom: 35px;
}

@media screen and (max-width: 414px) {
  .lazaretto-bb {
  padding-top: 0;
  padding-bottom: 0;
  }
} 
*/
/* Cargo */
.cargo p {
  font-size: 1.5rem;
  line-height: 1.5
}
.cargo h4 {
  font-size: 3.4vw;
  line-height: 1.3;
}
.cargo ul {
  list-style: disc!important;
  font-size: 1.5rem!important;
}
.cargo ul li {
  padding-bottom: 10px;
}
.super {
  padding: 50px 0 0 0;
}
@media (max-width: 767px) {
.cargo h4 {
  font-size: 4vw;
  }   
}
@media (max-width: 576px) {
.cargo h4 {
  font-size: 7vw;
  padding: 25px 0 0 0;
  } 
.steve p, .cargo p, .terminal p, .cargo ul li {
  font-size: 1.25rem;
  }     
}  
/* Video & Index/Home Pg */
.hero-copy h1 {
  font-size: 17vh;
  line-height: 1;
  color: #fff;
  font-weight: 600;
}
.hero-push {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.hero-copy p {
  font-family: "bebas-kai", sans-serif;
  color: #fff;
  opacity: 0.7;
  line-height: 1;
  font-size: 1.7rem;
  margin-bottom: 35px;
}
.fade-blur {
  opacity: 0;
  filter: blur(20px);
  transform: translateY(20px);
  will-change: opacity, filter, transform;
  transition: opacity 1s ease-out, filter 1s ease-out, transform 1s ease-out;
}
.fade-blur.active {
  opacity: 1;
  filter: blur(0);
  transform: none;
}
.hero-section {
  padding: 20vh 0 100px 0;
}
.intro-section > .container-fluid {
  z-index: 10;
  position: relative;
}
.intro-section {
  height: 100vh;
  top: 0;
  width: 100%;
  display: flex;
}

@media (max-width: 1199.98px) {
.intro-section .container-fluid .row {
  width: auto!important;
  }
}  
/*
.intro-section .btn {
  position: relative;
  display: inline-block;
  margin-top: 2rem;
  left: 8%;
}
*/
/*
.rukert-marine-video-pad {
  padding-left: 75px;
  padding-right: 75px;
  box-sizing: border-box;
}
*/
.rukert-marine-video-wrap {
  width: 100%;
  overflow: hidden;              
  border-radius: 20px 20px 0 0;
}
.btf-copy h2 {
  font-size: clamp(1.1rem, calc(7.5vw + 0.3rem), 6.5rem);
  font-weight: 600;
  line-height: 1; 
}
@media (max-width: 425px) {
.btf-copy h2 {
  font-size: clamp(1.1rem, calc(9.5vw + 0.3rem), 6.5rem);
  }
}
.btf-copy p {
  font-size: clamp(1.1rem, calc(4.2vw + 0.3rem), 2.4rem);
  line-height: 1.2;
}
.card-holder {
  padding: 25px;
}
.our-terminal {
  padding: 75px 0 0 0;
}
.our-terminal h3 {
  font-size: 7vh; 
  line-height: 1;
}
.our-terminal h3 span {
  font-size: 12vh;
}
.our-terminal p {
  font-size: 1.9vw; 
  line-height: 1.2;
}
.his-lower {
  padding: 200px 0 200px 0;
}
.his-lower h3 {
  font-size: 15.5vh; 
  line-height: 1;
  color:#504b38; 
}
.his-lower p {
  font-size: 1.8rem; 
  line-height: 1.2; 
  opacity: 0.9;
}
.six {
  object-fit: cover; 
  min-height: 670px
}
.rukert-marine-video {
  width: 100%;
  max-width: 100%;
  height: auto;
  display: block;
}
@media (max-width: 991px) {
.rukert-marine-video-pad {
  padding-left: 30px;
  padding-right: 30px;
  }
.hero-copy h1 {
  font-size: 11vh;  
  }
.our-terminal h3 span {
  font-size: 9vh;
  } 
.our-terminal p {
  font-size: 2.3vw;   
  }
.his-lower h3 {
  font-size: 11vh; 
  } 
.his-lower p {
  font-size: 1.6rem;
}  
.six {
  min-height: unset;
  }   
.w-75 {
  width: unset!important;
  }
.noovo-card--tall-fix img {
  max-height: 420px;
  width: 100%;
  object-fit: cover;
  } 
/*  
.hero-section {
  padding: 200px 0 50px 0;
  }
*/   
.his-lower {
  padding: 100px 0 200px 0;
  }    
}  
@media (max-width: 767px) {
.his-lower p, .our-terminal p {
  font-size: 1.4rem;
  }
/*  
.mt-5-sm-down, .mb-5-sm-down {
  margin-top: 3rem;  
} 
*/
.our-terminal h3 span {
  font-size: 11vh; 
  }
.our-terminal h3 {
  font-size: 5vh;
  }
.card-holder {
  padding: 10px;
  } 
.sm-m {
  margin-top: 5rem;
  }      
}      
@media (max-width: 575px) {
  .rukert-marine-video-pad {
    padding-left: 15px;
    padding-right: 15px;
  } 
.hero-copy h1 {
  font-size: 11vh;
  } 
}   
/* Transportation */
@media (max-width: 430px) {
.our-terminal h3 span {
  font-size: 10vh;
}  
.f-img img {
  height: 400px!important;
  }
.hero-copy h1 {
  font-size: 6.5vh;
  }
.hero-copy p {
  font-size: 1.3rem;
}
.our-terminal {
  padding: 0;
} 
.his-lower p, .our-terminal p {
  font-size: 1.3rem;
}   
.cap {
  margin: 0 15px 125px 15px;
  }  
}  
.trans {
  padding: 0 75px 0 75px;
}
#serviceMap { /* improves tap responsiveness on iPhones. */
  touch-action: manipulation;
}
.leaflet-popup-content {
  font-size: 0.9rem;
  line-height: 1.4;
}
.legend-item{
  display:flex;
  align-items:center;
  gap:.5rem;
  padding:.35rem .6rem;
  border:1px solid rgba(0,0,0,.12);
  border-radius:999px;
  background:#fff;
  font-size:.875rem;
  white-space:nowrap;
}
.legend-swatch{
  width:14px;
  height:14px;
  border-radius:50px;
  border:2px solid rgba(0,0,0,.25);
  display:inline-block;
  }
.legend-service {
  background: rgb(155 201 227);
  border-color: rgb(155 201 227); 
}
.legend-excluded { 
  background: rgba(0, 0, 0, .18); 
  border-color: rgba(0, 0, 0, .18);
}  
.legend-center { 
  background: rgb(51 136 255);
  border-color: rgb(51 136 255); 
}
#serviceMap {
  min-height: 720px;
  border-color: transparent;
}
@media (max-width: 576px) {
#serviceMap {
  min-height: 520px;  
  } 
}  
@media (max-width: 430px) {
.legend-item {
  font-size: .775rem;
  }   
#serviceMap {
  min-height: 420px;  
  }  
} 
/* Privacy */
.pp {
  padding: 400px 0 0 50px;
}
.privacy p {
  font-size: 1.3rem;
  line-height: 1.3;
  margin: 0 0 40px 0;
}
.pp h1 {
  font-size: 8rem;
  line-height: 1;
}
.privacy h2 {
  font-size: 2.8rem;
  line-height: 1;
  margin: 4rem 0 1rem 0;
}
.privacy a {
  color: #0274a9;
}
.privacy-sec {
  background: #fff; 
  margin: 0 75px 150px 75px; 
  padding: 25px 0 100px 0; 
  border-radius: 20px; 
  box-shadow: rgb(50 50 93 / 10%) 0px 13px 27px -5px, rgb(0 0 0 / 4%) 0px 8px 16px -8px; 
}
@media (max-width: 576px) {
.privacy-sec {
  margin: 0 15px 150px 15px;
  }
.pp h1 {
  font-size: 6.5rem;  
  }
}
@media (max-width: 430px) { 
.pp {
  padding: 300px 0 0 50px;
  }
}  
@media (max-width: 375px) { 
.pp h1 {
  font-size: 4rem;  
  }
.privacy h2 {
  font-size: 2rem;  
  }
.privacy p {
  font-size: 1.1rem;
  }  
}
@media (max-width: 320px) {
.his-lower p, .our-terminal p {
  font-size: 1.15rem;
    }
}        
/* Footer */
footer {
  background-color: #0574b1;
  color: white;
  padding: 40px 0;
  border-radius: 1.25rem;
  min-height: 900px;
  position: relative;
}
.footer-container {
  padding: 75px 0 0 0;
}
.rts {
  height: 64px; 
  width: auto; 
  flex: 0 0 auto;
}
/*
.footer h6 span {
  font-size: 3rem; 
  line-height: 1; 
  color: #fff; 
  display: inline-flex; 
  align-items: center; 
  gap: 18px; 
  white-space: nowrap;
}
*/
.footer h6 {
  font-size: 5rem; 
  line-height: 1; 
  color: #fff;
}
.footer-svg {
  margin: 175px 0 0 0;
}

.footer-logo {
  width: 90%; 
  padding: 0 0 75px 0;
}
@media (max-width: 1199px) { 
.footer h6 span {
  font-size: 2.5rem;
}
.footer h6 {
  font-size: 2.5rem;
  }
.footer p {
  font-size: 1.2rem;
  }  
}  
@media (max-width: 430px) { 
.rts {
  display: none;
  }
}
@media (max-width: 390px) {
.footer p {
  font-size: 1rem;
  }
}  
/*Terminal pg fixes*/
/* make columns equal height */
.row.align-items-stretch > [class*="col-"] {
  display: flex;
}

/* left image wrapper */
.img-cover-wrap {
  width: 100%;
  height: 100%;
  overflow: hidden;
}

/* left image cover behavior */
.img-cover {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* --- Modern CSS-Only Scroll Reveal --- */

/* 1. The Base State - Hidden but takes up space */
.reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 1.2s cubic-bezier(0.215, 0.61, 0.355, 1), 
              transform 1.2s cubic-bezier(0.215, 0.61, 0.355, 1);
  will-change: opacity, transform;
  visibility: hidden; /* Prevents interaction while hidden */
}

/* 2. The Active State - Triggered by JS */
.reveal.active {
  opacity: 1;
  transform: translateY(0);
  visibility: visible;
}

/* 3. Utility for different directions */
.reveal-left { transform: translateX(-40px); }
.reveal-right { transform: translateX(40px); }



