/*
* Prefixed by https://autoprefixer.github.io
* PostCSS: v8.4.14,
* Autoprefixer: v10.4.7
* Browsers: last 4 version
*/

@import url('https://fonts.googleapis.com/css2?family=Karla:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');


/* GENERAL */
:root {
    --white: #FFF;
    --white-dirty: #F6FDFF;
    --pearl: #CDCDCD;
    --grey: #CBCBCB;
    --light-azure: #A3D6E7;
    --medium-azure: #4DB5DF;
    --dark-medium-azure: #2BADD9;
    --azure: #0993CD;
    --blue-medium: #0F76AA;
    --blue: #1C274C;
    --black: #272523;
    --deep-blue: #1E426A;

    --container-width: 100%;

    --font-size-h1-home: 65px;
    --font-size-h1-hero: 55px;
    --font-size-h2: 48px;
    --font-size-h3: 28px;
    --font-size-h5: 22px;

    --font-size-p: 18px;

    --font-size-p-hero: 20px;

    --font-size-tour-card-title: 48px;

    --gutter-container: 1;

    --percentuale-about: 52%;

    --percentuale-margin-descrizione: 50px;
    --percentuale-margin-descrizione-bottom: 50px;

}

@media screen and (min-width: 576px) {
    :root {
        --font-size-h1-home: 70px;

        --container-width: 540px;

        --gutter-container: .5;
    }
}

@media screen and (min-width: 768px) {
    :root {
        --font-size-h1-home: 80px;

        --container-width: 720px;

        --percentuale-about: 25%;

        --percentuale-margin-descrizione: 100px;
        --percentuale-margin-descrizione-bottom: 100px;
    }

}

@media screen and (min-width: 992px) {
    :root {
        --container-width: 960px;

        --font-size-h1-home: 100px;
        --font-size-h1-hero: 75px;
        --font-size-h2: 64px;
        --font-size-h3: 40px;
        --font-size-h5: 28px;
        --font-size-p: 20px;
        --font-size-p-hero: 24px;

        --font-size-tour-card-title: 48px;
    }
}

@media screen and (min-width: 1200px) {
    :root {
        --container-width: 1140px;
        --font-size-tour-card-title: 60px;

        --font-size-h1-hero: 100px;

        --percentuale-about: 35%;
    }
}

@media screen and (min-width: 1400px) {
    :root {
        --container-width: 1320px;

        --font-size-h1-hero: 100px;

        --percentuale-about: 45%;

        --font-size-tour-card-title: 65px;
    }
}

body {
    font-family: 'Karla', sans-serif;
    overflow-x: hidden;
}

/* override container di bootstrap */
.container,
.container-fluid,
.container-sm,
.container-md,
.container-lg,
.container-xl,
.container-xxl {
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 0;
    width: 100%;
    padding-right: calc(var(--bs-gutter-x) * var(--gutter-container));
    padding-left: calc(var(--bs-gutter-x) * var(--gutter-container));
    margin-right: auto;
    margin-left: auto;
}

@media screen and (max-width: 768px) {
    main {
        overflow: hidden;
    }
}

/* btn */
.btn-light {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    padding: 14px 25px;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border-radius: 70px;
    border: 1px solid var(--medium-azure);
    text-transform: uppercase;
    color: var(--medium-azure);
    font-size: 17px;
    font-style: normal;
    font-weight: 500;
    line-height: 114.3%;
    text-decoration: none;
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
}

.btn-light:hover {
    color: white;
    background-color: var(--medium-azure);
}

.text-white {
    color: var(--white) !important;
}

@media screen and (max-width: 768px) {
    .mobile-rect-vertical {
        min-height: 30vh;
        -o-object-fit: cover;
        object-fit: cover;
    }
}

p {
    font-size: 16px;
    font-style: normal;
    font-weight: 300;
    line-height: 135%;
}

.scroll-down-mobile {
    position: relative;
    bottom: 160px;
    right: 0;
    z-index: 1;
    width: 100%;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: end;
    display: block;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    padding: 0 55px;
}

.scroll-down-mobile span {
    position: absolute;
    width: 2px;
    height: 75px;
    right: 40px;
    display: block;
    background: white;
    --c: no-repeat linear-gradient(#fff 0 0);
    background: var(--c), var(--c), #acd9f0;
    background-size: 100% 60%;
    -webkit-animation: loading 3s infinite;
    animation: loading 3s infinite;
    top: 6px;
}

/* HTML: <div class="loader"></div>
.loader {
    height: 4px;
    width: 130px;
    --c:no-repeat linear-gradient(#6100ee 0 0);
    background: var(--c),var(--c),#d7b8fc;
    background-size: 60% 100%;
    animation: l16 3s infinite;
  } */
@-webkit-keyframes loading {
    0% {
        background-position: 0 -150%, 0 -150%
    }

    66% {
        background-position: 0 250%, 0 -150%
    }

    100% {
        background-position: 0 250%, 0 250%
    }
}

@keyframes loading {
    0% {
        background-position: 0 -150%, 0 -150%
    }

    66% {
        background-position: 0 250%, 0 -150%
    }

    100% {
        background-position: 0 250%, 0 250%
    }
}



.scroll-down-mobile p {
    color: white;
    font-size: 18px;
    font-weight: 500;
    text-transform: uppercase;
}

.arrow-link-container {
    color: var(--azure);
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 114.3%;
    letter-spacing: 2.76px;
    text-decoration: none;
    text-transform: uppercase;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 10px;
}

.arrow-link {
    position: relative;
    width: 57px;
    height: 40px;
    cursor: pointer;
}

@media screen and (max-width: 767px) {
    .arrow-link {
        min-width: 40px;
    }
}

.arrow-link .arrow {
    position: absolute;
    width: auto;
    height: 40px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
}

.arrow-link .circle {
    height: 40px;
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
}

.arrow-link.prev {
    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    transform: rotate(180deg);
}

.arrow-link.scroll-right:hover .arrow,
.arrow-link.scroll-left:hover .arrow,
a:hover .arrow,
.form-send:hover .arrow {
    height: 80px;
}

.arrow-link.scroll-left:hover .circle,
a:hover .circle,
.form-send:hover .circle {
    height: 0;
    opacity: 0;
    -webkit-transform: translateY(50%);
    -ms-transform: translateY(50%);
    transform: translateY(50%);
}

.arrow-link.scroll-right:hover .circle {
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    height: 0;
    opacity: 0;
}

a.tour-card {
    padding: 65px 50px 30px 35px;
    position: relative;
    border-radius: 20px;
    aspect-ratio: 1;
    overflow: hidden;
    text-decoration: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    background-size: cover;
    background-position: center;
    min-width: 45%;
}

@media screen and (min-width: 1200px) {
    a.tour-card {
        padding: 102px 90px 40px 45px;
    }
}

a.tour-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: -webkit-gradient(linear, left bottom, left top, from(rgba(2, 17, 38, 0.50)), to(rgba(2, 17, 38, 0.50)));
    background: -o-linear-gradient(bottom, rgba(2, 17, 38, 0.50) 0%, rgba(2, 17, 38, 0.50) 100%);
    background: linear-gradient(0deg, rgba(2, 17, 38, 0.50) 0%, rgba(2, 17, 38, 0.50) 100%);
}

a.tour-card h3 {
    font-family: "Playfair Display", serif;
    font-size: var(--font-size-tour-card-title);
    font-weight: 400;
    line-height: 87.3%;
    color: var(--white);
    margin-bottom: 20px;
    position: relative;
}
@media screen and (max-width: 992px) {
    a.tour-card h3 {
        font-size: calc(var(--font-size-tour-card-title) / 2);
    }
    .tour-card-archive-container a.tour-card h3 {   
        font-size: var(--font-size-tour-card-title);
    }
}

@media screen and (min-width: 768px) {
    a.tour-card h3 {
        margin-bottom: 40px;

    }
}


@media screen and ((min-width: 768px) and (max-width: 992px)) {
    a.tour-card h3 {
        font-size: 72px;
    }
}

a.tour-card p {
    font-size: 18px;
    font-weight: 400;
    line-height: 114.3%;
    /* max-width: 70%; */
    color: var(--white);
    position: relative;
    margin-bottom: 34px;
}

@media screen and (min-width: 768px) {
    a.tour-card p {
        margin-bottom: 52px;

    }
}

@media screen and (min-width: 1200px) {
    a.tour-card p {
        /* max-width: 70%; */
        max-width: 90%;
        max-height: 62px;
    }
}


a.tour-card .tour-link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 24px;
    font-size: 16px;
    font-weight: 400;
    line-height: 114.3%;
    letter-spacing: 2.76px;
    color: var(--azure);
    text-transform: uppercase;
    position: relative;
    -webkit-filter: brightness(6) saturate(0.5);
    filter: brightness(6) saturate(0.5);
    z-index: 3;
}

@media screen and (min-width: 768px) {
    a.tour-card .tour-link {
        font-size: 18px;

    }
}


/* HEADER */
header {
    position: fixed;
    width: 100vw;
    z-index: 10;
    padding-top: 12px;
}
@media screen and (min-width: 769px) and (max-width: 991px) {
    header .container {
        max-width: 96%;
    }
}

header .menu-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: 24px;
    width: 100%;
    padding-top: 24px;
    padding-bottom: 24px;
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
}

@media screen and( (min-width: 768px) and (max-width: 992px)) {
    header .menu-wrapper {
        gap: 10px;
    }
}


header .logo img {
    height: 100px;
    -webkit-transition: height 0.5s;
    -o-transition: height 0.5s;
    transition: height 0.5s;
}

@media screen and ((min-width: 768px) and (max-width: 992px)) {
    header .logo img {
        height: 80px;
    }
}

header .menu {
    margin: 0;
    padding: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 34px;
    list-style: none;
}

@media screen and ((min-width: 768px) and (max-width: 992px)) {
    header .menu {
        gap: 17px;
    }
}

header .menu a {
    font-size: 16px;
    font-weight: 700;
    line-height: normal;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    text-decoration: none;
    color: var(--azure);
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
    position: relative;
}

header .menu .menu-item a:after {
    content: '';
    position: absolute;
    bottom: -3px;
    left: 50%;
    -webkit-transform: translate(-50%);
    -ms-transform: translate(-50%);
    transform: translate(-50%);
    width: 0%;
    height: 1px;
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
    background-color: var(--azure);
}

/* header .text-white .menu .menu-item a:after {
    background-color: white;
} */

header .menu .wpml-ls-menu-item a:after {
    content: none;
}

header .menu .menu-item:hover a:after {
    width: 20%;
}

header .menu .current-menu-item a:after {
    width: 20%;
}


@media screen and ((min-width: 768px) and (max-width: 992px)) {
    header .menu a {
        font-size: 13px;
    }
}

header .text-white .logo img {
    -webkit-filter: brightness(35);
    filter: brightness(35);
}

header .text-white .menu a {
    color: var(--white);
}

/* desktop */
@media screen and (min-width: 768px) {
    header .menu-wrapper {
        border-radius: 20px;
    }

    header.sticky .menu-wrapper {
        /* background: linear-gradient(113deg, rgba(255, 255, 255, 0.47) 0%, rgba(255, 255, 255, 0.00) 110.84%); */
        /* background: linear-gradient(-113deg, rgba(255, 255, 255, 0.4) -20%, rgba(255, 255, 255, 0.00) 132.84%); */
        background: -o-radial-gradient(rgba(255, 255, 255, 0.3) 20%, rgba(255, 255, 255, 0.4) 82%);
        background: radial-gradient(rgba(255, 255, 255, 0.3) 20%, rgba(255, 255, 255, 0.4) 82%);
        -webkit-backdrop-filter: blur(21px);
        backdrop-filter: blur(21px);
        padding: 15px 23px;
    }
}

/* tablet */
@media screen and ((min-width: 768px) and (max-width: 992px)) {
    header.sticky .menu-wrapper {
        padding: 15px 30px;
    }
}

header.sticky .logo img {
    height: 58px;
    -webkit-filter: none;
    filter: none;
}

header.sticky .menu a {
    color: var(--blue) !important;
    white-space: nowrap;
}



.menu-mobile {
    display: none;
}

@media screen and (max-width: 768px) {
    header .menu-wrapper {
        display: none;
        padding: 0;
    }

    .menu-mobile {
        display: block;
    }

    .menu-mobile img {
        max-width: 50vw;
        z-index: 10;
        position: relative;
        -webkit-transition: all 0.5s;
        -o-transition: all 0.5s;
        transition: all 0.5s;
    }

    header.sticky {
        background: -o-linear-gradient(337deg, rgba(255, 255, 255, 0.47) 0%, rgba(255, 255, 255, 0.00) 110.84%);
        background: linear-gradient(113deg, rgba(255, 255, 255, 0.47) 0%, rgba(255, 255, 255, 0.00) 110.84%);
        -webkit-backdrop-filter: blur(21px);
        backdrop-filter: blur(21px);
    }

    header.sticky .menu-mobile img {
        /* max-width: 25vw; */
        /* height: 100px; */
        -webkit-filter: none;
        filter: none;
    }

    header.sticky .menu-mobile.open img {
        height: 100px;
    }


    .menu-mobile-container {
        position: absolute;
        width: 100vw;
        z-index: 10;
        padding-top: 12px;
        height: 100vh;
        right: -100vw;
        top: 0;
        -webkit-transition: all 0.5s;
        -o-transition: all 0.5s;
        transition: all 0.5s;
        background-color: #0F76AA;
        z-index: 8;
    }

    .menu-mobile-container.open {
        right: 0
    }

    .menu-mobile-container #menu-menu-mobile-eng,
    .menu-mobile-container #menu-menu-mobile {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        margin-top: 150px;
        margin-left: calc((var(--container-width) / 12) * 3);
        margin-right: calc((var(--container-width) / 12) * 3);
    }

    .menu-mobile-container #menu-menu-mobile-eng li,
    .menu-mobile-container #menu-menu-mobile li {
        position: relative;
    }

    .sticky .menu-mobile-container #menu-menu-mobile-eng li a,
    .sticky .menu-mobile-container #menu-menu-mobile li a,
    .menu-mobile-container #menu-menu-mobile-eng li a,
    .menu-mobile-container #menu-menu-mobile li a {
        color: white !important;
        font-size: 37.342px;
        font-style: normal;
        font-weight: 300;
        line-height: 97.8%;
        letter-spacing: -0.847px;
        text-transform: none;
    }

    .menu-mobile-container #menu-menu-mobile-eng li a:after,
    .menu-mobile-container #menu-menu-mobile li a:after {
        content: '';
        height: 2px;
        width: 0px;
        background-color: white;
        display: block;
        -webkit-transition: all 0.5s;
        -o-transition: all 0.5s;
        transition: all 0.5s;
    }

    .menu-mobile-container #menu-menu-mobile-eng li.current-menu-item a:after,
    .menu-mobile-container #menu-menu-mobile-eng li:hover a:after,
    .menu-mobile-container #menu-menu-mobile li.current-menu-item a:after,
    .menu-mobile-container #menu-menu-mobile li:hover a:after {
        width: 50%;
    }

    .menu-mobile-container #menu-menu-mobile-eng li:before,
    .menu-mobile-container #menu-menu-mobile li:before {
        content: attr(data-index);
        position: absolute;
        left: -50px;
        width: 30px;
        height: 30px;
        display: block;
        top: 6px;
        font-size: 16.937px;
        font-style: normal;
        font-weight: 200;
        line-height: 97.8%;
        letter-spacing: -0.339px;
        color: white;
    }

    .menu-mobile-container .wave {
        background-image: url('../images/wave.svg');
        background-repeat: repeat-x;
        height: 12px;
        margin: 50px calc((var(--container-width) / 12));
    }

    .menu-mobile-container .language {
        margin-left: calc((var(--container-width) / 12));
        margin-right: calc((var(--container-width) / 12));
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        margin-bottom: 20px;
        text-transform: uppercase;
        color: white;
        font-size: 20px;
        font-style: normal;
        font-weight: 200;
        line-height: 97.8%;
    }

    #menu-lingue-eng,
    #menu-lingue {
        margin-left: 20px;
    }

    #menu-lingue-eng .menu-item-has-children>a:after,
    #menu-lingue .menu-item-has-children>a:after {
        content: unset;
    }

    #menu-lingue-eng .menu-item-has-children ul.sub-menu,
    #menu-lingue .menu-item-has-children ul.sub-menu {
        position: relative;
        overflow: unset;
        margin-left: 20px;
    }

    #menu-lingue-eng .menu-item-has-children,
    #menu-lingue .menu-item-has-children {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

    /* #menu-lingue .menu-item-has-children a { */
    #menu-lingue-eng .menu-item a,
    #menu-lingue .menu-item a {
        color: white !important;
        font-family: Karla;
        font-size: 20px;
        font-style: normal;
        font-weight: 700;
        line-height: 97.8%;
    }

    #menu-lingue-eng .menu-item-has-children .sub-menu a,
    #menu-lingue .menu-item-has-children .sub-menu a {
        font-weight: 300;
    }

    ul#menu-lingue-eng ul#sub-menu .wpml-ls-menu-item:before,
    ul#menu-lingue ul#sub-menu .wpml-ls-menu-item:before {
        left: -10px;
    }

    .menu-mobile-container .social {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        margin-left: calc((var(--container-width) / 12));
        margin-right: calc((var(--container-width) / 12));
    }

    .menu-mobile-container .social a {
        margin-right: 15px;
    }

    .menu-mobile-container .social a:hover {
        opacity: 0.5;
    }

    .toggle {
        position: absolute;
        right: 5vw;
        top: 27px;
        width: 40px;
        height: 40px;
        z-index: 10;
    }

    .sticky .toggle {
        top: 12px;
    }

    .toggle span {
        width: 40px;
        height: 2px;
        background: white;
        display: block;
        top: calc(50% - 5px);
        position: relative;
        -webkit-transition: all 0.5s;
        -o-transition: all 0.5s;
        transition: all 0.5s;
    }

    .sticky .toggle span,
    .container:not(.text-white) .toggle span {
        background: var(--blue-medium);
    }

    .toggle span:first-child {
        top: calc(50% + 5px);
    }

    .toggle.open span {
        background: white !important;
        top: calc(50% - 1px);
        -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }

    .toggle.open span:first-child {
        top: calc(50% + 1px);
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg);
    }

    .menu-menu-left-container,
    .menu-menu-right-container {
        display: none;
    }

    header .menu-wrapper a.logo {
        display: none;
    }
}


/* FOOTER */
footer {
    /* background: url('../images/footer-img-mobile.jpeg'); */
    background: url('../images/footer.webp');
    background-position: 70%;
    background-size: cover;
    padding-top: 60px;
    padding-bottom: 55px;
    color: var(--white);
    text-align: center;
    position: relative;
    background-position: center 60%;
    background-size: cover;
}

footer:before {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    background: -webkit-gradient(linear, left bottom, left top, from(rgba(6, 31, 74, 0.40)), to(rgba(6, 31, 74, 0.40)));
    background: -o-linear-gradient(bottom, rgba(6, 31, 74, 0.40) 0%, rgba(6, 31, 74, 0.40) 100%);
    background: linear-gradient(0deg, rgba(6, 31, 74, 0.40) 0%, rgba(6, 31, 74, 0.40) 100%);
}

footer .container {
    z-index: 2;
    position: relative;
}

/* @media screen and (min-width: 768px) {
    footer {
        background: url('../images/footer.jpg');
        background: url('../images/footer.webp');
        background-position: center;
    }
} */

footer .name {
    font-family: "Playfair Display", serif;
    font-size: 50px;
    font-weight: 400;
    line-height: 114.3%;
    margin-bottom: 20px;
}

footer .contacts {
    font-size: 16px;
    font-weight: 400;
    line-height: 114.3%;
}

footer .contacts a {
    color: var(--white);
    text-decoration: none;
}

footer .contacts b {
    font-weight: 800;
}

footer .socials {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 16px;
    margin-top: 20px;
}

footer .bottom-footer {
    margin-top: 46px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    font-size: 15px;
    font-weight: 300;
    line-height: 30px;
}

footer .bottom-footer a {
    font-weight: 700;
    color: var(--white);
    text-decoration: none;
}


/* CONTACT FORM */
.wpcf7 {
    color: var(--white);
}

.wpcf7 p {
    margin-bottom: 26px;
}

.wpcf7 label {
    width: 100%;
}

.wpcf7 label span {
    display: block;
    width: 100%;
}

.wpcf7 label textarea,
.wpcf7 label input,
.wpcf7 label select {
    background: transparent;
    border: none;
    width: 100%;
    accent-color: var(--white);
    border-bottom: 1px solid var(--white);
}

.wpcf7 label textarea:focus-visible,
.wpcf7 label input:focus-visible,
.wpcf7 label select:focus-visible {
    outline: none;
}

.wpcf7 .checkbox-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 10px;
    margin-top: 16px;
    cursor: pointer;

    >span {
        width: auto;
        margin-left: 10px;
    }
}

/* .wpcf7 .checkbox-wrapper */

.wpcf7 .checkbox-wrapper .wpcf7-form-control-wrap,
.wpcf7 .checkbox-wrapper .wpcf7-list-item {
    margin: 0;
}


.wpcf7 .form-send {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 18px;
}

.wpcf7 .form-send p {
    margin-bottom: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.wpcf7 .form-send input[type="submit"] {
    font-size: 16px;
    font-weight: 400;
    line-height: 114.3%;
    color: var(--white);
    letter-spacing: 2.763px;
    text-transform: uppercase;
    background: transparent;
    border: none;
    padding: 0;
}

@media screen and (min-width: 768px) {
    .wpcf7 .form-send input[type="submit"] {
        font-size: 18px;
    }
}

.wpcf7-spinner {
    display: none;
}

form.submitting .wpcf7-spinner {
    display: inline-block;
}

.wpcf7-not-valid-tip {
    font-size: 13px;
}


/* HOME */
/* Video */
.home-video {
    position: relative;
    height: 100vh;
}

.home-video::before {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(15, 109, 158, 0.80)), color-stop(58.33%, rgba(16, 115, 167, 0.00)));
    background: -o-linear-gradient(top, rgba(15, 109, 158, 0.80) 0%, rgba(16, 115, 167, 0.00) 58.33%);
    background: linear-gradient(180deg, rgba(15, 109, 158, 0.80) 0%, rgba(16, 115, 167, 0.00) 58.33%);
}

.home-video video {
    width: 100vw;
    height: 100vh;
    -o-object-fit: cover;
    object-fit: cover;
}

.home-video img.background {
    width: 100vw;
    height: 100vh;
    -o-object-fit: cover;
    object-fit: cover;
}

.home-video .container {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: 1;
}

.home-video h1 {
    font-family: "Playfair Display", serif;
    font-size: var(--font-size-h1-home);
    font-weight: 400;
    line-height: 89.8%;
    color: var(--white);
}

@media screen and ((min-width: 768px) and (max-width: 992px)) {
    .home-video h1 {
        font-size: 100px;
    }
}

.home-video .arrow-wrapper {
    position: absolute;
    bottom: 55px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: 1;
}

.home-video .arrow-wrapper .arrow {
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    top: -10px;
    -webkit-animation: bouncedown 2s linear infinite;
    animation: bouncedown 2s linear infinite;
}

.home-video .arrow-link-container {
    color: white;
}

/* General */

/* .home-section .subtitle { */
.subtitle {
    font-size: 20px;
    font-weight: 400;
    line-height: 114.3%;
    letter-spacing: 3px;
    color: var(--azure);
    text-transform: uppercase;
}

.subtitle-blue {
    font-size: 28px;
    color: var(--blue-medium);
    font-weight: 700;
    line-height: 135%;
}

@media screen and (max-width: 767px) {
    .subtitle-blue {
        font-size: 22px;
    }
}

.hero-barca-text .subtitle,
.hero-barche-text .subtitle {
    color: white;
}

.has-radius {
    border-radius: 20px;
}

.has-shadow {
    -webkit-box-shadow: 0px 0px 100px 0px rgba(0, 0, 0, 0.45);
    box-shadow: 0px 0px 100px 0px rgba(0, 0, 0, 0.45);
}

.has-shadow-light {
    -webkit-box-shadow: 0px 0px 44px 0px rgba(0, 0, 0, 0.09);
    box-shadow: 0px 0px 44px 0px rgba(0, 0, 0, 0.09);
}

.home-section h2 {
    font-family: "Playfair Display", serif;
    /* font-size: 64px; */
    font-size: var(--font-size-h2);
    font-weight: 400;
    line-height: 87.3%;
    color: var(--black);
}

.home-section p {
    font-size: var(--font-size-p);
    font-weight: 300;
    line-height: 125%;
    color: var(--black);
    margin: 0;
}

.home-section a.more-link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 24px;
    font-size: 16px;
    font-weight: 400;
    line-height: 114.3%;
    letter-spacing: 3px;
    color: var(--azure);
    text-transform: uppercase;
    text-decoration: none;
}

@media screen and (min-width: 768px) {
    .home-section a.more-link {
        font-size: 20px;

    }
}

.home-section img {
    width: 100%;
}

/* Chi siamo */
.home-about {
    padding: 132px 0;
    background: -webkit-gradient(linear, left bottom, left top, color-stop(45%, rgba(255, 255, 255, 1)), color-stop(45%, rgba(28, 39, 76, 1)));
    background: -o-linear-gradient(bottom, rgba(255, 255, 255, 1) 45%, rgba(28, 39, 76, 1) 45%);
    background: linear-gradient(0deg, rgba(255, 255, 255, 1) 45%, rgba(28, 39, 76, 1) 45%);
    background: -webkit-gradient(linear, left bottom, left top, from(rgba(255, 255, 255, 1)), to(rgba(28, 39, 76, 1)));
    background: -o-linear-gradient(bottom, rgba(255, 255, 255, 1) var(--percentuale-about), rgba(28, 39, 76, 1) var(--percentuale-about));
    background: linear-gradient(0deg, rgba(255, 255, 255, 1) var(--percentuale-about), rgba(28, 39, 76, 1) var(--percentuale-about));
}

/* @media screen and ((min-width: 768px) and (max-width: 992px)) {
    .home-about {
        background: linear-gradient(0deg, rgba(255, 255, 255, 1) 25%, rgba(28, 39, 76, 1) 25%);
    }
} */

.home-about h2 {
    margin: 20px 0;
}

.home-about a {
    margin-top: 20px;
}

/* Tour */
.home-tour {
    position: relative;
}

.section-tour.section-eight .tour-container,
.home-tour .tour-container {
    margin-top: 90px;
    padding: 0 calc(((100vw - var(--container-width)) / 2) + 12px + (var(--container-width) - 24px) / 12);
    padding-bottom: 30px !important;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    gap: 22px;
    overflow: scroll;
}

@media screen and (max-width: 767px) {
    .home-tour .tour-container {
        padding: 0 24px;
    }
}

@media screen and (min-width: 768px) {
    .tour-container .tour-card:last-child {
        margin-right: 10vw;
    }
}

.section-tour.section-eight .tour-container::-webkit-scrollbar,
.home-tour .tour-container::-webkit-scrollbar {
    display: none;
}

.section-tour.section-eight .tour-container .tour-card,
.home-tour .tour-container .tour-card {
    min-width: calc((var(--container-width) - 48px) / 12 * 5);
}

/* tablet */
@media screen and ((min-width: 768px) and (max-width: 992px)) {

    .section-tour.section-eight .tour-container .tour-card,
    .home-tour .tour-container .tour-card {
        min-width: calc((var(--container-width) - 48px) / 6 * 4);
    }
}

@media screen and ((min-width: 576px) and (max-width: 768px)) {

    .section-tour.section-eight .tour-container .tour-card,
    .home-tour .tour-container .tour-card {
        min-width: calc((var(--container-width) - 48px) / 6 * 5);
    }
}

@media screen and (max-width: 576px) {

    .section-tour.section-eight .tour-container .tour-card,
    .home-tour .tour-container .tour-card {
        /* min-width: calc((var(--container-width) - 48px) / 6 * 6); */
        min-width: calc((var(--container-width)) / 6 * 6)
    }
}

@media screen and (min-width: 768px) {

    .home-tour .tour-container .tour-card.m-top {
        margin-top: 82px;
    }

    .home-tour .tour-container .tour-card.m-bottom {
        margin-bottom: 82px;
    }
}

.home-tour .tour-indicators {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 32px;
    margin-top: 14px;
}

.home-tour .tour-indicator {
    font-size: 16px;
    font-weight: 400;
    line-height: 114.3%;
    color: var(--azure);
    cursor: pointer;
}

.home-tour .tour-indicator.active {
    font-weight: 700;
    color: var(--blue-medium);
}

/* Marquee */
.marquee {
    display: none;
}

@media screen and (min-width: 768px) {

    .marquee {
        display: block;
        width: 100vw;
        height: 120px;
        overflow: hidden;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        position: relative;
        white-space: nowrap;
        margin: 120px 0;

    }

    .marquee .marquee-inner {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        position: absolute;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-animation: marquee 20s linear infinite;
        animation: marquee 20s linear infinite;
    }

    .marquee .marquee-inner span {
        float: left;
        width: auto;
        display: block;
        margin-right: 64px;
        font-family: "Playfair Display", serif;
        font-size: 100px;
        font-weight: 400;
        line-height: 97.8%;
        color: var(--grey);
    }
}

@media screen {}

@-webkit-keyframes marquee {
    0% {
        left: 0;
    }

    100% {
        left: -100%;
    }
}

@keyframes marquee {
    0% {
        left: 0;
    }

    100% {
        left: -100%;
    }
}

/* Barche */
@media screen and (max-width: 768px) {

    .home-boats {
        margin-top: 120px;
    }
}

.home-boats h2 {
    margin: 10px 0 46px 0;
    color: var(--blue-medium);
}

.home-boats p {
    margin: auto;
    max-width: 535px;
    font-size: 16px;
    color: var(--blue-medium);
}

.home-boats .swiper {
    width: 100%;
    height: auto;
    padding: 76px 0px;
}

@media screen and (max-width: 576px) {
    .home-boats .swiper {
        width: 80%;
        overflow: visible;
    }
}

.home-boats .swiper-wrapper .swiper-slide {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: auto;
    overflow: hidden;
    border-radius: 20px
}

.home-boats .swiper-slide img {
    border-radius: 20px;
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.00)), color-stop(85.94%, rgba(30, 66, 106, 0.50))), url(<path-to-image>), lightgray 50% / cover no-repeat;
    background: -o-linear-gradient(top, rgba(0, 0, 0, 0.00) 0%, rgba(30, 66, 106, 0.50) 85.94%), url(<path-to-image>), lightgray 50% / cover no-repeat;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.00) 0%, rgba(30, 66, 106, 0.50) 85.94%), url(<path-to-image>), lightgray 50% / cover no-repeat;
    -webkit-box-shadow: 0px 0px 54px 0px rgba(0, 0, 0, 0.35);
    box-shadow: 0px 0px 54px 0px rgba(0, 0, 0, 0.35);
    -o-object-fit: cover;
    object-fit: cover;
}

.home-boats .swiper-button-next {
    right: var(--swiper-navigation-sides-offset, 18%);
}

.home-boats .swiper-button-prev {
    left: var(--swiper-navigation-sides-offset, 18%);
}

.arrow-link.swiper-button-next:after,
.arrow-link.swiper-button-prev:after {
    content: ''
}


.swiper-button-next.arrow-link .circle,
.swiper-button-prev.arrow-link .circle {
    height: 70px;
    width: 45px;
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
}

/* .swiper-button-next.arrow-link:hover .arrow,
.swiper-button-prev.arrow-link:hover .arrow {
    height: 80px;
} */

.swiper-button-next.arrow-link:hover .circle,
.swiper-button-prev.arrow-link:hover .circle {
    height: 0;
    opacity: 0;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
}

.swiper-button-prev.arrow-link:hover .circle {
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
}

.swiper-button-next.swiper-button-disabled,
.swiper-button-prev.swiper-button-disabled {
    opacity: 0;
}


@media screen and (min-width: 576px) {
    .home-boats .swiper-pagination {
        display: none;
    }
}

@media screen and (max-width: 576px) {

    .tappe-indicators .swiper-pagination-horizontal,
    .home-boats .swiper-pagination {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        gap: 32px;
        margin-top: 14px;
        bottom: calc(var(--swiper-navigation-size)/2) !important;
    }

    .tappe-indicators .swiper-pagination-bullet,
    .home-boats .swiper-pagination-bullet {
        font-size: 16px;
        font-weight: 400;
        line-height: 114.3%;
        color: var(--azure);
        cursor: pointer;
        background-color: transparent;
        opacity: 1;

    }

    .tappe-indicators .swiper-pagination-bullet-active,
    .home-boats .swiper-pagination-bullet-active {
        font-weight: 700;
        color: var(--blue-medium);
        background-color: transparent;
    }

    .home-boats .swiper-button-next,
    .home-boats .swiper-button-prev {
        top: unset;
        bottom: 0;
    }

    .home-boats .swiper-button-next {
        right: var(--swiper-navigation-sides-offset, 5%);
    }

    .home-boats .swiper-button-prev {
        left: var(--swiper-navigation-sides-offset, 5%);
    }
}


/* immagine pie di pagina */
.home-bottom-img {
    max-height: 100vh;
    width: 100%;
    overflow: hidden;
}

.home-bottom-img img {
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
}

/* Richiedi informazioni */
.contact-area {
    padding-top: 110px;
    padding-bottom: 110px;
    background: var(--white-dirty);
    color: var(--azure);
}

.contact-area.dark {
    background: var(--blue);
    color: white;
}

@media screen and (max-width: 576px) {
    .contact-area {
        padding-top: 90px;
        padding-bottom: 90px;
    }
}

.contact-area h2 {
    font-family: "Playfair Display", serif;
    font-size: 43px;
    font-weight: 400;
    line-height: normal;
    margin-bottom: 15px;
}

.contact-area p {
    font-size: 16px;
    font-style: normal;
    font-weight: 300;
    line-height: 135%;
}

.contact-area .wpcf7 {
    margin-top: 70px;
    color: var(--azure);
}

.contact-area.dark .wpcf7 {
    margin-top: 70px;
    color: white;
}

@media screen and (max-width: 576px) {
    .contact-area .wpcf7 {
        margin-top: 50px;
        margin-right: 5vw;
        margin-left: 5vw;
    }
}
.contact-area .wpcf7 textarea,
.contact-area .wpcf7 label input:not([type='checkbox']),
.contact-area .wpcf7 label select {
    color: var(--blue);
    accent-color: var(--azure);
    border-bottom: 1px solid var(--azure);
    -webkit-appearance: initial;
    border-radius: 0px;
}
.contact-area.dark .wpcf7 textarea,
.contact-area.dark .wpcf7 label input:not([type='checkbox']),
.contact-area.dark .wpcf7 label select {
    color: white;
    accent-color: white;
    border-bottom: 1px solid white;
    -webkit-appearance: initial;
    border-radius: 0px;
}

.contact-area .wpcf7 .form-send input[type="submit"] {
    color: var(--azure);
}

.contact-area.dark .wpcf7 .form-send input[type="submit"] {
    color: white;
}

.contact-area .wpcf7 input.wpcf7-validates-as-date::-webkit-calendar-picker-indicator {
    filter: invert(47%) sepia(56%) saturate(5842%) hue-rotate(173deg) brightness(98%) contrast(93%);
}

.contact-area.dark .wpcf7 input.wpcf7-validates-as-date::-webkit-calendar-picker-indicator {
    filter: invert(1);
}

.contact-area.dark .arrow-link img {
    -webkit-filter: invert(100%) sepia(95%) saturate(0%) hue-rotate(171deg) brightness(105%) contrast(105%);
    filter: invert(100%) sepia(95%) saturate(0%) hue-rotate(171deg) brightness(105%) contrast(105%);
}

/* ANIMATIONS */
@-webkit-keyframes bouncedown {
    0% {
        top: -10px;
    }

    25% {
        top: -10px;
    }

    38% {
        top: -40px;
    }

    50% {
        top: 0;
    }

    60% {
        top: -20px;
    }

    70% {
        top: -5px;
    }

    80% {
        top: -15px;
    }

    90% {
        top: -10px;
    }

    100% {
        top: -10px;
    }
}

@keyframes bouncedown {
    0% {
        top: -10px;
    }

    25% {
        top: -10px;
    }

    38% {
        top: -40px;
    }

    50% {
        top: 0;
    }

    60% {
        top: -20px;
    }

    70% {
        top: -5px;
    }

    80% {
        top: -15px;
    }

    90% {
        top: -10px;
    }

    100% {
        top: -10px;
    }
}

/* ul:not(#menu-lingue-eng) .wpml-ls-menu-item, */
ul:not(#menu-lingue-eng):not(#menu-lingue) .wpml-ls-menu-item {
    position: relative;
}

/* ul:not(#menu-lingue-eng) .menu-item-has-children.wpml-ls-menu-item:before, */
ul:not(#menu-lingue-eng):not(#menu-lingue) .menu-item-has-children.wpml-ls-menu-item:before {
    content: '';
    position: absolute;
    left: -20px;
    height: 200%;
    top: -50%;
    border-left: 1px solid rgb(210 239 251 / 20%);
    border-left: 1px solid rgba(9, 147, 205, 0.2);
}

@media screen and ((min-width: 768px) and (max-width: 992px)) {

    /* ul:not(#menu-lingue-eng) .menu-item-has-children.wpml-ls-menu-item:before, */
    ul:not(#menu-lingue-eng):not(#menu-lingue) .menu-item-has-children.wpml-ls-menu-item:before {
        left: -10px;
    }

    /* ul:not(#menu-lingue-eng) .wpml-ls-menu-item a, */
    ul:not(#menu-lingue-eng):not(#menu-lingue) .wpml-ls-menu-item a {
        margin: 4px 0;
    }
}

.text-white .wpml-ls-menu-item:before {
    border-left: 1px solid rgba(9, 147, 205, 0.2);
}

.menu-menu-right-container .menu-item-has-children>a span,
.menu-item-has-children {
    position: relative;
}

.menu-menu-right-en-container .menu-item-has-children>a span:after,
.menu-menu-right-container .menu-item-has-children>a span:after {
    content: '+';
    position: absolute;
    width: 10px;
    height: 10px;
    display: block;
    right: -15px;
    margin-left: 8px;
    top: -2px;
}

.menu-item-has-children ul.sub-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    position: absolute;
    height: 0;
    overflow: hidden;
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
}

ul:not(#menu-lingue-eng):not(#menu-lingue) .menu-item-has-children:hover ul.sub-menu {
    height: 40px;
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
    overflow: visible;
}

.page-not-found {
    background-image: url('../images/sorrento-boat-title-background.jpeg');
    min-height: 90vh;
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.20)), color-stop(85.94%, rgba(30, 66, 106, 0.80))), url('../images/sorrento-boat-title-background.jpg');
    background: -o-linear-gradient(top, rgba(0, 0, 0, 0.20) 0%, rgba(30, 66, 106, 0.80) 85.94%), url('../images/sorrento-boat-title-background.jpg');
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.20) 0%, rgba(30, 66, 106, 0.80) 85.94%), url('../images/sorrento-boat-title-background.jpg');
    background-size: cover;
}

.page-not-found .arrow-link-container {
    color: white;
}

.page-not-found h2 {
    color: white;
    font-family: "Playfair Display";
    font-size: 150px;
    font-style: normal;
    font-weight: 400;
    line-height: 97.8%;
}

.page-not-found p {
    color: white;
    margin-top: 20px;
}

.general-page {
    padding-top: 210px;
    padding-bottom: 120px;
}

.general-page h2 {
    font-family: "Playfair Display";
    font-size: 43px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    margin-bottom: 50px;
}

#submit-module {
    position: relative;
}

#submit-module .wpcf7-spinner {
    position: absolute;
    left: 126px;
}