/*
* ===================
* SKIN 
* ===================
*
* Insert into this file all the CSS of your custom design and load this file into every page you need.
*/

@import url('https://fonts.googleapis.com/css?family=Montserrat:500,600,700,800|Bebas+Neue');

/*
-------------------------------------------------------------------
COLORS
-------------------------------------------------------------------
*/

.lan-menu .dropdown > ul > li:not(:hover) > a, .media-box:not(.media-box-down) h2, .media-box h3, nav.light .dropdown > ul > li:not(:hover) > a, .light .breadcrumb li:not(:last-child) a, .menu-cnt > ul > li > ul li > a, .lan-menu .dropdown > ul > li > a, body > nav:not(.menu-side).scroll-menu .menu-cnt > ul > li > a, body > nav:not(.menu-side).scroll-menu .lan-menu > li > a, .controls-out.arrows-left .glide__arrow:hover, .menu-inner:not(.menu-inner-vertical) .dropdown ul > li > a {
    color: #FFF !important;
}

body, header h2, h1, h2, h3, h4, h5, h6, .input-text, .input-select, .input-textarea, .icon-list span, .icon-list span a, .social-links a i, .glide__arrow, .search-bar input[type=submit], .menu-inner li > a, .accordion-list > li > a, .cnt-box-blog-side .icon-list a, .cnt-box-blog-top .icon-list a, .list-nav a, .media-box-down .caption h2, .media-box-down .caption p {
    color: #161925;
}

div.cnt-box-info .cnt-info, footer, .cnt-box-testimonials-bubble > p, [class*=box-lightbox].light, .datepicker-panel > ul > li, .datepicker-panel > ul[data-view="week"] > li, .datepicker-panel > ul[data-view="week"] > li:hover, .datepicker-top-left, .datepicker-top-right, .datepicker-panel > ul > li.disabled, .datepicker-panel > ul > li.disabled:hover, .cnt-box-blog-side .blog-date span:last-child, .cnt-box-blog-top .blog-date span:last-child, .section-home-alpins + section:before, .scroll-menu .shop-menu-cnt .cart-count {
    background-color: #161925;
}

.cnt-box-testimonials-bubble > p:after {
    border-right-color: #161925;
}

.tab-nav li.active a, .tab-nav li:hover a {
    background-color: #161925;
    border-color: #161925;
}

.lan-menu .dropdown > ul > li > a, body > nav.scroll-menu:before, .title > p:before, .title > p:after, .quote .quote-author:before, .cnt-box-info .extra-field, .glide__bullets > button:hover, .glide__bullets > button.glide__bullet--active, .controls-right .glide__bullet, .media-box-reveal .extra-field, .media-box .caption h3:before, .bg-color, body main > section.bg-color, nav .dropdown > ul > li > a, body > header h2:after, body > header h2:before, .controls-out.arrows-left .glide__arrow:hover, .menu-cnt > ul > li > ul li > a, .album-box .caption h3:after, .menu-inner li:before, .cnt-box-blog-side .blog-date, .cnt-box-blog-top .blog-date, .section-home-alpins .glide__arrow, .menu-inner:not(.menu-inner-vertical) .dropdown ul > li > a, .step-item:before, .step-item > span, .shop-menu-cnt .cart-count {
    background-color: #00796f;
}

.section-home-alpins .glide__bullets .glide__bullet.glide__bullet--active {
    background-color: #00796f !important;
}

@media (max-width: 991.98px) {
    nav.scroll-menu .menu-cnt {
        background-color: #00796f;
    }
}

.btn, .icon-links-grid a:hover, .icon-links-button a {
    background-color: #00796f;
    border-color: #00796f;
}

a, .counter .value span:last-child, .icon-box i, .cnt-box-info .cnt-info > div > span:last-child, .cnt-box-info .bottom-info, .btn-text, .menu-cnt > ul > li:hover > a, nav:not(.menu-transparent) .menu-cnt > ul > li:hover > a, .lan-menu > li:hover > a, nav:not(.menu-transparent) .lan-menu > li:hover > a, .timeline > div:hover .badge p, .cnt-box-team:hover .caption h2, .cnt-box-top-icon > i, .datepicker-panel > ul > li:hover, .extra-field:before, .menu-inner li.active > a, .menu-inner li:hover > a, .table-alpins td:first-child, .accordion-list > li > a:before, .cnt-box-blog-side .icon-list i, .cnt-box-blog-top .icon-list i, .list-nav a:before, .cnt-box .caption p b, .cnt-box-side-icon > i, .countdown h3, .countdown p, nav:not(.menu-transparent) .menu-mini .lan-menu > li:hover > a, nav .icon-list li > i {
    color: #00796f;
}

.breadcrumb li a:hover, .light .breadcrumb li:not(:last-child) a:hover, .light .text-color, .text-color, .menu-inner .dropdown li:hover > a {
    color: #00796f !important;
}

form.form-box textarea:focus, form.form-box select:focus, form.form-box input:focus, [data-parallax] .table td, .media-box-half .caption .extra-field + p, .timeline > div .panel, div.timeline > div.inverted .panel:last-child, .search-box-menu > input[type=text]:focus {
    border-color: #00796f;
}

.lan-menu .dropdown > ul > li:hover > a, .btn:not(.btn-border):hover, .dropdown ul:not(.icon-list) li:hover > a, .menu-cnt > ul > li:hover > a, .lan-menu > li:hover > a, .icon-links-button a:hover, .pagination li.page:hover a, .pagination li.page.active a, .section-home-alpins .glide__arrow:hover, .menu-inner:not(.menu-inner-vertical) .dropdown ul > li:hover > a {
    background-color: #00d480;
}

.btn-text:hover, .accordion-list > li > a:hover, .list-nav a:hover {
    color: #00d480;
}

@media (max-width: 991.98px) {
    nav.scroll-menu .dropdown > ul > li > a {
        background-color: #00d480;
    }

    .menu-transparent:not(.scroll-menu) .menu-cnt > ul > li.dropdown.active > a {
        color: #00d480 !important;
    }
}

.icon-box p, .cnt-call .caption p, .cnt-box-team .caption span, .cnt-box .caption p, .cnt-pricing-table > ul > li, .timeline .panel p {
    color: rgb(90, 102, 110);
}

main > section.section-color, [data-parallax] .controls-out .glide__bullets, .section-bottom-box:after, .controls-out .glide__bullets, .section-color + .section-call:before {
    background-color: rgb(236, 244, 242);
}

body > header.align-center h2, .light .breadcrumb li:last-child a, .cnt-box-testimonials-bubble > p, .footer-bar > .container {
    color: rgb(236, 244, 242) !important;
}

::placeholder {
    color: rgba(22, 25, 37, 0.52);
}

.table, .table td, .table th, .accordion-list > li, .table tr {
    border-color: rgba(90, 102, 110, .3);
}

.controls-out.arrows-left .glide__arrow, form.form-box textarea, form.form-box select, form.form-box input, .cnt-box.boxed, .tab-nav li a, .text-list-image li > img, .pagination li.page a, .shop-menu-cnt .shop-menu {
    box-shadow: 0 3px 23px rgba(35,57,91,.15);
}

.img-box, .media-box, .cnt-box-info .img-box, .section-block-full > .container > .row > .col:first-child, .cnt-call, .datepicker-top-left, .datepicker-top-right, .cnt-pricing-table, .google-map, .search-box-menu > input[type=text] {
    box-shadow: 0 10px 60px -12px rgba(35,57,91,.25);
}

.section-color .cnt-box.boxed .caption {
    background-color: #FFF;
}

.search-box-menu > input[type=text] {
    border: 1px solid #FFF;
}
/*
-------------------------------------------------------------------
CUSTOM CLASSES
-------------------------------------------------------------------
*/

.pagination-top-right {
    position: relative;
}

.pagination-top-right .list-pagination {
    position: absolute;
    top: -125px;
    right: 0;
    padding: 0;
}

.text-50 {
    font-size: 50px;
    line-height: 70px;
}

.text-symbol {
    font-size: 70%;
    opacity: .8;
    font-weight: 400;
}

.width-50 {
    max-width: 50%;
}

.width-415 {
    max-width: 415px;
}

.height-10 {
    max-height: 10px;
}

.height-410 {
    height: 410px;
}

.text-list-line.line-4 li {
    margin-bottom: 4.5px;
}

.table-grid.table-border.table-10 tbody tr td {
    padding: 10px;
}

.table-grid.table-border.table-15 tbody tr td {
    padding: 15px;
}

.table-grid.table-border.align-left.table-10 tbody tr td:not(:first-child) {
    padding-left: 30px;
}

.padding-left-100 {
    padding-left: 100px;
}

.grid-list.gap-60 > div {
    grid-gap: 60px;
}

.maso-list.gap-30 .maso-box {
    margin: -30px;
}

.maso-list.gap-30 .maso-item {
    padding: 30px;
}

.table-shadow td {
    transition: all .5s;
}

.section-call, .section-google-map {
    overflow: visible;
}

main > .section-call > .container, main > .section-google-map > .container {
    padding-top: 168px;
    position: relative;
}

main > .section-google-map > .container {
    padding-top: 380px;
}

.section-call > .container > .cnt-call, .section-google-map > .container > .google-map {
    transform: translateY(-237px);
    position: absolute;
    right: 30px;
    left: 30px;
}

.section-google-map > .container > .google-map {
    transform: translateY(-448px);
}

.section-color + .section-call:before {
    content: "";
    position: absolute;
    width: 100%;
    left: 0;
    top: -69px;
    right: 0;
    height: 69px;
}

.controls-out.controls-right .glide__bullets {
    right: calc(-210px);
    left: auto;
    bottom: 5px;
    width: 150px;
    background: none;
}

.controls-out.controls-right .glide__bullet:not(.glide__bullet--active):not(:hover) {
    opacity: .2;
}

.controls-out.controls-right .glide__bullet {
    margin: 0 4px;
    height: 6px;
    border-radius: 3px;
}

.controls-out.controls-right {
    margin-bottom: 0;
}

@media (min-width: 994px) {
    .controls-out.arrows-left .glide__arrow {
        left: -285px;
        background-color: #FFF;
        top: 150px;
        border-radius: 50%;
        width: 35px;
        height: 35px;
        line-height: 35px;
        transition: background-color .5s;
    }

    .controls-out.arrows-left .glide__arrow:before {
        line-height: 36px;
        width: 35px;
        font-size: 18px;
    }

    .controls-out.arrows-left .glide__arrow--right {
        right: auto;
        left: -240px;
    }

    .controls-out.arrows-left .glide__arrow:hover:before {
        margin: 0;
    }
}


.alpins-slider.active .background-slider > div.active:not(.remove-active) {
    z-index: 1;
}

.alpins-slider.active .background-slider > .active {
    animation: ken-burn-in 10s;
}

@media (min-width: 994px) {
    .alpins-slider .glide__bullets {
        width: 200px;
        right: -300px;
        left: auto;
        bottom: 5px;
    }

    .alpins-slider .glide__arrow {
        right: -345px;
        left: auto;
        bottom: -7px;
        top: auto;
    }
}

.alpins-slider .glide__arrow.glide__arrow--left {
    right: -85px;
}

.alpins-slider .glide__arrow.glide__arrow--right {
    margin-left: 110px;
}

.alpins-slider .glide__bullets > button.glide__bullet--active, .alpins-slider .glide__bullets > button.glide__bullet {
    background-color: #FFF;
}

.section-color .controls-out .glide__bullets {
    background-color: rgba(90, 102, 110, 0.16);
}

.alpins-slider .glide__arrow:before {
    color: #FFF;
}

.table-grid td .icon-box {
    transition: all .2s;
}

.table-grid td:hover .icon-box {
    transform: scale(.9);
}

.table-grid td > p {
    font-weight: 400;
}

.section-bottom-box > .container {
    padding-bottom: 40px;
    z-index: 2;
    position: relative;
}

.section-bottom-box:after {
    content: "";
    position: absolute;
    width: 100%;
    height: calc(50% - 40px);
    bottom: 0;
    left: 0;
    right: 0;
}

.section-bottom-box + section > .container {
    padding-top: 60px;
}

.form-box.checkbox-bottom-right .form-checkbox {
    position: absolute;
    bottom: 0px;
    margin: 0;
    white-space: nowrap;
    right: 0;
}

.events-list .caption .extra-field {
    font-weight: 600;
    margin-bottom: 15px;
    display: inline-block;
    position: relative;
    padding-left: 40px;
    line-height: 35px;
}

.events-list .caption .extra-field:before {
    font-family: "Icons";
    content: "\6e";
    position: absolute;
    font-size: 25px;
    line-height: 30px;
    font-weight: 400;
    width: 30px;
    left: 0;
    top: 1px;
    transition: all .5s;
}

.google-map {
    border-radius: 4px;
    overflow: hidden;
}

.google-map > iframe {
    width: 100%;
    height: 350px;
    border: none;
    display: block;
}

.section-home-alpins h1 {
    position: absolute;
    z-index: 2;
    max-width: 600px;
}

.section-home-alpins .slider {
    margin-left: 290px;
    box-shadow: 0 10px 60px -12px rgba(3, 20, 35, 0.79);
    max-width: 500px;
}

main > section.section-base.section-home-alpins {
    background-color: rgb(19, 48, 74);
}

.section-home-alpins .media-box-full .caption {
    width: 150px;
    height: 110px;
    background: rgb(55, 156, 244);
    right: -50px;
}

.section-home-alpins .glide__arrow {
    left: -285px;
    bottom: -45px;
    top: auto;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    transition: all .5s;
    text-align: center;
}

.section-home-alpins .glide__arrow:hover {
    transform: scale(.95);
}

.section-home-alpins .glide__arrow--right {
    left: -220px;
}

.section-home-alpins .glide__arrow:before {
    line-height: 50px;
    width: 50px;
    font-size: 33px;
    margin-left: 1px;
}

.section-home-alpins .glide__arrow--left:before {
    margin-left: -1px;
}

.section-home-alpins .glide__bullet {
    margin: 0 4px;
    height: 6px;
    width: 30px;
    border-radius: 3px;
}

.section-home-alpins .glide__bullets {
    bottom: -40px;
    justify-content: flex-end;
}

.section-home-alpins + section {
    overflow: visible;
}

.section-home-alpins + section:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 150px;
    top: 0;
    left: 0;
    right: 0;
}

.section-home-alpins + section > .container > div {
    margin-top: -50px;
}

.section-home-alpins [data-to] {
    font-size: 25px;
    line-height: 31px;
}
/*
-------------------------------------------------------------------
LAYOUT & TYPOGRAPHY
-------------------------------------------------------------------
*/

body, textarea {
    font-family: 'Montserrat', sans-serif;
    line-height: 30px;
    font-size: 14px;
    font-weight: 500;
}

button {
    font-family: 'Montserrat', sans-serif;
}

h1 + p, h2 + p, p + .btn, p + .btn-text, p + table, p + pre, p + img, p + .row, p + .img-box, p + .media-box, p + .cnt-box, p + .hc-icon-links, p + ul.icon-list, .container > .row + .row, .container > div + p, .container > div + .btn, .table + .btn, .table + .btn-text {
    margin-top: 40px;
}

h2 + h4 {
    margin-top: 10px;
}

.row > div > img {
    border-radius: 3px;
}

h4 {
    font-weight: 600;
}

.title {
    margin-bottom: 40px;
}

hr.space {
    height: 80px;
}

.title > h2 {
    font-size: 30px;
    line-height: 45px;
    margin-top: -5px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .5px;
}

.title > p {
    display: inline-block;
    white-space: nowrap;
    padding: 0 45px 0 0;
    position: relative;
    overflow: hidden;
    font-size: 16px;
    transition: padding .5s;
}

.title.align-center > p {
    padding-left: 45px;
}

.title.align-center > p:before, .title > p:after, .media-box .caption h3:before {
    content: "";
    position: absolute;
    width: 25px;
    height: 6px;
    border-radius: 4px;
    left: 0;
    top: 12px;
    transition: all
}

.title > p:after {
    left: auto;
    right: 0;
}

.text-lg:not([data-to]) {
    font-size: 65px !important;
    line-height: 89px;
}

.text-sm {
    font-size: 15px !important;
    line-height: 26px;
}

.text-xs {
    line-height: 24px;
}

.quote {
    background: none;
    padding: 0 0 60px 0;
}

.quote:before {
    display: none;
}

.quote .quote-author:before {
    content: "";
    right: -45px;
    top: 11px;
    height: 6px;
    border-radius: 3px;
    width: 30px;
    position: absolute;
}

.quote .quote-author {
    display: inline-block;
    position: absolute;
    left: 0;
    bottom: -5px;
    font-size: 18px;
    text-transform: uppercase;
    font-size: 16px;
}

.boxed-area {
    box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1)
}

.menu-fixed:not(.menu-transparent) + header, .menu-fixed:not(.menu-transparent) + main {
    top: -25px;
    margin-bottom: -25px;
}

/*
-------------------------------------------------------------------
HEADER AND MENUS
-------------------------------------------------------------------
*/

@keyframes anima-menu-down {
    0% {
        opacity: 0;
        top: -100%;
    }

    100% {
        top: 0;
        opacity: 1;
    }
}

body > nav:not(.menu-side):not(.menu-transparent) .mega-menu, body > nav:not(.menu-side):not(.menu-transparent) .dropdown > ul, nav:not(.menu-side):not(.menu-transparent) .shop-menu {
    border: none;
}

.menu-fixed.scroll-menu {
    opacity: 1;
    top: 0;
    transition: opacity .5s, top .5s;
    animation: anima-menu-down 2s;
}

.menu-fixed.scroll-menu .menu-cnt > ul > li > a, .menu-fixed.scroll-menu .menu-brand, .menu-fixed.scroll-menu .menu-right, .menu-icon-top.menu-fixed.scroll-menu .menu-cnt .menu-right {
    height: 65px;
    line-height: 65px;
}

body > nav .menu-brand, .menu-icon-top .menu-brand {
    height: 95px;
    padding: 15px 0;
}

.menu-cnt > ul > li a, .lan-menu a {
    font-weight: 700;
    font-size: 14px;
    text-transform: uppercase;
}

.menu-cnt ul > li:first-child > a, .menu-mini ul > li:first-child > a {
    border-top-left-radius: 3px;
    border-top-right-radius: 3px;
}

.menu-cnt ul > li:last-child > a, .menu-mini ul > li:last-child > a {
    border-bottom-left-radius: 3px;
    border-bottom-right-radius: 3px;
}

body > .menu-classic.menu-transparent:not(.scroll-menu) {
    background: linear-gradient(to bottom, rgba(0,0,0,0.35) 0%, rgba(0,0,0,0.15) 70%,rgba(0,0,0,0) 100%);
}

body > nav, .menu-cnt > ul > li:hover > a, .lan-menu > li > a, nav:not(.menu-transparent) .lan-menu > li:hover > a {
    background: none;
}

body > nav:before {
    content: "";
    height: calc(100% - 25px);
    width: 100%;
    left: 0;
    top: 0;
    position: absolute;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.4);
    background-color: #FFF;
    z-index: -1;
}

body > nav.menu-transparent:not(.scroll-menu):before {
    display: none;
}

.menu-classic.menu-transparent .menu-right {
    box-sizing: border-box;
    padding-bottom: 0;
}

.dropdown-submenu > ul {
    padding-left: 15px;
    box-shadow: none;
}

.dropdown-submenu > ul > li:last-child {
    box-shadow: 0px 6px 5px rgba(0, 0, 0, 0.17);
}

body > nav .menu-cnt > ul > li > a, body > nav .lan-menu > li > a, body > nav .menu-right {
    height: 95px;
    line-height: 95px;
    padding-bottom: 25px;
    box-sizing: content-box;
}

body > nav .lan-menu > li > a {
    line-height: 144px;
    padding-bottom: 50px;
    font-size: 14px;
}

body > nav.scroll-menu .lan-menu > li > a {
    line-height: 115px;
    padding-bottom: 20px;
}

.lan-menu li a img {
    margin-top: -7px;
}

.lan-menu > li > a {
    transition: color .5s !important;
}

.menu-transparent.light .menu-cnt > ul > li:hover > a, body > nav:not(.menu-side).scroll-menu .menu-cnt > ul > li:hover > a {
    opacity: .7;
    color: #FFF;
}

.lan-menu .dropdown > ul, nav .dropdown > ul {
    border-radius: 3px;
}

nav:not(.scroll-menu) .menu-mini + .container .lan-menu > li > a {
    margin-top: 24px;
    line-height: 94px;
    padding-bottom: 25px;
}

nav:not(.scroll-menu) .menu-mini + .container .lan-menu > li > a > img {
    margin-top: -19px;
}

.menu-mini .search-bar input[type=text] {
    border: none;
}

.menu-mini .search-bar input[type=submit] {
    text-transform: uppercase;
    font-weight: 800;
}

.menu-mini > .container > ul > li {
    font-size: 12px;
    opacity: .8;
}

.shop-menu-cnt {
    padding: 20px 0 45px 0;
    margin-top: 25px;
}

.shop-menu-cnt .cart-count {
    margin-top: -17px;
}

.shop-cart .cart-item .cart-content span {
    opacity: .7;
}

.shop-cart {
    padding: 30px 0;
}

.shop-cart .cart-item {
    padding: 0 30px;
}

.shop-menu-cnt .cart-total {
    padding: 8px 30px;
    font-weight: 600;
}

.shop-menu-cnt .cart-total span {
    margin-left: 17px;
}

.shop-menu .cart-buttons {
    padding: 10px 30px 30px 30px;
    font-weight: 600;
}

.scroll-menu:not(.menu-side) .shop-menu-cnt > i, body > nav.scroll-menu:not(.menu-side) .icon-links a i, .scroll-menu:not(.menu-side) .search-box-menu > i {
    color: #FFF;
}

.menu-big-box .menu-box {
    margin-top: -21px;
}

.mega-menu h5 {
    margin-bottom: 15px;
}

.mega-menu .tab-box > .tab-nav {
    margin: 30px 15px;
}

@media (min-width: 993px) {
    .menu-icon-top .menu-cnt > ul > li > a {
        padding-top: 0;
        line-height: 140px;
    }

    .menu-icon-top .menu-cnt .menu-right {
        line-height: 95px;
        height: 95px;
    }

    body > nav.menu-icon-top .lan-menu > li > a {
        line-height: 129px !important;
    }

    body > nav.menu-icon-top.menu-fixed.scroll-menu .lan-menu > li > a {
        line-height: 98px !important;
    }

    .menu-icon.menu-fixed.scroll-menu .shop-menu-cnt {
        padding: 20px 0 12px 0;
        margin-top: -8px;
    }

    .menu-top-logo .menu-right {
        padding-bottom: 0;
    }

    .menu-top-logo > .container > .menu-brand, .menu-top-logo .menu-right {
        transform: translateY(calc(-50% - 60px));
    }
}

.menu-icon:not(.menu-icon-top) .menu-cnt > ul > li > a > i {
    margin-top: -15px;
}

body > nav.menu-side .menu-cnt > ul > li > a, body > nav.menu-side .menu-right {
    height: auto;
    line-height: 45px;
    padding: 0 15px;
}

body > nav .lan-menu > li > a {
    padding-top: 0;
}

.menu-side .menu-cnt {
    margin-top: 15px;
}

.menu-cnt .mega-menu li a {
    font-weight: 500;
    text-transform: none;
}

.menu-side:not(.menu-side-collapse) .dropdown > ul, .menu-side:not(.menu-side-collapse) .dropdown-submenu > ul {
    border: none;
}

.menu-side:before {
    display: none;
}

.mega-menu {
    box-shadow: 0px 4px 15px rgba(0, 0, 0, 0.17);
}

.menu-side-collapse .dropdown-submenu > ul {
    padding-left: 0;
}

.menu-side .menu-cnt > ul > li > a, body > nav.menu-side .menu-cnt > ul > li:hover > a {
    background-color: #FFF;
}

.subline-bar {
    margin-top: -21px;
}

.dropdown-submenu > a:after, .menu-side .dropdown > a:after, .menu-side .mega-dropdown > a:after, .menu-inner .dropdown > a:after {
    right: 10px;
}

.menu-subtitle .shop-menu-cnt > i, .menu-subtitle .search-box-menu > i, .menu-subtitle .menu-brand, .menu-subtitle .lan-menu > li > a, .menu-subtitle .menu-cnt > ul > li > a, .menu-subtitle .menu-cnt .menu-right {
    height: 95px;
    line-height: 95px;
}

.menu-subtitle .menu-cnt > ul > li > a {
    line-height: 75px;
}

.menu-subtitle .menu-cnt li a span {
    top: 24px;
}

.menu-subtitle:not(.scroll-menu) .lan-menu > li > a {
    line-height: 144px;
}

.menu-subtitle.scroll-menu .shop-menu-cnt > i, .menu-subtitle.scroll-menu .search-box-menu > i, .menu-subtitle.scroll-menu .menu-brand, .menu-subtitle.scroll-menu .menu-cnt > ul > li > a, .menu-subtitle .menu-cnt .menu-right {
    height: 85px;
}

.menu-subtitle.scroll-menu .menu-cnt li a span {
    color: #FFF;
    font-weight: 400;
}
/*
-------------------------------------------------------------------
HEADERS
-------------------------------------------------------------------
*/

@keyframes anima-header {
    0% {
        opacity: 0;
        transform: scale(1.2);
    }

    100% {
        opacity: 1;
        transform: scale(1);
    }
}

body > header {
    height: 500px;
}

body > nav.menu-transparent + header {
    padding-top: 70px;
}

/* El theme empuja el header hacia abajo con un margin-top inline igual a la altura
   del nav (pensado para navs sólidos). Con nav transparente flotando sobre la foto
   de portada, eso deja un hueco vacío arriba. Se anula para que la foto llegue
   hasta el borde superior, igual que en la home. */
body > nav.menu-transparent + header.header-image,
body > nav.menu-transparent + header.header-video {
    margin-top: 0 !important;
}

body > header h1 {
    font-size: 65px;
    font-weight: 900;
    line-height: 70px;
    text-transform: uppercase;
    animation: anima-header 4s;
}

body > header.header-base h1 {
    font-size: 40px;
    line-height: 50px;
}

body > header.header-base {
    background-color: #FFF;
    padding-top: 100px;
}

body > header h2 {
    max-width: 700px;
    font-size: 15px;
    text-transform: uppercase;
    font-weight: 600;
    animation: anima-header 4s;
    position: relative;
    display: inline-block;
}

body > header h2:after, body > header h2:before {
    content: "";
    position: absolute;
    height: 6px;
    width: 1500px;
    top: 12px;
    border-radius: 3px;
}

body > header h2:before {
    left: calc(100% + 30px);
}

body > header h2:after {
    right: calc(100% + 30px);
}

body > header:not(.header-base) > .container {
    margin-top: 190px !important;
}

.header-base + main > section:not(.section-base):first-child {
    margin-top: 100px;
}

body > header .breadcrumb {
    position: absolute;
    right: 40px;
    bottom: 50px;
    opacity: 0;
    right: -250px;
    transition: all .5s;
}

body > header:hover .breadcrumb {
    right: 35px;
    opacity: 1;
}

body > header .breadcrumb, body > header.align-center .breadcrumb {
    margin-top: 35px;
}

.breadcrumb li a:after {
    width: 3px;
    height: 11px;
    border-radius: 3px;
    margin-top: -6px;
    right: -3px;
}

.breadcrumb li a {
    padding-right: 25px;
    margin-right: 25px;
    transition: color .5s;
    font-size: 10px;
    line-height: 34px;
    text-transform: uppercase;
}

.breadcrumb li:last-child a {
    font-weight: 700;
}

.light .breadcrumb li a:after {
    background: #FFF;
}

/*
-------------------------------------------------------------------
FOOTER
-------------------------------------------------------------------
*/

.footer-bar {
    border-color: rgba(255, 255, 255, 0.2);
}

.footer-bar a {
    text-decoration: none;
}

.footer-bar span:last-child a {
    color: #FFF;
    margin: 0 5px;
}

footer li, footer p {
    opacity: .9;
}

/*
-------------------------------------------------------------------
COMPONENTS
-------------------------------------------------------------------
*/

.timeline .panel {
    border-bottom: 1px solid rgb(205, 216, 224);
    border-right: 1px solid rgb(205, 216, 224);
}

.timeline > div:last-child .panel {
    border-bottom: none;
}

.timeline div.inverted .panel:last-child {
    padding-bottom: 0;
    margin-bottom: 0;
    border-right: none;
    border-left: 1px solid rgb(205, 216, 224);
    border-radius: 0;
}

.timeline .panel {
    padding: 0 0 30px 0;
    background: none;
}

.timeline .panel, .timeline div.inverted .panel, .timeline div.inverted .panel:last-child, .timeline .panel:last-child {
    width: 70%;
    border-radius: 0;
    padding: 30px 30px 30px 0;
}

.timeline div.inverted .panel:last-child {
    padding-left: 30px;
}

.timeline > div .badge {
    width: 30%;
    left: 70%;
    padding-left: 30px;
}

.timeline > div.inverted .badge {
    left: 0;
    right: auto;
    padding-left: 0;
}

.timeline > div:hover, .timeline > div.inverted:hover {
    transform: none;
}

.timeline > div {
    margin-bottom: 0;
}

.timeline .badge {
    margin-top: -2px;
    background: rgb(255, 255, 255);
}

.timeline .badge span {
    font-weight: 600;
    opacity: .8;
}

.timeline .badge p {
    font-weight: 700;
    font-size: 25px;
    margin: 30px 0 0 0;
    transition: color .5s;
}

.glide__slide .timeline .panel, .glide__slide .timeline div.inverted .panel, .glide__slide .timeline div.inverted .panel:last-child, .glide__slide .timeline .panel:last-child {
    padding: 0;
    border-left: none;
}

.timeline-title {
    font-size: 18px;
}

.counter h3 {
    font-weight: 500;
    margin: 0;
    font-size: 15px;
    line-height: 24px;
}

.counter .value {
    font-weight: 700;
}

.counter .value span:last-child {
    margin-left: 5px;
}

.btn {
    font-weight: 600;
}

.icon-box h3 {
    font-size: 16px;
}

.icon-box i {
    font-size: 50px;
}

.section-image .icon-box h3 {
    font-size: 20px;
    margin-bottom: 10px;
    text-transform: uppercase;
    font-weight: 900;
}

.icon-box p {
    line-height: 25px;
}

.btn-text {
    font-weight: 500;
    position: relative;
}

button.btn-text {
    line-height: 30px;
    font-size: 14px;
    padding: 0;
}

.btn-icon.btn-circle i {
    width: 52px;
    height: 52px;
    line-height: 52px;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.25);
    left: -1px;
}

.btn-icon.btn-sm:not(.btn-anima) {
    padding-left: 77px;
}

.btn:hover {
    box-shadow: 0 12px 24px -10px rgba(21, 59, 93, 0.46);
    transform: scale(.95);
}

@keyframes btn-text-anima {
    0% {
        right: -30px;
        opacity: 0;
    }

    60% {
        right: -40px;
        opacity: 1;
    }

    100% {
        right: -45px;
        opacity: 0;
    }
}

.btn-text:after {
    font-family: "Icons";
    content: "\67";
    position: absolute;
    font-size: 25px;
    line-height: 30px;
    width: 30px;
    right: -45px;
    top: 1px;
    opacity: 0;
    transition: all .5s;
}

.btn-text:hover:after {
    animation: btn-text-anima 1s linear infinite;
}

.btn-xs {
    font-size: 14px;
    padding: 7px 30px;
}

.cnt-box-info .cnt-info {
    position: absolute;
    top: 0;
    color: #FFF;
    background: #000;
    width: calc(100% - 30px);
    margin: -30px 0 0 0;
    padding: 17px 30px;
    border-radius: 3px;
    display: flex;
    justify-content: space-between;
    text-align: left;
}

.cnt-box-info.align-center .cnt-info {
    margin: -30px 15px 0 15px;
    text-align: center;
}

.cnt-box-info .cnt-info > div {
    flex-direction: column-reverse;
}

.cnt-box-info .cnt-info > div > span:last-child {
    font-weight: 600;
    font-size: 17px;
    line-height: 15px
}

.cnt-box-info .cnt-info > div > span:first-child {
    font-size: 12px;
    margin-top: 10px;
    line-height: 15px;
    opacity: .8;
    font-weight: 500;
}

.cnt-box-info.boxed .cnt-info {
    margin: -30px 0 0 0;
    width: calc(100% - 60px);
}

.cnt-box-info .caption, .cnt-box-info.boxed .caption {
    position: relative;
    padding-top: 90px;
}

.cnt-box-info .bottom-info {
    position: relative;
    padding-left: 45px;
    font-size: 14px;
    font-weight: 500;
}

.cnt-box-info .bottom-info:before {
    content: "\e848";
    font-family: "icomoon";
    speak: none;
    font-style: normal;
    font-weight: normal;
    line-height: 1;
    position: absolute;
    left: 1px;
    font-size: 22px;
}

.cnt-box-info .extra-field, .media-box-reveal .extra-field {
    color: rgb(255, 255, 255);
    font-weight: 600;
    text-transform: uppercase;
    font-size: 11px;
    letter-spacing: .5px;
    padding: 0 10px;
    border-radius: 3px;
}

.cnt-box-info .caption h2 {
    font-size: 22px;
}

.cnt-box-info.text-uppercase {
    text-transform: none;
}

.cnt-box-info.text-uppercase .caption h2 {
    text-transform: uppercase;
    font-weight: 800;
}

.cnt-box-info .caption > p {
    padding: 15px 0;
}

.cnt-box.boxed .img-box {
    box-shadow: none;
}

.cnt-box.boxed, .cnt-box-top-icon.boxed > i, .cnt-box-top-icon.boxed > .caption {
    background-color: #FFF;
}

.img-box-caption span {
    display: inline-block;
    width: auto;
    margin: 17px;
    font-weight: 800;
    text-transform: uppercase;
    font-size: 18px;
    border-radius: 3px;
    padding: 3px 25px;
    color: rgb(255, 255, 255);
    transition: all .5s;
}

.media-box-reveal .extra-field {
    position: absolute;
    bottom: 30px;
    opacity: 0;
    left: -100px;
    transition: left .5s, opacity 2s;
}

.media-box-reveal:hover .extra-field {
    opacity: 1;
    left: 30px;
}

.media-box-reveal .caption {
    height: 160px;
}

.media-box-reveal .caption h2 {
    font-size: 30px;
    line-height: 45px;
}

.media-box-reveal .caption h3 {
    font-weight: 600;
    opacity: .8;
    font-size: 15px;
}

.media-box-reveal .caption p {
    margin-top: 15px;
    position: relative;
}

.media-box-reveal .caption:before {
    content: "";
    position: absolute;
    bottom: -1px;
    left: -1px;
    right: -1px;
    top: -1px;
    background: rgba(0, 0, 0, 0.35);
    z-index: 0;
    opacity: 0;
    transition: all 0s;
}

.media-box-reveal:hover .caption:before {
    opacity: 1;
    transition: all .5s;
    transition-delay: .5s;
}

.media-box-reveal .caption > * {
    z-index: 1;
}

.media-box-reveal h2 {
    text-transform: uppercase;
    font-weight: 900;
    font-size: 21px;
}

.media-box .caption h3 {
    font-weight: 500;
    position: relative;
    padding-left: 45px;
    white-space: nowrap;
}

.media-box .caption h2 {
    margin-bottom: 5px;
    position: relative;
}

.media-box-half .extra-field {
    font-weight: 600;
    margin-bottom: 15px;
    display: block;
}

.form-box .form-checkbox {
    opacity: .7;
}

.form-box.form-inline .form-checkbox {
    margin-top: 15px;
}

.form-box .form-checkbox label {
    font-size: 12px;
    line-height: 22px;
}

form.form-box textarea, form.form-box select, form.form-box input {
    border-color: transparent;
}

.datepicker-top-left, .datepicker-top-right {
    border: none;
    border-radius: 3px;
    overflow: hidden;
    color: #FFF;
    padding: 15px;
}

.datepicker-panel > ul > li:hover {
    background: none;
}

.datepicker-container:before, .datepicker-container:after {
    display: none;
}

ul.icon-list li {
    margin: 0;
}

.progress-bar > h4, .progress-circle > h4 {
    font-size: 14px;
    font-weight: 800;
    text-transform: uppercase;
    margin-bottom: 15px;
}

.progress-bar > div span {
    top: -46px;
}

.cnt-box-testimonials-bubble > p {
    font-size: 13px;
}

.cnt-box-testimonials-bubble .thumb-bar span:first-child {
    font-weight: 900;
    text-transform: uppercase;
}

.cnt-box-testimonials-bubble .thumb-bar span:last-child {
    font-weight: normal;
    text-transform: none;
    margin-top: -7px;
}

.cnt-box-testimonials-bubble .thumb-bar img {
    margin: 0 15px 10px 15px;
    box-shadow: 0 3px 23px rgba(35,57,91,.15);
}

.cnt-box-testimonials-bubble .thumb-bar p {
    margin: -10px 0 0 0;
}

.cnt-box-team .caption h2 {
    font-size: 14px;
    font-weight: 800;
    text-transform: uppercase;
    transition: all .5s;
}

.cnt-box-team {
    padding-bottom: 80px;
}

.cnt-box-team .caption {
    height: 85px;
}

.cnt-box-team .icon-links {
    opacity: 0;
    transform: translateY(30px);
    transition: all .8s;
}

.cnt-box-team:hover .icon-links {
    opacity: 1;
    transform: translateY(0px);
}

.cnt-box-team .caption span {
    font-weight: 500;
}

.cnt-box-team:hover .caption {
    height: 220px;
}

.cnt-box-team .caption p {
    font-size: 14px;
    line-height: 30px;
}

.cnt-box-team .icon-links a {
    transition: all .5s;
}

.cnt-box-team .icon-links a:hover {
    transform: scale(1.2);
}

.cnt-call {
    background: rgb(255, 255, 255);
    border: 1px solid rgb(246, 248, 250);
}

.cnt-call > i {
    display: none;
}

.cnt-call .caption {
    text-align: left;
    max-width: 70%;
}

.cnt-call .caption a.btn {
    position: absolute;
    right: 60px;
    top: 50%;
    margin-top: -23px;
}

.cnt-call .caption h2 {
    font-size: 28px;
    margin-bottom: 10px;
}

.cnt-call .caption p, .cnt-box-top-icon p, .text-list-base li > p, .text-list-image .content > p {
    opacity: .8;
}

.cnt-box-side {
    overflow: visible;
}

.cnt-box-badge .badge {
    left: 30px;
    width: auto;
    text-align: left;
    line-height: 10px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .5px;
    opacity: .95;
    background: none;
}

.cnt-box-badge .caption p {
    margin-top: 30px;
}

.cnt-box-badge .caption h2 {
    margin-bottom: 70px;
    color: rgb(255, 255, 255);
    font-size: 22px;
    margin-top: -105px;
}

.cnt-box-badge:not(.boxed) h2 {
    padding-left: 30px;
}

.cnt-box .caption p b {
    font-weight: 600;
    display: inline-block;
    margin-top: 5px;
    margin-right: 5px;
    line-height: 0;
}

.text-list-base li > div, .text-list-image .content > div {
    font-weight: 600;
}

.cnt-box-side .extra-field + p, .media-box-half .extra-field + p {
    border-top: 1px solid rgb(214, 224, 232);
    margin-top: 15px;
    padding-top: 15px;
}

.cnt-pricing-table {
    border: none;
    padding: 30px 0;
}

.cnt-pricing-table .price span {
    font-weight: 700;
}

.cnt-pricing-table .top-area p {
    font-weight: 600;
}

.cnt-box-blog-side, .cnt-box-blog-top {
    transition: all .5s;
}

.cnt-box-blog-side:hover, .cnt-box-blog-top:hover {
    transform: scale(.95);
}

.cnt-box-blog-side .blog-date, .cnt-box-blog-top .blog-date {
    margin: 30px;
    border-radius: 3px;
    overflow: hidden;
    font-weight: 700;
}

.cnt-box-blog-side .blog-date span:last-child, .cnt-box-blog-top .blog-date span:last-child {
    font-weight: 600;
    font-size: 11px;
}

.cnt-box-blog-side .icon-list a, .cnt-box-blog-top .icon-list a {
    font-weight: 600;
    text-transform: uppercase;
    font-size: 12px;
}

.cnt-box-blog-side .blog-date span:first-child, .cnt-box-blog-top .blog-date span:first-child {
    padding: 10px 0 10px 0;
}

.col-lg-4 > .menu-inner li > a {
    text-transform: none;
    font-size: 15px;
    font-weight: 500;
}

.menu-inner li > a {
    text-transform: uppercase;
    font-weight: 800;
    font-size: 16px;
}

.menu-inner-image li a {
    font-weight: 600;
}

.menu-inner-image li a span {
    font-weight: 500;
    opacity: .8;
}

.menu-inner .dropdown ul > li > a {
    font-weight: 600;
    font-size: 13px;
    padding-left: 0;
}

.menu-inner-vertical .dropdown li:hover > a, .menu-inner-vertical .dropdown ul:not(.icon-list) li:hover > a {
    background: none;
}

.menu-inner .dropdown > a:after {
    right: 0;
}

.menu-inner:not(.menu-inner-vertical) .dropdown ul > li > a {
    padding: 0 15px;
    border-radius: 0;
}

.menu-inner:not(.menu-inner-vertical) .dropdown:before {
    display: none;
}

.menu-inner:not(.menu-inner-vertical) .dropdown ul {
    border: none;
    border-radius: 3px;
}

.list-nav {
    margin-top: 60px;
    text-transform: uppercase;
    font-weight: 700;
}

.testimonial-info {
    font-weight: 600;
}

.countdown [data-time] > div > span {
    font-weight: 600;
}

.social-feed-fb .meta-header a {
    font-size: 18px;
    font-weight: 700;
}

/*
-------------------------------------------------------------------
CONTAINERS
-------------------------------------------------------------------
*/

.controls-out .glide__bullets {
    justify-content: space-between;
    border-radius: 3px;
}

.light .controls-out .glide__bullets {
    background-color: rgba(255, 255, 255, 0.35);
}

.controls-out .glide__bullet {
    width: 100%;
    border-radius: 0;
    margin: 0 1px;
    height: 6px;
    border-radius: 3px;
    opacity: 0;
}

.glide[data-options*=focusAt] .glide__slide > div {
    transition: all .8s;
}

.glide[data-options*=focusAt] .glide__slide:not(.glide__slide--active) > div {
    transform: scale(.8);
    opacity: .8;
}

.glide[data-options*=focusAt] .glide__slide:not(.glide__slide--active) > div .img-box {
    box-shadow: none;
}

.glide__bullets > button {
    opacity: .6;
}

.glide__slide > .boxed {
    margin-bottom: 15px;
    margin-top: 15px;
}

[class*=box-lightbox] {
    padding: 60px;
}

[class*=box-lightbox].light h4 {
    opacity: .7;
}

[class*=box-lightbox].light p {
    opacity: .8;
}

.tab-nav li a {
    border-color: rgb(235, 242, 249);
    background-color: #FFF;
    font-weight: 600;
    padding: 10px 20px;
    font-size: 14px;
}

.tab-box > .tab-nav {
    margin: 0 0 30px 0;
}

.tab-inverse > .tab-nav {
    margin: 30px 0 0 0;
}

.tab-vertical > .tab-nav {
    margin-bottom: 0;
    margin-top: 0;
}

section > .container > .tab-box:first-child > .tab-nav {
    margin: 0 0 100px 0;
}

.pagination li a {
    font-weight: 600;
}

.pagination li.page a {
    border: none;
    background-color: #FFF;
}

.list-pagination {
    padding-top: 60px;
}

section.no-padding > div > .slider li > .img-box, section.no-padding > div > .slider li > .img-box img {
    border-radius: 0;
    box-shadow: none;
}

[data-columns="1"] .cnt-box-side h2 {
    font-size: 25px;
}

.album-box .caption {
    left: 0;
    right: 0;
    bottom: 0;
    height: 100px;
    padding: 30px;
    background: linear-gradient(to top, rgba(0,0,0,0.35) 0%, rgba(0,0,0,0.15) 70%,rgba(0,0,0,0) 100%);
}

.album-box .caption h3 {
    color: rgb(255, 255, 255);
    text-transform: uppercase;
    font-weight: 900;
    font-size: 20px;
    position: relative;
    padding-left: 60px;
    transition: all .5s;
}

.album-box .caption h3:after {
    content: "";
    position: absolute;
    width: 30px;
    left: 0;
    height: 6px;
    top: calc(50% - 3px);
    border-radius: 5px;
    transition: all .5s;
}

.album-box:hover .caption h3 {
    padding-left: 100px;
}

.album-box:hover .caption h3:after {
    width: 80px;
}

.album-title span {
    font-size: 20px;
    font-weight: 900;
    text-transform: uppercase;
}

.text-list-line li hr {
    margin: 18px 5px 5px 5px;
}

.table-alpins, .table-alpins td, .table-alpins th {
    border-left: none !important;
}

.table-alpins th {
    font-weight: 800;
    padding-top: 0;
}

.accordion-list > li {
    font-weight: 600;
}

.accordion-list > li > a {
    padding: 13px 0 13px 25px;
}

.accordion-list > li > .content > * {
    font-weight: 500;
}

.accordion-list > li.active {
    padding: 0 0 15px 0;
    background: rgb(255, 255, 255);
    padding: 5px 20px 20px 20px;
    border-radius: 3px;
    border-color: rgb(255, 255, 255);
    margin-top: -1px;
    box-shadow: 0 3px 23px rgba(35,57,91,.15);
}

.step-item > .content > h3 {
    font-size: 20px;
    margin-bottom: 15px;
}

.step-item > span {
    border: none;
    color: #FFF;
}
/*
-------------------------------------------------------------------
RESPONSIVE
-------------------------------------------------------------------

Large devices (desktops, less than 1200px)
-------------------------------------------------------------------
*/

@media (max-width: 1199.98px) {
    .text-lg:not([data-to]) {
        font-size: 55px !important;
        line-height: 75px;
    }

    .section-home-alpins .slider {
        margin-left: 180px;
    }

    .section-home-alpins .glide__arrow {
        left: -180px;
    }

    .section-home-alpins .glide__arrow--right {
        left: -115px;
    }

    .width-415 {
        max-width: 358px;
    }

    .text-50 {
        font-size: 40px;
        line-height: 55px;
    }

    .controls-out.arrows-left .glide__arrow {
        left: -242px;
        top: 200px;
    }

    .controls-out.arrows-left .glide__arrow--right {
        left: -195px;
    }

    .media-box-half .extra-field {
        white-space: nowrap;
        overflow: hidden;
    }
}

/*
Medium devices (tablets, less than 992px)
-------------------------------------------------------------------
*/

@media (max-width: 991.98px) {
    body > nav {
        height: 96px;
    }

    body > nav:before {
        height: 100%;
    }

    body > header {
        height: 400px;
    }

    body > header:not(.header-base) > .container {
        margin-top: 100px !important;
    }

    nav.active .menu-cnt {
        padding-top: 15px;
        border-top: 1px solid rgb(230, 230, 230);
    }

    .menu-big-box .menu-box {
        margin-top: 0;
        margin: 0 -30px;
        width: calc(100% + 60px);
    }

    body > nav .menu-cnt > ul > li > a, body > nav .lan-menu > li > a, body > nav .menu-right, .menu-fixed.scroll-menu .menu-cnt > ul > li > a, .menu-fixed.scroll-menu .menu-brand, body > nav.scroll-menu .lan-menu > li > a {
        height: 50px;
        line-height: 50px;
        padding-bottom: 0;
    }

    .menu-fixed.scroll-menu .menu-right {
        height: auto;
    }

    .lan-menu li a, .lan-menu .dropdown > ul > li > a {
        padding-left: 50px;
    }

    .menu-cnt ul:not(.tab-nav) > li:first-child > a, .menu-cnt ul:not(.tab-nav) > li:last-child > a {
        border-radius: 0;
    }

    .dropdown ul:not(.icon-list), .dropdown.icon-list > ul, .dropdown-submenu > ul, .mega-dropdown .mega-menu, .dropdown .mega-menu {
        padding: 0;
    }

    body > nav.scroll-menu {
        height: 65px;
    }

    nav.scroll-menu .menu-btn:before, nav.light .menu-cnt .dropdown ul a {
        color: #FFF !important;
    }

    .menu-side .mega-menu .tab-box > .tab-nav {
        margin: 10px 15px;
    }

    .dropdown-submenu > ul > li:last-child {
        box-shadow: none;
    }

    .menu-transparent .menu-cnt > ul > li:hover > a, body > nav.scroll-menu .menu-cnt > ul > li:hover > a {
        opacity: 1;
    }

    .width-50 {
        max-width: 100%;
    }

    .controls-out.controls-right .glide__bullets {
        right: auto;
        left: -3px;
        bottom: -45px;
    }

    .controls-out.controls-right {
        margin-bottom: 45px;
    }

    [class*=col-lg-] + [class*=col-lg-] {
        margin-top: 60px;
    }

    .col-md-6 + .col-md-6, .col-md-4 + .col-md-4 {
        margin-top: 0;
    }

    .footer-bar > .container > span:last-child {
        display: none;
    }

    .section-home-alpins .slider {
        margin-bottom: 45px;
    }

    .section-home-alpins + section > .container {
        padding-top: 50px;
    }

    .section-block-full > .container > .row > .col:first-child {
        box-shadow: none;
    }

    .pagination-top-right .list-pagination {
        padding-top: 60px;
        position: static;
    }

    .cnt-call .caption p {
        max-width: 60%;
    }


    .controls-out.arrows-left .glide__arrow {
        left: -40px;
        box-shadow: none;
    }

    .controls-out.arrows-left .glide__arrow--right {
        left: auto;
    }

    .menu-inner > div {
        font-weight: 700;
    }

    .mega-menu .col {
        padding: 0 30px;
    }

    .mega-menu .tab-box {
        margin: 0;
    }

    .mega-menu .tab-box > .tab-nav {
        margin: 0 30px;
    }
}

/*
Small devices (landscape phones, less than 768px)
-------------------------------------------------------------------
*/

@media (max-width: 767.98px) {
    .section-home-alpins .slider {
        margin-left: 25px;
        margin-top: -110px;
        margin-bottom: 100px;
        max-width: calc(100% - 25px);
    }

    .section-home-alpins h1 {
        position: relative;
    }

    .section-home-alpins .glide__arrow {
        left: -25px;
        bottom: -59px;
    }

    .section-home-alpins .glide__arrow--right {
        left: 38px;
    }

    [class*=col-]:not([class*=col-sm]) + [class*=col-]:not([class*=col-sm]) {
        margin-top: 60px;
    }

    .cnt-call .caption p {
        max-width: 50%;
    }

    main > .section-call > .container {
        padding-top: 230px;
    }

    .section-google-map > .container {
        padding-top: 380px;
    }

    .section-call > .container > .cnt-call {
        transform: translateY(-320px);
    }

    .section-google-map > .container > .google-map {
        transform: translateY(-460px);
    }

    .form-box.checkbox-bottom-right .form-checkbox {
        position: static;
        margin-top: 10px;
        white-space: normal;
        line-height: 21px;
    }

    body > header.header-base {
        height: 270px;
        padding-top: 50px;
    }

    body > header h1 {
        font-size: 50px;
    }

    .width-415 {
        max-width: 100%;
    }
}

/*
Extra small devices (portrait phones, less than 576px)
-------------------------------------------------------------------
*/

@media (max-width: 575.98px) {
    .text-lg:not([data-to]) {
        font-size: 35px !important;
        line-height: 45px;
    }

    .title > p {
        max-width: calc(100%);
        white-space: normal;
    }

    .section-home-alpins .slider {
        margin-top: -22px;
    }

    .btn-icon.btn-circle i {
        width: 43px;
        height: 43px;
        line-height: 43px;
    }

    .btn-icon.btn-sm:not(.btn-anima) {
        padding-left: 58px;
    }

    .table-grid.table-border.align-left.table-10 tbody tr td:not(:first-child) {
        padding-left: 0;
    }

    .cnt-call .caption {
        max-width: 100%;
    }

    .cnt-call .caption p {
        max-width: 100%;
    }

    .cnt-call .caption a.btn {
        position: static;
        margin-top: 30px;
    }

    main > .section-call > .container {
        padding-top: 100px;
    }

    .section-call > .container > .cnt-call {
        transform: translateY(0);
        position: static;
        margin-bottom: 100px;
        padding: 30px;
    }

    .cnt-box-info.boxed .cnt-info {
        padding: 12px;
    }

    .cnt-box-info .cnt-info > div > span:last-child {
        font-size: 14px;
    }

    .cnt-box-info .cnt-info > div > span:first-child {
        font-size: 11px;
    }

    body > header h1 {
        font-size: 35px;
        line-height: 55px;
    }

    body > header h2 {
        font-size: 12px;
    }

    .timeline .panel, .timeline div.inverted .panel, .timeline div.inverted .panel:last-child, .timeline .panel:last-child {
        width: 100%;
        margin-left: 0;
        border: none;
    }

    .timeline > div .badge {
        width: 100%;
        position: static;
        padding: 0;
    }

    .timeline div.inverted .panel:last-child {
        padding-left: 0;
    }

    .col-md-6 + .col-md-6, .col-md-4 + .col-md-4 {
        margin-top: 30px;
    }

    body > header.header-base h1 {
        font-size: 35px;
        line-height: 55px;
    }

    .menu-fixed:not(.menu-transparent) + .header-base {
        top: 0;
        margin-bottom: 0;
        margin-top: 96px !important;
        height: auto;
    }

    .menu-fixed:not(.menu-transparent) + .header-base .container {
        margin-top: 0 !important;
    }

    .section-home-alpins [data-to] {
        font-size: 30px;
        line-height: 45px;
    }
}

/* Marca Ngen (reemplaza el logo SVG del template original) */
.menu-brand > a {
    display: flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
}
.menu-brand .brand-icon {
    width: 42px;
    height: 42px;
    max-height: none;
    border-radius: 8px;
    transition: width .3s, height .3s;
}
.menu-brand .brand-text {
    height: 34px;
    width: auto;
    max-height: none;
    transition: height .3s;
}
.menu-fixed.scroll-menu .menu-brand .brand-icon {
    width: 34px;
    height: 34px;
}
.menu-fixed.scroll-menu .menu-brand .brand-text {
    height: 26px;
}

/* Contraste: capa oscura sobre secciones hero con foto de fondo (data-parallax),
   para que el texto blanco se lea sin depender de que la foto sea oscura */
main > .section-image[data-parallax] {
    position: relative;
}
main > .section-image[data-parallax]::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(100deg, rgba(8,8,8,.68) 0%, rgba(8,8,8,.42) 45%, rgba(8,8,8,.12) 78%);
    z-index: 1;
    pointer-events: none;
}
main > .section-image[data-parallax] > .container {
    position: relative;
    z-index: 2;
}

/* Tamaños de imagen consistentes — el template original asumía que todas las
   fotos venían con el mismo ancho x alto (placeholders 800x500 / 800x1300).
   Dos proporciones fijas para todo el sitio, elegidas para no forzar recortes
   agresivos sobre fotografía de fauna real (mayormente tomada en horizontal):
   - 3:2 horizontal → miniaturas del hero, tarjetas de tour, grilla de galería
   - 4:5 vertical (suave) → tarjetas de "individuos documentados"
   Exportar las fotos finales ya en estas proporciones evita que el navegador
   tenga que recortar de más. */
.cnt-box-info .img-box,
main > .section-image .slider .img-box {
    aspect-ratio: 3 / 2;
}

.cnt-box-info .img-box img,
main > .section-image .slider .img-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.alpins-slider .media-box img {
    aspect-ratio: 4 / 5;
    width: 100%;
    object-fit: cover;
}

/* Foto junto al acordeón de "Antes de reservar", visible solo en desktop
   (columna d-none d-lg-block). 4:5 para que acompañe el alto del acordeón. */
.img-box-faq {
    aspect-ratio: 4 / 5;
}

.img-box-faq img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    /* Foto original es horizontal (3:2); el recorte a 4:5 solo toca los
       costados, así que centramos en el punto donde está el puma para
       que quede siempre entera y centrada, sin importar el ancho. */
    object-position: 66% center;
}

/* Hero: título arriba, bloque de contexto (frase + stat + mini-galería) empujado
   al tercio inferior en formato horizontal, como pidió Andrés */
.width-100 {
    max-width: 100%;
}

@media (min-width: 992px) {
    .hero-row {
        min-height: 620px;
    }

    .hero-info-col {
        align-self: flex-end;
    }
}

/* "Aprendiendo a reconocer a los pumas": la sección más importante de la home.
   Sin altura mínima, su alto dependía solo del texto y en pantallas anchas
   quedaba como una franja delgada, no como el bloque de pantalla completa
   que su lugar en la narrativa exige. */
@media (min-width: 992px) {
    .section-showcase {
        min-height: 100vh;
        display: flex;
        align-items: center;
    }
}

/* El template Alpins trae reglas .alpins-slider .glide__arrow/.glide__bullets
   que sacan flechas y puntos MUY lejos a la derecha (right:-300px/-345px),
   pensadas para un layout con harto espacio libre a un costado del slider.
   Con la galería más ancha (col-lg-7) ese espacio ya no existe y los
   controles terminaban fuera de la página. Se vuelve al posicionamiento
   simple: flechas pegadas a los bordes del slider, puntos centrados abajo. */
.section-showcase {
    overflow: visible;
}

.section-showcase .glide__arrow {
    top: 50%;
    bottom: auto;
    margin-top: -15px;
    right: auto;
    left: -40px;
}

.section-showcase .glide__arrow.glide__arrow--left {
    right: auto;
    left: -40px;
}

.section-showcase .glide__arrow.glide__arrow--right {
    left: auto;
    right: -40px;
    margin-left: 0;
}

.section-showcase .glide__bullets {
    width: 100%;
    left: 0;
    right: 0;
    bottom: -30px;
}

/* La columna de texto y la mini-galería deben quedar centradas entre sí:
   la galería (col-lg-7, cartas más grandes) es más alta que el texto
   (col-lg-5), y sin este centrado el texto queda pegado arriba. */
.section-showcase > .container > .row {
    align-items: center;
}

/* El título "Aprendiendo a reconocer a los pumas" usa el tamaño de
   .text-lg (65px) heredado del hero, pero en col-lg-5 (~415px de ancho)
   eso lo parte en varias líneas de una sola palabra, muy feo. Achicado
   solo para este título. */
@media (min-width: 992px) {
    .section-showcase h2.text-lg {
        font-size: 40px !important;
        line-height: 52px;
    }
}

/* En celular, el fondo parallax (data-slider-parallax) queda fijo al viewport
   completo (100vh) detrás de TODA la sección, que en mobile es mucho más alta
   que el celular (texto + carrusel apilados). Como la foto es horizontal
   (1400x933) y el viewport es vertical y angosto, "cover" la estira muchísimo
   para tapar ese alto: se ve pixelada y recortada casi solo a la cara del puma.
   Se limita a una franja fija arriba (alto de la columna de texto) en vez de
   fijarla a toda la pantalla: mucho menos escalado -> menos pixelado y menos
   recorte. El carrusel de fichas queda sobre el fondo normal de la sección. */
@media (max-width: 991px) {
    .section-showcase.section-slider[data-slider-parallax] .background-slider {
        position: absolute !important;
        top: 0;
        left: 0;
        width: 100%;
        height: 560px !important;
        /* La franja terminaba en un corte duro contra el color de fondo:
           se veía como una franja/banda negra pegada abajo de la foto. Se
           difumina el borde inferior con una máscara para que la foto se
           apague de a poco en vez de cortarse en seco. */
        -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 75%, transparent 100%);
        mask-image: linear-gradient(to bottom, #000 0%, #000 75%, transparent 100%);
    }

    /* Bajo la franja de la foto no queda ningún fondo pintado (el tema no le
       pone color a esta sección), así que en un celular real esa zona se ve
       con el fondo por defecto del navegador, casi siempre blanco: el texto
       en blanco quedaría invisible. Se fija un color oscuro explícito para
       que la transición sea continua: #161925 es el oscuro de marca del
       sitio (el mismo que usa el footer y otras secciones oscuras en
       skin.css), no un negro plano ajeno a la paleta.
       isolation:isolate es necesario porque .background-slider tiene
       z-index:-1: sin un contexto de apilamiento propio en la sección, ese
       z-index negativo escapa hacia arriba y la foto queda pintada debajo
       de este mismo background-color, tapándola por completo. */
    .section-showcase.section-slider {
        background-color: #161925;
        isolation: isolate;
    }
}

/* Slide horizontal de especies: tarjetas verticales, poco margen entre ellas,
   nombre y nombre científico bien juntos */
.especie-card .img-box {
    aspect-ratio: 3 / 4;
    margin-bottom: 8px;
    border-radius: 3px;
}

.especie-card .img-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.especie-card h3 {
    margin-bottom: 0;
    font-size: 15px;
    line-height: 1.25;
}

.especie-card .especie-cientifico {
    font-style: italic;
    color: rgb(90, 102, 110);
    font-size: 12px;
    margin-top: 1px;
    margin-bottom: 0;
}

.especie-card:nth-child(2) .img-box img,
main > .section-image .slider a[href*="guanaco"] img {
    object-position: 50% 20%;
}

/* Foto de Andrés en la sección Ngen (andres-sonriendo-camara.jpg, retrato
   1333x2000, la cara queda a ~40% de la altura). Las columnas solo quedan
   lado a lado desde 992px (col-lg-4/col-lg-8); por debajo de eso la imagen
   ocupa el ancho completo del contenedor, así que con la proporción 3:4 de
   desktop quedaba altísima y dominaba la pantalla en mobile Y en tablet.
   Por eso la proporción corta (3:2) se aplica a todo ese rango, no solo a
   mobile. El object-position no usa el mismo valor que en desktop porque
   la proporción es distinta. */
.img-box-andres {
    aspect-ratio: 3 / 4;
}

.img-box-andres img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 30%;
}

@media (max-width: 991.98px) {
    .img-box-andres {
        aspect-ratio: 3 / 2;
    }

    .img-box-andres img {
        object-position: 50% 32%;
    }
}

/* Kicker sobre "Ngen": da contexto sin repetir el título ni sonar a etiqueta
   técnica ("contexto"). Texto simple en el teal de acento del sitio (no un
   badge/píldora sólido, pesaba demasiado) y más espacio antes del título. */
.section-kicker {
    display: block;
    color: #00796f;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    font-size: 13px;
    margin-bottom: 16px;
}

/* Subtítulos largos: el patrón del theme (.title > p) usa white-space:nowrap
   pensado para taglines cortas con guiones decorativos a los lados. Cuando el
   texto es una oración completa se corta en vez de hacer salto de línea. Este
   modificador permite que el texto haga wrap normalmente. */
.title-wrap > p {
    white-space: normal;
    overflow: visible;
    max-width: 640px;
    margin-left: auto;
    margin-right: auto;
    padding: 0;
}

/* .title.align-center > p tiene más especificidad que .title-wrap > p, así que
   su padding-left:45px (pensado para dejar espacio al guion decorativo)
   seguía ganando y corría el texto largo 45px a la derecha, descentrándolo
   bajo el título. */
.title.align-center.title-wrap > p {
    padding-left: 0;
}

.title-wrap > p:before,
.title-wrap > p:after {
    display: none;
}

/* Galería (gallery.html): las fotos reales mezclan retratos verticales y
   tomas horizontales, algo que el theme (pensado para placeholders 800x500
   uniformes) no contempla. Sin un alto fijo, cada fila de la grilla se
   ajusta a la foto más alta y dentro de las tarjetas de categoría el título
   (position:absolute) queda anclado al alto de la tarjeta estirada por el
   grid, no al de su propia foto: si la foto es más baja que sus vecinas de
   fila, el título se separa de ella y flota solo sobre un recuadro vacío. */
.album-list {
    grid-template-columns: 1fr 1fr;
}

.album-box .img-box {
    aspect-ratio: 4 / 3;
}

.album-box .img-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.grid-list.list-gallery .grid-item .img-box {
    aspect-ratio: 4 / 3;
}

.grid-list.list-gallery .grid-item .img-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media (max-width: 575.98px) {
    .album-list {
        grid-template-columns: 1fr;
    }
}

/* CTA de pantalla completa (gallery.html y about.html), y los heroes de video
   (section-video / header-video en index/treks/gallery/contacts): ya usan
   video en loop (hero-1.mp4 = portada index/gallería, hero-2.mp4 = el resto),
   con la foto anterior como poster/fallback. */
.cta-fullscreen {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 100vh;
    min-height: 100svh;
    overflow: hidden;
    background: #161925;
}

.cta-fullscreen > video,
.section-video > video,
.header-video > video {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: auto !important;
    bottom: auto !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none;
    margin-top: 0 !important;
    object-fit: cover;
    z-index: 0;
}

.header-video {
    position: relative;
}

.header-video::before,
.section-video::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(10, 20, 30, .35) 0%, rgba(10, 20, 30, .55) 100%);
    z-index: 1;
}

.header-video > .container,
.section-video > .container {
    position: relative;
    z-index: 2;
}

.cta-fullscreen:before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(180deg, rgba(10, 20, 30, .35) 0%, rgba(10, 20, 30, .6) 100%);
}

.cta-fullscreen > .container {
    position: relative;
    z-index: 2;
}

/* "Revísalo tú mismo" (regulaciones.html): las 4 tarjetas de enlaces tienen
   descripciones de largo distinto, así que el link de cada una quedaba a una
   altura distinta dentro de la tarjeta, aunque el .row (flex) ya iguala el
   alto total de las 4 columnas entre sí. Esto ancla el link siempre al pie
   de la tarjeta, sin importar cuántas líneas ocupe la descripción. */
.icon-box-link {
    height: 100%;
}

.icon-box-link .caption {
    display: flex;
    flex-direction: column;
    flex: 1;
}

.icon-box-link .caption .btn-text {
    margin-top: auto;
    padding-top: 15px;
}

/* "Mi camino" (about.html): el badge del año usaba padding-left:0 y no tenía
   padding inferior, así que el texto quedaba pegado a esos dos bordes. */
.timeline > div.inverted .badge {
    box-sizing: border-box;
    padding: 10px 20px 20px 20px;
}

/* Tarjetas de "Mi camino" con foto de fondo por año, con overlay oscuro para
   que el año y el texto se lean sobre cualquier foto. El layout original
   (badge 30% + panel 70% en columnas, heredado del timeline vertical del
   template) se reemplaza por un stack vertical anclado abajo, tipo caption
   de foto: da al texto todo el ancho de la tarjeta en vez de apretarlo en
   una columna angosta. */
.timeline > div.inverted.timeline-photo {
    position: relative;
    background-size: cover;
    background-position: center;
    border-radius: 8px;
    padding: 24px 28px;
    overflow: hidden;
    min-height: 320px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.timeline > div.inverted.timeline-photo:before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(22, 25, 37, .55) 0%, rgba(22, 25, 37, .7) 100%);
}

.timeline > div.inverted.timeline-photo .badge,
.timeline > div.inverted.timeline-photo .panel {
    position: static;
    z-index: 1;
    width: 100%;
    margin: 0;
    background: none;
    padding: 0;
}

.timeline > div.inverted.timeline-photo .badge p {
    margin: 0;
    font-size: 22px;
}

.timeline > div.inverted.timeline-photo .badge span {
    display: block;
    margin: 2px 0 14px 0;
    font-size: 13px;
    opacity: .85;
}

.timeline > div.inverted.timeline-photo .panel .timeline-title {
    font-size: 17px;
    margin: 0 0 8px 0;
}

.timeline > div.inverted.timeline-photo .panel p {
    font-size: 14px;
    line-height: 1.5;
    margin: 0;
}

.timeline > div.inverted.timeline-photo .badge p,
.timeline > div.inverted.timeline-photo .badge span,
.timeline > div.inverted.timeline-photo .panel .timeline-title,
.timeline > div.inverted.timeline-photo .panel p {
    color: #fff;
}

/* "Perfiles de interés" (regulaciones.html): franja final con los logos de
   las instituciones citadas en la normativa, cada uno enlazado a su sitio
   oficial. Panthera y SERNATUR solo tienen versión oficial en blanco
   (pensada para fondo oscuro), así que esas dos tarjetas usan el navy de la
   marca en vez de blanco para que el logo no quede invisible. */
.logos-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch;
    gap: 20px;
    margin-top: 10px;
}

.logo-chip {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 160px;
    height: 96px;
    padding: 16px;
    background: #fff;
    border: 1px solid rgba(22, 25, 37, .1);
    border-radius: 6px;
    transition: transform .3s, box-shadow .3s;
}

.logo-chip:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 25px rgba(22, 25, 37, .15);
}

.logo-chip img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.logo-chip-dark {
    background: #161925;
}

@media (max-width: 575.98px) {
    .logo-chip {
        width: 130px;
        height: 80px;
        padding: 12px;
    }
}

/* Tarjetas de testimonios: cada una es una caja flotante independiente
   (fondo blanco, sombra, esquinas redondeadas), con espacio para foto de la
   persona (hoy un ícono genérico, placeholder), nombre, bandera del país y
   fecha. Ver TODO Andrés en el HTML: son 8 testimonios ficticios. */
.testimonials-grid {
    row-gap: 30px;
}

.testimonial-card {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 15px 35px rgba(22, 25, 37, .1);
    padding: 30px;
    height: 100%;
}

.testimonial-avatar {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: #161925;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    margin-bottom: 18px;
}

.testimonial-text {
    color: #161925;
    margin-bottom: 20px;
}

.testimonial-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    font-size: 14px;
}

.testimonial-name {
    font-weight: 700;
}

.testimonial-flag {
    font-size: 18px;
}

.testimonial-date {
    color: #767b8a;
    margin-left: auto;
}

.footer-logo {
    width: 44px;
    margin-bottom: 14px;
}

/* Tabla resumida de precios en "Cómo reservar", valores desde
   Base de Costos y Precios - Tours.xlsx (hoja "Tarifario de Venta"),
   tarifa de 6 pasajeros por día. */
.mini-price-table {
    margin: 20px 0;
    border-top: 1px solid rgba(22, 25, 37, .1);
}

.mini-price-table li {
    display: flex;
    justify-content: space-between;
    padding: 10px 0;
    border-bottom: 1px solid rgba(22, 25, 37, .1);
}

.mini-price-table li span:last-child {
    font-weight: 700;
}

/* Protección básica de fotos: sin selección de texto sobre imágenes y sin el
   menú de "guardar/copiar" al mantener presionado en mobile (-webkit-touch-
   callout). Complementa el bloqueo de clic derecho/arrastre en custom.js. */
img, video {
    -webkit-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
}


/*
-------------------------------------------------------------------
AJUSTES 2026-10-12: reserva visible, idioma, cookies, contraste y accesibilidad
-------------------------------------------------------------------
Color de marca para texto y botones: #00796f (contraste AA con blanco, 5.3:1).
Sobre fondos oscuros (pie de página, fichas) se usa #4fd1c7.
*/

/* Las imágenes con width/height no deben deformarse: especificidad 0 para no pisar reglas del tema */
:where(img[width][height]) { height: auto; }

/* Foco visible para teclado */
a:focus-visible, button:focus-visible, .menu-btn:focus-visible, summary:focus-visible, [tabindex]:focus-visible {
    outline: 3px solid #4fd1c7;
    outline-offset: 2px;
}
main a:focus-visible, main button:focus-visible { outline-color: #00796f; }

/* Botón Reservar del menú y selector de idioma */
.menu-right { display: flex; align-items: center; gap: 14px; }
.nav-reserve { margin: 0; white-space: nowrap; }
.lang-switch { display: flex; align-items: center; gap: 4px; list-style: none; margin: 0; padding: 0; }
.lang-switch li { margin: 0; padding: 0; }
.lang-switch a, .lang-switch .lang-current {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 6px 8px; border-radius: 4px;
    font-size: 13px; font-weight: 600; letter-spacing: .04em;
    color: inherit; text-decoration: none; line-height: 1;
}
.lang-switch img { width: 18px; height: auto; display: block; }
.lang-switch .lang-current { border-bottom: 2px solid currentColor; }
.lang-switch a:hover { background: rgba(255, 255, 255, .15); }

/* Botón de reserva en portada */
.hero-cta { margin: 26px 0 0; }

/* Barra de reserva fija en móvil */
.reserve-bar { display: none; }
@media (max-width: 991px) {
    .reserve-bar {
        display: block; position: fixed; left: 0; right: 0; bottom: 0; z-index: 900;
        padding: 14px 16px calc(14px + env(safe-area-inset-bottom, 0px));
        background: #00796f; color: #fff; text-align: center;
        font-size: 16px; font-weight: 700; text-decoration: none;
        box-shadow: 0 -4px 18px rgba(22, 25, 37, .25);
    }
    body { padding-bottom: 56px; }
}

/* Aviso de cookies e idioma */
#ngen-notice {
    position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 1000;
    max-width: 760px; margin: 0 auto;
    background: #161925; color: #fff;
    border-radius: 10px; padding: 16px 18px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, .35);
    display: grid; gap: 14px;
}
.ngen-notice-row { display: flex; flex-wrap: wrap; gap: 12px 18px; align-items: center; justify-content: space-between; }
.ngen-notice-row + .ngen-notice-row { border-top: 1px solid rgba(255, 255, 255, .18); padding-top: 14px; }
#ngen-notice p { margin: 0; font-size: 14px; line-height: 1.55; flex: 1 1 320px; color: #fff; }
#ngen-notice a:not(.ngen-btn) { color: #4fd1c7; text-decoration: underline; }
.ngen-notice-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.ngen-btn {
    font: inherit; font-size: 14px; font-weight: 600; cursor: pointer;
    padding: 10px 16px; border-radius: 6px; line-height: 1.2;
    border: 1px solid #fff; background: transparent; color: #fff; text-decoration: none;
}
.ngen-btn-solid { background: #fff; color: #161925; }
.ngen-btn:hover { opacity: .9; }
@media (max-width: 991px) { #ngen-notice { bottom: 72px; } }

/* Espacio de galerías y comentarios de pasajeros */
.passenger-grid { row-gap: 30px; margin-top: 30px; }
.passenger-card { margin: 0; background: #fff; border-radius: 12px; overflow: hidden; box-shadow: 0 15px 35px rgba(22, 25, 37, .1); height: 100%; }
.passenger-card img { width: 100%; display: block; }
.passenger-card figcaption { padding: 20px 22px 24px; }
.passenger-quote { color: #161925; margin: 0 0 10px; }
.passenger-by { display: block; color: #4b5060; font-size: 14px; margin-bottom: 12px; }

/* Contraste AA */
footer a, .footer-bar a { color: #fff; }
footer .icon-list a, footer p a { color: #4fd1c7; }
.cnt-box-info .cnt-info > div > span:last-child, div.cnt-box-info .cnt-info a { color: #4fd1c7; }
.testimonial-date, .passenger-by { color: #4b5060; }
.text-sm, .title > p { color: #4b5060; }
.light .title > p, .section-color.light .title > p, footer .text-sm { color: inherit; }

/* Páginas de texto (privacidad, 404) */
.legal-text h2 { font-size: 22px; margin: 34px 0 10px; }
.legal-text ul { padding-left: 20px; margin: 0 0 16px; }
.legal-text li { margin-bottom: 8px; }
.legal-text .btn { margin: 0 8px 10px 0; }

/* Botón Reservar dentro del menú: píldora de color de marca, sin heredar la altura del menú */
body > nav .menu-right a.nav-reserve {
    display: inline-flex !important; align-items: center; justify-content: center;
    height: auto !important; min-height: 0 !important; line-height: 1.2 !important;
    padding: 9px 20px !important; margin: 0 !important;
    background: #00796f !important; color: #fff !important;
    border: 0 !important; border-radius: 999px !important;
    font-size: 13px !important; font-weight: 700 !important; letter-spacing: .04em; text-transform: uppercase;
}
body > nav .menu-right a.nav-reserve:hover { background: #005f57 !important; }
body > nav .menu-right { align-self: center; height: auto !important; }

/* Botones con borde: color de marca sobre fondo claro, blanco sobre fotos y fondos oscuros */
.btn.btn-border { color: #00796f; border-color: #00796f; }
.light .btn.btn-border, header .btn.btn-border, .section-video .btn.btn-border, .section-image .btn.btn-border, footer .btn.btn-border { color: #fff; border-color: #fff; }
.btn.btn-border:hover { background: #00796f; border-color: #00796f; color: #fff; }
.form-checkbox a, .form-checkbox label a { color: #00796f !important; text-decoration: underline; }
.form-checkbox { opacity: 1; }
.form-checkbox label { color: #161925; }
