@import url("../js/fancybox/jquery.fancybox.css");
@import url("../request-form/datepicker.css");
@import url("swiper.css");
@import url("../request-form/request-form.css");
@import url("https://fonts.googleapis.com/css2?family=Karla:ital,wght@0,200..800;1,200..800&family=PT+Serif:ital,wght@0,400;0,700;1,400;1,700&display=swap");

@font-face {
    font-family: LibreBodoni;
    src: url("../fonts/LibreBodoni.ttf");
}

@font-face {
    font-family: QuietSans;
    src: url("../fonts/QuietSans.otf");
}

@font-face {
    font-family: Rometano;
    src: url("../fonts/Rometano.ttf");
}

@font-face {
    font-family: Allerta;
    src: url("../fonts/Allerta.ttf");
}

@font-face {
    font-family: Aboreto;
    src: url("../fonts/Aboreto.ttf");
}

:root {
    --primary-color: #8C7F73;
    --secondary-color: #2F2E2B;
    --white-color: #ffffff;
    --btn-border: var(--white-color, #fff);
    --btn-speed: .35s;
    --btn-size: 2px;
    box-sizing: border-box;
}

html,
body {
    margin: 0px;
    padding: 0px;
    font-size: 20px;
    font-family: QuietSans;
    color: var(--white-color);
    background-color: var(--secondary-color);
    font-weight: unset;
}

.h1 {
    font-family: LibreBodoni;
}

.h2 {
    font-family: LibreBodoni;
}

p,
ul {
    line-height: 1.4rem;
}

ul {}

li {}

a {
    text-decoration: none;
    color: inherit;
}

a:hover {
    text-decoration: none;
}

p strong {
    font-weight: 600;
}

.img_hidden_slide {
    width: 50px;
    top: -100px;
    position: absolute;
}

.transition {
    transition: 0.3s;
}

.header {
    position: absolute;
    z-index: 5;
    width: 100%;
    height: 90px;
    padding-top: 17px;
}

.menu_button {
    position: absolute;
    color: rgb(255, 255, 255);
    display: none;
    top: 0px;
    left: 0px;
    width: 70px;
    height: 70px;
    cursor: pointer;
}

.menu_button>span {
    position: absolute;
    left: 59%;
    transform: translate(-46%, -50%);
    top: 50%;
    font-size: 23px;
    text-transform: capitalize;
    right: 0px;
    font-family: QuietSans;
    font-weight: 100;
    letter-spacing: 1px;
}

.menu_button-lines {
    width: 28px;
    height: 22px;
    position: absolute;
    top: 50%;
    display: none;
    left: 0px;
    transform: rotate(90deg);
    transform-origin: center top;
}

.menu_button-lines span {
    background-color: rgb(255, 255, 255);
    width: 100%;
    height: 1.8px;
    position: absolute;
    transition: 0.3s;
    left: 0px;
}

.menu_button-lines span:nth-child(1) {
    top: 0px;
}

.menu_button-lines span:nth-child(2) {
    top: 50%;
    transform: translateY(-50%);
    width: 79%;
    padding-left: 15px;
}

.menu_button-lines span:nth-child(3) {
    bottom: 0px;
}

.header-open .menu_button-lines {
    transform: rotate(90deg);
}

.header-open .menu_button-lines span:nth-child(1) {
    transform: rotate(45deg);
    top: 50%;
}

.header-open .menu_button-lines span:nth-child(2) {
    opacity: 0;
}

.header-open .menu_button-lines span:nth-child(3) {
    transform: rotate(-45deg);
    bottom: 50%;
}

.icon-btn {
    display: none;
}

.btn-draw {
    position: relative;
    display: inline-block;
    padding: 14px 24px;
    color: rgb(255, 255, 255);
    text-transform: uppercase;
    letter-spacing: 1.2px;
    background: none;
    border: none;
    cursor: pointer;
    font-family: QuietSans;
}

.btn-draw>span {
    position: relative;
    z-index: 2;
}

.btn-draw::before,
.btn-draw::after,
.btn-draw>span::before,
.btn-draw>span::after {
    content: "";
    position: absolute;
    background: #ffffffc4;
    transition: transform var(--btn-speed) ease;
    pointer-events: none;
}

.btn-draw::before,
.btn-draw::after {
    width: 100%;
    height: var(--btn-size);
    left: 0px;
}

.btn-draw::before {
    top: 0px;
    transform: scaleX(0);
    transform-origin: left center;
}

.btn-draw::after {
    bottom: 0px;
    transform: scaleX(0);
    transform-origin: right center;
}

.btn-draw>span::before,
.btn-draw>span::after {
    height: 100%;
    width: var(--btn-size);
    top: 0px;
}

.btn-draw>span::before {
    left: 0px;
    transform: scaleY(0);
    transform-origin: center bottom;
}

.btn-draw>span::after {
    right: 0px;
    transform: scaleY(0);
    transform-origin: center top;
}

.btn-draw:hover::before,
.btn-draw:hover::after,
.btn-draw:hover>span::before,
.btn-draw:hover>span::after,
.btn-draw:focus-visible::before,
.btn-draw:focus-visible::after,
.btn-draw:focus-visible>span::before,
.btn-draw:focus-visible>span::after {
    transform: scale(1);
}

.btn-draw:hover::before,
.btn-draw:focus-visible::before {
    transition-delay: 0s;
}

.btn-draw:hover>span::after,
.btn-draw:focus-visible>span::after {
    transition-delay: 0.1s;
}

.btn-draw:hover::after,
.btn-draw:focus-visible::after {}

.btn-draw:hover>span::before,
.btn-draw:focus-visible>span::before {
    transition-delay: 0.3s;
}

.fixed .icon-btn {
    position: absolute;
    right: 45px;
    top: 50%;
    transform: translateY(-50%);
    gap: 47px;
    display: inline-flex;
}

.icon-btn a {
    align-items: center;
    display: flex;
    position: relative;
}

.icon-btn img {
    display: inline-block;
}

.fixed .icon-ring-img-outside {
    transition: 0.3s;
}

.fixed .icon-request-img-outside {
    transition: 0.3s;
}

.fixed .icon-ring-img-outside:hover {}

.fixed .icon-request-img-outside:hover {}

.icon-btn .icon-ring-img {
    width: 33px;
    position: relative;
    opacity: 0.9;
    padding: 12px;
    transition: 0.3s;
    clip-path: polygon(0px 0px, 100% 0px, 100% 100%, 0px 100%);
}

.icon-btn .icon-request-img {
    width: 27px;
    position: relative;
    opacity: 0.9;
    padding: 10px;
    transition: 0.3s;
    clip-path: polygon(0px 0px, 100% 0px, 100% 100%, 0px 100%);
}

.icon-btn .icon-request-img-effect,
.icon-btn .icon-ring-img-effect {
    position: absolute;
    transition: 0.3s;
    opacity: 1;
    left: 0px;
    bottom: 50%;
    transform: translateY(50%);
    clip-path: polygon(0px 0px, 0px 0px, 0px 100%, 0px 100%);
}

.icon-btn .icon-request-img-outside:hover .icon-request-img,
.icon-btn .icon-ring-img-outside:hover .icon-ring-img {
    clip-path: polygon(100% 0px, 100% 0px, 100% 100%, 100% 100%);
}

.icon-btn .icon-request-img-outside:hover .icon-request-img-effect,
.icon-btn .icon-ring-img-outside:hover .icon-ring-img-effect {
    clip-path: polygon(0px 0px, 100% 0px, 100% 100%, 0px 100%);
}

.small-menu-img {
    width: 61%;
    position: relative;
    left: 3%;
    top: 17vh;
}

.small-menu-img-l {
    position: absolute;
    left: 0px;
    width: 54%;
    text-align: center;
}

.small-menu-img-l img {
    width: 80%;
    padding-bottom: 30px;
    height: 30vh;
    object-fit: cover;
}

.small-menu-img-r {
    position: absolute;
    width: 53%;
    right: 0px;
    text-align: center;
    height: 100%;
}

.small-menu-img-r img {
    width: 80%;
    padding-bottom: 30px;
    height: 30vh;
    object-fit: cover;
}

.header.fixed .header {
    position: absolute;
    z-index: 5;
    width: 100%;
    height: 122px;
    padding-top: 25px;
}

.navigation {
    display: table;
    position: absolute;
    top: 0px;
    right: 0px;
    z-index: 3;
    margin: auto;
    width: 100%;
    height: 100%;
}

.menu-img-box {
    top: 0px;
    right: 0px;
    box-sizing: border-box;
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: rgb(0, 0, 0);
    opacity: 0.2;
}

.menu-img {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0px;
    left: 0px;
    background-position: center center;
    background-size: cover;
    opacity: 0;
    mask: linear-gradient(to left, rgb(0 0 0) 0%, rgb(0 0 0 / 61%) 40%, #00000000 100%);
}

.menu-img-active {
    opacity: 1;
}

.fixed .icon-btn-text {
    font-family: QuietSans;
    font-size: 23px;
}

.menu {
    margin: 0px;
    padding: 0px;
    display: block;
    text-align: left;
    position: absolute;
    z-index: 4;
}

.menu-item {
    padding: 10px 13px;
    letter-spacing: 2px;
    cursor: pointer;
    display: inline-table;
    position: relative;
    text-decoration: none;
    box-sizing: border-box;
}

.menu-item span {
    opacity: .7;
}

.menu-item span:hover {
    opacity: 1;
}

.submenu a {
    opacity: .7;
}

.submenu a:hover {
    opacity: 1;
}

.menu-item-active {}

.menu-item:hover {
    color: rgb(255, 255, 255);
}

.submenu {
    display: none;
}

.small-menu-r-margin {
    margin-top: 60px;
}

.submenu-item {
    font-size: 31px;
    font-weight: 100;
    padding: 1px 10px 6px 0px;
    transition: 0.3s;
    display: table;
    font-family: QuietSans;
    letter-spacing: 2px;
}

.submenu-item:hover {
    padding-left: 10px;
    padding-right: 0px;
}

.menu_button {
    display: block;
    z-index: 10;
    font-weight: 100;
    transform: translateY(-50%);
    top: 50%;
    position: absolute;
    margin-left: 45px;
}

.menu_button-lines {
    display: block;
    z-index: 10;
}

.header-language {
    display: contents;
}

.header-language a {
    display: contents;
}

.navigation {
    position: fixed;
    margin: 0px auto;
    text-align: right;
    opacity: 0.001;
    pointer-events: none;
    height: 100vh;
    background-color: rgb(0, 0, 0);
    z-index: 4;
}

.header-open.navigation {
    opacity: 1;
    pointer-events: all;
}

.menu {
    top: 50%;
    right: 6%;
    width: 28%;
    box-sizing: border-box;
    transform: translateY(-50%);
}

.menu-item {
    display: block;
    width: 100%;
    font-family: LibreBodoni;
    font-size: 60px;
    font-weight: 100;
    letter-spacing: 4px;
}

.lang-text {
    background-color: rgb(170, 170, 170);
}

.menu-other {
    position: relative;
}

.menu-other-href {
    padding: 0px;
    text-align: left;
    background-color: rgb(170, 170, 170);
    margin: 1px 0px 0px;
}

#s01 {
    position: relative;
    display: none;
}

#s02 {
    position: absolute;
    display: none;
}

.s0-open {
    position: relative !important;
    display: block !important;
}

.header.fixed {
    position: fixed;
    transform: translateY(-180%);
    transition: 0.3s;
}

.header.fixed .header-btn {
    position: absolute;
    top: 75%;
    gap: 20px;
    z-index: 2;
    right: -101px;
    transform: unset;
    display: none;
}

.header.fixed-2 .header-btn,
.header-open .header-btn {
    position: absolute;
    top: 30%;
    gap: 20px;
    z-index: 2;
    display: flex;
    right: 15%;
    transform: unset;
}

.header.fixed-2,
.header-open {
    transition: 0.3s;
    background-color: var(--secondary-color);
    transform: unset !important;
}

.header-open {
    opacity: 0;
}

.fixed.header-open {
    opacity: 1;
}

.header-open {}

.header.fixed {}

.header.fixed.header-open {
    background-color: transparent;
}

.menu-center {
    position: absolute;
    left: 50%;
    transform: translate(-50%, -50%);
    top: 50%;
}

.fixed .menu-center {
    clip-path: polygon(0px 0px, 100% 0px, 100% 90%, 0px 90%);
}

.menu-center img {
    width: 161px;
    padding-top: 13px;
}

.header.fixed .menu-center img {
    width: 124px;
}

.menu-language {
    display: inline-flex;
    margin: auto;
    gap: 10px;
}

.menu-language a {
    color: var(--white-color);
    font-size: 18px;
    font-family: QuietSans;
    padding-bottom: 5px;
}

.language-top {
    display: block;
    z-index: 10;
    font-weight: 100;
    transform: translateY(-50%);
    top: 50%;
    position: absolute;
    margin-right: 67px;
    right: 0;
    text-align: center;
    font-size: 23px;
}

.fixed.fixed-2 .language-top {
    display: none;
}

.header-btn {
    position: absolute;
    top: 70%;
    transform: rotate(-90deg);
    gap: 3px;
    z-index: 2;
    right: -77px;
    display: flex;
}

.swap-zone {
    position: relative;
    display: inline-block
}

.swap-base {
    width: 33px;
    padding: 10px;
    opacity: 1;
    transition: .3s;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%)
}

.swap-top {
    position: absolute;
    left: 0;
    bottom: 50%;
    transform: translateY(50%);
    width: 34px;
    padding: 10px;
    opacity: 1;
    transition: .3s;
    clip-path: polygon(0 0, 0 0, 0 100%, 0 100%)
}

.mail-swap:hover .swap-base,
.phone-swap:hover .swap-base {
    clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%)
}

.mail-swap:hover .swap-top,
.phone-swap:hover .swap-top {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%)
}

.swap-noborder {
    border: none !important;
}

.header-btn a {
    font-size: 20px;
    color: rgb(255, 255, 255);
    transition: 0.3s;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    /*! border-left: 1px solid rgba(255, 255, 255, 0.877); */
    /*! border-right: 1px solid rgba(255, 255, 255, 0.877); */
}

.menu_button .fixed {
    display: block;
    z-index: 10;
    font-weight: 100;
}

.slide {
    position: relative;
    height: calc(100vh);
}


.swiper-container {
    width: 100%;
    height: 100%;
    opacity: .8;
}

.swiper-slide {
    position: relative;
    text-align: center;
    font-size: 18px;
    display: flex;
    -webkit-box-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    align-items: center;
    height: 100%;
}

.swiper_sfondo {
    object-fit: cover;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    transform: scale(1);
}

.whatsapp {
    position: fixed;
    bottom: 20px;
    left: 0;
    z-index: 5;
    background-color: #8c7f73;
    width: 60px;
    height: 60px;
    transition: all 400ms ease 0s;
    text-align: center;
    border-radius: 50%;
    width: max-content;
    margin: auto;
}

.whatsapp-img {
    width: 24px;
    top: 50%;
    position: relative;
    transform: translateY(-50%);
    transition: all 400ms ease 0s;
}

.pag-box {
    top: 50%;
    left: 16px;
    height: auto;
    position: absolute;
    text-align: right;
    z-index: 3;
    box-sizing: border-box;
    display: block;
    width: max-content;
    transform: translateY(-50%);
}

.pagination {
    display: inline-table;
    position: relative;
    vertical-align: middle;
    width: max-content;
}

.swiper-pagination-bullet {
    background: rgb(255, 255, 255);
    width: 12px;
    height: 12px;
    opacity: 0.3;
    margin: 27px 15px;
    display: table;
    vertical-align: middle;
    transition: 0.3s;
    border: transparent;
    border-radius: 50%;
}

.swiper-pagination-bullet:first-child:last-child {
    display: none;
}

.swiper-pagination-bullet-active {
    width: 12px;
    height: 12px;
    opacity: 0.8;
    position: relative;
    border-width: 1.5px;
}

.slide-grad-1 {
    position: absolute;
    width: 100%;
    height: 57%;
    background: -webkit-linear-gradient(top, rgb(0, 0, 0), rgba(0, 0, 0, 0.01));
    opacity: 0.4;
    top: 0px;
    left: 0px;
    pointer-events: none;
    z-index: 1;
}

.slide-grad-2 {
    position: absolute;
    width: 100%;
    height: 47%;
    background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.03), rgb(0, 0, 0));
    opacity: 0.4;
    left: 0px;
    bottom: 0px;
    pointer-events: none;
    z-index: 1;
}

.slide-grad-left {
    position: absolute;
    width: 15%;
    height: 100%;
    background: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.03), rgb(0, 0, 0));
    opacity: 0.55;
    right: 0px;
    bottom: 0px;
    pointer-events: none;
    z-index: 1;
}

.slide-bottom {
    position: absolute;
    width: max-content;
    height: auto;
    text-align: center;
    bottom: 0px;
    z-index: 2;
    left: 50%;
    margin-bottom: -29px;
    transform: translateX(-50%);
}

.slide-bottom h4 {
    font-size: 104px;
    font-family: rometano;
    color: var(--white-color);
    font-weight: 100;
    margin: 0px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 70px;
    width: max-content;
}

.new-opening {
    background-color: rgb(47, 46, 43);
    width: max-content;
    border-radius: 50%;
    left: 50%;
    position: relative;
    transform: translateX(-50%);
    align-content: center;
    padding: 0;
    bottom: 214px;
    width: 101px;
    height: 101px;
}

.new-opening p {
    margin: 0px;
    font-family: Aboreto;
    color: var(--white-color);
    font-weight: bold;
    text-align: center;
    display: inline-block;
    left: -25%;
    position: relative;
}

.new-opening-inner {
    transform: rotate(4deg);
}

.opening-title {
    font-size: 31px;
}

.opening-subtitle {
    font-size: 27px;
}

.intro {
    background-color: var(--primary-color);
    position: relative;
    width: 100%;
}

.intro img {
    position: absolute;
    width: 177px;
    right: 0px;
    opacity: 0.8;
}

.intro-inner {
    padding-top: 10vh;
    background-color: var(--primary-color);
    padding-bottom: 25vh;
    position: relative;
    width: 50%;
    margin: auto;
}

.intro-inner .intro-slogan {
    font-family: LibreBodoni;
    font-size: 85px;
    color: var(--white-color);
    font-weight: 100;
}

.intro-inner h1 {
    font-family: librebodoni;
    font-size: 40px !important;
    color: var(--white-color);
    line-height: 55px;
    font-weight: 100;
}

.intro-inner h2 {
    font-family: librebodoni;
    color: var(--white-color);
    font-size: 25px;
    line-height: 40px;
    font-weight: 100;
}

.vertikal-obj {
    position: absolute;
    left: 5vw;
    top: 12vh;
    width: auto;
    height: auto;
    z-index: 1;
    background-color: var(--secondary-color);
}

.vertikal-obj p {
    text-align: center;
    font-family: Rometano;
    font-size: 35px;
    top: 127%;
    position: absolute;
    width: max-content;
    margin: 0px;
    left: -50%;
    opacity: 0.3;
    transform: translateY(-50%) rotate(90deg);
    letter-spacing: 2px;
}

.vertikal-obj {}

.vertikal-obj-inner {
    content: "";
    position: absolute;
    width: 178px;
    height: 178px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.05);
    left: 0;
    top: 0;
    z-index: 0;
}

.intro-images {
    width: 100%;
    position: relative;
}

.intro-images-inner {
    display: flex;
    flex-wrap: wrap;
    max-width: 100%;
    margin: -80px auto 0px;
    gap: 3vw;
}

.intro-img-2 {
    order: 1;
    flex: 0 0 26%;
    max-width: 26%;
    align-self: flex-start;
    margin-top: -47px;
    margin-left: 13%;
}

.intro-img-3 {
    order: 1;
    max-width: 57.9%;
}

.intro-img-1 {
    order: 2;
    flex: 0 0 43%;
    max-width: 39%;
    margin-top: -15%;
}

.intro-images-bg {}

.intro-images-bottom {
    position: relative;
    width: 100%;
    margin-bottom: 75px;
}

.icon-leave-intro-images-bottom-1 {
    width: 150px;
    position: absolute;
    left: 16vw;
    transform: rotate(-36deg);
    bottom: 0px;
}

.intro-images-right {
    width: 42%;
    position: relative;
    margin-left: 46%;
    margin-top: -11vh;
    max-width: 640px;
    margin-bottom: 10vh;
}

.intro-images-circle {
    width: 600px;
    height: 600px;
    position: absolute;
    border-radius: 50%;
    opacity: 0.1;
    right: 0px;
    bottom: 0px;
    margin-right: 8vh;
    background: linear-gradient(-63deg, rgb(255, 255, 255) 0%, rgba(102, 102, 102, 0) 100%);
}

.intro-images-right p {
    font-size: 1rem;
    line-height: 31px;
    font-weight: 100;
    font-family: quietsans;
    letter-spacing: 1px;
}

.icon-leave-intro-images-bottom-2 {
    position: absolute;
    right: 0px;
    width: 165px;
    bottom: 0px;
    opacity: 0.6;
}

.appartments {
    position: relative;
    left: 0px;
    top: 0;
    width: 100%;
    height: 100%;
}

.wellness {
    position: relative;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
}

.core-main-overlay {
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    position: absolute;
    filter: brightness(0.7);
    overflow: hidden;
}

.core-main-bg {
    position: absolute;
    left: 0px;
    width: 100%;
    background-image: url("../img/layout/core-rooms-bg.jpg");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    top: -180px;
    height: calc(100% + 100px);
}

.offerta-main-bg {
    position: absolute;
    left: 0px;
    width: 100%;
    background-image: url("../img/gallery/zoom/offerte-1.jpg");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    top: -180px;
    height: calc(100% + 100px);
}

.core-wellness-bg {
    background-image: url("../img/layout/core-wellness-bg.jpg");
}


.core-offerta-bg {
    background-image: url("../img/gallery/zoom/offerte-2.jpg");
}

.app-core-left {
    position: relative;
    color: var(--white-color);
    bottom: 0px;
    margin-left: 10vw;
    z-index: 1;
}

.img-appear {
    clip-path: polygon(0px 0px, 0px 0px, 0px 100%, 0px 100%);
    transition: 0.7s;
}

.img-appear-visible {
    clip-path: polygon(0px 0px, 100% 0px, 100% 100%, 0px 100%);
}

.app-core-left-right-part {
    margin-left: 80vh;
    /*! margin-left: unset; */
    left: unset;
}

.app-vertikal-obj {
    position: absolute;
    right: 30vw;
    top: 37%;
    width: auto;
    height: auto;
    z-index: 1;
}

.app-vertikal-obj-left {
    right: unset;
    left: 22vw;
}

.app-vertikal-obj-inner {
    content: "";
    position: absolute;
    width: 136px;
    height: 138px;
    border-radius: 50%;
    left: 0px;
    top: 0px;
    z-index: 0;
    background-color: rgba(140, 127, 115, 0.44);
}

.app-vertikal-obj-inner p {
    text-align: center;
    font-family: Rometano;
    font-size: 35px;
    top: 121%;
    position: relative;
    width: max-content;
    margin: 0px;
    right: 50%;
    opacity: 0.7;
    letter-spacing: 2px;
    transform: translateY(-50%) rotate(90deg);
}

.apps-core-left-inner {
    background-color: var(--secondary-color);
    padding: 100px;
    position: relative;
    height: auto;
    width: 450px;
}

.apps-core-left-inner-right {
    background-color: var(--primary-color);
}

.apps-core-left-inner h3 {
    font-size: 100px;
    font-family: librebodoni;
    font-weight: 100;
    margin: 0px 0px 28px;
    position: relative;
    /*width: max-content;*/
}

.offers-title h3 {font-size: 40px;}

.apps-core-left-inner p {
    font-size: 1rem;
    font-family: quietsans;
    margin: 0px;
    font-weight: 100;
    line-height: 33px;
    position: relative;
    padding-bottom: 25px;
    letter-spacing: 1px;
}

.apps-core-left-inner a {
    position: relative;
    top: 0px;
    left: 0px;
    padding: 12px 19px;
    display: inline-block;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    border-left: 2px solid white;
    border-right: 2px solid white;
}

.apps-core-left-inner img {
    position: absolute;
    width: 110px;
    right: 0px;
    bottom: 0px;
    transform: rotate(-40deg);
}

.app-core-right {}

.background-border {
    width: 65%;
    height: 83%;
    position: absolute;
    right: 0;
    margin-right: 13vh;
    bottom: 0;
    border-width: 18px;
    border-style: solid;
    border-image: url(../img/layout/core-rooms-bg.jpg) 30 / 18px / 0 round;
    border-bottom: none;
    opacity: 0.35;
    mask: linear-gradient(to left,
            rgba(0, 0, 0, .78) 0%,
            rgba(0, 0, 0, .34) 25%,
            transparent 100%);
}

.background-border-left {
    left: 0px;
    margin-left: 13vh;
    border-image: url("../img/layout/core-wellness-bg.jpg") 30 / 1 / 0 round;
    mask: linear-gradient(to left, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.34) 25%, white 100%);
}

.icon-levae-app {}


.icon-levae-wel {
    position: absolute;
    width: 110px;
    right: 0px;
    bottom: 0px;
    transform: rotate(-40deg);
}

.app-vertikal-obj {}

.offers-wrapper {
    position: relative;
    max-width: 1300px;
    margin: 0 auto;
    padding: 50px 60px;
    box-sizing: border-box;
    z-index: 1;
}

.offers h3 {
    text-align: center;
    font-size: 100px;
    font-family: librebodoni;
    font-weight: 100;
    margin-bottom: 0;
}

/* Slides */
.offer-card {
    background: #f7f1eb;
    text-decoration: none;
    /* box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); */
    display: block;
    transition: all 0.3s ease;
}

.offer-img {
    height: 330px;
    background-size: cover;
    background-position: center;
}

.offer-content {
    padding: 20px 35px;
    text-align: center;
    color: var(--secondary-color);
}

.offer-title {
    color: var(--secondary-color);
    font-weight: 600;
    font-size: 25px;
    font-family: librebodoni;
}

.offer-more {
    text-align: right;
    padding: 10px 20px 20px;
    font-family: quietsans;
    line-height: 1;
}

.offer-more img {
    width: 30px;
    background-color: var(--primary-color);
    padding: 10px 30px;
    transition: background-color 0.3s;
    border-radius: 30px;
}

.offer-card:hover {
    background-color: #f0f0f0;
}

.offer-card:hover .offer-more img {
    background-color: var(--secondary-color);
    color: var(--white-color);
}

.offer-card {
    pointer-events: auto;
}

/* Navigation Buttons */
.offers-arrow {
    width: 40px;
    height: 40px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    cursor: pointer;
    border: none;
    background-color: transparent;
}

.offers-prev {
    left: -10px;
    background-image: url(../img/layout/arrow-left.png);
}

.offers-next {
    right: -10px;
    background-image: url(../img/layout/arrow-right.png);
}


/* Pagination */
.swiper-pagination-offer {
    margin-top: 30px;
    display: flex;
    justify-content: center;
}

.swiper-pagination-bullet-offer {
    border-radius: 0;
    width: 25px;
    height: 3px;
    background: #ffffff;
    opacity: 0.3;
    margin: 0 5px;
}

.swiper-pagination-bullet-active-offer {
    opacity: 1;
}



.activities-core {
    left: 0px;
    width: 100%;
    top: 0px;
    position: relative;
    height: 70vh;
}

.main-activities-overlay {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 63vh;
    filter: brightness(0.45);
}

.main-activities-overlay img {
    position: relative;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 70vh;
    object-fit: cover;
}

.activities-core-inner {
    position: relative;
    top: 25%;
    left: 0px;
    width: 39%;
    margin-left: 12vw;
}

.activities-core-inner h3 {
    position: relative;
    top: 0px;
    left: 0px;
    font-size: 100px;
    margin-bottom: 0px;
    font-family: librebodoni;
    font-weight: 100;
    width: max-content;
    margin-top: 0px;
}

.activities-core-inner p {
    position: relative;
    top: 0px;
    left: 0px;
    width: 80%;
    line-height: 33px;
    max-width: 500px;
    margin: 0px 0px 26px;
    letter-spacing: 1px;
}

.activities-core-inner a {
    position: relative;
    top: 0px;
    left: 0px;
    padding: 12px 30px;
    display: inline-block;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    border-left: 2px solid white;
    border-right: 2px solid white;
}

.activities-btn {
    position: absolute;
    bottom: 0px;
    right: 8vw;
    width: 221px;
    height: 103px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-image: url("../img/layout/ellipse-activities.png");
    background-repeat: no-repeat;
    font-family: Rometano;
    letter-spacing: 4px;
    transition: 0.3s ease-in-out;
}

.activities-btn:hover {
    transform: scale(1.1);
}

.activities-btn p {
    font-family: Rometano;
    color: var(--white-color);
    text-decoration: none;
    top: 52%;
    position: absolute;
    transform: translateY(-30%);
    margin: 0px;
    font-size: 32px;
}

.core-activities-leaf {
    position: absolute;
    bottom: 0px;
    left: 0px;
    margin-bottom: -1vh;
    width: 107px;
    margin-left: 19vw;
    transform: rotate(20deg);
}

#activities-wrapper {
    position: relative;
    height: 70vh;
    overflow: hidden;
}

.activities-core {
    position: absolute;
    inset: 0px;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.4s ease-out;
}

.activities-core.active {
    opacity: 1;
    pointer-events: all;
}

.activities-btn {
    overflow: hidden;
}

.activities-btn::before {
    position: absolute;
    inset: 0px;
}

.activities-btn.expand::before {
    transform: scale(20);
}

.core-lage {
    position: relative;
    width: 100%;
    margin: auto auto 60px;
    top: 0px;
}

.iframe-maps {
    width: 90%;
    height: 51vh;
}

.core-lage h3 {
    position: relative;
    font-size: 100px;
    font-family: LibreBodoni;
    font-weight: 100;
    text-align: center;
}

.core-lage-leaf {
    position: absolute;
    top: 0px;
    right: 0px;
    margin-right: 5vw;
    width: 127px;
    transform: rotate(-7deg);
}

.lage-images-circle {
    width: 750px;
    height: 750px;
    position: absolute;
    border-radius: 50%;
    opacity: 0.1;
    left: 50%;
    bottom: 0px;
    background: linear-gradient(-9deg, rgb(255, 255, 255) 0%, rgba(102, 102, 102, 0) 100%);
    transform: translateX(-50%);
    margin-bottom: -131px;
}

.core-lage-left {
    width: 28%;
    position: absolute;
    padding-left: 8%;
    top: 50%;
    text-align: right;
}

.core-lage-left p {
    position: relative;
    width: 100%;
    line-height: 30px;
    text-align: right;
    letter-spacing: 1px;
}

.core-lage-left a {
    position: relative;
    top: 0px;
    right: 0px;
    padding: 12px 30px;
    display: inline-block;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    border-left: 2px solid white;
    border-right: 2px solid white;
}

.core-lage-right {
    margin-left: 40%;
    position: relative;
    display: block;
}

.core-lage-right img {
    width: 100%;
}

.footer {
    position: relative;
    left: 0px;
    top: 0px;
    width: 100%;
    display: table;
}

.footer-left {
    position: relative;
    left: 0px;
    top: 0px;
    width: 50%;
    z-index: 1;
    text-align: center;
    color: var(--white-color);
    height: 100%;
    background-color: var(--primary-color);
    padding-bottom: 60px;
    display: table-cell;
    vertical-align: middle;
    padding-top: 60px;
}

.footer-left-inner {
    position: relative;
    top: 0px;
}

.footer-left a {
    position: relative;
    display: block;
    /* padding-bottom: 8px; */
}

.footer-left-bottom {
    position: absolute;
    bottom: 0px;
    font-size: 15px;
    text-align: center;
    left: 50%;
    transform: translateX(-50%);
    width: auto;
}

.footer-left-inner .contact-links {
    padding-bottom: 7px;
    text-decoration: none;
    width: max-content;
    left: 50%;
    transform: translate(-50%);
}

.footer-left-inner span {
    font-size: 28px;
    font-family: rometano;
    padding-right: 8px;
}

.footer-left p {
    position: relative;
}

.footer-right {
    position: relative;
    top: 0px;
    right: 0px;
    margin-left: 50%;
    display: table-cell;
    vertical-align: middle;
}

.footer-background {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0px;
}

.footer-background img {
    position: relative;
    width: 100%;
    left: 0px;
    top: 0px;
    height: 100%;
    object-fit: cover;
    opacity: 0.5;
}

.footer-right-inner {
    position: absolute;
    display: block;
    width: 100%;
    top: 30%;
    transform: translateY(-50%);
}

.footer-right-inner h4 {
    font-size: 100px;
    font-family: librebodoni;
    font-weight: 100;
    text-align: center;
    margin: 0px;
    width: max-content;
    margin: auto;
    padding-bottom: 20px;
}

.links-footer {}

.vertikal-obj-request {
    position: absolute;
    width: 100px;
    height: 100px;
    z-index: 1;
    border-radius: 50%;
}

.vertikal-obj-request p {
    text-align: center;
    font-family: Rometano;
    font-size: 50px;
    transform: rotate(90deg);
    top: 101%;
    position: absolute;
    width: max-content;
    margin: 0px;
    right: -25%;
    opacity: 0.6;
}

.vertikal-obj-inner-request {
    font-size: 40px;
    font-family: Rometano;
    font-weight: 100;
}

.quick-request {
    margin: 30px auto;
    position: absolute;
    display: table;
    box-sizing: border-box;
    width: max-content;
    text-align: center;
    padding: 0px;
    left: 50%;
    transform: translateX(-50%);
}

.qr-box {
    position: relative;
    display: inline-block;
    vertical-align: bottom;
    text-align: center;
    max-width: 210px;
    margin: 0px 1.5vw;
}

.qr-title {
    display: block;
    font-size: 24px;
    font-family: librebodoni;
}

.qr-row-box {
    position: relative;
    font-family: librebodoni;
    font-weight: 100;
}

.qr-date {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    font-size: 75px;
}

.qr-date-box {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    padding-left: 10px;
}

.qr-month {
    position: relative;
    font-size: 25px;
    text-transform: uppercase;
}

.qr-year {
    position: relative;
    font-size: 25px;
    text-transform: uppercase;
}

.TxtInput {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    opacity: 0;
    pointer-events: all;
    cursor: pointer;
}

.qr-button-box {
    position: relative;
    display: table;
    margin-top: 5px;
    left: 50%;
    transform: translateX(-50%);
}

.qr-button {
    display: block;
    position: relative;
    font-size: 18px;
    cursor: pointer;
    border: 0px;
    padding: 14px 11px;
    background-color: var(--primary-color);
    color: rgb(255, 255, 255);
    font-family: initial;
}

.qr-button:hover {
    background-color: var(--secondary-color);
    color: var(--white-color);
}

.qr-box-toghether {
    width: 210px;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
}

/* galleria  */
.gal {
    width: calc(100% - 60px);
    position: relative;
    margin: 40px auto;
    column-count: 3;
    column-gap: 29px;
    display: block !important;
}

.gal a {
    display: block;
    margin-bottom: 30px;
    position: relative;
    transition: 300ms;
}

.gal img {
    width: 100%;
    opacity: 0;
    transform: translateY(50%);
    transition: 500ms;
}

.gal a:hover {
    opacity: 0.8;
}

.gal img.active {
    opacity: 1;
    transform: translateY(0%);
}

.intro-inner-small-padding {
    padding-bottom: 15vh;
}

.intro-inner-no-padding {
    padding-bottom: 1vh;
}




/* buonoasapersi site */

.bg-dark {
    background-color: var(--secondary-color);
}

.core-center {
    padding-top: 0;
    padding-bottom: 20px;
    position: relative;
    margin: auto;
}

.core-center h3 {
    margin: 50px 0;
    text-align: left;
    font-size: 30px;
    font-family: librebodoni;
    font-weight: 100;
    margin-bottom: 0;
}

.core-center-text {
    font-size: 1rem;
    line-height: 31px;
    font-weight: 100;
    font-family: quietsans;
    letter-spacing: 1px;
}


/* appartamenti site  */

.appartamenti-site {
    width: 100%;
    position: relative;
}

.appartamento-main {
    position: relative;
    width: 100%;
    height: auto;
    text-align: center;
    overflow: hidden;
}

.appartamento {
    position: relative;
    width: 100%;
    height: 100%;
    top: 0;
    /* einfache vertikale Platzierung ohne flex */
    box-sizing: border-box;
}

.appartamento h3 {
    font-family: LibreBodoni;
    font-size: 80px;
    color: var(--white-color);
    font-weight: 100;
    margin: 0 0 15px;
}

.appartamento p {
    margin: 0;
    font-family: 'LibreBodoni';
    font-size: 25px;
}

.appartamento-inner-visible {
    top: 50%;
    position: absolute;
    transform: translate(-50%, -50%);
    width: 60%;
    margin: auto;
    left: 50%;
}

.appartamento-inner-btn {
    width: max-content;
    margin: 35px auto;
    position: relative;
}

.appartemento-inner-book a {
    border: none;
    background-color: var(--primary-color);
}


.appartamento-inner-btn a,
.appartamento-inner-btn label {
    margin: 0 10px;
    cursor: pointer;
    font-family: 'QuietSans';
    text-decoration: none;
    padding: 10px 20px;
    background-color: var(--primary-color);
    transition: 0.4s;
}

.appartamento-inner-btn a:hover,
.appartamento-inner-btn label:hover {
    background-color: var(--secondary-color);
}

.appartamento-inner {
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
    background: #ffffffe6;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
    padding: 40px;
    box-sizing: border-box;
    overflow-y: auto;
    z-index: 0;
    padding: 5% 10%;
    text-align: center;
    overflow: hidden;
}

.appartamento::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1;
}

.appartamento-inner-visible,
.appartamento-inner {
    z-index: 2;
}

.thumbnail-gallery {
    display: table;
    gap: 21px;
    justify-content: center;
    margin: 47px 0;
    width: 100%;
    text-align: center;
}

.thumbnail-gallery a {
    display: none;
    margin: 5px;
}

.thumbnail-gallery a:nth-child(1),
.thumbnail-gallery a:nth-child(2),
.thumbnail-gallery a:nth-child(3) {
    display: inline-table;
}

.thumbnail-gallery img {}

.thumbnail-gallery img {
    width: 219px;
    height: auto;
    cursor: pointer;
    transition: transform 0.2s ease;
}

.thumbnail-gallery img:hover {
    transform: scale(1.05);
}


input[type="checkbox"]:checked+.appartamento {
    /* nur falls du was auf .appartamento machen willst */
}

input[type="checkbox"]:checked+.appartamento .appartamento-inner {
    opacity: 1;
    pointer-events: auto;
    background-color: #ffffff;
    z-index: 2;
}

.appartamento-inner h4 {
    font-family: 'LibreBodoni';
    font-size: 40px;
    margin: 20px 0;
    color: var(--secondary-color);
    position: relative;
}

.appartamento-inner p {
    font-family: 'QuietSans';
    color: var(--secondary-color);
    width: 70%;
    margin: auto;
    position: relative;
    font-size: 1rem;
}

.app-1 {
    background-image: url(../img/rooms/zirm-nature-suite/room-01-1.jpg);
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: bottom;
}

.app-2 {
    background-image: url(../img/rooms/fienile-spa-suite/room-02-1.jpg);
    background-size: cover;
    background-position: center;
}

.app-3 {
    background-image: url(../img/rooms/elysium-prestige-suite/room-03-1.jpg);
    background-size: cover;
    background-position: bottom;
}


label.close-details {
    position: absolute;
    top: 59px;
    right: 70px;
    font-size: 40px;
    cursor: pointer;
    /* border: none; */
    color: var(--secondary-color);
}

/* benessere site  */
.benessere-site {
    background-color: var(--secondary-color);
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
}

.benessere-container {
    width: 100%;
    background: var(--primary-color);
    position: relative;
    margin: auto;
}

.benessere-left {
    width: 50%;
    position: absolute;
    height: auto;
    top: 50%;
    transform: translateY(-50%);
}

.benessere-left p {
    padding: 40px;
    font-size: 1rem;
    line-height: 29px;
    font-weight: 100;
    font-family: quietsans;
    letter-spacing: 1px;
    position: relative;
    max-width: 500px;
    margin: auto;
}

.benessere-right {
    position: relative;
    width: 50%;
    margin-left: 50%;
    top: 0;
    height: 61vh;
}

.benessere-right img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.benessere-reverse .benessere-right {
    margin-left: unset;
    left: 0;
}

.benessere-reverse .benessere-left {
    margin-left: 50%;
    left: unset;
}

.pos-intro-img-2,
.pos-intro-img-1,
.pos-intro-img-3 {
    width: 100%;
    height: auto;
    display: inline-block;
    background-size: cover;
    background-position: center;
}

.pos-intro-img-2 img,
.pos-intro-img-1 img,
.pos-intro-img-3 img {
    width: 100%;
    height: auto;
    display: block;
}

.pos-intro-images {}

.pos-intro-images-right {
    margin-left: 11%;
    margin-top: 0;
}

.pos-intro-images-inner {}

.pos-intro-img-1 {
    max-width: 26%;
    margin-top: -6%;
}

.pos-intro-img-3 {
    max-width: 45.9%;
    margin-left: 11%;
}

.pos-intro-images-bottom {}

.intro-inner-anfrage {
    padding-top: 10vh;
    background-color: transparent;
    padding-bottom: 25vh;
    position: relative;
    width: 75%;
    margin: auto;
    text-align: center;
}

.intro-inner-anfrage h1 {
    font-family: librebodini;
    font-weight: 100;
    font-size: 52px;
    text-align: center;
}

.intro-inner-anfrage h2 {
    font-weight: 100;
    font-family: quietsans;
    letter-spacing: 1px;
    text-align: center;
    margin-bottom: 50px;
}

.intro-inner-anfrage P {
    margin-bottom: 45px;
}

.home-button {
    background-color: var(--primary-color);
    padding: 14px 20px;
    font-family: 'QuietSans';
}

.intro-inner-anfrage .intro-slogan {
    font-family: LibreBodoni;
    font-size: 85px;
    color: var(--white-color);
    font-weight: 100;
}






@media (max-width: 1324px) {
    .app-vertikal-obj-left {
        left: 13vw;
        top: 7%;
    }

    .app-vertikal-obj {
        right: 23vw;
        top: 7%;
    }

    .app-core-left-right-part {
        margin-left: 36vh;
        left: unset;
    }
}

@media (max-width: 1024px) {

    .intro-img-2,
    .intro-img-3,
    .intro-img-1 {
        flex: 0 0 48%;
    }
}

@media (max-width: 900px) {
    .slide-bottom {
        margin-bottom: unset;
    }

    .slide {
        position: relative;
        height: calc(63vh);
    }

    .slide-bottom h4 {
        font-size: 46px;
        bottom: 3px;
    }

    .new-opening {
        bottom: 7vh;
        padding: 33px 12px;
        padding: 0;
        width: 60px;
        height: 60px;
    }

    .header-btn {
        position: absolute;
        right: -87px;
        display: flex;
        top: 60%;
    }

    .fixed .icon-btn-text {
        font-family: QuietSans;
        font-size: 23px;
    }

    .header-btn a {
        font-size: 18px;
        font-weight: 400;
    }

    .menu-language {
        position: relative;
        top: 0px;
        margin: 20px auto;
    }

    .language-top {
        display: block;
        transform: translateY(-50%);
        top: 50%;
        position: absolute;
        right: 30px;
        margin: 0;
    }

    .menu {
        width: 85%;
        left: 50%;
        transform: translate(-50%, -50%);
        right: 0px;
    }

    .swap-base {
        width: 28px;
    }

    .swap-top {
        width: 28px;
    }

    .menu_button {}

    .slide-grad-left {
        position: absolute;
        width: 15%;
        height: 100%;
        background: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.03), rgb(0, 0, 0));
        opacity: 0.25;
        right: 0px;
        bottom: 0px;
        pointer-events: none;
        z-index: 1;
    }

    .menu_button>span {
        margin-left: 16px;
        text-transform: capitalize;
    }

    .menu_button-lines {
        width: 24px;
        height: 20px;
        margin-left: 28px;
    }

    .btn-draw {
        font-size: 20px;
        padding: 12px 30px;
    }

    .menu_button-lines span {}

    .menu_button-lines span:nth-child(1) {}

    .menu_button-lines span:nth-child(2) {}

    .menu_button-lines span:nth-child(3) {}

    .header-open .menu_button-lines {}

    .new-opening p {
        left: -19%;
        font-size: 16px !important;
        line-height: 1.2;
    }

    .new-opening-inner {}

    .opening-title {
        font-size: 31px;
    }

    .opening-subtitle {
        font-size: 21px;
    }

    .new-opening {
        background-color: rgb(47, 46, 43);
        width: max-content;
        border-radius: 50%;
        left: 50%;
        position: relative;
        transform: translateX(-50%);
        align-content: center;
        padding: 0;
        bottom: 214px;
        width: 48px;
        height: 17px;
    }

    .new-opening p {
        margin: 0px;
        font-family: Aboreto;
        color: var(--white-color);
        font-weight: bold;
        text-align: center;
        display: inline-block;
        left: -21%;
        position: relative;
    }

    .new-opening {
        bottom: 7vh;
        padding: 33px 12px;
        padding: 0;
        width: 60px;
        height: 60px;
    }

    .gal {
        width: calc(100% - 30px);
        margin: 30px auto;
        column-count: 1;
    }

    .gal a {
        display: block;
        margin-bottom: 18px;
        position: relative;
        transition: 300ms;
    }

    .intro {}

    .header {
        position: absolute;
        z-index: 5;
        width: 100%;
        height: 59px;
        padding-top: 17px;
    }

    .menu-item {
        display: block;
        width: 100%;
        font-family: LibreBodoni;
        font-size: 40px;
        font-weight: 100;
        letter-spacing: 4px;
    }

    .submenu-item {
        font-size: 25px;
        font-weight: 100;
        padding: 1px 10px 6px 0px;
        transition: 0.3s;
        display: table;
        font-family: QuietSans;
        letter-spacing: 2px;
    }

    .header-open.navigation {
        opacity: 1;
        pointer-events: all;
        margin-top: 0px;
    }

    .header.fixed .menu-center img {
        width: 88px;
    }

    .intro img {
        z-index: 2;
        width: 127px;
    }

    .intro-inner {
        width: 85%;
        padding-top: 4vh;
        padding-bottom: 10vh;
    }

    .small-menu-img {
        position: absolute;
        display: none;
    }

    .fixed .icon-btn {
        position: absolute;
        right: 10px;
        top: 50%;
        transform: translateY(-50%);
        gap: 0px;
        display: inline-flex;
    }

    .small-menu-img-l {}

    .small-menu-img-l img {}

    .small-menu-img-r {}

    .small-menu-img-r img {}

    .intro-inner .intro-slogan {
        font-size: 62px;
    }

    .intro-inner h1 {
        font-size: 27px !important;
        line-height: 2rem;
    }

    .intro-inner h2 {
        font-size: 20px !important;
        line-height: 1.5rem;
    }

    .vertikal-obj {
        top: 64%;
        left: 0px;
        margin-left: 0px;
    }

    .vertikal-obj p {
        font-size: 33px;
        right: -43%;
    }

    .menu_button {
        display: block;
        z-index: 10;
        font-weight: 100;
        transform: translateY(-50%);
        top: 50%;
        position: absolute;
        margin-left: 0px;
    }

    .vertikal-obj {
        margin-left: -25px;
        display: none;
    }

    .vertikal-obj-inner {
        width: 106px;
        height: 106px;
    }

    .intro-images {
        padding-top: 11vh;
    }

    .intro-images-inner {
        margin: -107px auto 0px;
        gap: 3vw;
    }

    .intro-img-2 {}

    .intro-img-3 {}

    .intro-img-1 {
        margin-top: -20%;
    }

    .intro-images-bg {}

    .intro-images-bottom {}

    .icon-leave-intro-images-bottom-1 {
        width: 110px;
        left: 0px;
    }

    .intro-images-right {
        width: 85%;
        position: relative;
        margin: auto;
        z-index: 1;
    }

    .intro-images-circle {}

    .intro-images-right p {
        padding-top: 3vh;
    }

    .icon-leave-intro-images-bottom-2 {
        width: 115px;
        margin-bottom: -8vh;
    }

    .pos-intro-img-1 {
        margin-top: -11%;
    }

    .appartments {
        height: auto;
        padding-bottom: 320px;
    }

    .wellness {
        height: auto;
        padding-bottom: 320px;
    }

    .core-main-overlay {}

    .core-main-bg {
        background-position: center top;
    }

    .offerta-main-bg {
        background-position: center top;
    }

    .core-wellness-bg {}

    .app-core-left {
        margin-left: 0px;
        position: relative;
    }


    .appartamento-inner-visible {
        width: 80%;
    }

    .app-core-left-right-part {
        margin-right: 0px;
        position: relative;
        bottom: 0px;
    }

    .header {
        position: absolute;
        z-index: 5;
        width: 100%;
        height: 70px;
        padding-top: 23px;
    }

    .app-vertikal-obj {
        top: 10%;
        right: 50%;
        transform: translateX(50%);
    }

    .app-vertikal-obj-left {
        left: unset;
    }

    .app-vertikal-obj-inner {
        opacity: 0.5;
        width: 132px;
        height: 132px;
        left: 50%;
        transform: translateX(-50%);
        margin-top: 0px;
    }

    .app-vertikal-obj-inner p {
        font-size: 1.4rem;
        right: -50%;
        top: 95%;
        position: relative;
        transform: translate(-50%) rotate(90deg);
        letter-spacing: 3px;
        opacity: 1;
        color: var(--white-color);
    }

    .apps-core-left-inner {
        width: 100%;
        padding: 10%;
        background-color: transparent;
    }

    .apps-core-left-inner-right {}

    .apps-core-left-inner h3 {
        font-size: 62px;
    }

    .apps-core-left-inner p {}

    .apps-core-left-inner a {
        text-transform: uppercase;
        letter-spacing: 0.3px;
        padding: 12px 20px;
        font-size: 18px;
        font-weight: 400;
    }

    .apps-core-left-inner img {}

    .app-core-right {
        position: relative;
        top: 0px;
    }

    .background-border {
        margin-right: 0px;
        width: 84%;
        left: 50%;
        transform: translateX(-50%);
        height: 87%;
        mask: linear-gradient(to left, rgb(0, 0, 0) 0%, rgba(0, 0, 0, 0.34) 25%, rgba(0, 0, 0, 0) 100%);
    }

    .background-border-left {
        margin-left: 0px;
        border-bottom: none;
        mask: linear-gradient(to left, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.34) 25%, rgb(0, 0, 0) 100%);
    }

    .icon-levae-app {}

    .icon-levae-wel {}

    .app-vertikal-obj {}

    .appartments {}

    .wellness {}

    .core-main-overlay {}

    .core-main-bg {
        top: 0px;
        height: 100%;
        transform: unset !important;
    }

    .offerta-main-bg {
        top: 0px;
        height: 100%;
        transform: unset !important;
    }

    .core-wellness-bg {
        top: 0px;
        height: 100%;
        transform: unset !important;
    }

    .core-offerta-bg {
        top: 0px;
        height: 100%;
        transform: unset !important;
    }

    .app-core-left {}

    .app-core-left-right-part {}

    .app-vertikal-obj {
        position: relative;
        left: 50%;
        transform: translateX(-50%);
        top: 0px;
    }

    .app-vertikal-obj-left {}

    .app-vertikal-obj-inner {}

    .app-vertikal-obj-inner p {}

    .apps-core-left-inner {
        width: 80%;
    }

    .apps-core-left-inner-right {
        width: 80%;
    }

    .apps-core-left-inner h3 {}

    .apps-core-left-inner p {}

    .apps-core-left-inner a {}

    .apps-core-left-inner img {
        margin-right: 27px;
        width: 77px;
    }

    .header.fixed-2,
    .header-open {
        transition: 0.3s;
        background-color: var(--secondary-color);
        transform: unset !important;
    }


    .whatsapp {
        bottom: 0;
        right: 50%;
        /* height: 50px; */
        display: inline-block;
    }

    .whatsapp-img {
        width: 25px;
    }

    .app-core-right {}

    .background-border {}

    .background-border-left {}

    .icon-levae-app {}

    .icon-levae-wel {}

    .app-vertikal-obj {}

    .offer-card {
        pointer-events: none;
    }

    .offer-title {
        margin: 10px;
    }

    .offer-more,
    .offer-more img {
        pointer-events: auto;
    }

    .offers-wrapper {
        position: relative;
        max-width: 1300px;
        margin: 0 auto;
        padding: 20px 60px;
        box-sizing: border-box;
    }

    .offers h3 {
        font-size: 42px;
    }

    .offers-prev {
        left: 20px;
    }

    .offers-next {
        right: 20px;
    }

    .offer-img {
        height: 172px;
        background-size: cover;
        background-position: center;
    }

    .offer-content {
        padding: 2px 35px;
        text-align: center;
        color: var(--secondary-color);
    }

    .offer-more {
        text-align: center;
        padding: 0 0 15px;
    }

    .offers-arrow {
        width: 20px;
        height: 20px;
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        z-index: 10;
        cursor: pointer;
        border: none;
        background-color: transparent;
    }


    .activities-core {
        height: 100%;
    }

    .main-activities-overlay {
        height: 100%;
    }

    .main-activities-overlay img {
        position: relative;
        height: 100%;
    }

    .activities-core-inner {
        width: 85%;
        margin: auto;
        transform: none;
        position: relative;
        height: 100%;
        top: 0px;
    }

    .activities-core-inner h3 {
        font-size: 62px;
        padding-top: 25%;
    }

    .activities-core-inner p {
        width: 100%;
        max-width: unset;
    }

    .activities-btn {
        position: absolute;
        bottom: 0px;
        right: 8vw;
        width: 221px;
        height: 103px;
        display: flex;
        align-items: center;
        justify-content: center;
        background-image: url("../img/layout/ellipse-activities.png");
        background-repeat: no-repeat;
        font-family: Rometano;
        letter-spacing: 4px;
    }

    .activities-core-inner a {
        margin-bottom: 20vh;
        letter-spacing: 0.3px;
        padding: 12px 20px;
        font-size: 18px;
        font-weight: 400;
    }

    .activities-btn {}

    .activities-btn .actvities-link {}

    .core-activities-leaf {
        width: 73px;
        margin-bottom: -10vh;
        z-index: 1;
    }

    .core-lage {
        height: 100%;
        padding-top: 7vh;
    }

    .core-lage h3 {
        font-size: 62px;
        margin: 0px;
        width: 85%;
        position: relative;
        left: 50%;
        transform: translateX(-50%);
    }

    .core-lage-leaf {
        width: 70px;
    }

    .lage-images-circle {
        width: 400px;
        height: 400px;
        position: absolute;
        left: 1%;
    }

    .iframe-maps {
        width: 90%;
        height: 51vh;
        left: 50%;
        position: relative;
        transform: translateX(-50%);
    }

    .core-lage-left {
        width: 85%;
        text-align: center;
        padding-left: 0px;
        position: relative;
        margin: auto;
        padding-bottom: 40px;
    }

    .core-lage-left p {
        text-align: center;
    }

    .core-lage-left a {
        letter-spacing: 0.3px;
        padding: 12px 20px;
        font-size: 18px;
        font-weight: 400;
    }

    .core-lage-right {
        margin-left: 0px;
    }

    .core-lage-right img {}

    .footer-left-inner {
        height: 100%;
        top: 0px;
        transform: none;
        padding-top: 36px;
    }

    .footer-left a {}

    .footer-left-bottom {
        width: auto;
        position: relative;
    }

    .footer-left-inner .contact-links {}

    .footer-left-inner span {
        font-size: 29px;
    }

    .footer-left p {
        width: 60%;
        margin: 0px auto;
    }

    .footer-background {}

    .footer-right-inner {}

    .footer-right-inner h4 {
        font-size: 67px;
    }

    .links-footer {}

    .footer {
        display: flex;
        flex-direction: column;
    }

    .footer-left-inner .contact-links {
        padding-bottom: 24px;
        text-decoration: none;
        width: max-content;
        left: 50%;
        transform: translate(-50%);
    }

    .footer-left,
    .footer-right {
        position: relative;
        width: 100%;
        height: auto;
        left: 0px;
        top: 0px;
        margin: 0px;
    }

    .footer-right {
        order: 1;
    }

    .footer-left {
        order: 2;
        height: 100%;
        padding: 0px 0px 25px;
        position: relative;
        top: 0px;
    }

    .footer-background img {
        height: 55vh;
    }

    .qr-button-box {
        left: 50%;
        transform: translateX(-50%);
    }

    .qr-button {}

    .vertikal-obj-inner-request {
        position: relative;
        font-size: 28px;
    }

    .footer {
        display: flex;
        flex-direction: column;
    }

    .footer-right {
        order: 1;
        width: 100%;
        margin-left: 0px;
    }

    .footer-left {
        order: 2;
        width: 100%;
        padding-top: 40px;
        padding-bottom: 40px;
    }

    .footer-background,
    .footer-background img {
        position: relative;
    }

    .footer-right-inner {
        position: absolute;
    }

    .footer-right-inner h4 {
        font-size: 52px;
    }

    .footer-left-inner span {
        font-size: 32px;
        padding-right: 16px;
    }

    .footer-left-bottom {
        position: static;
        transform: none;
        margin-top: 24px;
    }

    .quick-request {
        margin: 0px auto;
    }

    .qr-box-toghether {
        width: 154px;
        position: relative;
        left: 50%;
        transform: translateX(-50%);
    }

    .appartamento h3 {
        font-family: LibreBodoni;
        font-size: 39px;
        width: 95%;
        margin: auto;
        margin-bottom: 10px;
    }

    .appartamento-inner-btn {
        display: block;
        margin: 16px auto;
        width: auto;
    }

    .appartamento p {
        margin: 0;
        font-family: 'QuietSans';
        font-size: 18px !important;
    }


    .appartamento-inner-btn a,
    .appartamento-inner-btn label {
        margin: 0;
        cursor: pointer;
        font-family: 'QuietSans';
        text-decoration: none;
        padding: 10px 20px;
        background-color: transparent;
        display: inline-block;
        margin: 10px;
        border: 1px solid var(--white-color);
        font-size: 17px;
    }

    .intro-inner-mobile {
        padding-bottom: 1vw;
    }

    .appartamento-inner p {
        width: 100%;
        font-size: 1rem;
    }

    label.close-details {
        position: absolute;
        top: 9px;
        right: 22px;
        font-size: 40px;
        cursor: pointer;
        border: none;
        color: var(--secondary-color);
    }

    .thumbnail-gallery {
        display: flex;
        gap: 9px;
        justify-content: center;
        margin: 30px 0;
    }

    .thumbnail-gallery img {
        width: 96px;
        height: auto;
        cursor: pointer;
        transition: transform 0.2s ease;
    }

    .pos-intro-img-3 {
        max-width: 48.9%;
        margin-left: 6%;
    }

    .pos-intro-img-1 {
        margin-top: -8%;
        max-width: 35%;
    }

    .appartemento-inner-book a {
        border: none;
        background-color: var(--primary-color);
        display: inline-block;
        margin: 0;
    }

    .intro-inner-anfrage {
        width: 90%;
        padding-top: 2vh;
        padding-bottom: 5vh;
    }

    .intro-inner-anfrage h1 {
        font-family: librebodini;
        font-weight: 100;
        font-size: 32px;
        text-align: center;
    }

    .intro-inner-anfrage h2 {
        font-weight: 100;
        font-family: quietsans;
        letter-spacing: 1px;
        text-align: center;
        font-size: 20px;
        line-height: 30px;
    }

    .appartamento-inner {
        position: relative;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: #ffffffe6;
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.3s ease;
        padding: 40px;
        box-sizing: border-box;
        overflow-y: auto;
        z-index: 0;
        padding: 7% 4%;
        text-align: center;
    }

    .benessere-container {
        display: block;
        position: relative;
    }

    .benessere-left,
    .benessere-right {
        position: relative;
        width: 100%;
        transform: none;
        top: auto;
        margin: 0;
    }

    .benessere-left p {
        padding: 30px 26px;
        margin: 0 auto;
        text-align: left;
    }

    .benessere-right {
        margin-left: 0;
    }

    .benessere-right img {
        width: 100%;
        height: auto;
        display: block;
        height: 100%;
        object-fit: cover;
    }

    .benessere-reverse .benessere-left {
        margin-left: 0;
    }

    .benessere-reverse .benessere-right {
        margin-left: 0;
    }

    .intro-inner-small-padding {
        padding-bottom: 5vh;
    }

    .benessere-right {
        height: 40vh;
    }

    .swiper-pagination-bullet {
        margin: 8px 15px;
    }

}

@media (max-width: 450px) {
    .slide-bottom h4 {
        font-size: 50px;
        bottom: 146px;
    }

    .icon-btn .icon-ring-img {
        width: 32px;
        opacity: 0.9;
        padding: 12px;
    }

    .intro-img-1 {
        margin-top: -24%;
    }

    .fixed .icon-btn-text {
        font-size: 18px;
    }

    .menu-center img {
        width: 108px;
        padding-top: 10px;
    }

    .header-btn {
        position: absolute;
        right: -106px;
        display: flex;
        top: 60%;
    }

    .pos-intro-img-1 {
        margin-top: -11%;
    }

    .header.fixed .menu-center img {
        width: 69px;
    }

    .menu_button>span {
        font-size: 18px;
        text-transform: capitalize;
    }

    .slide-bottom h4 {
        font-size: 35px;
        bottom: 8px;
    }

    .intro-inner .intro-slogan {
        font-size: 42px !important;
    }

    .apps-core-left-inner h3 {
        font-size: 42px;
    }

    .activities-core-inner h3 {
        font-size: 43px;
        padding-top: 50px;
    }

    .core-lage h3 {
        font-size: 42px;
        margin: 0px;
    }

    .pos-intro-img-1 {
        margin-top: -11%;
    }
}