/* Base */
.font-size-10 {
  font-size: 10px; }

.font-size-11 {
  font-size: 11px; }

.font-size-12 {
  font-size: 12px; }

.font-size-13 {
  font-size: 13px; }

.font-size-14 {
  font-size: 14px; }

.font-size-15 {
  font-size: 15px; }

.font-size-16 {
  font-size: 16px; }

.font-size-17 {
  font-size: 17px; }

.font-size-18 {
  font-size: 18px; }

.font-size-19 {
  font-size: 19px; }

.font-size-20 {
  font-size: 20px; }

.font-size-21 {
  font-size: 21px; }

.font-size-22 {
  font-size: 22px; }

.font-size-23 {
  font-size: 23px; }

.font-size-24 {
  font-size: 24px; }

.font-size-25 {
  font-size: 25px; }

.font-size-26 {
  font-size: 26px; }

.font-size-27 {
  font-size: 27px; }

.font-size-28 {
  font-size: 28px; }

.font-size-29 {
  font-size: 29px; }

.font-size-30 {
  font-size: 30px; }

.font-gray-1 {
  color: #f7f7f7; }

.font-gray-2 {
  color: #e9e9e9; }

.font-gray-3 {
  color: #d9d9d9; }

.font-gray-4 {
  color: #c9c9c9; }


.font-gray-6 {
  color: #a8a8a8; }

.font-gray-7, body {
  color: #939393; }

.font-gray-8 {
  color: #7b7b7b; }

.font-gray-9 {
  color: #636363 #4d4d4d; }

.font-gray-10 {
  color: #353535; }

.border-gray-1 {
  border-color: #f7f7f7; }

.border-gray-2 {
  border-color: #e9e9e9; }

.border-gray-3 {
  border-color: #d9d9d9; }

.border-gray-4 {
  border-color: #c9c9c9; }

.border-gray-5 {
  border-color: #b8b8b8; }

.border-gray-6 {
  border-color: #a8a8a8; }

.border-gray-7 {
  border-color: #939393; }

.border-gray-8 {
  border-color: #7b7b7b; }

.border-gray-9 {
  border-color: #636363 #4d4d4d; }

.border-gray-10 {
  border-color: #353535; }

.bg-gray-1 {
  border-color: #f7f7f7; }

.bg-gray-2 {
  border-color: #e9e9e9; }

.bg-gray-3 {
  border-color: #d9d9d9; }

.bg-gray-4 {
  border-color: #c9c9c9; }

.bg-gray-5 {
  border-color: #b8b8b8; }

.bg-gray-6 {
  border-color: #a8a8a8; }

.bg-gray-7 {
  border-color: #939393; }

.bg-gray-8 {
  border-color: #7b7b7b; }

.bg-gray-9 {
  border-color: #636363 #4d4d4d; }

.bg-gray-10 {
  border-color: #353535; }

.letter-spacing-1 {
  letter-spacing: 0.1em; }

.letter-spacing-2 {
  letter-spacing: 0.2em; }

.border-w-1 {
  border-width: 1px; }

.border-w-2 {
  border-width: 2px; }

.border-w-3 {
  border-width: 3px; }

.border-w-4 {
  border-width: 4px; }

.border-w-5 {
  border-width: 5px; }

.primary-black--hover {
  background: #c57000;
  color: #fff; }
  .primary-black--hover:hover {
    background: #000;
    color: #fff; }

.primary-dark--hover {
  background: #c57000;
  color: #fff; }
  .primary-dark--hover:hover {
    background: gray;
    color: #fff; }

.primary-primary-outline--hover {
  background: #c57000;
  color: #fff; }
  .primary-primary-outline--hover:hover {
    border-color: #c57000;
    background: transparent; }

.primary-outline-primary--hover {
  background: transparent;
  border-color: #c57000; }
  .primary-outline-primary--hover:hover {
    color: #fff;
    background: #c57000; }

html {
  overflow-x: hidden; }

body {
  line-height: 1.7;

  width: 100%;
  font-weight: 400;
  font-size: 1rem; }
  body:before {
    position: absolute;
    content: "";
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
    background: rgba(0, 0, 0, 0.3);
    -webkit-transition: .3s all ease;
    -o-transition: .3s all ease;
    transition: .3s all ease;
    opacity: 0;
    visibility: hidden;
    z-index: 399; }
  body.offcanvas-menu {
    position: relative; }
    body.offcanvas-menu:before {
      opacity: 1;
      visibility: visible; }

::-moz-selection {
  background: #000;
  color: #fff; }

::selection {
  background: #000;
  color: #fff; }

a {
  -webkit-transition: .3s all ease;
  -o-transition: .3s all ease;
  transition: .3s all ease; }
  a:hover {
    text-decoration: none; }

h1, h2, h3, h4, h5,
.h1, .h2, .h3, .h4, .h5 {
  font-family: "Raleway", sans-serif;
  text-transform: uppercase; }

.border-2 {
  border-width: 2px; }

.text-black {
  color: #000 !important; }

.bg-black {
  background: #000 !important; }

.color-black-opacity-5 {
  color: rgba(0, 0, 0, 0.5); }

.color-white-opacity-5 {
  color: rgba(255, 255, 255, 0.5); }

.btn.btn-outline-white {
  border-color: #fff;
  background: transparent;
  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; }

.form-control {
  height: 55px;
  background: #fff !important;
  font-family: "Raleway", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; }
  .form-control:active, .form-control:focus {
    border-color: #c57000; }
  .form-control:hover, .form-control:active, .form-control:focus {
    -webkit-box-shadow: none !important;
    box-shadow: none !important; }

.site-section {
  padding: 2.5em 0; }
  @media (min-width: 768px) {
    .site-section {
      padding: 5em 0; } }
  .site-section.site-section-sm {
    padding: 4em 0; }

.site-footer {
  padding: 4em 0;
  background: #333333; }
  @media (min-width: 768px) {
    .site-footer {
      padding: 8em 0; } }
  .site-footer .border-top {
    border-top: 1px solid rgba(255, 255, 255, 0.1) !important; }
  .site-footer p {
    color: #fff; }
  .site-footer h2, .site-footer h3, .site-footer h4, .site-footer h5 {
    color: #fff; }
  .site-footer a {
    color: rgba(255, 255, 255, 0.5); }
    .site-footer a:hover {
      color: white; }
  .site-footer ul li {
    margin-bottom: 10px; }
  .site-footer .footer-heading {
    font-size: 16px;
    color: #fff; }

.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); }

.hover-bg-enlarge {
  overflow: hidden;
  position: relative; }
  @media (max-width: 991.98px) {
    .hover-bg-enlarge {
      height: auto !important; } }
  .hover-bg-enlarge > div {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
    -webkit-transition: .8s all ease-in-out;
    -o-transition: .8s all ease-in-out;
    transition: .8s all ease-in-out; }
  .hover-bg-enlarge:hover > div, .hover-bg-enlarge:focus > div, .hover-bg-enlarge:active > div {
    -webkit-transform: scale(1.2);
    -ms-transform: scale(1.2);
    transform: scale(1.2); }
  @media (max-width: 991.98px) {
    .hover-bg-enlarge .bg-image-md-height {
      height: 300px !important; } }

.bg-image {
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  background-attachment: fixed;}
  
  .bg-image.overlay {
    position: relative; }
    .bg-image.overlay:after {
      position: absolute;
      content: "";
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      z-index: 0;
      width: 100%;
      background: rgba(0, 0, 0, 0.7) !important; }
  .bg-image > .container {
    position: relative;
    z-index: 1; }

@media (max-width: 991.98px) {
  .img-md-fluid {
    max-width: 100%; } }

@media (max-width: 991.98px) {
  .display-1, .display-3 {
    font-size: 3rem; } }

.play-single-big {
  width: 90px;
  height: 90px;
  display: inline-block;
  border: 2px solid #fff;
  color: #fff !important;
  border-radius: 50%;
  position: relative;
  -webkit-transition: .3s all ease-in-out;
  -o-transition: .3s all ease-in-out;
  transition: .3s all ease-in-out; }
  .play-single-big > span {
    font-size: 50px;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-40%, -50%);
    -ms-transform: translate(-40%, -50%);
    transform: translate(-40%, -50%); }
  .play-single-big:hover {
    width: 120px;
    height: 120px; }

.overlap-to-top {
  margin-top: -150px; }

.ul-check {
  margin-bottom: 50px; }
  .ul-check li {
    position: relative;
    padding-left: 35px;
    margin-bottom: 15px;
    line-height: 1.5; }
    .ul-check li:before {
      left: 0;
      font-size: 20px;
      top: -.3rem;
      font-family: "icomoon";
      content: "\e5ca";
      position: absolute; }
  .ul-check.white li:before {
    color: #fff; }
  .ul-check.success li:before {
    color: #71bc42; }
  .ul-check.primary li:before {
    color: #c57000; }

.select-wrap, .wrap-icon {
  position: relative; }
  .select-wrap .icon, .wrap-icon .icon {
    position: absolute;
    right: 10px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    font-size: 22px; }
  .select-wrap select, .wrap-icon select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 100%; }

.top-bar {
  border-bottom: 1px solid #a9b9ce !important; }

/* Navbar */
.site-navbar {
  margin-bottom: 0px;
  z-index: 1999;
  position: relative;
  width: 100%;
  padding: 1rem; }
  @media (max-width: 991.98px) {
    .site-navbar {
      padding-top: 3rem;
      padding-bottom: 3rem; } }
  .site-navbar .toggle-button {
    position: absolute;
    right: 0px; }
  .site-navbar .site-logo {
    position: absolute;
    font-size: 2rem;
    text-transform: uppercase;
    font-weight: 900;
    line-height: 0;
    margin: 0;
    padding: 0;
    z-index: 3; }
    @media (max-width: 991.98px) {
      .site-navbar .site-logo {
        float: left;
        position: relative; } }
  .site-navbar .site-navigation.border-bottom {
    border-bottom: 1px solid white !important; }
  .site-navbar .site-navigation .site-menu {
    margin-bottom: 0; }
    .site-navbar .site-navigation .site-menu .active {
    color: #fff;
    border-radius: 7px;
    border: 1px solid #c57000;
    padding: 2px 10px;
    background-color: #c57000;
    }
    .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 {
        margin-left: 15px;
        margin-right: 15px;
        padding: 20px 0px;
        color: #fff !important;
        font-weight: 600;
        display: inline-block;
        text-decoration: none !important; }
        .site-navbar .site-navigation .site-menu > li > a:hover {
          color: #c57000; }
    .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 #c57000;
        -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);
        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 {
            display: none;
            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: #000 !important; }
          .site-navbar .site-navigation .site-menu .has-children .dropdown a.active {
            color: #c57000 !important;
            background: #f8f9fa; }
        .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: #f8f9fa;
              color: #ced4da; }
          .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: #f8f9fa;
            color: #ced4da; }
      .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: #c57000; }
      .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-mobile-menu {
  width: 300px;
  position: fixed;
  right: 0;
  z-index: 2000;
  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; }
  .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; }
        .site-mobile-menu .site-mobile-menu-header .site-mobile-menu-close span:hover {
          color: #ced4da; }
    .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;
    background-color: #fff;
    padding-top: 30px !important;
    -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; }
    .site-mobile-menu .site-nav-wrap a {
      padding: 10px 20px;
      display: block;
      position: relative;
      color: #212529; 
      background-color: #fff;
      padding-top: 20px;
    }
      .site-mobile-menu .site-nav-wrap a:hover {
        color: #c57000; }
    .site-mobile-menu .site-nav-wrap li {
      position: relative;
      display: block; }
      .site-mobile-menu .site-nav-wrap li .nav-link.active {
        color: #c57000; }
    .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: #111827; }
      .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;
      width: 100%; 
      margin-left: 0px !important;
    }
      .site-mobile-menu .site-nav-wrap > li > a {
        padding-left: 20px;
        font-size: 20px; }
      .site-mobile-menu .site-nav-wrap > li > ul {
        padding: 0;
        margin: 0;
        list-style: none; 
        visibility: visible;
      }
        .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: relative;
  z-index: 100;
  width: 100%; }
  .sticky-wrapper .site-navbar {
    -webkit-transition: .3s all ease;
    -o-transition: .3s all ease;
    transition: .3s all ease; }
  .sticky-wrapper .site-navbar {
    background: #1f404f; }
    .sticky-wrapper .site-navbar .site-logo a {
      color: #fff; }
    .sticky-wrapper .site-navbar ul li a {
      color: rgba(255, 255, 255, 0.7) !important; }
      .sticky-wrapper .site-navbar ul li a.active {
        color: #fff !important; }
  .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); }
    .sticky-wrapper.is-sticky .site-navbar .site-logo a {
      color: #c57000; }
  

    .swiper-button-next,
    .swiper-button-prev {
      color: #edeef1 !important;
    }

    .hero-item.hero-overlay::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: rgba(0, 0, 0, 0.6) !important; /* Oscurece la imagen un 40% */
      z-index: 1;
    }

    .hero-item.hero-overlay .container,
    .hero-item.hero-overlay h2,
    .hero-item.hero-overlay a {
      position: relative;
      z-index: 2; /* Texto por encima del overlay */
    }


    @media (max-width: 991.98px) {
      .sticky-wrapper .shrink {
        padding-top: 10px !important;
        padding-bottom: 10px !important; }
      
        .site-navbar {
          padding: 10px !important;
        } 
      }

/* Blocks */
.site-section-cover {
  position: relative;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center; }
  .site-section-cover,
  .site-section-cover .container {
    position: relative;
    z-index: 2; }
  .site-section-cover,
  .site-section-cover .container > .row {
    height: calc(100vh - 196px);
    min-height: 577px; }
    @media (max-width: 991.98px) {
      .site-section-cover,
      .site-section-cover .container > .row {
        height: calc(70vh - 196px);
        min-height: 400px; } }
  .site-section-cover.overlay {
    position: relative; }
    .site-section-cover.overlay:before {
      position: absolute;
      content: "";
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background: rgba(0, 0, 0, 0.3);
      z-index: 1; }
  .site-section-cover.inner-page,
  .site-section-cover.inner-page .container > .row {
    height: auto;
    min-height: auto;
    padding: 2em 0; }
  .site-section-cover.img-bg-section {
    background-size: cover;
    background-repeat: no-repeat; }
  .site-section-cover h1 {
    font-size: 4.5rem;
    color: #fff;
    line-height: 1; }
    @media (max-width: 991.98px) {
      .site-section-cover h1 {
        font-size: 2rem; } }
  .site-section-cover p {
    font-size: 18px;
    color: #fff; }

.site-section {
  padding: 7rem 0; }
  @media (max-width: 991.98px) {
    .site-section {
      padding: 3rem 0; } }




.block-feature-1-wrap {
  margin-bottom: 7rem; }
  .block-feature-1-wrap > .container > .row {
    margin-left: -18px;
    margin-right: -18px; }
    .block-feature-1-wrap > .container > .row > .col,
    .block-feature-1-wrap > .container > .row > [class*="col-"] {
      padding-right: 36px;
      padding-left: 36px; }

.block-feature-1 {
  background: #f2f2f2;
  padding: 30px 30px 30px 50px;
  position: relative; }
  .block-feature-1 h2 {
    font-size: 18px; }
  .block-feature-1 .icon {
    width: 80px;
    height: 80px;
    display: inline-block;
    border-radius: 50%;
    position: absolute;
    left: -40px;
    top: 50%;
    border: 4px solid #fff;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    text-align: center; }
    .block-feature-1 .icon > span {
      font-size: 40px;
      color: #fff;
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%); }

.block-img-video-1-wrap .block-img-video-1 {
  position: relative;
  margin-top: -10rem; }
  @media (max-width: 991.98px) {
    .block-img-video-1-wrap .block-img-video-1 {
      margin-top: -6rem; } }

.block-img-video-1 > a {
  display: block;
  position: relative;
  cursor: pointer; }
  .block-img-video-1 > a .icon {
    position: absolute;
    width: 80px;
    height: 80px;
    border-radius: 50%;
    display: inline-block;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    background: #fff;
    -webkit-transition: .3s all ease-in-out;
    -o-transition: .3s all ease-in-out;
    transition: .3s all ease-in-out; }
    .block-img-video-1 > a .icon > span {
      position: absolute;
      top: 50%;
      font-size: .8rem;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
      color: #000; }
  .block-img-video-1 > a:hover .icon {
    background: #fff;
    width: 90px;
    height: 90px; }

.block-counter-1 {
  text-align: center; }
  .block-counter-1 .number,
  .block-counter-1 .caption {
    display: block;
    line-height: 1; }
  .block-counter-1 .number {
    color: #c57000;
    font-size: 4rem;
    position: relative;
    padding-bottom: 20px;
    margin-bottom: 20px; }
    @media (max-width: 991.98px) {
      .block-counter-1 .number {
        font-size: 2rem; } }
    .block-counter-1 .number:after {
      position: absolute;
      content: "";
      width: 50px;
      height: 3px;
      left: 50%;
      bottom: 0;
      -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
      transform: translateX(-50%);
      background: rgba(52, 58, 64, 0.3); }
  .block-counter-1 .caption {
    font-size: 14px;
    letter-spacing: .05em; }

.block-team-member-1 {
  padding: 30px;
  border: 1px solid #e9ecef;
  background: #fff;
  position: relative;
  top: 0;
  -webkit-transition: .15s all ease-in-out;
  -o-transition: .15s all ease-in-out;
  transition: .15s all ease-in-out; }
  .block-team-member-1 figure img {
    max-width: 130px !important;
    margin-left: auto;
    margin-right: auto; }

.block-social-1 > a {
  display: inline-block;
  width: 30px;
  height: 30px;
  position: relative; }
  .block-social-1 > a span {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%); }

.block-testimony-1 {
  padding: 20px;
  position: relative; }
  .block-testimony-1 blockquote {
    background: #fff;
    padding: 30px;
    font-style: italic;
    font-size: 18px;
    color: #000;
    font-family: 'Georgia', Times, serif;
    position: relative; }
  .block-testimony-1 figure {
    position: relative;
    padding-top: 20px; }
    .block-testimony-1 figure:before {
      position: absolute;
      content: "";
      width: 50px;
      left: 50%;
      display: none;
      top: 0;
      -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
      transform: translateX(-50%);
      background: #c57000;
      height: 2px; }
    .block-testimony-1 figure img {
      max-width: 60px; }
  .block-testimony-1 h3 {
    font-size: 18px; }

.block-13 .owl-nav {
  display: none; }

.block-13 .owl-dots {
  text-align: center;
  position: relative;
  bottom: -30px; }
  .block-13 .owl-dots .owl-dot {
    display: inline-block; }
    .block-13 .owl-dots .owl-dot span {
      display: inline-block;
      width: 7px;
      height: 7px;
      border-radius: 4px;
      background: #cccccc;
      -webkit-transition: 0.3s all cubic-bezier(0.32, 0.71, 0.53, 0.53);
      -o-transition: 0.3s all cubic-bezier(0.32, 0.71, 0.53, 0.53);
      transition: 0.3s all cubic-bezier(0.32, 0.71, 0.53, 0.53);
      margin: 3px; }
    .block-13 .owl-dots .owl-dot.active span {
      background: #c57000; }

.post-entry {
  background: #fff;
  padding: 30px;
  border: 1px solid #e6e6e6;
  border-radius: 4px;
  -webkit-transition: .3s all ease;
  -o-transition: .3s all ease;
  transition: .3s all ease; }
  .post-entry:hover {
    -webkit-box-shadow: 0 5px 15px -5px rgba(0, 0, 0, 0.1);
    box-shadow: 0 5px 15px -5px rgba(0, 0, 0, 0.1); }
  .post-entry h2 {
    font-size: 20px; }
  .post-entry *:last-child {
    margin-bottom: 0; }

.by {
  color: #000;
  border-bottom: 1px dotted #ccc; }
  .by:hover {
    border-bottom: 1px dotted #c57000; }

.form-control {
  border: none;
  border: 1px solid #e6e6e6; }
  .form-control:hover, .form-control:active, .form-control:focus {
    border: 1px solid #666666; }

.sidebar-box {
  margin-bottom: 30px;
  padding: 25px;
  font-size: 15px;
  width: 100%;
  float: left;
  background: #fff; }
  .sidebar-box *:last-child {
    margin-bottom: 0; }
  .sidebar-box h3 {
    font-size: 18px;
    margin-bottom: 15px; }

.categories li,
.sidelink li {
  position: relative;
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: 1px dotted #dee2e6;
  list-style: none; }
  .categories li:last-child,
  .sidelink li:last-child {
    margin-bottom: 0;
    border-bottom: none;
    padding-bottom: 0; }
  .categories li a,
  .sidelink li a {
    display: block; }
    .categories li a span,
    .sidelink li a span {
      position: absolute;
      right: 0;
      top: 0;
      color: #ccc; }
  .categories li.active a,
  .sidelink li.active a {
    color: #000;
    font-style: italic; }

.comment-form-wrap {
  clear: both; }

.comment-list {
  padding: 0;
  margin: 0; }
  .comment-list .children {
    padding: 50px 0 0 40px;
    margin: 0;
    float: left;
    width: 100%; }
  .comment-list li {
    padding: 0;
    margin: 0 0 30px 0;
    float: left;
    width: 100%;
    clear: both;
    list-style: none; }
    .comment-list li .vcard {
      width: 80px;
      float: left; }
      .comment-list li .vcard img {
        width: 50px;
        border-radius: 50%; }
    .comment-list li .comment-body {
      float: right;
      width: calc(100% - 80px); }
      .comment-list li .comment-body h3 {
        font-size: 20px;
        color: #000; }
      .comment-list li .comment-body .meta {
        text-transform: uppercase;
        font-size: 13px;
        letter-spacing: .1em;
        color: #ccc; }
      .comment-list li .comment-body .reply {
        padding: 5px 10px;
        background: #e6e6e6;
        color: #000;
        text-transform: uppercase;
        font-size: 14px; }
        .comment-list li .comment-body .reply:hover {
          color: #000;
          background: #e3e3e3; }

.search-form {
  background: #f7f7f7;
  padding: 10px; }
  .search-form .form-group {
    position: relative; }
    .search-form .form-group input {
      padding-right: 50px; }
  .search-form .icon {
    position: absolute;
    top: 50%;
    right: 20px;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%); }

.post-meta {
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: .2em; }
  .post-meta a {
    color: #fff;
    border-bottom: 1px solid rgba(255, 255, 255, 0.5); }

.slide {
  height: 100vh;
  min-height: 900px;
  background-size: cover; }

.btn-md {
  padding: 8px 20px; }

.border-w-2 {
  border-width: 2px !important; }

.block__73694 .block__73422 {
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }
  @media (max-width: 991.98px) {
    .block__73694 .block__73422 {
      height: 400px; } }

@media (max-width: 991.98px) {
  .slide-one-item .owl-nav {
    display: none; } }

.slide-one-item .owl-nav .owl-prev,
.slide-one-item .owl-nav .owl-next {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  font-size: 2rem;
  color: rgba(255, 255, 255, 0.4); }
  .slide-one-item .owl-nav .owl-prev:hover,
  .slide-one-item .owl-nav .owl-next:hover {
    color: #fff; }

.slide-one-item .owl-nav .owl-prev {
  left: 20px; }

.slide-one-item .owl-nav .owl-next {
  right: 20px; }

.slide-one-item .owl-dots {
  position: absolute;
  bottom: 20px;
  width: 100%;
  text-align: center;
  z-index: 2; }
  .slide-one-item .owl-dots .owl-dot {
    display: inline-block; }
    .slide-one-item .owl-dots .owl-dot > span {
      -webkit-transition: 0.3s all cubic-bezier(0.32, 0.71, 0.53, 0.53);
      -o-transition: 0.3s all cubic-bezier(0.32, 0.71, 0.53, 0.53);
      transition: 0.3s all cubic-bezier(0.32, 0.71, 0.53, 0.53);
      display: inline-block;
      width: 7px;
      height: 7px;
      border-radius: 4px;
      background: rgba(255, 255, 255, 0.4);
      margin: 3px; }
    .slide-one-item .owl-dots .owl-dot.active > span {
      width: 20px;
      background: #fff; }

.top-bar {
  padding: .5rem 0;
  background: #1f2937; }
  .top-bar a {
    color: #fff; }

#faq-section h3 {
  text-transform: none !important;
  font-size: 20px !important; }

.block__35630 {
  padding: 30px;
  border-radius: 4px;
  -webkit-transition: .3s all ease-in-out;
  -o-transition: .3s all ease-in-out;
  transition: .3s all ease-in-out; }
  .block__35630 .icon > span {
    font-size: 3rem;
    color: #c57000; }
  .block__35630 h3 {
    color: #000;
    font-size: 1.4rem; }
  .block__35630:hover {
    background-color: #fff;
    border-color: #c57000; }

.footer-suscribe-form .form-control {
  color: #000; }
  .footer-suscribe-form .form-control:hover, .footer-suscribe-form .form-control:active, .footer-suscribe-form .form-control:focus {
    color: #000 !important; }

.footer-suscribe-form .btn {
  color: #fff; }

.pricing {
  background: #fff;
  padding: 30px; }
  .pricing .price > span {
    color: #cccccc; }
    .pricing .price > span > span {
      font-size: 3rem;
      color: #c57000; }
  .pricing ul li {
    margin-bottom: 20px; }

/*PRELOADING------------ */
#overlayer {
  width: 100%;
  height: 100%;
  position: fixed;
  z-index: 7100;
  background: #fff;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0; }

.loader {
  z-index: 7700;
  position: fixed;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%); }

.ftco-blocks-cover-1 .ftco-service-image-1 {
  position: static; }

.ftco-cover-1 {
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  position: relative;
  overflow: hidden; }
  .ftco-cover-1, .ftco-cover-1 .container > .row {
    height: 100vh;
    min-height: 600px; }
  .ftco-cover-1 > .container {
    position: relative; }
  .ftco-cover-1.overlay {
    position: relative; }
    .ftco-cover-1.overlay:before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
   
    
      content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.70) !important; /* filtro oscuro */
  z-index: 1;}





      /* 1. Estilo base (Para MÓVILES) */
.ftco-cover-1.overlay h1 {
  color: #fff;
  font-size: 1.8rem; /* Aprox 28px - Tamaño seguro para celular */
  line-height: 1.2;
}

/* 2. Estilo para PC y Tablets (Pantallas grandes) */
@media (min-width: 768px) {
  .ftco-cover-1.overlay h1 {
    font-size: 2.5rem !important; /* Aprox 64px - Grande e impactante */
  }
}
    .ftco-cover-1.overlay p {
      color: #fff; }
      .ftco-cover-1.overlay p a {
        color: #fff;
        text-decoration: underline;
        font-weight: 700; }
        .ftco-cover-1.overlay p a:hover {
          text-decoration: none; }
    .ftco-cover-1.overlay form .form-control,
    .ftco-cover-1.overlay form .btn {
      height: 55px;
      border-radius: 4px; }
    .ftco-cover-1.overlay form .form-control {
      padding-left: 20px;
      padding-right: 20px;
      border-color: transparent;
      margin-right: 10px; }
    .ftco-cover-1.overlay form .btn {
      border-color: transparent; }

.ftco-service-image-1 .service img {
  margin-bottom: 30px;
  position: relative;
  top: 0;
  -webkit-transition: .3s all ease-in-out;
  -o-transition: .3s all ease-in-out;
  transition: .3s all ease-in-out; }

.ftco-service-image-1 .service h3 {
  font-size: 1.4rem; }

.ftco-service-image-1 .service p {
  color: #999999; }

@media (min-width: 768px) {
  .ftco-service-image-1 .service:hover img {
    top: -5px; } }

.owl-all .owl-dots {
  text-align: center;
  margin-top: 30px; }
  .owl-all .owl-dots .owl-dot {
    display: inline-block; }
    .owl-all .owl-dots .owl-dot > span {
      display: inline-block;
      width: 7px;
      height: 7px;
      background: #ccc;
      margin: 5px;
      border-radius: 50%; }
    .owl-all .owl-dots .owl-dot.active > span {
      background: #c57000; }

@media (min-width: 992px) {
  .owl-all .owl-nav,
  .owl-all .owl-dots {
    display: none; }
  .owl-all .owl-stage {
    -webkit-transform: none !important;
    -ms-transform: none !important;
    transform: none !important;
    width: 120% !important;
    padding-top: 10px; }
  .owl-all .owl-carousel .owl-stage-outer {
    width: 100%;
    overflow: visible; }
  .owl-all .owl-stage-outer > .owl-stage > .owl-item {
    display: -ms-inline-grid;
    display: inline-grid;
    float: none;
    margin-bottom: 30px; } }

.blog-entry .blog-thumbnail {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 150px;
  flex: 0 0 150px;
  margin-right: 20px; }
  .blog-entry .blog-thumbnail img {
    border-radius: 4px; }

.blog-entry .blog-excerpt a {
  color: #000; }
  .blog-entry .blog-excerpt a:hover {
    color: #c57000; }

.bg-light {
  background-color: #f6f5f5 !important; }




  /* ====== CAMIÓN ====== */
.truck-wrap{
  position:relative; max-width:940px;
  filter: drop-shadow(0 18px 38px rgba(11,62,116,.18));
  margin-left:auto; margin-right:auto;
}
.truck-cab{
  position:absolute; left:0; bottom:28px; width:140px; height:110px;
  background:#df7a06; border-radius:14px 18px 8px 8px;
}
.truck-window{
  position:absolute; top:14px; left:18px; width:70px; height:40px;
  background:#edeef1 !important; border-radius:6px 10px 6px 6px;
}
.truck-bumper{
  position:absolute; right:-14px; bottom:0; width:22px; height:16px;
  background:#fff; border-radius:0 6px 6px 0;
}
.truck-trailer{
  margin-left:120px; border-radius:10px; /* recto, estilo caja */
  border:1px solid rgba(0,0,0,.06);
  background-image: linear-gradient(90deg, rgba(255,255,255,.06) 0 0);
    background-color: #1f404f !important;

}
.truck-wheels{
  position:absolute; left:80px; right:40px; bottom:-12px; display:flex; gap:22px;
  align-items:center;
}
.truck-wheels span{
  width:44px; height:44px; background:#111827; border-radius:50%;
  box-shadow: inset 0 0 0 6px #374151, inset 0 0 0 10px #1f2937;
}
.truck-wheels .hide-mobile{ display:none; }
@media (min-width:640px){
  .truck-wheels .hide-mobile{ display:inline-block; }
}

/* Nervaduras sutiles del tráiler */
.truck-trailer::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background: repeating-linear-gradient(
    90deg, rgba(255,255,255,.06) 0 1px, transparent 1px 20px
  );
  border-radius:10px;
}




.ftco-cover-1 {
  position: relative;
  background-size: cover;
  background-position: center;
}
.ftco-cover-1::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.9) !important; /* filtro oscuro */
  z-index: 1;
}
.ftco-cover-1 .container {
  position: relative;
  z-index: 2; /* que el texto quede encima */
}

/* Compatibilidad: Swiper v5/6 (.swiper-container) y v7+ (.swiper) */
.swiper, .swiper-container { width: 100%; height: 85vh; min-height: 420px; }
@media (max-width: 992px){
  .swiper, .swiper-container { height: 64vh; min-height: 360px; }
}
@media (max-width: 576px){
  .swiper, .swiper-container { height: 56vh; min-height: 320px; }
}

/* Que el wrapper no se “achate” por el contenido */
.swiper-wrapper { height: 100%; }

/* Cada slide ocupa todo y usa Flex para centrar */
.swiper-slide {
  position: relative;
  height: 100%;
  display: flex;             /* evita que el contenido estire el slide */
  align-items: stretch;
}

/* Capa de fondo del slide */
.ftco-cover-1 {
  position: relative;
  flex: 1 1 auto;
  height: 100% !important;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  overflow: hidden;          /* por si algo se sale */
}

/* Filtro SOLO a la imagen de fondo (no al texto) */
.ftco-cover-1::before{
  content:"";
  position:absolute; inset:0;
  background: rgba(0,0,0,.45);     /* ajusta opacidad del filtro */
  z-index: 1;
}
/* Texto por encima del filtro */
.ftco-cover-1 .container { position: relative; z-index: 2; }

/* Navegación por encima siempre */
.swiper-button-next, .swiper-button-prev, .swiper-pagination { z-index: 5; }

/* Si usas efecto fade, evita saltos al cambiar de slide */
.swiper-fade .swiper-slide { pointer-events: none; }       /* Swiper lo maneja */
.swiper-fade .swiper-slide-active { pointer-events: auto; }


/* Tarjetas consistentes y con hover */
.ftco-service-image-1 .service{
  padding-bottom: 8px;
}
.ftco-service-image-1 .service .service-img{
  border-radius: 14px;
  transform: translateZ(0);
  transition: transform .35s ease, box-shadow .35s ease, filter .35s ease;
  box-shadow: 0 10px 24px rgba(11,62,116,.12);
}
.ftco-service-image-1 .service:hover .service-img{
  transform: translateY(-4px);
  box-shadow: 0 16px 36px rgba(11,62,116,.18);
  filter: saturate(1.05) contrast(1.02);
}
.ftco-service-image-1 .service h3{
  margin-top: 14px;
  margin-bottom: 6px;
  font-weight: 700;
  font-size: 1.15rem;
  color: #0b3e74;
}
.ftco-service-image-1 .service p{
  color: #5f6b7a;
  font-size: .95rem;
  line-height: 1.5rem;
  margin-bottom: 0;
}

/* Puntos del carrusel */
.owl-all .owl-dots .owl-dot span{
  width: 10px; height: 10px; background:#cfd8e3; margin: 4px 6px; border-radius: 999px;
  transition: all .25s ease;
}
.owl-all .owl-dots .owl-dot.active span{ background:#0b3e74; transform: scale(1.15); }

/* Flechas */
.owl-all .owl-nav button{
  position: absolute; top: 40%; transform: translateY(-50%);
  width: 42px; height: 42px; border-radius: 999px; background: #0b3e74 !important;
  color: #fff !important; box-shadow: 0 10px 24px rgba(11,62,116,.18);
}
.owl-all .owl-nav .owl-prev{ left: -12px; }
.owl-all .owl-nav .owl-next{ right: -12px; }
@media (max-width: 768px){
  .owl-all .owl-nav .owl-prev{ left: -6px; }
  .owl-all .owl-nav .owl-next{ right: -6px; }
}



/* ===== Footer tipo copyright (oscuro, integrado) ===== */
.copyright-footer {
  padding: 14px 16px;
  text-align: center;
  font-size: 0.9rem;
  color: #edeef1;
  background: #1f2937;
  border-top: 2px solid #edeef1;
}
.copyright-footer p { margin: 0; }
.copyright-footer a {
  font-weight: 700;
  color: #edeef1;
  text-decoration: underline;
}

/* ===== Tema de la sección ===== */
.fancy-why{
  position: relative;
  background:
    radial-gradient(1200px 400px at 15% -10%, rgba(10,52,97,.08), transparent 60%),
    radial-gradient(800px 300px at 90% 10%, rgba(31,64,79,.06), transparent 60%),
    #f7fafc;
  overflow: hidden;
}
.fancy-why .eyebrow{
  letter-spacing: .18em;
  text-transform: uppercase;
  font-weight: 700;
  color: #c57000;
  opacity: .8;
  font-size: 14px;
}
.fancy-why .lead.subtle{ color:#111827;
  font-weight: 500;
}

/* ===== Flipcards bonitas ===== */
.flipcard{ perspective: 1100px; cursor: pointer; }
.flipcard.fancy .flipcard-inner{
  position: relative; width: 100%;
  transform-style: preserve-3d;
  transition: transform .7s cubic-bezier(.2,.6,.2,1);
}
@media (max-width: 575.98px){ .flipcard.fancy .flipcard-inner{ height: 280px; } }

.flipcard.fancy .flipcard-front,
.flipcard.fancy .flipcard-back{
  position: absolute; inset: 0; border-radius: 18px; padding: 28px;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  backface-visibility: hidden;
}

/* Borde degradado + glass */
.flipcard.fancy .flipcard-front{
  background: rgba(255,255,255,.9);
  box-shadow: 0 20px 40px rgba(11,62,116,.12);
  position: relative; isolation: isolate;
}
.flipcard.fancy .flipcard-front::before{
  content:""; position:absolute; inset:-1px; border-radius: 20px; z-index:-1;
  background: linear-gradient(135deg, #0b3e74, #1f404f, #a85f00);
  -webkit-mask: 
    linear-gradient(#000 0 0) content-box, 
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude;
  padding:1px;
}

/* Dorso */
.flipcard.fancy .flipcard-back{
  background: linear-gradient(135deg, #1f2937,#1f404f);
  color:#fff;
  box-shadow: 0 20px 40px rgba(11,62,116,.2);
  transform: rotateY(180deg);
}

/* Interacción */
.flipcard.fancy:hover .flipcard-inner,
.flipcard.fancy:focus-within .flipcard-inner,
.flipcard.fancy.flipped .flipcard-inner{ transform: rotateY(180deg); }
.flipcard.fancy:hover .flipcard-front{ transform: perspective(1100px) rotateX(1.2deg) rotateY(-1.2deg); }

/* Icono con anillo animado */
.badge-icon{
  --size: 72px;
  width: var(--size); height: var(--size); border-radius: 999px;
  display:grid; place-items:center; color:#1f404f; position: relative;
  background: rgba(31,64,79,.06);
}
.badge-icon::after{
  content:""; position:absolute; inset:-2px; border-radius:inherit;
  background: conic-gradient(from 0deg, #a85f00, #1f404f, #1f404f, #a85f00);
  -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 6px), #000 calc(100% - 6px));
          mask: radial-gradient(farthest-side, transparent calc(100% - 6px), #000 calc(100% - 6px));
  animation: spin 6s linear infinite;
  opacity:.6;
}
@keyframes spin { to { transform: rotate(360deg); } }

.flipcard.fancy h3{ margin-top:14px; font-weight:800; color:#1f404f; }
.flipcard.fancy .muted{ color:#6b7280; }
.flipcard.fancy .tiny{ color:#e5e7eb; line-height:1.5; }
.flipcard.fancy .tiny li{ position: relative; padding-left:18px; margin: 2px 0; }
.flipcard.fancy .tiny li::before{
  content:""; position:absolute; left:0; top:.55em; width:8px; height:8px; border-radius:2px; background:#ffd28a;
}

/* Botón suave en dorso */
.btn.btn-soft{
  background:#fff; color:#1f404f; border-radius:10px; font-weight:700;
  padding:.55rem 1rem; box-shadow:0 10px 24px rgba(0,0,0,.18);
}
.btn.btn-soft:hover{ color:#1f404f; }

/* Accesibilidad: reduce motion */
@media (prefers-reduced-motion: reduce){
  .flipcard.fancy .flipcard-inner{ transition:none; }
  .badge-icon::after{ animation:none; }
}


/* ===== Paleta BIC LINES ===== */
:root{
  --bic-orange:#df7a06;
  --bic-brown:#a85f00;
  --bic-dark:#1f404f;
  --bic-ink:#1f2937;
  --bic-light:#edeef1;
  --bic-blue1:#a9b9ce;
  --bic-blue2:#6486ae;
}

/* ===== Footer fixes & polish ===== */
.zw-footer{background:#1f404f;padding:56px 0 0;}
.zw-footer h4,.zw-footer p,.zw-footer li,.zw-footer a{
  background:transparent!important;box-shadow:none!important;
}


/* Títulos */
.footer-title{
  font-weight:800;font-size:1.1rem;margin-bottom:.75rem;
  color:var(--bic-ink);text-transform:uppercase;letter-spacing:.04em;
}

/* Listas */
.footer-list{list-style:none;padding:0;margin:0}
.footer-list li{
  display:flex;gap:.6rem;align-items:flex-start;margin:.45rem 0;
  color:#fff;line-height:1.5
}
.footer-list i{color:var(--bic-ink);line-height:1.4;margin-top:.2rem;min-width:18px}

.footer-links{list-style:none;padding:0;margin:0}
.footer-links li{margin:.35rem 0}
.footer-links a{color:#fff;text-decoration:none}
.footer-links a:hover{color:var(--bic-dark);text-decoration:underline}

/* Redes (sin barras verticales) */
.footer-social{margin-top:.25rem}
.footer-social .list-inline-item{margin-right:.4rem;border:none!important;position:relative}
.footer-social .list-inline-item + .list-inline-item::before{content:none!important}
.footer-social a{
  display:inline-grid;place-items:center;width:40px;height:40px;border-radius:12px;
  background:var(--bic-light);color:var(--bic-ink);
  transition:transform .15s ease,background .2s ease,color .2s ease
}
.footer-social a:hover{transform:translateY(-2px);background:var(--bic-dark);color:#fff}

/* Mini formulario: botón debajo SIEMPRE */
.footer-mini-form{display:flex;flex-direction:column;gap:.6rem;max-width:320px}
.footer-input{
  flex:1;border:1px solid var(--bic-blue1);border-radius:10px;padding:.6rem .8rem;
  background:#fff;outline:none;color:var(--bic-ink)
}
.footer-input::placeholder{color:#9ca3af}
.footer-input:focus{border-color:var(--bic-blue2);box-shadow:0 0 0 3px rgba(100,134,174,.22)}

/* Botón con tu paleta */
.btn-primary{
  border:0;border-radius:12px;padding:.65rem 1rem;font-weight:800;color:#fff;
  background-color: #df7a06;
  box-shadow:0 10px 20px rgba(31,64,79,.25);
  transition:transform .15s ease,box-shadow .2s ease,background .2s ease
}
.btn-primary:hover{background:var(--bic-brown);transform:translateY(-1px)}
.btn-primary:active{transform:translateY(0)}

/* Barra inferior */
.zw-footer__bottom{
  margin-top:32px;border-top:1px solid rgba(0,0,0,.08);padding:16px 0;
  color:#fff;text-align:center;background:#1f2937
}
.zw-footer__bottom a{color:#fff;text-decoration:none; font-weight: 600}
.zw-footer__bottom a:hover{text-decoration:underline}

/* Responsive */
@media (max-width:991.98px){
  .zw-footer{padding-top:40px}
  .btn-primary {
  padding-top: 40px;


  }

  .btn-primary a {
    font-size: 10px;
  }

  .section-eyebrow {
  padding-top: 40px;
  padding-bottom: 0px ;

}

.fancy-why {
  display: flex;
}

}


/* Avatar de bandera */
.flag-avatar{
  width:28px;height:28px;object-fit:cover;border:1px solid rgba(0,0,0,.08);
  box-shadow:0 1px 2px rgba(0,0,0,.05);
}

/* Modal simple */
.mini-modal{position:fixed;inset:0;display:none;z-index:1050;}
.mini-modal.open{display:block;}
.mini-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.45);}
.mini-modal__dialog{
  position:relative;max-width:520px;margin:10vh auto;background:#fff;border-radius:12px;
  padding:16px 18px;box-shadow:0 20px 60px rgba(0,0,0,.25);
}
.mini-modal__close{
  position:absolute;right:10px;top:8px;border:0;background:transparent;font-size:24px;line-height:1;opacity:.6;
}
.mini-modal__close:hover{opacity:1}
.mini-modal__header h5{color:#1f404f;font-weight:800;}
.mini-modal__footer .btn{min-width:180px;}


/* Bloqueo de ancho / anti-desfase */
html, body { max-width: 100%; overflow-x: hidden; }

/* Evita que alguna sección fuerce ancho mayor al viewport */
header, main, footer, section, nav, .swiper, .container, .max-w-7xl {
  max-width: 100vw;
}

/* Imágenes y medios nunca exceden el ancho */
img, svg, video, canvas { max-width: 100%; height: auto; }

/* Si en algún sitio quedó w-screen, fuerzo 100% en móvil */
@media (max-width: 768px){
  .w-screen { width: 100% !important; }
}

/* Botón hamburguesa o el logo no deben sacar el layout */
.lb-logo { will-change: transform; }


/* 1) El header siempre por encima */
.top-bar,
.site-navbar {
  position: sticky;   /* o fixed si ya lo usas */
  top: 0;
  z-index: 5000;      /* bien alto, por encima de Leaflet */
}

/* 2) Asegura que el mapa no cree un stacking mayor */
#map-puertos,
#map-puertos.leaflet-container,
#map-puertos .leaflet-pane,
#map-puertos .leaflet-top,
#map-puertos .leaflet-bottom {
  z-index: 1;
}

/* 3) Cuando navegas por ancla (#puertos-section), que no se esconda bajo el header */
#puertos-section {
  scroll-margin-top: 90px;  /* ajusta a la altura real del header */
}

/* (Opcional) Si mantienes controles arriba-izq., sepáralos del borde */
#map-puertos .leaflet-top.leaflet-left {
  margin-top: 64px;
  margin-left: 12px;
}


 .section-eyebrow{
    text-transform:uppercase; letter-spacing:.12em; font-weight:600;
    color:#939393; margin-bottom:.75rem; font-size:16px !important;
  }
  @media (min-width:768px){ .section-eyebrow{ font-size:.85rem; } }

  .section-title{
    color:#1f404f; font-weight:600; line-height:1.15; margin-bottom:1.25rem;
    font-size:32px; /* text-3xl */
  }
  @media (min-width:768px){ .section-title{ font-size:2.25rem; } } /* md:text-4xl */

  .section-lead{
    color:#111827; line-height:1.5; margin:0 auto 0;
    font-size: 18px; 
  }
  @media (min-width:768px){ .section-lead{ font-size:18px; } }




.card-bic:hover{
  background: #1f404f !important;
  transform: translateY(-4px);
  box-shadow:0 10px 24px rgba(0,0,0,.18);
}



   /* Dropdown container */
            .site-navigation .has-children { position: relative; }

            /* Dropdown panel */
            .site-navigation .has-children > .dropdown {
            position: absolute;
            right: 0; top: 100%;
            min-width: 240px;
            background: #ffffff;
            border: 1px solid #e7e9ee;
            border-radius: 12px;
            box-shadow: 0 10px 30px rgba(0,0,0,.08);
            padding: 8px;
            display: none;
            z-index: 1000;
            }

            /* Internal items */
            .site-navigation .dropdown > li > a {
            display: block;
            padding: 10px 12px;
            border-radius: 8px;
            color: #1f404f;
            font-weight: 600;
            font-size: 0.95rem;
            white-space: nowrap;
            }
            .site-navigation .dropdown > li > a:hover {
            background: #edeef1;
            color: #1f404f;
            }

            /* Show on desktop hover */
            @media (min-width: 992px) {
            .site-navigation .has-children:hover > .dropdown { display: block; }
            }

            /* Ensure dropdown is above sticky navbar */
            header.site-navbar { z-index: 50; }
            .site-navigation .has-children > .dropdown { z-index: 60; }


            
        .swiper-pagination-bullet {
          background: #fff;
          opacity: 1;

        }

        .swiper-pagination-bullet-active {
          background: #c57000;
        }

        /* Suaviza la aparición del contenido */
        .swiper-slide .ftco-cover-1 {
          transition: transform 1.2s ease, opacity 1.2s ease;
        }

        .swiper-slide-active .ftco-cover-1 {
          transform: scale(1.05); /* Zoom suave en la imagen */
          opacity: 1;
        }

        .swiper-slide-next .ftco-cover-1,
        .swiper-slide-prev .ftco-cover-1 {
          transform: scale(1);
          opacity: 0.9;
        }


        
  /* Botón marca reutilizable */
  .btn-brand{
    background:#e38b06; color:#fff; font-weight:600;
  }
  .btn-brand:hover{ background:#e1cfba; color:#fff; }

  /* Product cards */
  .product-card{
    position:relative; background:#fff;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease, background-color .25s ease;
    box-shadow:0 6px 18px rgba(0,0,0,.04);
    outline:none;
    color: #1f404f;
  }
  .product-card:hover{
    transform: translateY(-2px);
    box-shadow:0 12px 28px rgba(0,0,0,.07);
    border-color:#e4e6ea;
    background-color:#1f404f; /* realce suave en hover */
    color: #fff;
  }
  .product-card:focus-visible{
    box-shadow:0 0 0 3px rgba(227,139,6,.35), 0 10px 24px rgba(0,0,0,.08);
  }

  .product-card__head{ display:flex; align-items:center; gap:.75rem; }
  .product-card__title{ font-weight:700; font-size:1.05rem; margin:0;  }
  .product-card__text{ font-size:.9rem; margin-top:.5rem; }
  

  /* CTA “Ver más” en naranja marca */
  .product-card__cta{
    display:inline-flex; align-items:center; gap:.4rem; font-weight:700; margin-top:.5rem;
    color:#e38b06; text-decoration:none;
    transition: color .2s ease, transform .2s ease;
  }
  .product-card:hover .product-card__cta{ transform: translateX(1px); }
  .product-card__cta:hover{ color:#f6e6d0; text-decoration:underline; }

  /* Badge de icono */
 
  .group:hover .icon-badge{ transform: translateY(-1px); box-shadow:0 6px 16px rgba(255, 255, 255, 0.313); }
  .icon-badge i{ font-size:18px; } 

  /* Pills LCL */

   .pill{
        border:1px solid #dfe3e8;background:#edeef1;color:#1f404f;border-radius:999px;
        padding:.45rem .9rem;font-weight:600;font-size:.875rem;
        transition:background .2s ease,transform .1s ease,border-color .2s;
    }
    .pill:hover{background:#e6e7eb}
    .pill[aria-pressed="true"]{background:#1f404f;color:#fff;border-color:#1f404f}
    #map-puertos .leaflet-popup-content-wrapper{border-radius:12px}
    #map-puertos .leaflet-popup-content{margin:10px 14px}