* {
    font-family: "Marcellus", serif;
    font-optical-sizing: auto;
    padding: 0;
    margin: 0;
    outline: none !important;
    -ms-overflow-style: none; /* IE and Edge */
    scrollbar-width: none; /* Firefox */
    transition: 350ms;
}

body {
    background: #ffffff;
    transition: 1s;
}

::selection {
    background: var(--theme2);
    color: white !important;
}


:root {
    overflow-x: hidden !important;
    --page: #f9fafa;
    --theme1: #b5934a;
    --theme2: #9a6a2c;
    -ms-overflow-style: none; /* IE and Edge */
    scrollbar-width: none; /* Firefox */
}

/* Hide scrollbar for Chrome, Safari and Opera */
:root::-webkit-scrollbar, *::-webkit-scrollbar {
    display: none;
}

main {
    overflow: hidden;
}

/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Firefox */
input[type=number] {
    -moz-appearance: textfield;
}

img {
    user-select: none;
}

main {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100vh;
    position: relative;
    z-index: 2;
    background: #6f6651;
}

.MainBody {
    display: block;
    margin: 0 auto;
    width: 420px;
    height: 760px;
    background: #e2dbca;
    max-width: 100%;
    max-height: 95%;
    position: relative;
    z-index: 2;
    overflow: hidden;
    border: solid 1px #a3936d;
    border-radius: 10px;
}

.MainView {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    overflow-y: auto;
}

.Header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    height: fit-content;
    padding: 10px;
}

.Header button {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 40px;
    aspect-ratio: 1/1;
    border: none;
    background: #ffffff5c;
    border-radius: 1000px;
    color: var(--theme1);
    font-size: 20px;
    transition: 350ms;
}

.HomePageProduction {
}

.HomePageProductionLogo {
    display: block;
    margin: 0 auto;
    width: 40%;
    height: auto;
}

.HomePageProductionLinks {
    display: flex;
    justify-content: center;
    align-items: center;
    width: max-content;
    margin: 0 auto;
}

.HomePageProductionLinks a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 40px;
    margin: 5px 0px;
    aspect-ratio: 1/1;
    font-size: 20px;
    text-decoration: none;
    color: var(--theme2);
    transition: 350ms;
}

.HomePageProductionLinks a i {
    pointer-events: none;
}

.HomePageProductionLinks a:hover {
    color: var(--theme1);
    transform: scale(1.1);
}

.Header button:hover {
    background: var(--theme1);
    color: white;
}

.HotelsGH {
    display: block;
    margin: 0 auto;
    width: 100%;
}

.HotelItem {
    display: block;
    margin: 10px auto;
    width: 95%;
    background: #ffffff;
    position: relative;
    color: var(--theme2);
    padding: 20px 0px;
    border-radius: 10px;
    padding-left: 70px;
    overflow: hidden;
}

.HotelItemThumb {
    position: absolute;
    left: 10px;
    top: 15%;
    width: 40px;
    height: 70%;
    aspect-ratio: 1/1;
    border-radius: 5px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
}

.HotelItem label {
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 1; /* number of lines to show */
    line-clamp: 1;
    -webkit-box-orient: vertical;
    font-size: 15px;
    font-weight: 600;
    color: var(--theme1);
}

.HotelItem button {
    position: absolute;
    right: 0;
    top: 0;
    width: auto;
    height: 100%;
    aspect-ratio: 1/1;
    display: flex;
    justify-content: center;
    align-items: center;
    border: none;
    background: none;
}

.HotelItem button i {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 20px;
    aspect-ratio: 1/1;
    background: #e2dbca;
    color: var(--theme2);
    border-radius: 100%;
    font-size: 12px;
    transition: 300ms;
}

.HotelItemClicker {
    position: absolute;
    left: 0;
    top: 0;
    width: 85%;
    height: 100%;
    cursor: pointer;
    z-index: 22;
}

.HotelItem button:hover {
}

.HotelItem button:hover i {
    color: #e2dbca;
    background: var(--theme1);
    transform: scale(1.1);
}

.HotelItemPinned {
    padding-top: 190px;
}

.HotelItemPinned .HotelItemClicker {
}

.HotelItemPinned .HotelItemThumb {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 170px;
    border-radius: 0;
    cursor: pointer;
}


.HotelItemPinned button {
    height: 63px;
    top: unset;
    bottom: 0;
}

.HotelView {
    display: none;
}

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

.HotelViewFade {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    background: var(--theme2);
    opacity: 0.3;
    cursor: pointer;
}

.HotelViewDiv {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 70%;
    background: white;
    overflow: hidden;
    overflow-y: auto;
    border-radius: 30px 30px 0px 0px;
    z-index: 22;
}

.HotelViewOpened {
    filter: blur(2px);
}

.HotelImages {
    display: flex;
    justify-content: start;
    align-items: start;
    width: 90%;
    height: fit-content;
    flex-wrap: wrap;
    position: relative;
    padding-left: 150px;
    cursor: pointer;
    margin: 20px auto 0;
    min-height: 130px;
}

.HotelImages .setbg {
    display: block;
    margin: 1%;
    width: 31%;
    aspect-ratio: 1/1;
    background-size: cover;
    border-radius: 5px;
}

.HotelImages .setbg:first-of-type {
    position: absolute;
    left: 0;
    top: 0;
    width: 145px;
    height: 100%;
    margin: 0;
}

.HotelImages label {
    position: absolute;
    left: 0;
    top: 0;
    background: var(--theme2);
    color: white;
    padding: 5px 10px;
    border-radius: 5px;
    font-size: 12px;
    z-index: 2;
    margin: 10px;
    opacity: 0.8;
    direction: ltr;
}

.HotelImages label i {
    margin-right: 3px;
    position: relative;
    top: 1px;
}

/* content wider than parent */
.HotelViewSocials {
    display: inline-flex;
    gap: 10px;
    padding: 15px 0;
}

.HotelViewSocials button {
    display: block;
    margin: 0 0;
    font-size: 11px;
    margin-right: 7px;
    border: none;
    background: #e3d9c8;
    min-width: 68px;
    padding: 10px 0;
    border-radius: 5px;
}

.HotelViewSocials button i {
    margin: 0 auto 5px;
    width: 45px;
    aspect-ratio: 1/1;
    display: flex;
    justify-content: center;
    align-items: center;
    color: white;
    font-size: 20px;
    border-radius: 100%;
    background: var(--theme1);
}

/* OUTER: visible edges */
.HotelViewSocialsWrapper {
    overflow: visible;
    width: 106%;
}


/* THIS is the scrolling layer */
.HotelViewSocialsParent {
    width: 100%;
    margin: 0px auto;
    overflow-x: auto;
    overflow-y: hidden;
    white-space: nowrap;
}

.HotelViewDetails {
    width: 90%;
    display: block;
    margin: 0 auto;
    overflow: visible; /* keeps edges visible */
}

.HotelViewDetails h1 {
    display: block;
    margin: 10px auto 0;
    width: 100%;
    font-size: 20px;
    color: var(--theme1);
    font-weight: bold;
}

.HotelViewDetails label {
    display: block;
    margin: 0 auto;
    width: 100%;
    font-size: 13px;
    color: #7f7f7f;
}

.HotelViewDetails label i {
    color: #c16363;
    margin-right: 10px;
}

.HotelViewDescription {
    display: block;
    margin: 0 auto;
    width: 100%;
    font-size: 15px;
    color: #7b7b7b;
}

#HotelMap {
    display: block;
    margin: 14px auto;
    width: 100%;
    aspect-ratio: 1/0.5;
    border-radius: 10px;
    border: solid 2px #e3d9c8;
}

.MainBG {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    z-index: -1;
    filter: grayscale(1);
    mix-blend-mode: overlay;
}

.HotelsSearch {
    display: block;
    margin: 10px auto;
    width: 95%;
    background: #ffffff;
    position: relative;
    height: 50px;
    z-index: 2;
    overflow: hidden;
    border-radius: 10px;
    border: solid 2px #d5cfc1;
}

.HotelsSearch g {
    position: absolute;
    left: 0;
    top: 0;
    width: auto;
    height: 100%;
    aspect-ratio: 1/1;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 15px;
    color: var(--theme1);
    pointer-events: none;
}

.HotelsSearch g i {
    pointer-events: none;
}

.HotelsSearch input {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    border: none;
    background: none;
    padding: 0 45px;
    font-size: 13px;
}

.HotelsSearch .setbg {
    position: absolute;
    right: 0;
    top: -19%;
    width: auto;
    height: 170%;
    aspect-ratio: 1/1;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    opacity: 0.6;
    pointer-events: none;
}

.Bloom {
    filter: brightness(1.3) blur(2px);
    pointer-events: none;
}

.DarkEffect {
    filter: brightness(0.4) blur(1px);
    pointer-events: none;
    background: #453c2f;
}

.HotelsRF {
    display: none;
}

.HotelsRFDiv {
    display: block;
    margin: 60px auto;
    width: 300px;
    max-width: 90%;
    text-align: center;
}

.HotelsRFDiv .setbg {
    display: block;
    margin: 0 auto;
    width: 130px;
    aspect-ratio: 1/1;
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
}

.HotelsRFDiv h4 {
    display: block;
    margin: 0 auto;
    width: 100%;
    font-weight: bold;
    color: var(--theme1);
}

.HotelsRFDiv p {
    display: block;
    margin: 6px auto;
    width: 100%;
    font-size: 12px;
}

.QR {
    position: fixed;
    right: 0;
    bottom: 0;
    width: 120px;
    background: #ffffff;
    padding: 10px;
    z-index: 22;
    margin: 25px;
    border-radius: 10px;
    box-shadow: 8px 9px 0px 0px #00000024;
}

.QR label {
    display: block;
    margin: 0 auto 10px;
    width: 100%;
    text-align: center;
    font-size: 13px;
    font-weight: bold;
    color: var(--theme1);
}

.QR img {
    display: block;
    margin: 0 auto;
    width: 100%;
}

.Preloader {
}

.PreloaderInner {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 999999999;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #ffffff00;
}

.PreloaderDiv {
    display: block;
    margin: 0 auto;
    width: 100px;
    position: relative;
    z-index: 2;
}

.PreloaderDivLoader {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.PreloaderDivLoader div {
    display: block;
    margin: 0 auto;
    width: 100%;
    aspect-ratio: 1/1;
    background: #00000042;
    border-radius: 1000px;
    animation: 1s linear infinite PreloaderLoaderAnimation;
}

@keyframes PreloaderLoaderAnimation {
    0%, 100% {
        transform: scale(1.0);
    }

    50% {
        transform: scale(1.3);
    }
}


.PreloaderDiv img {
    display: block;
    margin: 0 auto;
    width: 100%;
    aspect-ratio: 1/1;
    object-fit: contain;
    object-position: center center;
    filter: grayscale(1) brightness(5.5);
}


.PreloaderBG {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    z-index: -1;
    filter: grayscale(1);
    mix-blend-mode: overlay;
}

.HotelViewSocials button:hover {
    background: #dbccb2;
    transform: scale(1.1);
}

.HotelImagesPopUp {
    display: none;
}

.HotelImagesPopUpInner {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 9999999999;
    display: flex;
    justify-content: center;
    align-items: center;
}

.HotelImagesPopUpFade {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: var(--theme2);
    opacity: 0.7;
}

.HotelImagesPopUpDiv {
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
    width: 780px;
    aspect-ratio: 1/1;
    max-width: 100%;
    max-height: 90%;
    position: relative;
    z-index: 2;
    background: #ffffff;
    border-radius: 10px;
    overflow: hidden;
}

.HotelImagesPopUpDivLeft {
    display: block;
    margin: 0 0;
    width: 30%;
    height: 100%;
    background: #00000021;
    overflow-y: auto;
}

.HotelImagesPopUpDivLeftDiv {
    display: flex;
    justify-content: start;
    align-items: start;
    width: 100%;
    margin: 0 auto;
    flex-wrap: wrap;
}

.HotelImagesPopUpDivLeftDiv .setbg {
    display: block;
    margin: 5px 2%;
    width: 20%;
    aspect-ratio: 1/1;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    cursor: pointer;
    filter: grayscale(1);
    border: solid 2px transparent;
    border-radius: 5px;
}

.HotelImagesPopUpDivLeftDiv .ActiveImage {
    filter: grayscale(0);
    border-color: var(--theme1);
}

.HotelImagesPopUpDivRight {
    display: flex;
    margin: 0 0;
    width: 70%;
    padding: 13px;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 2;
}

.HotelImagesPopUpDivRight img {
    display: block;
    margin: 0 auto;
    width: 100%;
    height: auto;
    max-height: 100%;
    object-fit: contain;
    object-position: center center;
}

.HotelImagesPopUpCloser {
    position: absolute;
    right: 0;
    bottom: 0;
    width: fit-content;
    color: var(--theme1);
    background: none;
    border: solid 0px;
    border-radius: 5px;
    padding: 5px 10px;
    font-size: 25px;
    text-transform: uppercase;
    font-weight: 800;
    margin: 10px;
    z-index: 33;
}

.HotelImagesPopUpCloser i {
    margin-right: 4px;
}

.HotelImagesPopUpCloser:hover {
    color: white;
    border-color: #f36161;
    background: #f36161;
}

.LangSwitcher {
    display: block;
    margin: 0 auto;
    width: fit-content;
    position: relative;
}

.LangSwitcher h11 {
    display: block;
    margin: 0 auto;
    width: fit-content;
    color: var(--theme2);
    cursor: pointer;
    transition: 350ms;
    background: none;
    padding: 5px 11px;
    border-radius: 10px;
}

.LangSwitcher h11:hover {
    background: #ece8dd;
    transform: scale(1.1);
}

.LangSwitcher ul {
    display: none;
    position: absolute;
    left: 0;
    top: 41px;
    width: 130px;
    height: fit-content;
    background: #fffefa;
    padding: 0;
    margin: 0;
    border-radius: 10px;
    box-shadow: 5px 9px 12px -5px #00000045;
    z-index: 222;
}

.LangSwitcher ul li {
    display: block;
    margin: 0 auto;
    width: 100%;
    font-size: 13px;
    padding: 10px 15px;
    border-bottom: solid 1px #dbd0b7;
    cursor: pointer;
    font-weight: 800;
    color: var(--theme1);
}

.LangSwitcher ul li:last-child {
    border: 0;
}

.HomePageProductionDescription {
    display: block;
    margin: 0 auto;
    width: 90%;
}

.HomePageProductionDescription * {
    max-width: 100%;
}

.HotelViewDetails h6 {
    display: block;
    margin: 0 auto;
    width: 100%;
    padding: 8px 0;
    border-bottom: solid 1px #d4d4d4;
    font-size: 14px;
}

.HotelViewDetails h6 i {
    color: var(--theme1);
    font-size: 18px;
    margin: 0 4px;
    position: relative;
    top: 3px;
}

.HotelViewDetails h6 strong {
    float: right;
    color: var(--theme2);
}

.HotelViewDetails h6:last-of-type {
    border: 0;
}

.HomePageProductionIcons {
    margin: 20px auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 60%;
}

.HomePageProductionIcons img {
    display: block;
    margin: 0 auto;
    width: 40%;
}

.HotelView video {
    display: block;
    margin: 0 auto 20px;
    width: 100%;
    aspect-ratio: 1/0.5;
    object-fit: contain;
    object-position: center center;
}

.CitiesGH {
    display: flex;
    justify-content: start;
    align-items: start;
    width: 96%;
    margin: 0 auto;
    flex-wrap: wrap;
}

.CityItem {
    display: block;
    margin: 3px 1%;
    width: 31%;
}

.CityItem .setbg {
    display: block;
    margin: 4px auto;
    width: 70%;
    aspect-ratio: 1/1;
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
}

.CityItem label {
    display: block;
    margin: 0 auto;
    width: 100%;
    font-size: 13px;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2; /* number of lines to show */
    line-clamp: 2;
    -webkit-box-orient: vertical;
    min-height: 41px;
}

.ActiveCityItem {
    transform: scale(1.1);
}

.HomeLine {
    display: block;
    margin: 5px auto 15px;
    width: 100%;
    height: 5px;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}

.HomePageProductionLinks a .setbg {
    display: block;
    margin: 0 auto;
    width: 26px;
    aspect-ratio: 1/1;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}

.HomeBG {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    opacity: 0.2;
}

.Welcoming {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: #ffffff;
    z-index: 999;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    overflow-y: auto;
}

.WelcomingLogo {
    display: block;
    margin: 0 auto;
    width: 50%;
}

.WelcomingDiv {
    display: block;
    margin: 0 auto;
    width: 85%;
    text-align: center;
}

.WelcomingText {
    display: block;
    margin: 40px auto;
    width: 100%;
}

.WelcomingText * {
    max-width: 100%;
}

.WelcomingDiv button {
    display: none;
    margin: 15px auto;
    width: fit-content;
    padding: 5px 15px;
    color: var(--theme1);
    border: solid 2px;
    border-radius: 1000px;
    text-transform: uppercase;
}
