@charset "utf-8";

/* CSS Document */


/*--Import GLOBAL CSS--*/

@import url(global.css);

body {
    font-family: var(--font-family);
}

.container-fluid {
    padding-left: 15px;
    padding-right: 15px;
}

.mobile-menu {
    min-height: 100vh;
    background-color: var(--primary-color);
    position: fixed;
    left: 0;
    /* top: -100%; */
    width: 100%;
    z-index: 999;
    transition: all 0.3s ease-in-out;
}

.mobile-menu-links li:not(:last-child) {
    margin-bottom: 20px;
}

.mobile-menu-links li {
    text-align: center;
}

.mobile-menu-links li a {
    font-size: 30px;
    font-weight: 700;
    color: #fff;
    line-height: 1;
}

.mobile-menu-row {
    padding: 6vh 30px;
}

.mobile-menu-row:not(:last-child) {
    border-bottom: 1px solid #fff;
}

.mobile-menu .header-top-media a,
.mobile-menu .header-top-media a:hover {
    color: #fff;
}

.mobile-menu .header-top-media a:not(:last-child) {
    margin-right: 25px;
}

.mobile-menu .header-top-media:not(:last-child) {
    margin-bottom: 6vh;
}

@media(max-width:575px) {
    .mobile-menu-links li a {
        font-size: 24px;
    }

    .mobile-menu-row {
        padding: 6vh 20px;
    }
}

@media(max-width:480px) {
    .mobile-menu-links li a {
        font-size: 20px;
    }

    .mobile-menu-row {
        padding: 6vh 15px;
    }
}

.hero-section {
    min-height: 100vh;
    background: url(/ebike2021/img/hero-bg.webp), url(/ebike2021/img/hero-bg.resized.jpg);
    background-position: center top;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
}

.header.position-absolute {
    left: 0;
    top: 0;
    width: 100%;
    z-index: 99;
}

.header-top {
    min-height: 40px;
    background-color: #f3f3f3;
    padding: 5px 0;
}

.header-top-links li:not(:last-child) {
    margin-right: 25px;
}

.header-top-links li a {
    font-size: 14px;
    color: #8D8D8D;
}

.header-top-links li a:hover {
    color: var(--primary-color);
}

.header-top-column {
    padding: 0 30px;
}

.header-top-column:not(:last-child) {
    border-right: 1px solid #D5D5D5;
}

.header-top-media a {
    display: block;
    padding: 5px 0;
    line-height: 15px;
    font-size: 12px;
    color: #8D8D8D;
}

.header-top-media a:hover {
    color: var(--primary-color);
}

.header-top-media a:not(:last-child) {
    margin-right: 15px;
}

.header-arrow-link {
    font-size: 10px;
    color: #8D8D8D;
}

.header-arrow-link span {
    margin-right: 8px;
}

.header-arrow-link svg {
    height: 9px;
    position: relative;
    top: 1px;
}

.header-arrow-link:hover {
    color: var(--primary-color);
}

.header-content {
    min-height: 110px;
    padding: 10px 0;
}

.logo img {
    max-width: 158px;
}

.header-content .menu:not(:last-child) {
    margin-right: 50px;
}

.menu ul li:not(:last-child) {
    margin-right: 50px;
}

.menu ul li a {
    font-size: 18px;
    /*color: #fff;*/
    position: relative;
}

.menu ul li a:hover {
    color: var(--secondary-color);
}

header .header-content-block ul li a {
    color: #000;
}

header.page-header {
    background-color: #fff;
    box-shadow: 0 1px 12px rgba(0, 0, 0, 0.08);
}

header.page-header ul li a {
    color: #000;
}

.gift {
    display: flex;
    align-items: center;
    justify-content: cent;
    width: 22px;
    height: 22px;
    border-radius: 100%;
    background-color: var(--secondary-color);
    position: absolute;
    left: 0;
    top: 0;
    transform: translate(-75%, -30%);
    font-size: 10px;
    color: #fff;
}

.hero-section h1 {
    color: #fff;
}

.hero-search:not(:first-child) {
    margin-top: 10vh;
}

.hero-search {
    min-height: 120px;
    background-color: #fff;
    border-radius: 100px;
    padding: 15px 50px;
}

.hero-search-label {
    font-size: 18px;
    font-weight: 700;
    color: #1A1A1A;
}

.hero-search-fields {
    max-width: 700px;
    padding: 0 30px;
}

.hero-search-fields>.row.rows {
    margin: 0 -30px;
}

.hero-search-fields>.row.rows>.columns {
    padding: 0 30px;
}

.hero-search-fields>.row.rows>.columns:not(:last-child) {
    border-right: 1px solid #D6D6D6;
}

.hero-search-field {
    border: 0;
    background: none;
    padding: 0;
    width: 100%;
    color: #8D8D8D;
    font-size: 18px;
}

.mobile-search-form:not(:first-child) {
    margin-top: 40px;
}

.mobile-search {
    min-height: 70px;
    border-radius: 50px;
    width: 100%;
    background-color: #fff;
    padding: 10px 50px;
    font-size: 18px;
    text-align: center;
    border: 0;
}

.main {
    padding: 0px 0;
}

.main .section {
    padding: 0px 0;
}

.section-header:not(:last-child) {
    margin-bottom: 80px;
}

.cards>.row.rows {
    margin: -10px;
}

.cards>.row.rows>.columns {
    padding: 10px;
}

.VueCarousel .card-image,
.card-image {
    height: 290px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    display: flex;
}

.leaflet-popup-content .card-image {
    height: 200px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    display: flex;
}

.card-image:not(:last-child) {
    margin-bottom: 30px;
}

.card-image-content {
    flex-grow: 1;
    position: relative;
    /* padding: 15px 20px; */
}

.card-image-content::before {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 50%;
    pointer-events: none;
    content: "";
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.5) 100%);
    z-index: 10;
}

.card-labels {
    display: flex;
    align-items: center;
    margin: -3px;
    padding: 10px;
    position: relative;
    z-index: 1;
}

.card-labels span {
    padding: 3px;
}

.card-label {
    padding: 5px 10px;
    line-height: 12px;
    text-align: center;
    border-radius: 25px;
    font-size: 10px;
    color: #fff;
    margin: 2px;
}

.card-label.card-label-primary {
    background-color: var(--primary-color);
}

.card-label.card-label-secondary {
    background-color: var(--secondary-color);
}

.card-image-content p {
    color: #fff;
    position: relative;
    z-index: 1;
    padding: 15px;
}

.card-content-header:not(:last-child) {
    margin-bottom: 20px;
}

.card-content-header p {
    font-weight: 700;
}

.card-content-block p {
    color: var(--text-color);
    max-width: 75%;
}

.card-content-block:not(:last-child) {
    margin-bottom: 30px;
}

.card-link {
    font-size: 14px;
    color: var(--primary-color);
}

.card-link:hover {
    color: var(--secondary-color);
}

.card-icon {
    width: 30px;
    height: 30px;
    border-radius: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.card-icon:not(:last-child) {
    margin-right: 15px;
}

.app-store {
    min-height: 780px;
    background-color: #008eca;
    /* background-color: #009ACB; */
    border-radius: 40px;
    overflow: hidden;
}

.app-store h1,
.app-store p {
    color: #fff;
}

.app-store h1:not(:last-child),
.app-store-block:not(:last-child) {
    margin-bottom: 50px;
}

.app-store-block p {
    max-width: 70%;
}

.app-store-phone {
    position: relative;
}

.app-store-phone img {
    max-width: 80%;
}

.app-store-phone-1 {
    transform: translateY(18%) rotate(25deg);
    position: relative;
    z-index: 1;
}

.app-store-phone-ghost {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    transform: translate(15%, 55%) rotate(25deg);
    z-index: 0;
}

video {
    /* override other styles to make responsive */
    width: 100% !important;
    height: auto !important;
}

.play-store img {
    max-height: 70px;
    width: 200px;
}

.play-store a:not(:last-child) {
    margin-right: 35px;
}

.image-article-slide figure:not(:last-child) {
    margin-bottom: 50px;
}

.image-article-slide-content h6:not(:last-child),
.image-article-slide-content p:not(:last-child) {
    margin-bottom: 20px;
}

.image-article-slide-content p {
    font-size: 14px;
    color: var(--text-color);
    max-width: 80%;
}

.routes-header:not(:last-child) {
    margin-bottom: 10px;
}

.routes-header span:not(:last-child) {
    margin-right: 10px;
}

p.routes-header {
    color: var(--secondary-color);
}

.pois-header:not(:last-child) {
    margin-bottom: 10px;
}

.pois-header span:not(:last-child) {
    margin-right: 10px;
}

p.pois-header {
    color: var(--primary-color);
}

.bg-article {
    min-height: 780px;
    border-radius: 40px;
    overflow: hidden;
    position: relative;
    background-size: cover;
    padding: 140px 0;
}

.bg-article::before {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.34);
    content: "";
    z-index: 0;
}

.bg-article .row {
    position: relative;
    z-index: 1;
}

.bg-article h1,
.bg-article h6,
.bg-article p {
    color: #fff;
}

.bg-article h1:not(:last-child) {
    margin-bottom: 30px;
}

.map-section {
    background-color: #FCFCFC;
}

.map-block {
    min-height: 780px;
    border-radius: 40px;
    overflow: hidden;
    position: relative;
    padding: 140px 0;
}

.map-block::before {
    position: absolute;
    left: 0;
    bottom: 0;
    transform: translateY(-20%);
    width: 100%;
    height: 100%;
    background: url(/ebike2021/img/dot-map.png) left bottom no-repeat;
    content: "";
    z-index: 0;
}

.map-block h6,
.map-block-content {
    position: relative;
    z-index: 1;
}

.map-block-content h1:not(:last-child) {
    margin-bottom: 30px;
}

.place-list {
    padding: 0 15px;
}

.place-list h6 {
    color: var(--primary-color);
}

.place-list ul:not(:first-child) {
    margin-top: 10px;
}

.place-list ul li a {
    font-size: 14px;
    color: #808080;
}

.place-list ul li a:hover {
    color: var(--secondary-color);
}

.partners-slider img {
    opacity: 0.35;
    transition: all 0.1s linear;
}

.partners-slider img:hover {
    opacity: 1;
}

.network-section {
    background-color: var(--secondary-color);
}

.network-section {
    min-height: 700px;
}

.network-section .section-header h4,
.network-section .section-header a {
    color: #fff;
}

.network-section .section-header a:hover {
    color: #fff;
    text-decoration: underline;
}

.network-item {
    width: 100%;
}

.network-icon {
    width: 100%;
    height: 125px;
    background-color: #fff;
    border-radius: 20px;
    padding: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.19);
}

.network-icon:not(:last-child) {
    margin-bottom: 20px;
}

.network-item h6 {
    color: #fff;
    text-align: center;
}

.footer-block {
    min-height: 830px;
}

.footer-sidebar {
    padding: 90px 30px 90px calc(100vw/12);
}

.footer-content {
    padding: 90px calc(100vw/12);
    background-color: var(--primary-color);
}

.footer-content-bottom p {
    color: #fff;
    max-width: 80%;
}

.footer-block h6:not(:last-child),
.footer-block ul li:not(:last-child) {
    margin-bottom: 15px;
}

.footer-block h6,
.footer-block ul li a {
    color: #fff;
}

.footer-block ul li a {
    font-size: 18px;
}

.footer-block ul li a:hover {
    color: #fff;
    text-decoration: underline;
}

.social-media-links a {
    font-size: 14px;
    color: #fff;
}

.social-media-links a:hover {
    color: #fff;
    opacity: 0.8;
}

.social-media-links a:not(:last-child) {
    margin-right: 20px;
}

.page-banner {
    min-height: 600px;
    background-position: center center;
    background-repeat: no-repeat;
    padding: 50px 0;
    position: relative;
}

.page-banner::before {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.1);
    content: "";
    pointer-events: none;
    z-index: 0;
}

.page-banner-1 {
    background-image: url(/ebike2021/img/hero-bg.webp);
}

.page-banner .container-fluid {
    position: relative;
    z-index: 1;
    transform: translateY(75px);
}

.page-banner h1 {
    color: #fff;
}

.page-banner .langhe:not(:last-child) {
    margin-bottom: 30px;
}

.langhe {
    background-color: #fff;
    min-height: 46px;
    min-width: 145px;
    border-radius: 50px;
    padding: 5px 15px;
    font-size: 18px;
    font-weight: 700;
    color: var(--secondary-color);
}

.langhe span:not(:last-child) {
    margin-right: 10px;
}

.main-category-list {
    min-height: 160px;
    padding: 30px 0;
    /* border-bottom: 1px solid #E1E1E1; */
}

a.card-content-header {
    color: #000;
}

.article h4:not(:last-child) {
    margin-bottom: 50px;
}

.article p {
    color: var(--text-color);
    max-width: 50%;
}

.bottom-headding {
    margin-top: 50px;
    transform: translateY(50px);
}

.article:not(:last-child) {
    margin-bottom: 50px;
}

.artcles-section .article p {
    max-width: 90%;
}

.app-block {
    background: url(/ebike2021/img/mobile-shape-app.png) right bottom no-repeat var(--primary-color);
    background-size: 80% auto;
    border-radius: 40px;
    padding: 60px;
    overflow: hidden;
}

.app-block h2 {
    color: #fff;
}

.app-block h2:not(:last-child) {
    margin-bottom: 50px;
}

.page-map {
    height: 300px;
    overflow: hidden;
    border-radius: 40px;
    position: relative;
}

.page-map iframe {
    width: 100%;
    height: 100%;
}

.page-map-content {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 999;
}

.page-wrapper {
    height: 100vh;
    overflow: hidden;
}

.page-left {
    padding: 0 80px;
    height: calc(100vh - 150px);
}

.page-right iframe {
    width: 100%;
    height: 100%;
}

.main-category-list .card-content-header p {
    white-space: nowrap;
}

.page-left-block:not(:last-child) {
    margin-bottom: 50px;
}

.page-left .main-category-list {
    min-height: auto;
    border: 0;
    padding: 15px 0;
}

.page-left .main-category-list .card-content-header {
    opacity: 0.8;
}

.page-left .main-category-list .card-content-header.active {
    opacity: 1;
}

.page-left {
    overflow: hidden;
    overflow-y: scroll;
}

.page-left-block-header:not(:last-child) {
    margin-bottom: 30px;
}

.page-left-block-header p:not(:last-child) {
    margin-bottom: 10px;
}

.page-left-wrap {
    padding: 50px 0;
}

.card-sliders .swiper-slide {
    width: 290px;
}

.label-sliders .swiper-slide {
    width: auto;
}

.two-column-page {
    position: relative;
}

.two-column-toggle {
    position: absolute;
    right: 30px;
    bottom: 30px;
    width: 50px;
    height: 50px;
    border-radius: 100%;
    background-color: #fff;
    z-index: 999;
    cursor: pointer;
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.08);
    background: url(/ebike2021/img/map-icon-2.png) center center no-repeat #fff;
}

.two-column-toggle.toggle-bg {
    background: url(/ebike2021/img/dots.png) center center no-repeat #fff;
}

.two-column-page>.row>.column {
    width: 50vw;
}

.card-sliders,
.label-sliders {
    position: relative;
}

.card-sliders::after,
.label-sliders::after {
    position: absolute;
    pointer-events: none;
    right: 0;
    top: 0;
    width: 50%;
    height: 100%;
    content: "";
    background-color: #000;
    z-index: 99;
    background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.8) 100%);
}

.label-item {
    display: inline-block;
    border-radius: 50px;
    font-size: 16px;
    color: var(--text-color);
    text-align: center;
    padding: 5px 25px;
    border: 1px solid #8D8D8D;
}

.label-item:hover {
    color: #fff;
    background-color: var(--primary-color);
    border-color: var(--primary-color);
}


/* .main-map {
    background: url(/ebike2021/img/mag-bg.jpg) center center no-repeat;
    background-size: cover;
} */

.page-right {
    position: relative;
}

.page-right-header {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    padding: 30px 15px;
}

.page-right-header .mobile-search-form input {
    width: 500px;
}

.arrow {
    padding: 10px;
}

.arrow:focus {
    outline: none;
}

.arrow:not(:last-child) {
    margin-right: 15px;
}

.map-location-1 {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    cursor: pointer;
}

.modal-overlay {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.2);
    opacity: 0;
    visibility: hidden;
    transition: all 0.1s linear;
}

.modal-overlay.active {
    opacity: 1;
    visibility: visible;
}

.map-modal {
    width: 550px;
    background-color: #fff;
    padding: 50px;
    border-radius: 25px;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 999;
    opacity: 0;
    visibility: hidden;
    transition: all 0.1s linear;
}

.map-modal.active {
    opacity: 1;
    visibility: visible;
}

.map-modal-image img {
    width: 100%;
}

.map-modal-image:not(:last-child),
.map-modal-content:not(:last-child) {
    margin-bottom: 20px;
}

.map-modal-content h4:not(:last-child) {
    margin-bottom: 15px;
}

.map-modal-content p {
    color: var(--text-color);
    line-height: 1.5;
}

.map-modal-close {
    width: 20px;
    height: 20px;
    position: absolute;
    right: 20px;
    top: 20px;
    cursor: pointer;
}

.map-modal-close::before,
.map-modal-close::after {
    width: 2px;
    height: 100%;
    position: absolute;
    background-color: #000;
    content: "";
    left: 50%;
    top: 50%;
}

.map-modal-close::before {
    transform: translate(-50%, -50%) rotate(-45deg);
}

.map-modal-close::after {
    transform: translate(-50%, -50%) rotate(45deg);
}

.options-toggle {
    width: 70px;
    height: 70px;
    border-radius: 100%;
    background-color: var(--primary-color);
    cursor: pointer;
}

.options-toggle:not(:last-child) {
    margin-right: 15px;
}

.options {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translate(-125%, -50%);
    width: calc(100% - 50px);
    background-color: #fff;
    border-radius: 0 20px 20px 0;
    padding: 50px 50px;
    min-height: 80vh;
    z-index: 999;
    transition: all 0.1s linear;
}

.options.active {
    transform: translate(0, -50%);
}

.options-close {
    width: 20px;
    height: 20px;
    position: absolute;
    right: 20px;
    top: 20px;
    cursor: pointer;
}

.options-close::before,
.options-close::after {
    width: 2px;
    height: 100%;
    position: absolute;
    background-color: #000;
    content: "";
    left: 50%;
    top: 50%;
}

.options-close::before {
    transform: translate(-50%, -50%) rotate(-45deg);
}

.options-close::after {
    transform: translate(-50%, -50%) rotate(45deg);
}

.options-list li:not(:last-child) {
    margin-bottom: 15px;
}

.options-block:not(:last-child) {
    margin-bottom: 25px;
}

@media(max-width:1399px) {
    .main {
        /*padding: 80px 0;*/
    }

    .main .section {
        padding: 80px 0;
    }

    .header-top-column {
        padding: 0 15px;
    }

    .menu ul li a {
        font-size: 16px;
    }

    .menu ul li:not(:last-child),
    .header-content .menu:not(:last-child) {
        margin-right: 30px;
    }

    .app-store,
    .bg-article,
    .map-block {
        min-height: 700px;
        border-radius: 30px;
    }

    .app-store h1:not(:last-child),
    .app-store-block:not(:last-child) {
        margin-bottom: 40px;
    }

    .section-header:not(:last-child) {
        margin-bottom: 70px;
    }

    .bg-article,
    .map-block {
        padding: 120px 0;
    }

    .map-block {
        border-radius: 0;
    }

    .footer-block ul li a {
        font-size: 16px;
    }

    .footer-block h6:not(:last-child),
    .footer-block ul li:not(:last-child) {
        margin-bottom: 10px;
    }

    .app-block,
    .page-map {
        border-radius: 30px;
    }

    .page-left {
        padding: 0 50px;
    }

    .map-modal {
        width: 500px;
        padding: 30px;
        border-radius: 20px;
    }
}

@media(min-width:1200px) {
    .swiper-scrollbar {
        display: none !important;
    }
}

@media(max-width:1199px) {
    .main {
        padding: 60px 0;
    }

    .main .section {
        padding: 60px 0;
    }

    .header-content {
        min-height: 90px;
    }

    .logo img {
        max-width: 130px;
    }

    .menu ul li a {
        font-size: 14px;
    }

    .gift {
        width: 20px;
        height: 20px;
        transform: translate(-85%, -40%);
    }

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

    .hero-search-fields {
        padding: 0 15px;
    }

    .hero-search-fields>.row.rows {
        margin: 0 -15px;
    }

    .hero-search-fields>.row.rows>.columns {
        padding: 0 15px;
    }

    .hero-search {
        padding: 10px 30px;
    }

    .hero-search {
        min-height: 100px;
    }

    .hero-search-label,
    .hero-search-field {
        font-size: 16px;
    }

    .cards {
        margin: 0 -15px 0 0;
    }

    .cards .swiper-container,
    .image-article-slider,
    .routes-slider,
    .partners-slider {
        padding-bottom: 100px;
    }

    .app-store,
    .bg-article {
        min-height: 600px;
        border-radius: 20px;
    }

    .map-block {
        border-radius: 0;
    }

    .app-store h1:not(:last-child),
    .app-store-block:not(:last-child) {
        margin-bottom: 30px;
    }

    .app-store-block p {
        max-width: 90%;
    }

    .section-header:not(:last-child) {
        margin-bottom: 60px;
    }

    .image-article-slide figure:not(:last-child) {
        margin-bottom: 40px;
    }

    .bg-article,
    .map-block {
        padding: 100px 0;
    }

    .map-block::before {
        background-size: 100% auto;
        background-position: 10vw bottom;
        transform: translateY(-45%);
    }

    .partners-slider-wrap {
        margin: 0 -15px 0 0;
    }

    .network-icon {
        border-radius: 15px;
        min-height: 100px;
    }

    .network-icon:not(:last-child) {
        margin-bottom: 15px;
    }

    .network-section .section-content>.row.rows {
        margin: -15px -5px;
    }

    .network-section .section-content>.row.rows>.columns {
        padding: 15px 5px;
    }

    .footer-block {
        min-height: auto;
    }

    .footer-logo-wrap:not(:last-child),
    .footer-content-top:not(:last-child) {
        margin-bottom: 50px;
    }

    .footer-block ul li a {
        font-size: 17px;
    }

    .footer-sidebar,
    .footer-content {
        padding-top: 50px;
        padding-bottom: 50px;
    }

    .footer-content-bottom p {
        max-width: 100%;
    }

    .page-banner {
        min-height: 550px;
    }

    .article p {
        max-width: 80%;
    }

    .app-block {
        padding: 30px;
    }

    .app-block h2:not(:last-child) {
        margin-bottom: 30px;
    }

    .app-block {
        max-width: 500px;
        min-height: 600px;
    }

    .app-block,
    .page-map {
        border-radius: 20px;
    }

    .page-left {
        padding: 0 30px;
        height: calc(100vh - 130px);
    }

    .page-right-header .mobile-search-form input {
        width: 450px;
    }

    .map-modal {
        width: 90%;
    }
}

@media(max-width:991px) {
    .main {
        padding: 50px 0;
    }

    .main .section {
        padding: 50px 0;
    }

    .menu ul li:not(:last-child),
    .header-content .menu:not(:last-child) {
        margin-right: 25px;
    }

    .cards .swiper-container,
    .image-article-slider,
    .routes-slider,
    .partners-slider {
        padding-bottom: 50px;
    }

    .app-store,
    .bg-article {
        min-height: 500px;
    }

    .section-header:not(:last-child) {
        margin-bottom: 50px;
    }

    .image-article-slider .swiper-slide {
        width: 400px;
    }

    .image-article-slide-content h6:not(:last-child),
    .image-article-slide-content p:not(:last-child) {
        margin-bottom: 15px;
    }

    .image-article-slider-wrap {
        margin: 0 -15px 0 0;
    }

    .bg-article {
        padding: 80px 0;
    }

    .footer-block ul li a {
        font-size: 16px;
    }

    .footer-logo-wrap:not(:last-child),
    .footer-content-top:not(:last-child) {
        margin-bottom: 30px;
    }

    .page-banner {
        min-height: 500px;
    }

    .page-banner .langhe:not(:last-child) {
        margin-bottom: 15px;
    }

    .langhe {
        min-height: 40px;
        min-width: 120px;
        font-size: 14px;
    }

    .langhe img {
        max-height: 20px;
    }

    .langhe span:not(:last-child) {
        margin-right: 8px;
    }

    .two-column-page>.row>.column {
        width: 100vw;
    }

    .page-left-wrap {
        padding: 30px 0;
    }

    .two-column-page>.row {
        position: relative;
    }

    .two-column-page>.row>.column {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
    }

    .two-column-page>.row>.column {
        transition: all 0.1s linear;
    }

    .two-column-page>.row>.column.column-left {
        z-index: 9;
        background-color: #fff;
    }

    .two-column-page>.row>.column.column-right {
        opacity: 0;
        visibility: hidden;
    }

    .two-column-page>.row>.column.column-right.active {
        opacity: 1;
        visibility: visible;
        z-index: 99;
    }

    .two-column-page>.row>.column.column-left.inactive {
        opacity: 0;
        visibility: hidden;
    }

    .header.page-header {
        position: relative;
        z-index: 999;
    }

    .card-sliders,
    .label-sliders {
        margin-right: -30px;
    }

    .card-sliders::after,
    .label-sliders::after {
        display: none;
    }

    .page-right-header .mobile-search-form input {
        width: 400px;
    }

    .map-modal {
        width: 80%;
        top: auto;
        bottom: 0;
        transform: translate(-50%, 150%);
        padding: 50px 30px;
        border-radius: 20px 20px 0 0;
    }

    .map-modal.active {
        transform: translate(-50%, 0);
    }

    .map-modal,
    .map-modal.active {
        opacity: 1;
        visibility: visible;
    }

    .modal-overlay,
    .modal-overlay.active {
        opacity: 0;
        visibility: hidden;
    }
}

@media(min-width:768px) {
    body.menu-active .wrapper {
        transform: none !important;
    }

    body.menu-active .mobile-menu {
        top: -100% !important;
        opacity: 0 !important;
    }
}

@media(max-width:767px) {
    .main {
        padding: 40px 0;
    }

    .main .section {
        padding: 40px 0;
    }

    .header .nav-icon:not(:first-child) {
        margin-left: 25px;
    }

    body.menu-active {
        overflow: hidden;
    }

    .wrapper {
        transition: all 0.3s ease-in-out;
    }

    .app-store {
        padding-top: 100px;
        text-align: center;
    }

    .app-store-phone-1 {
        transform: translateY(20%);
    }

    .app-store-phone-ghost {
        transform: translate(50%, 50%);
    }

    .app-store-phone,
    .app-store-phone img {
        margin: 0 auto;
    }

    .play-store a:not(:last-child) {
        margin-right: 15px;
    }

    .play-store img {
        max-height: 70px;
        width: 200px;
    }

    .section-header:not(:last-child) {
        margin-bottom: 40px;
    }

    .image-article-slider .swiper-slide {
        width: 350px;
    }

    .image-article-slide figure:not(:last-child) {
        margin-bottom: 30px;
    }

    .image-article-slide-content h6:not(:last-child),
    .image-article-slide-content p:not(:last-child) {
        margin-bottom: 10px;
    }

    .routes-slider .swiper-slide {
        width: 300px;
    }

    .bg-article,
    .map-block {
        padding: 60px 0;
        text-align: center;
    }

    .bg-article p br {
        display: none;
    }

    .map-block {
        min-height: 500px;
    }

    /*
    .place-list ul {
        display: none;
    }
    */
    .place-list h6 {
        text-align: center;
    }

    .place-list>.row.rows {
        margin: -5px;
    }

    .place-list>.row.rows>.columns {
        padding: 5px;
    }

    .place-list h6 {
        padding: 20px 15px;
        border-bottom: 1px solid var(--primary-color);
    }

    .footer-block ul li a {
        font-size: 15px;
    }

    .footer-content-top:not(:last-child),
    .footer-content-bottom:not(:last-child) {
        margin-bottom: 50px;
    }

    .social-media-links a:not(:last-child) {
        margin-right: 15px;
    }

    .page-banner {
        min-height: 400px;
    }

    .article p {
        max-width: 90%;
    }

    .bottom-headding {
        transform: none;
    }

    .app-block {
        min-height: 500px;
    }

    .page-left {
        height: calc(100vh - 90px);
    }

    .page-right-header .mobile-search-form input {
        width: 100%;
    }

    .page-right-header .mobile-search-form {
        max-width: 80%;
    }

    .map-modal {
        width: 100%;
    }

    .options {
        padding: 30px;
    }

    .options {
        width: calc(100% - 30px);
    }
}

@media(max-width:575px) {
    .mobile-search {
        font-size: 16px;
    }

    .mobile-search {
        min-height: 60px;
    }

    .mobile-search-form:not(:first-child) {
        margin-top: 30px;
    }

    .card-content-block p {
        max-width: 100%;
    }

    .app-store {
        padding-top: 80px;
    }

    .play-store a:not(:last-child) {
        margin-right: 10px;
    }

    .play-store img {
        max-height: 70px;
        width: 200px;
    }

    .section-header:not(:last-child) {
        margin-bottom: 30px;
    }

    .image-article-slider .swiper-slide {
        width: 300px;
    }

    .image-article-slide figure:not(:last-child) {
        margin-bottom: 25px;
    }

    .routes-slider .swiper-slide {
        width: 250px;
    }

    .options-toggle {
        width: 60px;
        height: 60px;
    }

    .options-toggle:not(:last-child) {
        margin-right: 10px;
    }
}

@media(max-width:480px) {
    .mobile-search {
        font-size: 14px;
    }

    .mobile-search {
        min-height: 50px;
    }

    .app-store {
        padding-top: 50px;
    }

    .options-toggle {
        width: 50px;
        height: 50px;
    }
}

h1.titolo-percorso {
    color: #fff;
    font-size: 14px;
    padding: 8px 4px;
    font-size: 28px;
}

h1.title-border {
    font-size: 28px !important;
    font-weight: 700;
}

.trovi .label {
    color: #fff;
    font-weight: 300;
    padding: 2px;
    border-radius: 100px !important
}

.page-header-percorso {
    background-repeat: no-repeat;
    background-size: cover;
    height: 85vh;
    background-position-y: center;
}

.page-header.parallax h1,
.page-header.parallax h2,
.page-header.parallax h3,
.page-header.parallax p.page-header-desc {
    background-color: #f25921;
    margin-bottom: 10px;
    border-radius: 50px;
    padding-left: 30px;
    padding-left: 30px;
}

p.page-header-desc {
    background-color: #f25921;
    margin-bottom: 10px;
    border-radius: 50px;
    padding-left: 30px !important;
    padding-left: 30px !important;
}

.page-header-percorso {
    color: white;
}


.btn-success:hover {
    color: #000;
}

.percorso h2.title-underblock,
.percorso h2,
h2.title-underblock {
    font-size: 28px;
    font-weight: 300;
    padding-top: 1em;
    padding-bottom: 0.2em;
}

.card {
    border-radius: 0.90rem !important;
}

.d-block {
    margin-left: 5px;
}

.breadcrumb {
    font-size: .9em;
}

h3.service-title {
    font-size: 22px;
}



header.home-header {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    z-index: 99;
}

.page-home .main {
    padding-top: 0;
}

.card-image-content a {
    color: white;
    font-weight: bold;
    z-index: 12;
}

.percorsi-collegati .card {
    margin-bottom: 12px;
}

.main .section {
    padding: 80px 0 80px 0;
}

h2,
h3,
h4 {
    padding-top: 1em;
    padding-bottom: 0.2em;
}

.page {
    padding-bottom: 4em;
}

.percorso p {
    padding-bottom: 1em;
}


.hero-search-bar .vs__dropdown-menu {
    cursor: pointer !important;
    list-style-type: none !important;
    overflow-x: hidden;
    border: none;
    border-radius: 32px !important;
    margin-top: 12px !important;
    padding: 16px 32px !important;
    width: 20em;
}

.hero-search-bar .vs__dropdown-option {
    padding: 0.5em 20px;
}

.copertina-element {
    min-height: 290px;
}

.leaflet-popup-content .copertina-element {
    min-height: 200px;
}

.article-bici {
    font-size: 28px;
    font-weight: 300;
    padding-bottom: 0.2em;
}

.testo-info {
    font-size: 15px;
    font-weight: 300;
    padding-top: 1em;
    padding-bottom: 0.2em;


}


.color-red {
    color: red;
    font-weight: bold;
}

html {
    scroll-behavior: smooth;
    font-size: 120%;
}

p {
    font-size: 100%;
    line-height: 1.3;
}



/** https: //www.florin-pop.com/blog/2019/03/css-pulse-effect/ **/
@keyframes pulse {
    0% {
        transform: scale(1.2);

    }

    70% {
        transform: scale(1);

    }

    100% {
        transform: scale(1.2);
    }
}

.blob {
    transform: scale(1);
    animation: pulse 2s infinite;
}

.sponsor {
    color: silver;
    font-size: .8em;
    font-style: italic;
    vertical-align: middle;
}

.row.sponsor {
    border-bottom: 1px dotted silver;
}


#cookiebar-save-customized {
    padding: 2em !important;
    background-color: green !important;
    margin-top: 1em;
}

#cookie-bar {
    padding: 30vh 0 !important;
    font-size: larger;
    z-index: 1000 !important;
}

#cookie-bar-prompt-content {
    z-index: 10000 !important;
}

.border {
    border: 1px solid #f1f1f1;
}

.map-button-overlay {
    right: 50px;
    bottom: 50px;
    z-index: 10;
}

.search-bar-overlay {
    left: 15%;
    width: 70%;
    top: 20px;
    z-index: 10;
}

.vue2leaflet-map {
    z-index: 1 !important;
    overflow: hidden !important;
}

.rounded-circle {
    border-radius: 50% !important;
    border-width: 4px;
    border-color: white;
}

.mini-icon {
    height: 1em;
    display: inline;
}

.form-inline .form-group label {
    margin-right: 2em;
}


/* gestore stile timeline (fixed: centering dei punti rispetto alla linea) */
ul.timeline {
    list-style: none;
    position: relative;
    margin: 0;
    padding: 0;
}

ul.timeline:before {
    content: "";
    background: #d4d9df;
    position: absolute;
    left: 30px;      /* posizione della linea verticale */
    top: 0;
    width: 2px;
    height: 100%;
    z-index: 100;
}

ul.timeline > li {
    margin: 12px 0;
    padding-left: 70px; /* lascia spazio sufficiente per linea + punto */
    position: relative;
    display: block;
}


ul.timeline > li:before {
    content: "";
    position: absolute;
    left: 30px;             
    top: 50%;               
    transform: translate(-50%, -50%); 
    width: 20px;
    height: 20px;
    background: #fff;
    border-radius: 50%;
    border: 3px solid var(--primary-color);
    z-index: 200;
}

