* {
    margin: 0;
    padding: 0
}

body {
    background-color: #001528;
    font-family: "PT Serif", serif;
    scrollbar-width: thin;
    scrollbar-color: #001528;
    color: #001528
}

body::-webkit-scrollbar {
    width: 5px
}

body::-webkit-scrollbar-thumb {
    background-color: #001528;
    border-radius: 5px
}

body::-webkit-scrollbar-thumb:hover {
    background-color: #aeb7c4
}

body {
    scrollbar-width: thin;
    scrollbar-color: #001528 #fff;
    font-family: "PT Serif", serif
}

img {
    border: none;
    width: 100%
}

ul {
    list-style-type: none;
    margin: 0;
    padding: 0
}

a {
    text-decoration: none;
    cursor: pointer;
    color: #fff
}

h1 {
    color: #aeb7c4;
    font-size: 130px;
    letter-spacing: 2px;
    text-transform: uppercase
}

@media screen and (max-width: 1024px) {
    h1 {
        font-size: 70px
    }
}

@media screen and (max-width: 767px) {
    h1 {
        font-size: 40px
    }
}

h2 {
    font-size: 70px;
    font-weight: 500;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #aeb7c4
}

@media screen and (max-width: 767px) {
    h2 {
        font-size: 34px
    }
}

h2.titolo_hotel {
    font-size: 130px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #aeb7c4
}

@media screen and (max-width: 767px) {
    h2.titolo_hotel {
        font-size: 34px
    }
}

h2 a {
    font-size: 70px;
    font-weight: 500;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #aeb7c4
}

@media screen and (max-width: 767px) {
    h2 a {
        font-size: 34px
    }
}

h3 {
    font-size: 40px;
    font-weight: 400;
    letter-spacing: 1px
}

@media screen and (max-width: 767px) {
    h3 {
        font-size: 25px
    }
}

p,
h4,
li,
a {
    font-size: 25px;
    line-height: 35px;
    letter-spacing: 1.5px;
    font-weight: 400;
    color: #aeb7c4
}

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

    p,
    h4,
    li,
    a {
        font-size: 18px;
        line-height: 25px
    }
}

h5 {
    font-size: 25px;
    color: #aeb7c4
}

p.big-text {
    font-size: 80px;
    line-height: 120px;
    letter-spacing: 1.5px;
    font-weight: 400;
    color: #4b4f51;
    transition: color 1s ease-out
}

@media screen and (max-width: 767px) {
    p.big-text {
        font-size: 30px;
        line-height: 40px
    }
}

@media only screen and (max-width: 767px) {
    p {
        font-size: 18px
    }

    h5 {
        font-size: 12px !important
    }
}

.btn {
    border-radius: 0
}

.btn-green {
    background-color: #001528;
    color: #f7f7ee;
    font-size: 35px;
    padding: 15px 20px;
    text-transform: uppercase;
    transition: all .5s ease-in-out
}

@media screen and (max-width: 767px) {
    .btn-green {
        display: none
    }
}

.brd-green,
.brd-white {
    position: relative;
    border-left: none;
    border-right: none;
    overflow: hidden
}

.brd-green::before,
.brd-green::after,
.brd-white::before,
.brd-white::after {
    content: "";
    position: absolute;
    width: 0;
    height: 3px;
    background-color: #001528;
    left: 50%;
    transform: translateX(-50%);
    transition: width 1s ease
}

.brd-white::before,
.brd-white::after {
    background-color: #fff
}

.brd-green::before,
.brd-white::before {
    top: 0
}

.brd-green::after,
.brd-white::after {
    bottom: 0
}

.brd-green.active::before,
.brd-green.active::after,
.brd-white.active::before,
.brd-white.active::after {
    width: 100%
}

.title_page h1,
.brd-white h2 {
    opacity: 0;
    transform: scaleX(0);
    transform-origin: center
}

.btn-standard {
    background-color: rgba(0, 0, 0, 0);
    color: #fff;
    font-size: 20px;
    padding: 15px 20px;
    border: 1px solid #fff;
    transition: all .5s ease-in-out
}

.btn-standard:hover {
    background-color: #fff;
    color: #001528
}

.btn-slider {
    background-color: rgba(0, 0, 0, 0);
    color: #001528;
    font-size: 16px;
    padding: 10px 20px;
    border: 1px solid #001528;
    transition: all .5s ease-in-out;
    width: 100%
}

.btn-slider:hover {
    background-color: #001528;
    color: #f7f7ee
}

.btn-white {
    background-color: rgba(0, 0, 0, 0);
    border: 1px solid #fff;
    color: #fff;
    font-size: 20px;
    padding: 15px 20px;
    transition: all .5s ease-in-out
}

.btn-white:hover {
    background-color: #fff;
    color: #001528
}

@media screen and (max-width: 767px) {
    .btn-white {
        padding: 10px 15px;
        font-size: 16px
    }
}

@media screen and (max-width: 767px) {
    .menu li {
        width: 100%
    }
}

.menu li a {
    font-size: 50px
}

@media screen and (max-width: 1024px) {
    .menu li a {
        font-size: 35px
    }
}

@media(max-width: 768px) {
    .menu li a {
        font-size: 30px;
        width: 100%
    }
}

.bg-color h1,
.bg-color h2,
.bg-color h3,
.bg-color h4,
.bg-color h5,
.bg-color p,
.bg-color a,
.bg-color li,
.footer-top h1,
.footer-top h2,
.footer-top h3,
.footer-top h4,
.footer-top h5,
.footer-top p,
.footer-top a,
.footer-top li {
    color: #fff
}

.space-bottom {
    padding-bottom: 150px
}

@media(max-width: 1024px) {
    .space-bottom {
        padding-bottom: 100px
    }
}

@media(max-width: 768px) {
    .space-bottom {
        padding-bottom: 50px
    }
}

.space-top {
    padding-top: 150px
}

@media(max-width: 1024px) {
    .space-top {
        padding-top: 100px
    }
}

@media(max-width: 768px) {
    .space-top {
        padding-top: 50px
    }
}

.space {
    padding: 150px 0
}

@media(max-width: 1024px) {
    .space {
        padding: 100px 0
    }
}

@media(max-width: 768px) {
    .space {
        padding: 50px 0
    }
}

.margin-bottom {
    margin-bottom: 150px
}

@media(max-width: 1024px) {
    .margin-bottom {
        margin-bottom: 100px
    }
}

@media(max-width: 768px) {
    .margin-bottom {
        margin-bottom: 50px
    }
}

.margin-top {
    margin-top: 150px
}

@media(max-width: 1024px) {
    .margin-top {
        margin-top: 100px
    }
}

@media(max-width: 768px) {
    .margin-top {
        margin-top: 50px
    }
}

.margin {
    margin: 150px 0
}

@media(max-width: 1024px) {
    .margin {
        margin: 100px 0
    }
}

@media(max-width: 768px) {
    .margin {
        margin: 50px 0
    }
}

.content__dualcol {
    -moz-column-count: 2;
    column-count: 2;
    -moz-column-gap: 100px;
    column-gap: 100px;
    position: relative;
    z-index: 99
}

@media(max-width: 1024px) {
    .content__dualcol {
        -moz-column-count: 1;
        column-count: 1;
        -moz-column-gap: 0;
        column-gap: 0;
        padding: 0 40px
    }
}

@media(max-width: 768px) {
    .content__dualcol {
        -moz-column-count: 1;
        column-count: 1;
        -moz-column-gap: 0;
        column-gap: 0;
        padding: 0 20px
    }
}

.bg-transparent h1,
.bg-transparent h2,
.bg-transparent h3,
.bg-transparent h4,
.bg-transparent h5,
.bg-transparent p,
.bg-transparent a,
.bg-transparent li {
    color: #001528
}

.bg-transparent .btn-standard {
    background-color: rgba(0, 0, 0, 0);
    color: #001528;
    border: 1px solid #001528
}

.bg-transparent .btn-standard:hover {
    background-color: #001528;
    color: #fff
}

.special_link {
    position: relative;
    text-decoration: none;
    color: inherit
}

.special_link::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -5px;
    width: 100%;
    height: 10px;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 10"><path d="M0 5 Q 25 0, 50 5 T 100 5" stroke="black" fill="transparent" /></svg>');
    background-repeat: repeat-x;
    background-size: contain
}

.header-section {
    position: relative;
    padding: 40px 0;
    z-index: 9999
}

@media(max-width: 768px) {
    .header-section {
        padding: 20px 0
    }
}

.header-section .header-top {
    display: flex;
    justify-content: space-between
}

@media(max-width: 767px) {
    .header-section .header-top {
        justify-content: center
    }
}

.header-section .header-top .hamburger-menu {
    display: flex;
    flex-direction: column;
    align-items: center;
    cursor: pointer;
    transition: all .3s ease
}

@media(max-width: 768px) {
    .header-section .header-top .hamburger-menu {
        display: none
    }
}

.header-section .header-top .hamburger-menu .bars {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 7px;
    height: 100%;
    transition: all .3s ease
}

@media(max-width: 768px) {
    .header-section .header-top .hamburger-menu .bars {
        height: 35px
    }
}

.header-section .header-top .hamburger-menu .bars .bar {
    width: 40px;
    height: 3px;
    background-color: #aeb7c4;
    transition: transform .3s ease, opacity .3s ease
}

.header-section .header-top .hamburger-menu.active .bars {
    gap: 0
}

.header-section .header-top .hamburger-menu.active .bars .bar0 {
    background-color: #fff
}

.header-section .header-top .hamburger-menu.active .bars .bar1 {
    background-color: #fff
}

.header-section .header-top .logoCam {
    max-width: 40px
}

@media(max-width: 768px) {
    .header-section .header-top .logoCam {
        display: none
    }
}

.header-section .header-top .logo {
    max-width: 200px;
    transform: translate(0%, 0%) scale(1, 1);
    transition: transform 1s ease-out
}

.header-section .header-top .logo.animate {
    transform: translate(0%, 150%) scale(2, 2)
}

.mainMenu {
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    display: none;
    z-index: 20;
    overflow-y: auto;
    scrollbar-width: none
}

.mainMenu.open {
    display: block
}

.mainMenu .overlay {
    position: fixed;
    top: 2rem;
    left: 2rem;
    right: 2rem;
    bottom: 2rem;
    background: linear-gradient(#001528, rgba(0, 21, 40, 0.8));
    z-index: 15;
    border: 1px solid #fff;
    box-sizing: border-box
}

@media(max-width: 768px) {
    .mainMenu .overlay {
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        border: none
    }
}

img.bg-image {
    position: fixed;
    top: 0;
    left: 0;
    width: calc(100% - 4rem);
    height: calc(100% - 4rem);
    -o-object-fit: cover;
    object-fit: cover;
    margin: 2rem
}

@media(max-width: 768px) {
    img.bg-image {
        width: calc(100% - 2rem);
        height: calc(100% - 2rem);
        margin: 1rem
    }
}

.brd-white {
    position: relative;
    z-index: 25;
    color: #fff
}

nav#nav {
    position: relative;
    z-index: 25;
    /* height: 50vh; */
    margin-bottom: 50px
}

@media(max-width: 768px) {
    nav#nav {
        margin-bottom: 0;
        /* max-height: 50vh; */
        overflow-y: auto;
        scrollbar-width: none
    }
}

.menu_child {
    padding: 10px;
    border-radius: 5px
}

.menu_child a {
    color: #001528;
    text-decoration: none
}

.menu_child a:hover {
    color: #000
}

@media(max-width: 768px) {
    ul.menu>li {
        border-bottom: 2px solid #fff;
        padding-bottom: 10px
    }
}

ul.menu li a {
    color: #fff
}

@media(max-width: 768px) {
    ul.menu li {
        width: 100%
    }
}

ul.menu .child-menu-ul {
    display: none;
    position: absolute;
    left: 60%;
    top: 25%;
    padding-left: 5%;
    opacity: 0;
    transition: opacity 1s ease
}

ul.menu .child-menu-ul li {
    margin-left: 0
}

ul.menu .child-menu-ul li a {
    font-size: 25px;
    line-height: 60px;
    letter-spacing: 2px
}

@media(max-width: 1024px) {
    ul.menu .child-menu-ul li a {
        font-size: 20px;
        line-height: 50px
    }
}

@media(max-width: 768px) {
    ul.menu .child-menu-ul li a {
        font-size: 20px;
        line-height: 40px
    }
}

@media(min-width: 1641px) {
    ul.menu .child-menu-ul li a {
        font-size: 30px;
        line-height: 70px
    }
}

ul.menu .child-menu-ul::before {
    bottom: 0;
    content: " ";
    left: 0;
    position: absolute;
    width: 2px;
    top: -15vh;
    min-height: 400px;
    height: 50vh
}

ul.menu .child-menu-ul.flex-display {
    display: flex !important;
    flex-direction: column;
    justify-content: center;
    opacity: 1
}

.menu {
    display: flex;
    align-items: end;
    padding-right: 10%;
    row-gap: 30px;
    justify-content: space-between;
    margin-top: 5%
}

@media(max-width: 768px) {
    .menu {
        padding-right: 0;
        flex-direction: column;
        align-items: flex-start;
        row-gap: 10px
    }
}

.menu li.current_menu_item a {
    color: #aeb7c4
}

.menu li a {
    font-size: 50px
}

@media(max-width: 1640px) {
    .menu li a {
        font-size: 40px;
        line-height: 50px
    }
}

.menu li a:hover {
    color: #aeb7c4
}

ul.menu .child-menu-ul::before {
    content: " ";
    position: absolute;
    left: -20px;
    top: 0;
    width: 2px;
    height: 100%;
    background-color: #fff
}

.blocco_menu {
    padding: 0;
    margin: 0;
    border: none;
    position: relative;
    width: 50%;
    height: 100%
}

@media(max-width: 768px) {
    .blocco_menu {
        width: 100%;
        padding: 10px
    }
}

.blocco_menu::before {
    content: none
}

.menu-child.open .blocco_menu {
    border-right: none;
    padding-right: 0
}

ul.menu .child-menu-ul {
    position: absolute;
    left: calc(100% + 2px);
    top: 0;
    padding-left: 10px;
    width: 100%;
    height: 100%
}

@media(max-width: 768px) {
    ul.menu .child-menu-ul {
        position: relative;
        left: 0;
        top: 0;
        padding-left: 0;
        width: 100%;
        height: auto;
        display: none
    }
}

.languages {
    z-index: 100;
    position: fixed;
    bottom: 3rem;
    display: flex;
    gap: 10px;
    justify-content: center;
    left: 0;
    width: 100%
}

@media(max-width: 768px) {
    .languages {
        bottom: 60px
    }
}

.languages ul {
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: center
}

.languages ul li,
.languages ul a {
    color: #f7f7ee;
    font-size: 16px
}

@media(max-width: 768px) {

    .languages ul li,
    .languages ul a {
        font-size: 14px
    }
}

.menu_overlay {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between
}

@media(max-width: 768px) {
    .menu_overlay {
        justify-content: flex-start
    }
}

.overflow-hidden {
    overflow: hidden
}

.container-fluid {
    padding-left: 9.17vw;
    padding-right: 9.17vw
}

@media(max-width: 1024px) {
    .container-fluid {
        padding-left: 7.5vw;
        padding-right: 7.5vw
    }
}

@media(max-width: 768px) {
    .container-fluid {
        padding-left: 5vw;
        padding-right: 5vw
    }
}

.entered h1 {
    color: #fff
}

.sticky-header {
    position: fixed;
    width: 100%;
    background-color: rgba(0, 0, 0, 0);
    top: 0;
    z-index: 1000;
    transition: top .5s ease, background-color .5s ease
}

.sticky-header .logo.animate {
    transform: translate(0%, 0%) scale(1, 1)
}

.sticky-header.fixed {
    position: fixed;
    background-color: #001528
}

.sticky-header.fixed .logo.animate {
    transform: translate(0%, 0%) scale(1, 1)
}

.sticky-header-open {
    background-color: #001528
}

.sticky-header-open .logo.animate {
    transform: translate(0%, 150%) scale(2, 2) !important
}

.sticky-header-open .bar {
    background-color: #f7f7ee
}

.sticky-header-open .btn-green {
    border-color: #f7f7ee
}

.sticky-header-open .btn-green:hover {
    background-color: #f7f7ee;
    color: #001528
}

.nav-up {
    top: -200px
}

.nav-down {
    top: 0
}

.nav-down .entered .header-section .header-top .hamburger-menu .bars .bar {
    background-color: #001528
}

.nav-down.sticky-header-open .entered .header-section .header-top .hamburger-menu .bars .bar {
    background-color: rgba(0, 0, 0, 0)
}

.overflow-hidden {
    overflow: hidden
}

#mainMenu {
    display: none;
    position: fixed;
    top: 25%;
    left: 0;
    width: 100%;
    height: 100%;
    background: #001528;
    z-index: 999
}

#mainMenu.open {
    display: block
}

#mainMenu.open .title-top {
    padding-top: 150px
}

@media(max-width: 768px) {
    #mainMenu.open .title-top {
        padding-top: 110px
    }
}

.mobile_menu {
    display: none;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    position: fixed;
    bottom: 0;
    width: 100%;
    background-color: #001528;
    border-top: 2px solid #aeb7c4;
    z-index: 1000;
    max-height: 50px;
    padding-top: 8px
}

.mobile_menu a {
    flex: 1;
    text-align: center;
    padding: 6px 0;
    border-right: 1px solid #aeb7c4;
    color: #aeb7c4;
    font-size: 11px
}

.mobile_menu a:last-child {
    border-right: none
}

.mobile_menu .mobile_menu_el {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center
}

.mobile_menu img,
.mobile_menu span {
    display: block;
    margin-top: 0
}

.mobile_menu img {
    max-height: 20px;
    height: 18px
}

@media(max-width: 768px) {
    .mobile_menu {
        display: flex
    }
}

.mobile_menu .bars {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
    height: 100%;
    transition: all .3s ease
}

.mobile_menu .bars .bar {
    width: 30px;
    height: 2px;
    background-color: #aeb7c4;
    transition: transform .3s ease, opacity .3s ease
}

.grecaptcha-badge {
    display: none
}

.no-scroll {
    overflow: hidden
}

/* Mobile/Desktop visibility */
.mobile-hidden {
    display: block;
}

.desktop-hidden {
    display: none;
}

@media(max-width: 768px) {
    .mobile-hidden {
        display: none;
    }
    
    .desktop-hidden {
        display: block;
    }
}

#seasonal-image,
#go-big-image,
#go-big-image2 {
    height: 100dvh;
    transform: scale(0);
    transition: transform 1s ease-out, opacity 1s ease-out;
    padding: 0;
    -o-object-fit: cover;
    object-fit: cover
}

#image-header,
.swiperHome {
    height: 100dvh
}

#seasonal-image.animate,
#go-big-image.animate,
#go-big-image2.animate {
    transform: scale(1);
    opacity: 1
}

#image-header .container-fluid {
    padding: 2rem
}

@media(max-width: 768px) {
    #image-header .container-fluid {
        padding: 1rem
    }
}

#image-header .image-wrapper,
#image-header .image-wrapper-slider {
    position: relative;
    max-height: calc(100dvh - 4rem);
    overflow: hidden
}

@media(max-width: 768px) {

    #image-header .image-wrapper,
    #image-header .image-wrapper-slider {
        max-height: calc(100dvh - 2rem)
    }
}

#image-header .image-wrapper::before,
#image-header .image-wrapper-slider::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, #001528 0%, rgba(0, 21, 40, 0.5) 10%, rgba(0, 21, 40, 0) 100%);
    z-index: 1
}

#image-header .image-wrapper .swiper-container,
#image-header .image-wrapper-slider .swiper-container {
    position: relative;
    z-index: 0
}

#image-header .image-wrapper .swiper-container .swiper-wrapper,
#image-header .image-wrapper-slider .swiper-container .swiper-wrapper {
    width: 100%;
    height: 100%
}

#image-header .image-wrapper .swiper-container .swiper-slide,
#image-header .image-wrapper-slider .swiper-container .swiper-slide {
    width: 100%;
    height: 100%
}

#image-header .image-wrapper .swiper-container .swiper-slide img,
#image-header .image-wrapper-slider .swiper-container .swiper-slide img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center
}

#image-header .image-wrapper .swiper-container .swiper-button-next,
#image-header .image-wrapper .swiper-container .swiper-button-prev,
#image-header .image-wrapper-slider .swiper-container .swiper-button-next,
#image-header .image-wrapper-slider .swiper-container .swiper-button-prev {
    color: #fff;
    width: 50px;
    height: 50px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    cursor: pointer
}

#image-header .image-wrapper .swiper-container .swiper-button-next::after,
#image-header .image-wrapper .swiper-container .swiper-button-prev::after,
#image-header .image-wrapper-slider .swiper-container .swiper-button-next::after,
#image-header .image-wrapper-slider .swiper-container .swiper-button-prev::after {
    font-size: 80px
}

#image-header .image-wrapper .swiper-container .swiper-button-next,
#image-header .image-wrapper-slider .swiper-container .swiper-button-next {
    right: 10px
}

#image-header .image-wrapper .swiper-container .swiper-button-prev,
#image-header .image-wrapper-slider .swiper-container .swiper-button-prev {
    left: 10px
}

#image-header .image-wrapper-slider::before {
    content: none
}

#image-header .image-wrapper-slider .swiper-slide::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, #001528 0%, rgba(0, 21, 40, 0.5) 10%, rgba(0, 21, 40, 0) 100%);
    z-index: 1
}

#description,
#bg-right,
.bg-color,
.bg-transparent #prezzi {
    background-position: top;
    background-size: contain;
    background-repeat: no-repeat
}

#season,
#prezzi {
    background-size: cover
}

.char {
    display: inline-block;
    color: #4b4f51
}

.text-description {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 50px;
    position: relative;
    z-index: 2
}

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

@media(max-width: 1640px) {
    .text-description p {
        font-size: 35px;
        line-height: 45px
    }
}

.padding-top {
    padding-top: 250px
}

@media(max-width: 768px) {
    .padding-top {
        padding-top: 150px
    }
}

.content-up {
    position: relative;
    z-index: 10
}

.bg-right {
    position: relative;
    text-align: center;
    padding: 150px 0
}

@media(max-width: 768px) {
    .bg-right {
        padding: 50px 0
    }
}

.bg-right .text-container {
    position: relative;
    z-index: 2
}

.content-up,
.mySwiper {
    position: relative;
    z-index: 10;
    padding: 0 30px
}

.mySwiper .swiper-slide p {
    display: none;
    opacity: 0;
    transition: opacity .5s ease-in-out
}

.mySwiper .swiper-slide-active p {
    display: block;
    opacity: 1
}

.mySwiper .swiper-button-next,
.mySwiper .swiper-button-prev {
    opacity: 0;
    transition: opacity .3s ease;
    color: #fff
}

.mySwiper:hover .swiper-button-next,
.mySwiper:hover .swiper-button-prev {
    opacity: 1
}

.mainSlider {
    overflow: hidden
}

.mainSlider .swiper-pagination-bullet-active {
    background: #fff !important
}

.mainSlider .swiper-pagination-bullet {
    background: #fff !important
}

.mySwiperCamere {
    position: relative;
    overflow: hidden
}

.mySwiperCamere .swiper-container {
    position: relative
}

.mySwiperCamere .swiper-wrapper {
    padding-bottom: 40px
}

.mySwiperCamere .swiper-pagination {
    position: absolute;
    bottom: -5px;
    left: 0;
    color: #fff;
    padding: 25px;
    border-radius: 3px;
    text-align: left;
    width: 100%;
    z-index: 99;
    display: flex;
    flex-direction: row;
    -moz-column-gap: 30px;
    column-gap: 30px
}

.mySwiperCamere .swiper-pagination-bullet-active {
    color: #001528
}

.mySwiperCamere .swiper-pagination-bullet {
    opacity: 1;
    background-color: rgba(0, 0, 0, 0);
    font-size: 20px
}

.mySwiperCamere .swiper-slide {
    transition: transform .5s ease;
    overflow: hidden
}

.mySwiperCamere .swiper-slide img {
    transition: transform 2s ease;
    width: 100%;
    height: 100%;
    max-height: 80vh;
    -o-object-fit: cover;
    object-fit: cover;
    top: 0;
    left: 0
}

.mySwiperCamere .swiper-slide-active img {
    transform: scale(1.1)
}

.bg-camere .swiper-pagination-bullet-active,
.bg-color .swiper-pagination-bullet-active {
    color: #aeb7c4
}

.apartmentDetailsSlider {
    overflow: hidden;
    position: relative;
    padding-bottom: 10px
}

.apartmentDetailsSlider .imgAppartamento {
    position: relative
}

.apartmentDetailsSlider .imgAppartamento .title {
    position: absolute;
    bottom: -10px;
    left: 5px;
    background-color: #fff;
    color: #001528;
    padding: 10px 40px;
    font-size: 18px;
    z-index: 99
}

.apartmentDetailsSlider .swiper-button-next,
.apartmentDetailsSlider .swiper-button-prev {
    color: #fff
}

.apartmentDetailsSlider img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.apartment_details__description {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    -moz-column-gap: 40px;
    column-gap: 40px
}

@media(max-width: 1024px) {
    .apartment_details__description {
        flex-direction: column;
        row-gap: 20px
    }
}

.apartment_details__description__text {
    display: flex;
    flex-direction: column;
    justify-content: flex-end
}

.apartment_details__description__text h2 {
    font-size: 20px
}

#apartment_details .swiper-pagination {
    position: relative;
    margin-top: 10px
}

.apartment_details_slider {
    border-top: 2px solid #f7f7ee;
    border-bottom: 2px solid #f7f7ee;
    padding: 20px 0
}

.apartment_details_slider h2 {
    font-size: 35px
}

.apartment_details_slider .apartment_details__contact {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: row
}

@media(max-width: 1024px) {
    .apartment_details_slider .apartment_details__contact {
        flex-direction: column;
        row-gap: 20px
    }
}

.apartment_details_slider .apartment_details__contact .pulsanti_disponibilita {
    display: flex;
    flex-direction: row;
    -moz-column-gap: 20px;
    column-gap: 20px
}

.apartment_details_slider .apartment_details__contact .pulsanti_disponibilita a {
    font-size: 25px
}

@media(max-width: 768px) {
    .apartment_details_slider .apartment_details__contact .pulsanti_disponibilita a {
        font-size: 17px
    }
}

.logo_footer {
    max-width: 200px
}

.footer_social {
    display: flex;
    justify-content: center;
    align-items: start;
    flex-direction: row
}

.footer_social a {
    width: 50px;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #aeb7c4;
    margin: 0 10px;
    padding: 10px
}

.footer_social a.button-facebook img {
    max-width: 50%
}

.footer_social a:hover {
    background-color: #001528
}

.footer_social a:hover img {
    mix-blend-mode: plus-lighter
}

.content-top {
    position: relative;
    z-index: 2
}

.footer-copyright {
    background-color: #aeb7c4
}

@media(max-width: 768px) {
    .footer-copyright {
        padding-bottom: 50px
    }
}

.footer-top {
    background-color: #001528;
    padding: 150px 0 150px 0
}

@media(max-width: 768px) {
    .footer-top {
        padding: 50px 0 50px 0
    }
}

.footer-top .img_footer {
    display: flex;
    justify-content: center
}

@media(max-width: 768px) {
    .footer-top .img_footer img {
        max-width: 200px
    }
}

.footer-top h3 {
    color: #aeb7c4;
    font-size: 25px;
    line-height: 30px
}

.footer-top p,
.footer-top a {
    font-size: 18px;
    line-height: 22px
}

.footer-top a:hover {
    text-decoration: underline;
}

.footer-top .button-column {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-around
}

.footer-top .button-column .btn {
    transform: rotate(-90deg);
    margin: 10px 0
}

@media(max-width: 768px) {
    .footer-top .button-column .btn {
        transform: rotate(0deg)
    }
}

.footer-top .button-maps img {
    max-width: 30px
}

.footer-top .contact-info {
    display: flex;
    flex-direction: column;
    justify-content: space-between
}

@media(max-width: 768px) {
    .footer-top .contact-info {
        margin: 20px 0;
        align-items: center;
        text-align: center;
        row-gap: 20px
    }
}

.copyright {
    justify-content: center;
    align-items: center;
    flex-direction: row;
    padding: 20px 0
}

@media(max-width: 768px) {
    .copyright {
        text-align: center
    }
}

.copyright p,
.copyright a {
    color: #001528;
    font-size: 14px;
    margin-bottom: 0
}

.copyright .impressum {
    text-align: right
}

@media(max-width: 768px) {
    .copyright .impressum {
        text-align: center
    }
}

.copyright .box_sponsor {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: row;
    -moz-column-gap: 30px;
    column-gap: 30px
}

@media(max-width: 768px) {
    .copyright .box_sponsor {
        margin: 20px 0;
        justify-content: space-between
    }
}

.copyright .box_sponsor a {
    position: relative;
    display: flex;
    align-items: center
}

.copyright .box_sponsor a img {
    margin-left: 20px
}

.copyright .box_sponsor a:not(:first-child)::before {
    content: "";
    position: absolute;
    left: -10px;
    width: 1px;
    height: 50px;
    background-color: #001528;
    transform: rotate(-20deg)
}

.copyright .box_sponsor img {
    max-width: 100px
}

.table-striped>tbody>tr:nth-of-type(odd)>* {
    --bs-table-accent-bg: rgb(18 60 110 / 30%)
}

.prezzi {
    text-align: center;
    margin-top: 50px
}

.prezzi h3 {
    color: #fff
}

.prezzi .table {
    width: 100%;
    max-width: 100%
}

.prezzi .table tbody tr:hover td,
.prezzi .table tbody tr:hover th {
    background-color: rgba(174, 183, 196, .8) !important
}

.prezzi .table tr,
.prezzi .table th,
.prezzi .table td,
.condizioni .table tr,
.condizioni .table td,
.condizioni .table th {
    font-size: 15px;
    text-align: center
}

.condizioni_titolo {
    padding: 50px 0;
    margin-bottom: 30px
}

.condizioni_titolo h2 {
    text-align: center;
    position: relative
}

.condizioni_titolo h2::before {
    content: "";
    border-left-width: 2px;
    border-left-style: solid;
    border-color: #fff;
    position: absolute;
    bottom: calc(100% - 10px);
    left: calc(50% - 1px);
    display: block;
    width: 1px;
    height: 60px;
    z-index: 1;
    pointer-events: none
}

.condizioni_titolo h2::after {
    bottom: auto;
    top: calc(100% - 2px);
    border-color: #fff;
    content: "";
    border-left-width: 2px;
    border-left-style: solid;
    position: absolute;
    left: calc(50% - 1px);
    display: block;
    width: 1px;
    height: 60px;
    z-index: 1;
    pointer-events: none
}

.condizioni {
    margin-bottom: 50px
}

.condizioni ul ul {
    padding-left: 2rem !important
}

.condizioni .hide {
    display: none
}

.condizioni .show-less,
.condizioni .show-more {
    font-size: 22px;
    letter-spacing: 1.5px;
    font-weight: 600;
    padding: 10px;
    border-bottom: 1px solid #b1b2b4
}

.condizioni li.show-less p,
.condizioni li.show-less ul,
.condizioni li.show-more p,
.condizioni li.show-more ul {
    margin-top: 1rem
}

.condizioni li.show-less li,
.condizioni li.show-more li {
    list-style-type: disc
}

.condizioni .table {
    text-align: center;
    margin-top: 20px
}

.condizioni li.show-more:before {
    content: "+";
    font-family: "FontAwesome";
    padding-right: 10px;
    display: inline-block
}

.condizioni li.show-less:before {
    content: "";
    font-family: "FontAwesome";
    padding-right: 10px;
    display: inline-block
}

.active-img {
    max-width: 200px
}

.title_page h1 {
    opacity: 0;
    transform: scaleX(0);
    transform-origin: center
}

.title_page_top {
    margin-top: 150px
}

.appartment-details {
    display: flex;
    justify-content: center;
    align-items: center
}

.appartment-details .tick-list {
    list-style: none;
    padding: 0
}

.appartment-details .tick-list li {
    position: relative;
    padding-left: 25px;
    margin-bottom: 10px
}

.appartment-details .tick-list li::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: #fff;
    font-weight: bold
}

#title_page .container-fluid {
    padding: 1rem
}

.slider_appartamenti {
    position: relative;
    overflow: hidden
}

.slider_appartamenti .swiper-wrapper {
    display: flex
}

.slider_appartamenti .swiper-slide {
    background-color: #fff
}

.slider_appartamenti .swiper-slide img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.slider_appartamenti .swiper-slide .description_camera {
    padding: 30px 40px 40px 40px;
    position: relative
}

.slider_appartamenti .swiper-slide .description_camera h3 {
    font-size: 30px;
    color: #45453a
}

.slider_appartamenti .swiper-slide .description_camera p {
    font-size: 16px;
    color: #45453a
}

.slider_appartamenti .swiper-slide .description_camera .dimension {
    font-size: 14px;
    color: #001528;
    background-color: #aeb7c4;
    padding: 5px 10px;
    position: absolute;
    top: -20px;
    right: 40px
}

.other_apartment {
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    padding: 100px 0
}

.other_apartment .swiper_wrap {
    height: 100%;
    width: 100%;
    position: relative;
    display: block;
    text-align: left
}

.other_apartment .swiper-button-prev,
.other_apartment .swiper-button-next {
    color: #fff;
    width: 40px;
    height: 40px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center
}

.other_apartment .swiper-button-prev {
    left: -50px
}

@media(max-width: 1024px) {
    .other_apartment .swiper-button-prev {
        left: 0;
        color: #001528
    }
}

.other_apartment .swiper-button-next {
    right: -50px
}

@media(max-width: 1024px) {
    .other_apartment .swiper-button-next {
        right: 0;
        color: #001528
    }
}

.entered .quick-request-form .form-group {
    background-color: rgba(0, 0, 0, 0)
}

.entered .quick-request-form .form-group input {
    background-color: rgba(0, 0, 0, 0);
    color: #fff;
    border: 1px solid #f7f7ee
}

.entered .quick-request-form .quick-request-btn {
    background-color: rgba(0, 0, 0, 0);
    border: 1px solid #f7f7ee;
    color: #f7f7ee
}

.entered .quick-request-form .form-group input::-moz-placeholder {
    color: #f7f7ee
}

.entered .quick-request-form .form-group input::placeholder {
    color: #f7f7ee
}

.quick-request-form {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 10px
}

.quick-request-form .form-group {
    display: flex;
    flex-direction: column;
    border-radius: 0;
    width: 100%;
    background-color: rgba(0, 0, 0, 0)
}

.quick-request-form .form-group input {
    border-radius: 0;
    background-color: rgba(0, 0, 0, 0);
    text-align: center;
    color: #aeb7c4;
    height: 50px;
    border: 1px solid #aeb7c4;
    cursor: pointer
}

.quick-request-form .form-group:not(:first-child) input {
    border-left: none
}

.quick-request-form .quick-request-btn {
    position: relative;
    overflow: hidden;
    background-color: rgba(0, 0, 0, 0);
    width: 100%;
    border: 1px solid #aeb7c4;
    border-left: none;
    height: 50px;
    color: #aeb7c4
}

.quick-request-form .form-group input::-moz-placeholder {
    color: #aeb7c4
}

.quick-request-form .form-group input::placeholder {
    color: #aeb7c4
}

.ui-datepicker {
    font-family: "PT Serif", serif;
    font-weight: normal
}

.ui-datepicker a {
    font-size: 18px
}

.ui-datepicker-header {
    background-color: #aeb7c4;
    color: #fff;
    border: none;
    border-radius: 0;
    width: 100%;
    display: flex;
    justify-content: space-between;
    padding: 10px;
    align-items: center
}

.ui-datepicker-header .ui-datepicker-prev,
.ui-datepicker-header .ui-datepicker-next {
    color: #fff;
    top: auto
}

.ui-state-active,
.ui-widget-content .ui-state-active,
.ui-widget-header .ui-state-active,
a.ui-button:active,
.ui-button:active,
.ui-button.ui-state-active:hover {
    border: 1px solid #aeb7c4;
    background: #aeb7c4;
    font-weight: normal;
    color: #fff
}

.content__info__list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 100px;
    list-style: none;
    padding: 0;
    margin: 0;
    position: relative
}

@media(max-width: 768px) {
    .content__info__list {
        grid-template-columns: 1fr;
        gap: 0
    }
}

.content__info__list .el {
    padding: 30px 0;
    border-bottom: 1px solid #ccc
}

@media(max-width: 768px) {
    .content__info__list .el {
        padding: 20px 0
    }
}

.texthand {
    font-size: 40px;
    font-family: "adobe-handwriting-ernie", sans-serif
}

.galleria {
    padding-top: 20vh;
    padding-bottom: 10vh
}

@media(max-width: 1024px) {
    .galleria {
        padding-top: 20vh;
        padding-bottom: 5vh
    }

    .texthand {
        font-size: 20px;
    }
}

@media(max-width: 768px) {
    .galleria {
        padding-top: 20vh;
        padding-bottom: 5vh
    }
}

.galleria .content__image {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    position: relative;
    z-index: 1
}

.galleria .content__image img {
    margin-bottom: 24px
}

.galleria .content--1 {
    display: flex;
    justify-content: flex-start;
    position: relative
}

.galleria .content--1 .holdercenter {
    position: absolute;
    top: 0;
    left: 50%
}

@media only screen and (max-width: 640px) {
    .galleria .content--1 .holdercenter {
        display: none
    }
}

.galleria .content--1 .holdercenter .bg {
    width: 39.24vw;
    max-width: 1098.6px;
    transform: translate(-50%, -160px)
}

@media only screen and (max-width: 860px) {
    .galleria .content--1 .holdercenter .bg {
        width: 300px;
        max-width: 50%
    }
}

@media only screen and (max-width: 640px) {
    .galleria .content--1 .holdercenter .bg {
        transform: translateY(-260px)
    }
}

.galleria .content--1 .holdercenter .bg img {
    width: 100%;
    transform-origin: center bottom
}

.galleria .content--1 .content__image img {
    order: 0;
    width: 40vw
}

@media only screen and (min-width: 2800px) {
    .galleria .content--1 .content__image img {
        width: 1120px
    }
}

@media only screen and (max-width: 640px) {
    .galleria .content--1 .content__image img {
        order: 0;
        width: 600px;
        max-width: 80%
    }
}

.galleria .content--1 .content__image .texthand {
    order: 1
}

.galleria .content--2 {
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
    position: relative;
    z-index: 3
}

@media only screen and (min-width: 641px) {
    .galleria .content--2 {
        height: 14.44vw;
        transform: translateY(80px);
        max-height: 404px
    }
}

@media only screen and (max-width: 640px) {
    .galleria .content--2 {
        margin-top: 32px;
        margin-bottom: 32px
    }
}

.galleria .content--2 .content__image {
    align-items: flex-end
}

@media only screen and (max-width: 640px) {
    .galleria .content--2 .content__image {
        width: 100%
    }
}

.galleria .content--2 .content__image img {
    margin-bottom: 0;
    margin-top: 32px;
    width: 33.06vw
}

@media only screen and (min-width: 2800px) {
    .galleria .content--2 .content__image img {
        width: 925.6px
    }
}

@media only screen and (max-width: 640px) {
    .galleria .content--2 .content__image img {
        order: 0;
        width: 600px;
        max-width: 80%;
        margin-bottom: 32px;
        margin-top: 0
    }
}

.galleria .content--2 .content__image .texthand {
    text-align: right
}

@media only screen and (max-width: 640px) {
    .galleria .content--2 .content__image .texthand {
        order: 1
    }
}

.galleria .content--3 {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    position: relative
}

.galleria .content--3 .holderleft {
    bottom: 0;
    position: absolute;
    left: 0
}

.galleria .content--3 .holderleft .bgleft {
    width: 26.67vw;
    max-width: 746.7px
}

@media only screen and (max-width: 860px) {
    .galleria .content--3 .holderleft .bgleft {
        bottom: 64px;
        width: 160px
    }
}

.galleria .content--3 .holderleft .bgleft img {
    width: 100%;
    transform-origin: center bottom
}

.galleria .content--3 .holderright {
    top: 80%;
    position: absolute;
    right: 0
}

.galleria .content--3 .holderright .bgright {
    width: 40.28vw
}

@media only screen and (min-width: 2800px) {
    .galleria .content--3 .holderright .bgright {
        width: 1127.8px
    }
}

@media only screen and (max-width: 860px) {
    .galleria .content--3 .holderright .bgright {
        bottom: -180px;
        top: auto;
        width: 210px
    }
}

.galleria .content--3 .holderright .bgright img {
    width: 100%;
    transform-origin: center bottom
}

.galleria .content--3 .content__image {
    align-items: flex-start;
    max-width: 100%
}

.galleria .content--3 .content__image img {
    order: 0;
    width: 33.06vw
}

@media only screen and (min-width: 2800px) {
    .galleria .content--3 .content__image img {
        width: 925.6px
    }
}

@media only screen and (max-width: 640px) {
    .galleria .content--3 .content__image img {
        width: 560px;
        max-width: 66%
    }
}

.galleria .content--3 .content__image .texthand {
    order: 1
}

@media only screen and (max-width: 640px) {
    .galleria .content--3 .content__image .texthand {
        width: 560px;
        max-width: 66%
    }
}

.galleria .content--4 {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    margin-top: 6.11vw
}

@media only screen and (min-width: 2800px) {
    .galleria .content--4 {
        margin-top: 171.1px
    }
}

@media only screen and (max-width: 640px) {
    .galleria .content--4 {
        flex-direction: column;
        margin-top: 88px;
        align-items: flex-start
    }
}

.galleria .content--4 .block1 {
    width: 40vw
}

@media only screen and (min-width: 2800px) {
    .galleria .content--4 .block1 {
        width: 1120px
    }
}

@media only screen and (max-width: 640px) {
    .galleria .content--4 .block1 {
        width: 560px;
        max-width: 66%
    }
}

.galleria .content--4 .block1 img {
    width: 100%;
    margin-bottom: 24px
}

.galleria .content--4 .block1 .texthand {
    order: 1
}

@media only screen and (max-width: 640px) {
    .galleria .content--4 .block1 .texthand {
        width: 560px;
        max-width: 66%
    }
}

.galleria .content--4 .block2 {
    width: 33.06vw
}

.galleria .content--4 .block2 img {
    width: 100%
}

@media only screen and (min-width: 2800px) {
    .galleria .content--4 .block2 {
        width: 925.6px
    }
}

@media only screen and (max-width: 640px) {
    .galleria .content--4 .block2 {
        width: 560px;
        max-width: 66%;
        margin-top: 40px;
        margin-left: auto
    }
}

.galleria .content--text {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    margin-top: 12.36vw;
    position: relative;
    z-index: 6
}

@media only screen and (min-width: 2800px) {
    .galleria .content--text {
        margin-top: 346.1px
    }
}

@media only screen and (max-width: 1440px) {
    .galleria .content--text {
        margin-top: 178px
    }
}

@media only screen and (max-width: 860px) {
    .galleria .content--text {
        margin-top: 64px
    }
}

.galleria .content--text .content__text {
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    width: 39.93vw;
    max-width: 1118.1px;
    text-align: center
}

@media only screen and (max-width: 1440px) {
    .galleria .content--text .content__text {
        max-width: 575px;
        width: 100%
    }
}

.galleria .content--text .content__text p {
    margin-top: 64px
}

.container-vw {
    margin: 0 auto;
    width: 100%;
    max-width: 2800px;
    padding-left: 9.17vw;
    padding-right: 9.17vw
}

@media only screen and (min-width: 2800px) {
    .container-vw {
        padding-left: 256.7px;
        padding-right: 256.7px
    }
}

@media only screen and (max-width: 1024px) {
    .container-vw {
        padding-left: 48px;
        padding-right: 48px
    }
}

@media only screen and (max-width: 768px) {
    .container-vw {
        padding-left: 24px;
        padding-right: 24px
    }
}

@media only screen and (max-width: 860px) {
    .container-vw {
        padding-left: 24px;
        padding-right: 24px
    }
}

.container-vw .col {
    padding-left: 32px;
    padding-right: 32px
}

.link_utili ul li {
    list-style: none;
    padding: 10px 0;
    border-bottom: 1px solid #aeb7c4
}

.link_utili ul li a:hover {
    color: #fff;
    transform: translateY(-2px);
    transition: transform .2s ease-in-out
}

#gallery .gallery {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    grid-auto-rows: auto;
    gap: 2svmin
}

#gallery .gallery a {
    display: block;
    width: 100%
}

#gallery .gallery img {
    width: 100%;
    aspect-ratio: 16/9;
    -o-object-fit: cover;
    object-fit: cover;
    height: 100%
}

@media(min-width: 500px) {
    #gallery .gallery {
        grid-template-columns: repeat(2, 1fr)
    }

    #gallery .gallery a:nth-of-type(2) {
        grid-row: span 2;
        aspect-ratio: auto
    }
}

@media(min-width: 1000px) {
    #gallery .gallery {
        grid-template-columns: repeat(4, 1fr);
        gap: 1svmin
    }

    #gallery .gallery a:nth-of-type(2) {
        grid-row: span 2;
        aspect-ratio: auto
    }

    #gallery .gallery a:nth-of-type(3),
    #gallery .gallery a:nth-of-type(12) {
        grid-column: span 2;
        grid-row: span 2
    }

    #gallery .gallery a:nth-of-type(5) {
        grid-column: span 2
    }

    #gallery .gallery a:nth-of-type(15) {
        grid-column: span 2
    }
}

.form_contatto {
    margin: 25px 0
}

.form_contatto label {
    color: #fff;
    font-size: 25px;
    margin-top: 20px
}

.form_contatto label.check {
    margin-top: 0;
    font-size: 18px
}

.form_contatto label.check a {
    font-size: 18px
}

.submit__control h5,
.submit__control span,
.submit__control input {
    font-size: 20px
}

.form_contatto h2 {
    text-align: center
}

.form_contatto .submit-button {
    margin: 0 auto !important;
    display: block !important;
    padding: 15px !important;
    width: 100% !important;
    max-width: 200px !important
}

.form_contatto .btn {
    border-radius: 0;
    border: 1px solid #fff;
    background-color: #001528;
    text-transform: uppercase;
    padding: 12px 90px;
    transition: all .5s;
    font-size: 14px;
    letter-spacing: 2px
}

#contatto {
    margin-top: 50px;
    text-align: center
}

#contatto .condizioni {
    margin: 80px
}

@media screen and (max-width: 767px) {
    #contatto .condizioni {
        margin: 20px
    }
}

#contatto .nome_struttura {
    margin-top: 50px
}

#contatto ul {
    text-align: center;
    display: inline-block
}

.input-group-append {
    display: flex
}

.form-row {
    display: flex;
    flex-wrap: wrap;
    margin-right: -5px;
    margin-left: -5px
}

.form-row>[class*=col-] {
    padding-right: 5px;
    padding-left: 5px
}

.input-group {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    width: 100%
}

.form-group a {
    color: #bb3f42
}

.form-check {
    margin-top: 20px
}

.form-check-label {
    text-decoration: none;
    font-size: 14px !important;
    line-height: 30px;
    letter-spacing: 1.5px;
    font-weight: 400
}

.form-check-label a {
    font-size: 14px
}

.mail,
.telefono {
    display: inline;
    padding: 10px 30px;
    margin: 20px;
    position: relative
}

.mail i,
.telefono i {
    margin-right: 20px
}

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

    .mail,
    .telefono {
        display: block
    }
}

.effect_hover a,
.effect_hover_white a {
    position: relative;
    display: inline-block;
    padding: 5px 0
}

.effect_hover a:before,
.effect_hover a:after,
.effect_hover_white a:before,
.effect_hover_white a:after {
    content: "";
    width: 0;
    height: 2px;
    background: #001528;
    position: absolute;
    top: 0;
    left: 50%;
    transition: all .3s ease 0s
}

.effect_hover_white a:before,
.effect_hover_white a:after {
    background: #fff
}

.effect_hover a:after,
.effect_hover_white a:after {
    top: auto;
    bottom: 0
}

.effect_hover a:hover:before,
.effect_hover a:hover:after,
.effect_hover_white a:hover:before,
.effect_hover_white a:hover:after {
    width: 100%;
    left: 0
}

.overlay-banner {
    background: rgba(91, 89, 89, .699);
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10002;
    pointer-events: all;
    transition: all 2s ease-in-out;
    display: flex;
    justify-content: center;
    align-items: center
}

.cont-cookie-banner {
    background-image: url("../fotos/popup.jpg");
    -o-object-fit: cover;
    object-fit: cover;
    padding: 2em;
    border-radius: 20px;
    width: 50%;
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-position: center;
    background-size: cover;
    margin: auto;
    position: relative
}

.banner_background {
    background-image: url("../fotos/bannerbackground.jpg");
    padding: 6%;
    opacity: .8
}

.banner_background h2 {
    color: #001528
}

.cont-cookie-banner p {
    color: #272525;
    width: 100%
}

.cookieNewsletter .overlay-banner {
    display: none;
    pointer-events: none
}

.linea-uno,
.linea-due {
    width: 100%;
    height: 2px;
    background-color: #000
}

.croce {
    width: 30px;
    height: 30px;
    position: absolute;
    top: -10px;
    right: -10px;
    color: #000
}

.linea-uno {
    transform: rotate(45deg) translateY(-50%);
    position: absolute;
    top: 50%
}

.linea-due {
    transform: rotate(-45deg) translateY(-50%);
    position: absolute;
    top: 50%
}

.non-vedo {
    display: none
}

@media only screen and (max-width: 767px) {
    .cont-cookie-banner {
        width: 80%;
        max-height: 80vh;
        padding: 1em
    }

    .cont-cookie-banner h2 {
        font-size: 35px;
        line-height: 40px
    }
}

@media only screen and (max-width: 767px)and (max-width: 768px) {
    .cont-cookie-banner h2 {
        font-size: 25px;
        line-height: 30px
    }
}

@media only screen and (max-width: 767px) {
    .cont-cookie-banner h3 {
        font-size: 25px;
        line-height: 35px
    }
}

@media only screen and (max-width: 767px)and (max-width: 768px) {
    .cont-cookie-banner h3 {
        font-size: 20px;
        line-height: 25px
    }
}

@media only screen and (max-width: 767px) {
    .cont-cookie-banner p {
        font-size: 18px;
        line-height: 25px;
        margin-bottom: 0
    }
}

@media only screen and (max-width: 767px)and (max-width: 768px) {
    .cont-cookie-banner p {
        font-size: 16px;
        line-height: 20px
    }
}

@media only screen and (max-width: 767px) {
    .cont-cookie-banner .croce {
        top: -10px;
        right: -10px
    }
}

.button_apartment {
    text-align: center;
    justify-content: center;
    align-items: center;
    display: flex
}

.button_apartment a {
    margin: 10px 0;
    font-size: 20px;
    font-style: normal;
    letter-spacing: 5px;
    background-color: #001528;
    text-align: center;
    line-height: 45px;
    letter-spacing: 2px;
    font-family: "PT Serif", serif;
    text-transform: uppercase;
    font-weight: 700;
    color: #fff;
    border: 2px solid #001528;
    text-decoration: none;
    padding: 5px 20px;
    display: block;
    width: -moz-max-content;
    width: max-content
}

.button_apartment a:hover {
    color: #001528;
    background-color: #fff;
    border: 2px solid #001528;
    transition: .5s
}

.quick-request_new {
    display: flex;
    justify-content: center;
    flex-direction: row;
    -moz-column-gap: 5%;
    column-gap: 5%;
    align-items: center
}

.qr-row {
    width: 100%;
    float: left;
    display: block;
    position: relative
}

.qr-row-box {
    display: flex;
    align-items: end;
    -moz-column-gap: 10px;
    column-gap: 10px
}

.qr-date {
    font-size: 70px;
    line-height: 80px;
    color: #fff;
    font-weight: 500;
    transition: all 300ms ease 0s;
    font-family: "PT Serif", serif
}

.qr-month {
    font-size: 16px;
    text-transform: uppercase;
    color: #fff;
    transition: all 300ms ease 0s;
    font-weight: 100;
    letter-spacing: 2px
}

.qr-year {
    font-size: 14px;
    color: #fff;
    font-weight: 300;
    transition: all 300ms ease 0s;
    letter-spacing: 17px;
    text-align: center;
    background: #cdcdcd;
    padding-left: 16px;
    display: none
}

.TxtInput {
    opacity: 0;
    background-color: #fff;
    border: 0 none;
    border-radius: 0;
    box-sizing: border-box;
    color: #796d63;
    display: inline-block;
    font-size: 1.7em;
    font-weight: 400;
    margin: 0 auto;
    line-height: 80px;
    text-align: center;
    width: 100%;
    text-transform: uppercase;
    letter-spacing: 1px;
    cursor: pointer;
    position: absolute;
    top: 0;
    left: 0
}

.quick-request_new .request-button-img {
    width: 22px;
    margin: 0px 0px 0px 4px;
    transition: all 300ms ease 0s;
    position: relative;
    right: 0px
}

.qr-row-big:hover .request-button-img {
    right: -5px
}

.qr-date-box:hover .qr-date {
    color: #fff
}

.qr-date-box:hover .qr-month {
    color: #fff
}

.qr-cal {
    max-width: 16px;
    margin: 0 auto
}

.qr-descr-txt {
    font-size: 16px;
    text-transform: uppercase;
    color: #001528;
    transition: all 300ms ease 0s;
    font-weight: 100;
    letter-spacing: 2px;
    margin-top: 12px
}

/*# sourceMappingURL=style.min.css.map */