* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
html {
	height: 100vh;
	font-size: 62.5%; /* 1rem = 10px */
}
a {
	text-decoration: none;
}
p:focus,
p:active,
div:active,
div:focus,
button:active,
button:focus,
a:active,
a:focus,
span:active,
span:focus,
label:active,
label:focus{
	-webkit-tap-highlight-color: transparent;
}
/* Variables */
:root {
	--color-text: #333;
	--color-subtext: #595959;
	--color-border: #cccccca3;
	--color-border-light: #cccccc50;
	--color-primary: #1F78FF;
	--color-scrollbar: #b0b0b0;
	--sidebar-width: 30rem;
	--filter-width: 25rem;
	--radius: .2rem;
	--transition: 0.3s ease;
	--font-family : 'IRANSans', Tahoma, Arial, sans-serif;
	--priymary-color: #2563EB;
}
body {
	height: 100vh;
	font-family: var(--font-family);
	direction: rtl;
	font-size: 1.6rem; /* 16px */
}
.main {
	width: 100%;
	height: calc(100svh - 85px);
	position: relative;
	display: flex;
}
.overlay {
	position: fixed;
    top: 0;
    right: 0;
    width: 100%;
    height: 100svh;
    background: #00000050;
    z-index: 1002;
	transition: var(--transition);
}
.overlay.hidden {
	visibility: hidden;
	opacity: 0;
}

/* start override marker-cluster */
.marker-cluster-small {
    background-color: rgb(70 81 194 / .3);
	border-radius: 35% !important;
}
.marker-cluster-small div {
    background-color: rgb(70 81 194);
	color: var(--white);
	font-family: 'IRANSans';
}
.marker-cluster-large , .marker-cluster-medium{
    background-color: rgb(0 6 64 / .3);
	border-radius: 35% !important;
}
.marker-cluster-large div , .marker-cluster-medium div{
    background-color: rgb(0 6 64 / 70%);
	color: var(--white);
	font-family: 'IRANSans';
}
/* end override marker-cluster */

/* start header */
.header {
    width: 100%;
    height: 85px;
    padding: 10px 25px;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    border-bottom: 1px solid var(--color-border-light);
    position: relative;
    z-index: 1002;
    background: var(--white);
}
.header__mobile , .search__box--menu , .bottomSheet__title , .filter_btn , .filter__submit{
	display: none;
}
.d-none , .d-none-desktop {
	display: none !important;
}
.header__logo {
    display: flex;
    flex-direction: row;
    align-items: center;
	width: 210px;
    gap: 5px;
}
.header__logo--icon {
	width: 45px;
	height: 45px;
}
.header__logo--text {
	height: 25px;
	width: auto;
}
.header__form {
    width: calc(100% - 200px);
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    gap: 25px;
}
.header__form--submenu {
	background: var(--white);
    z-index: 1002;
    display: flex;
    position: relative;
    flex-direction: column;
	max-height: 0;
    overflow: hidden;
	transition: var(--transition);
	scrollbar-width: thin;
}
.header__form--submenu.show {
	overflow: auto;
	max-height: 600px;
}

.header__form--item {
    position: relative;
    height: 45px;
    width: 32%;
}
.header__form--label {
    position: absolute;
    top: -12px;
    right: 10px;
    background: var(--white);
    padding: 0 5px;
    font-size: 1.4rem;
    font-weight: 500;
    color: var(--text-dark);
}
.header__form--input {
    width: 100%;
    height: 100%;
    padding: 10px 10px 10px 35px;
    font-size: 14px;
	outline: none;
    border-radius: var(--radius-big);
    border: 1px solid var(--gray);
	transition: var(--transition);
}
.header__form--input:hover {
    border: 1px solid var(--priymary-color-light);
}
.header__form--input:focus {
    border: 1px solid var(--priymary-color);
}
.header__form--input.error {
    border: 1px solid var(--red);
}
.header__form--icon {
    position: absolute;
    left: 10px;
    top: calc(50% - 10px);
    width: 20px;
    height: 20px;
    filter: var(--filter-priymary-color);
}
.header__form--submit {
    height: 45px;
    background: var(--priymary-color);
    outline: none;
    border: 0;
    padding: 10px;
    border-radius: var(--radius-big);
    color: var(--white);
    width: 16%;
	cursor: pointer;
	transition: var(--transition);
}
.header__form--submit:hover {
	background: var(--priymary-color-dark);
}

/* end header */

/* Map */
#map {
	width: calc(100% - var(--sidebar-width) - var(--filter-width));
	height: 100%;
	margin-left: 0px;
    margin-right: auto;
	direction: ltr;
	/* transition: var(--transition); */
}
.closeFilter #map {
    width: calc(100% - var(--sidebar-width));
}
/* Error Box */
.error-box {
	position: absolute;
	bottom: 1rem;
	left: 50%;
	-webkit-transform: translateX(-50%);
	-moz-transform: translateX(-50%);
	transform: translateX(-50%);
	z-index: 1000;
	background: rgba(229, 57, 53, 0.9);
	color: #fff;
	padding: .5rem 1.5rem;
	-webkit-border-radius: var(--radius);
	-moz-border-radius: var(--radius);
	border-radius: var(--radius);
	display: none;
	font-size: 1.4rem;
}

.filter{
	width: var(--filter-width);
	position: fixed;
	z-index: 1001;
	right: 0;
	display: flex;
	flex-direction: column;
	overflow: auto;
	height: calc(100vh - 75px);
	background-color: #fff;
	transition: var(--transition);
}
.closeFilter .filter {
	transform: translate(var(--filter-width), 0);
}
/* Sidebar */
.sidebar {
	position: fixed;
	z-index: 1001;
	right: var(--filter-width);
	background-color: #fff;
	display: flex;
	flex-direction: column;
	box-shadow: -10px 8px 1rem #0000001f;
	height: 100%;
	width: var(--sidebar-width);
	border-right: 1px solid var(--color-border-light);
	transition: var(--transition);
}

.closeFilter .sidebar {
	transform: translate(var(--filter-width), 0);
}

.sidebar__hotels {
	display: flex;
	flex-direction: column;
	gap: 10px;
	max-height: calc(100% - 7rem);
	margin: 0;
}
.sidebar__hotels--holder {
    overflow: auto;
    max-height: calc(100vh - 225px);
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 10px;
	padding: 1.5rem;
	box-sizing: border-box;
}
.sidebar__hotels--btn {
	position: fixed;
    bottom: 20px;
    right: calc(var(--sidebar-width) + var(--filter-width) + 15px);
    z-index: 401;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 5px;
    border: 0;
    outline: none;
    border-radius: 3px;
    background: var(--white);
    padding: 10px;
    color: var(--text-dark);
    font-size: 1.3rem;
    font-weight: bold;
    cursor: pointer;
    transition: var(--transition);
    box-shadow: 0 0 5px 5px #00000010;
}
.sidebar__hotels--btn img {
	filter: contrast(0) brightness(0.5);
}
.closeFilter .sidebar__hotels--btn {
    transform: translate(var(--filter-width), 0);
}
.filter__box{
    display: flex;
    align-items: center;    
    gap: 5px;
    min-height: 5rem;
    box-shadow: 0 0 .5rem #ccc;
	padding: .5rem 1rem;
	position: sticky;
	background-color: #fff;
	top: 0;
    z-index: 2;
}
.filter__box span {
    color: var(--color-text);
    font-size: 1.7rem;
    font-weight: 500;
}
.filter__box--icon {
	filter: var(--filter-gray-dark);
}
.filter.active .filter__box--icon , .filter__box--close{
	display: none;
}
.filter.active .filter__box--close {
	display: block;
}
.filter_items{
	padding: 1rem;
    display: flex;
    flex-direction: column;
}
.filter__item{
	display: flex;
	flex-direction: column;
	position: relative;
	padding: 10px 0;
	border-bottom: 1px solid var(--color-border-light);
}
.filter__item.price {
	overflow: unset;
}
.filter__item:last-child {
	border: 0;
	padding-top: 0;
}

/* .filter__item:last-child::after{
	content: unset;
}
.filter__item::after{
	content: "";
    position: absolute;
    width: calc(100% + 20px);
    height: 1px;
    background-color: #ddd;
    right: -10px;
    left: 0;
    bottom: -14px;
} */
.filter__content{
	display: flex;
    gap: 2px;
	flex-direction: column;
	position: relative;
    overflow: hidden;
	max-height: 0;
	opacity: 0.5;
    transition: all .3s;
}
.filter__item.active .filter__content{
	max-height: 2000px;
	opacity: 1;
}
.filter__content--other{
	display: flex;
    gap: 10px;
	flex-direction: column;
	position: relative;
    overflow: hidden;
	max-height: 0;
	opacity: 0.5;
    transition: all .3s;
	padding-right: 2px;
}
.filter__content--other.active {
	max-height: 2000px;
	opacity: 1;
}
.filter__des{
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 5px;
	cursor: pointer;
	user-select: none;
	padding: 10px 0;
}
.filter__item:first-child .filter__des {
	border: 0;
}
.filter__des--icon {
	transition: all .2s ease;
}
.filter__des:hover .filter__des--icon {
	filter: var(--filter-priymary-color);
}
.filter__item.active .filter__des--icon {
	rotate: 180deg;
}
.filter__des span{
	font-size: 16px;
    font-weight: 500;
    color: var(--color-text);
}
.plus-minus-icon{
	position: relative;
    width: 24px;
    height: 24px;
    cursor: pointer;
}
.plus-minus-icon::before,
.plus-minus-icon::after {
	content: "";
	position: absolute;
	background-color: #868686;
	width: 12px;
	height: 2px;
	top: 50%;
	left: 50%;
	transform-origin: center;
	transform: translate(-50%, -50%);
}
.plus-minus-icon::before {
	transform: translate(-50%, -50%) rotate(0deg);
}
.plus-minus-icon::after {
	transform: translate(-50%, -50%) rotate(90deg);
}
.plus-minus-icon.open__svg::after {
	opacity: 0;
	transform: translate(-50%, -50%) scaleY(0);
}
.plus-minus-icon:hover::before , .plus-minus-icon:hover::after{
	filter: var(--filter-priymary-color);
	transition: var(--transition);
}
.plus-minus-icon:active::before , .plus-minus-icon:active::after{
	filter: var(--filter-priymary-color);
}
.plus-minus-icon.min::after {
	transform: translate(-50%, -50%) rotate(4deg);
}
.filter__content--toggle {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 5px;
    justify-content: space-between;
    padding: 0px 0 10px;
    border-top: 1px dashed var(--gray-light);
}
.filter__content--toggle:first-child {
	border: 0;
}
.content__toggle--text {
    font-size: 14px;
    color: var(--color-text);
    cursor: pointer;
    user-select: none;
    font-weight: 500;
    text-wrap: nowrap;
    max-width: calc(100% - 20px);
    text-overflow: ellipsis;
    overflow: hidden;
}
.filter__content--toggle_desc {
    width: 100%;
    font-size: 12px;
    color: var(--color-scrollbar);
}
.filter__checkbox {
    display: flex;
    align-items: center;
    gap: 5px;
	height: 50px;
    padding: 10px;
    cursor: pointer;
    transition: all .2s ease;
    border-radius: var(--radius-mediom);
    flex-direction: row-reverse;
    justify-content: space-between;
}
.filter__checkbox:hover {
	background: var(--color-border-light);
}
.filter__input {
    height: 50px;
    position: relative;
    width: 100%;
    display: flex;
    align-items: center;
}
.filter__input--icon {
	position: absolute;
	width: 20px;
	height: 20px;
	top: calc(50% - 10px);
	left: 10px;
	filter: var(--filter-gray-light);
}
.filter__item--input_text {
    height: 85%;
    width: 100%;
    padding: 5px;
    font-size: 14px;
    outline: none;
    border: 1px solid var(--color-border-light);
    border-radius: var(--radius-mediom);
	transition: var(--transition);
}
.filter__item--input_text:focus {
    border: 1px solid var(--color-primary);
}
.filter__item--input_text:focus ~ .filter__input--icon {
	filter: var(--filter-priymary-color);
}
/* The switch - the box around the slider */
.switch {
    position: relative;
    display: inline-block;
    width: 35px;
    height: 19px;
}
.switch input {
  opacity: 0;
  width: 0;
  height: 0;
}
.switch .slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ccc;
  -webkit-transition: .4s;
  transition: .4s;
}
.slider:before {
    position: absolute;
	border: 2px solid transparent;
    content: "";
    height: 13px;
    width: 13px;
    left: 4px;
    bottom: 3px;
    background-color: white;
    /* -webkit-transition: .4s; */
    /* transition: .4s; */
}

input:checked + .slider {
  background-color: var(--color-primary);
}

input:focus + .slider {
  box-shadow: 0 0 1px var(--color-primary);
}

input:checked + .slider:before {
  -webkit-transform: translateX(14px);
  -ms-transform: translateX(14px);
  transform: translateX(14px);
}
.switch.loader .slider:before {
    background: transparent;
    border: 2px solid transparent;
    border-right: 2px solid var(--white);
	animation: loader1 .5s linear infinite;
}
.switch.loader input:checked + .slider:before {
	animation: loader .5s linear infinite;
}
@keyframes loader {
    100% {
        transform: translateX(14px) rotate(1turn);
    }
}
@keyframes loader1 {
    100% {
        transform: rotate(1turn);
    }
}

/* Rounded sliders */
.slider.round {
  border-radius: 34px;
}

.slider.round:before {
  border-radius: 50%;
}
.filter__item--input,.content__toggle--input{
	width: 15px;
    height: 15px;
    border: 2px solid var(--color-text);
}
.filter__item--text {
    font-size: 14px;
    color: var(--color-text);
    cursor: pointer;
    user-select: none;
    text-overflow: ellipsis;
    overflow: hidden;
    text-wrap: nowrap;
    width: calc(100% - 33px);
}

/* Scrollbar */
.sidebar::-webkit-scrollbar ,.filter::-webkit-scrollbar ,.sidebar__hotels--holder::-webkit-scrollbar {
	width: .5rem;
}
.sidebar::-webkit-scrollbar-track,.filter::-webkit-scrollbar-track ,.sidebar__hotels--holder::-webkit-scrollbar-track {
	background: var(--color-border-light);
}
.sidebar::-webkit-scrollbar-thumb,.filter::-webkit-scrollbar-thumb ,.sidebar__hotels--holder::-webkit-scrollbar-thumb {
	background: var(--color-primary);
}
@supports not selector(::-webkit-scrollbar) {
	.sidebar,.filter {
		scrollbar-color: var(--color-scrollbar) var(--color-border-light);
	}
}

/* Hotel Item */
.hotel {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    gap: .5rem;
    border: 1px solid var(--color-border-light);
    border-radius: 3px;
	transition: var(--transition);
}

.hotel__detail--gift {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 5px;
    font-size: 1.2rem;
    position: absolute;
    top: 5px;
    right: 5px;
    background: #333333B2;
    color: var(--white);
    border-radius: 3px;
    padding: 5px;
    height: 25px;
}
.hotel__detail--gift img {
	display: none;
}
/* .hotel__detail--gift.y {
    border-top: 1px solid var(--color-border-light);
    padding: 5px 0 0;
} */
.hotel__detail--gift img {
	filter: var(--filter-priymary-color);
}
.hotel__detail--options {
    display: flex;
    flex-direction: row;
	padding: 5px 0;
}
.hotel__detail--options div {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    color: var(--text-gray);
    padding: 0 10px;
	border-left: 1px solid var(--gray);
}
.hotel__detail--options div:first-child {
	display: none;
}
.hotel__detail--options div:last-child {
	border: 0;
}
.hotel__detail--options img {
	width: 20px;
	height: 20px;
	filter: contrast(0) brightness(0.7);
}
.hotel__image {
    display: flex;
    width: 100%;
    height: 150px;
	position: relative;
	background: var(--gray-bright);
}
.hotel__image.loadError::before {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    background: var(--gray-light);
    z-index: 1;
}
.hotel__image.loadError::after {
    content: "";
    width: 30px;
    height: 30px;
    border-radius: 50%;
    position: absolute;
    top: calc(50% - 15px);
    right: calc(50% - 15px);
    border: 2px solid transparent;
    animation: loader1 .5s linear infinite;
    border-left: 2px solid var(--gray-middle);
	z-index: 2;
}
.hotel__image--ads {
    position: absolute;
    bottom: 0;
    right: 0;
    display: flex;
    width: 100%;
	font-size: 1.4rem;
    flex-direction: row;
    align-items: center;
    color: var(--white);
    background: linear-gradient(-45deg, var(--red), transparent);
    height: 30px;
    justify-content: flex-start;
    padding: 0 10px;
	gap: 5px;
}
.hotel__image--ads img {
	width: 20px;
	height: auto;
}
.hotel__image--discount {
    position: absolute;
    width: auto;
    min-width: 25px;
    height: 25px;
    top: 5px;
    padding: 2px 5px 0;
    left: 5px;
    border-radius: var(--radius-big);
    background: #FFF2F2;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: row;
    color: #E4004B;
    font-size: 1rem;
}
.hotel__image--discount span {
    font-size: 1.3rem;
}
.hotel__image--img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.hotel__detail {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 5px;
    gap: 5px;
}
.hotel__detail--info {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.hotel__detail--title {
	font-size: 1.5rem;
	font-weight: 500;
	color: var(--color-text);
	-webkit-transition: color var(--transition);
	-moz-transition: color var(--transition);
	transition: color var(--transition);
}
.hotel__with--star .hotel__detail--title {
	max-width: calc(100% - 5.5rem);
}
.hotel__detail--del {
    display: flex;
    flex-direction: row-reverse;
	justify-content: space-between;
    align-items: center;
}
.hotel__detail--del del {
    color: var(--gray-dark);
    font-size: 1.4rem;
	position: relative;
}
.hotel__detail--del del::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 1px;
    background: var(--gray-dark);
    top: 10px;
    right: 0;
}
.hotel__detail--title {
	text-wrap: nowrap;
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
}
.hotel__detail--price {
    font-size: 1.3rem;
    color: var(--text-dark);
    display: flex;
    align-items: center;
    gap: 5px;
    flex-wrap: wrap;
    justify-content: space-between;
}
.hotel__detail--price ins {
	font-size: 1.5rem;
	color: var(--color-primary);
	font-weight: bold;
}
.hotel__detail--stars {
	display: flex;
	align-items: center;
	gap: .2rem;
	filter: var(--filter-gray-dark);
	padding-bottom: 1px;
}
.hotel__detail--stars span {
    color: var(--gray-dark);
    font-size: 1.3rem;
}

/* Search Box */
.search__box {
	background-color: #fff;
	padding: 1.5rem;
	position: sticky;
	top: 0;
	z-index: 2;
	box-shadow: -2px 4px 0.8rem #00000010;
	display: flex;
	gap: 10px;
	align-items: center;
	flex-direction: column;
}
.search__box--change {
	display: none;
}
.search__box--info , .search__box--holder {
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: 10px;
}
.search__box--info_city {
	font-size: 1.7rem;
	font-weight: bold;
	color: var(--color-text);
}
.search__box--info_date {
	font-size: 14px;
	color: var(--color-subtext);
	height: 20px;
}
.search__box--search {
    width: 100%;
    height: 45px;
    position: relative;
}
.close__sidebar{
	border: none;
    outline: none;
    background: unset;
    width: 30px;
    height: 30px;
	display: none;
}
.close__sidebar--img{
	width: 100%;
    height: 100%;
}
.search__box input {
	border: .1rem solid var(--gray);
	outline: none;
	font-size: 1.3rem;
	width: 100%;
	font-family: inherit;
	height: 100%;
	color: var(--color-text);
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
	padding: .5rem 1rem .5rem 3.5rem;
	transition: border 0.2s ease;
}
.search__box input:focus + .search__box--icon {
	filter: var(--filter-priymary-color);
}
.search__box input::placeholder{
	color: var(--color-subtext);
}
.search__box--icon {
	display: flex;
	position: absolute;
	left: 1rem;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	transform: translateY(-50%);
}
/* btn on map */
.filter_btn {
    position: fixed;
    top: 100px;
    right: calc(var(--sidebar-width) + var(--filter-width) + 15px);
    z-index: 401;
    display: none;
    flex-direction: row;
    align-items: center;
    gap: 5px;
    border: 0;
    outline: none;
    border-radius: var(--radius-big);
    background: var(--white);
    padding: 10px;
    color: var(--text-dark);
    font-size: 1.3rem;
    font-weight: bold;
	cursor: pointer;
	transition: var(--transition);
	box-shadow: 0 0 5px 5px #00000010;
}
.btn_fullscreen {
    padding: 8px;
    width: 40px;
    height: 40px;
    display: flex;
    cursor: pointer;
    outline-style: none;
    margin-top: 15px !important;
    margin-left: 15px !important;
    border: 0 !important;
    background: var(--white);
    box-shadow: 0 0 5px 5px #00000010 !important;
    align-items: center;
    justify-content: center;
}
.btn_fullscreen:hover svg {
	transition: all .3s ease;
}
.btn_fullscreen:hover svg{
	filter: var(--filter-priymary-color);
}
.filter_btn.all {
	display: flex;
	order: -1;
}
.filter_btn img {
    width: 15px;
    height: auto;
}
.closeFilter .filter_btn__close {
	display: none;
}
.filter_btn .filter_btn__open {
	display: none;
}
.closeFilter .filter_btn__open {
	display: flex;
}
.closeFilter .filter_btn{
	transform: translate(var(--filter-width), 0);
}
/* Logo */
.logo {
	display: flex;
	position: fixed;
	z-index: 501;
	left: 1.5rem;
	top: 2svh;
}
.logo img {
	width: 8rem;
	height: auto;
}
/* Hotel Content */
.hotel__content {
	direction: rtl;
	text-align: right;
}

/* Marker Cluster */
.marker-cluster {
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	border-radius: 50%;
}
.marker-cluster div {
	display: flex;
	align-items: center;
	justify-content: center;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	border-radius: 50%;
}
.marker-cluster-medium {
	width: 5rem !important;
	height: 5rem !important;
}
.marker-cluster-medium div {
	width: 4rem;
	height: 4rem;
}
.marker-cluster-large {
	width: 6.5rem !important;
	height: 6.5rem !important;
}
.marker-cluster-large div {
	width: 5.5rem;
	height: 5.5rem;
}
.marker-box {
    background: var(--white);
    border-radius: var(--radius-big);
    box-shadow: 0 2px 5px #00000050;
    text-align: center;
    padding: 8px;
	font-family: 'IRANSans';
    position: relative;
    display: flex;
    flex-direction: row-reverse;
    justify-content: center;
    gap: 5px;
    align-items: center;
	transition: var(--transition);
}
.marker-box::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -5px;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-top: 6px solid #fff;
    filter: drop-shadow(0 5px 2px rgba(0, 0, 0, 0.2));
	transition: var(--transition);
}
.marker-box:hover {
	scale: 1.1;
}

.leaflet-popup-tip {
	display: none !important;
}
.marker-price {
    font-weight: bold;
    font-size: 14px;
	color: var(--color-primary);
}
.marker-desc {
	font-size: 12px;
    color: var(--text-gray);
}
.marker-box.active , .marker-box.actv_pp {
	background: var(--color-text);	
}
.marker-box.active::after , .marker-box.actv_pp::after {
	border-top: 6px solid var(--color-text);
}
.marker-box.active .marker-desc , .marker-box.actv_pp .marker-desc{
	color: var(--white);
}
.marker-box.active .marker-price , .marker-box.actv_pp .marker-price{
    color: var(--white);
}
/* Loader */
.hotels__loader {
	position: absolute;
	z-index: 5;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-moz-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	opacity: 0;
	visibility: hidden;
	-webkit-transition: opacity var(--transition), visibility var(--transition);
	-moz-transition: opacity var(--transition), visibility var(--transition);
	transition: opacity var(--transition), visibility var(--transition);
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}
.hotels__loader--title {
	font-size: 1.5rem;
	color: var(--color-text);
	font-weight: 500;
	text-shadow: 0 0 1rem #3333334a;
}
.sidebar__loader--on {
	overflow: hidden;
}
.sidebar__loader--on .hotels__loader {
	opacity: 1;
	visibility: visible;
}
.sidebar__loader--on .search__box,
.sidebar__loader--on .sidebar__hotels {
	opacity: 0.1;
	pointer-events: none;
	user-select: none;
}
.loader__element {
	width: 4.8rem;
	height: 4.8rem;
	display: block;
	margin: 2rem auto 2rem;
	box-sizing: border-box;
	position: relative;
}
.loader__element::after {
	content: '';
	width: 4.8rem;
	height: 4.8rem;
	left: 0;
	bottom: 0;
	position: absolute;
	-webkit-border-radius: 50% 50% 0;
	-moz-border-radius: 50% 50% 0;
	border-radius: 50% 50% 0;
	border: 1.5rem solid var(--color-primary);
	-webkit-transform: rotate(45deg) translate(0, 0);
	-moz-transform: rotate(45deg) translate(0, 0);
	transform: rotate(45deg) translate(0, 0);
	box-sizing: border-box;
	-webkit-animation: animMarker 0.4s ease-in-out infinite alternate;
	-moz-animation: animMarker 0.4s ease-in-out infinite alternate;
	animation: animMarker 0.4s ease-in-out infinite alternate;
}
.loader__element::before {
	content: '';
	box-sizing: border-box;
	position: absolute;
	left: 0;
	right: 0;
	margin: auto;
	top: 150%;
	width: 2.4rem;
	height: .4rem;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	border-radius: 50%;
	background: rgba(0, 0, 0, 0.2);
	-webkit-animation: animShadow 0.4s ease-in-out infinite alternate;
	-moz-animation: animShadow 0.4s ease-in-out infinite alternate;
	animation: animShadow 0.4s ease-in-out infinite alternate;
}

/* ---- Hotel Popup (Desktop) ---- */
.hotel__popup {
	background: #fff;
	box-shadow: 0 8px 25px rgba(0,0,0,0.12);
	overflow: hidden;
	position: relative;
	width: 32rem;
	height: 100%;
	-webkit-transition: transform var(--transition), box-shadow var(--transition);
	-moz-transition: transform var(--transition), box-shadow var(--transition);
	transition: transform var(--transition), box-shadow var(--transition);
	text-align: right;
	direction: rtl;
	font-family: var(--font-family);
	display: flex;
	flex-direction: column;
}
.hotel__popup--image .swiper-slide div {
	height: 100%;
}
.hotel__popup--offer {
    position: absolute;
    top: 10px;
    right: 10px;
    transform: var(--transition);
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 5px;
    color: var(--white);
    font-size: 1.2rem;
    background: #333333B2;
    border-radius: var(--radius-mediom);
    z-index: 2;
	height: 28px;
}
.hotel__popup--offer img {
    margin-right: 5px;
    width: 18px;
    height: auto;
}
.hotel__popup--offer span {
	text-wrap: nowrap;
	overflow: hidden;
	max-width: 0;
	margin: 5px;
	margin-right: -5px;
	transition: var(--transition);
	user-select: none;
}
.hotel__popup:hover .hotel__popup--offer span {
	margin-right: 0;
	max-width: 170px;
}
.hotel__popup--content {
	display: flex;
    flex-direction: row;
    gap: 1rem;
    flex-wrap: wrap;
    justify-content: space-between;
}
.leaflet-popup-content-wrapper {
	-webkit-border-radius: var(--radius);
	-moz-border-radius: var(--radius);
	border-radius: var(--radius);
	padding: 0;
}
.leaflet-popup-content{
	margin : 0;
	width: auto !important;
}
.leaflet-popup-close-button{
	display: none;
}
.leaflet-popup-content p {
	margin: 0;
}
.hotel__popup--stars , .hotel__popup--address {
	display: flex;
    align-items: center;
    gap: 5px;
	color: var(--color-subtext);
	font-size: 1.2rem;
}
.hotel__popup--stars {
    border-right: 1px solid var(--color-subtext);
    padding-right: 5px;
}
.hotel__popup--stars span , .hotel__popup--address span {
	color: var(--color-subtext);
    font-size: 1.2rem;
}
.hotel__popup--stars img, .hotel__popup--address img {
    width: 1.2rem;
    height: auto;
    filter: var(--filter-gray-dark);
}
.hotel__popup--image{
	width: 100%;
	height: 100%;
	display: block;
	position: relative;
	overflow: hidden;
	background-color: #DDDDDD;
}
.hotel__popup--image .content__hotels--img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	/* -webkit-border-radius: var(--radius); */
	-moz-border-radius: var(--radius);
	/* border-radius: var(--radius); */
}
.hotel__popup--info {
    padding: 1rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 0.5rem;
    background: var(--white);
    width: 100%;
    z-index: 1;
}

.hotel__popup--header {
	display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
	height: 25px;
}
.hotel__popup--title {
    margin: 0;
    font-size: 1.4rem;
    color: var(--color-text);
    text-wrap: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: calc(100% - 102px);
}
.hotel__popup--link {
	display: none;
}
.hotel__popup--price {
    font-size: 1.2rem;
    color: var(--color-subtext);
    display: flex;
    align-items: center;
    gap: .5rem;
    flex-direction: row;
    width: 100%;
    justify-content: space-between;
}
.hotel__popup--del {
    font-size: 1.6rem;
    color: var(--gray-dark);
	position: relative;
}
.hotel__popup--del::after {
	content: "";
	position: absolute;
	width: 100%;
	height: 1px;
	background: var(--gray-dark);
	right: 0;
	top: 50%;
}
.hotel__popup--price ins {
	font-size: 1.8rem;
	color: var(--color-primary);
	font-weight: bold;
}
.hotel__popup--price ins span {
	font-size: 1.2rem;
	color: var(--text-gray);
	font-weight: unset;
}
.hotel__popup--btn {
	background-color: var(--color-primary);
	color: #fff !important;
	padding: .8rem;
	border: none;
	-webkit-border-radius: var(--radius);
	-moz-border-radius: var(--radius);
	border-radius: var(--radius);
	font-size: 1.4rem;
	font-weight: 500;
	cursor: pointer;
	-webkit-transition: var(--transition);
	-moz-transition: var(--transition);
	transition: var(--transition);
	text-decoration: none;
	text-align: center;
	display: inline-block;
}
.hotel__popup--btn:hover {
	filter: brightness(0.9);
}
.hotel__popup--options {
    width: auto;
    display: flex;
    flex-direction: row-reverse;
    gap: 10px;
    align-items: center;
    font-size: 1.2rem;
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 2;
}
.hotel__popup--options div {
	display: flex;
	flex-direction: row;
	gap: 5px;
	align-items: center;
	padding: 5px;
	border-radius: var(--radius-mediom);
	background: #333333B2;
	color: var(--text-dark);
}
.hotel__popup--options div span {
}
.hotel__popup--options div img {
	width: 18px;
	height: 18px;
	filter: contrast(0) brightness(2);
}
.close__drag{
	display: none;
}
.show__detail--hotel {
	position: fixed;
	bottom: -100%;
	left: 0;
	right: 0;
	background: #fff;
	box-shadow: 0 -4px 12px rgba(0,0,0,0.2);
	/* -webkit-border-radius: 1rem 1rem 0 0;
	-moz-border-radius: 1rem 1rem 0 0;
	border-radius: 1rem 1rem 0 0; */
	/* padding: 1rem; */
	-webkit-transition: bottom var(--transition);
	-moz-transition: bottom var(--transition);
	transition: bottom var(--transition);
	will-change: bottom;
	max-height: 70vh;
	overflow-y: auto;
	z-index: 1000;
}
.show__detail--hotel.active {
	bottom: 0;
}
.detail__hotel-close {
	position: absolute;
	top: .8rem;
	right: 1.2rem;
	background: none;
	border: none;
	font-size: 2.2rem;
	cursor: pointer;
}
.backdrop__detail--hotel{
	position: fixed;
	width: 100vw;
	height: 100vh;
	background: rgba(0, 0, 0, 0.3);
	z-index: 1000;
	left: 0;
	top: 0;
	opacity: 0;
	visibility: hidden;
	-webkit-transition: opacity var(--transition);
	-moz-transition: opacity var(--transition);
	transition: opacity var(--transition);
}
.backdrop__detail--hotel.active{
	opacity: 1;
	visibility: visible;
}
.filter__content--label {
    display: flex;
    align-items: center;
    gap: 5px;
    width: calc(100% - 30px);
    justify-content: flex-end;
    height: 40px;
    flex-direction: row-reverse;
	position: relative;
}
.filter__content--label.loader .content__toggle--input {
	visibility: hidden;
	opacity: 0;
}
.filter__content--label.loader::after {
    content: "";
    position: absolute;
    width: 16px;
    height: 16px;
    top: calc(50% - 8px);
    animation: loader1 0.5s linear infinite;
    border: 2px transparent inset;
    border-right: 2px solid var(--priymary-color);
    border-radius: 50%;
}

/* Start Swiper */
.child-slider,.child-slider .first__gallery{
	height: 100%;
}
.swiper-button-next-custom,.swiper-button-prev-custom{
	height: 35px;
    padding: 0px;
    outline: 0;
    cursor: pointer;
    border: 0;
    width: 35px;
    font-size: 28px;
    border-radius: 50%;
    background: #00000059;
    color: #ccc;
    transition: all .3s;
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1;
    top: 50%;
	user-select: none;
	transform: translateY(-50%);
}
.swiper-button-next-custom{
	left: var(--swiper-navigation-sides-offset, 10px);
    right: auto;
}
.swiper-button-prev-custom{
	right: var(--swiper-navigation-sides-offset, 10px);
    left: auto;
}
.swiper-button-prev, .swiper-button-next {
    /* background: var(--white); */
    width: 35px !important;
    border-radius: 4px;
    height: 25px !important;
    position: relative !important;
    transition: all .3s ease;
}
.swiper-button-prev::after , .swiper-button-next:after{
    font-size: 20px !important;
    font-weight: bold;
}
.swiper-button-prev::after , .swiper-button-next::after{
    color: var(--text-white);
	transition: all .3s ease;
}
.swiper-button-prev:hover::after , .swiper-button-next:hover::after{
    color: var(--priymary-color);
}
.child-slider .swiper-pagination{
	display: none;
}
.swiper-button-disabled{
	opacity: 0 !important;
	visibility: hidden;
}
.swiper-pagination-child{
	bottom : var(--swiper-pagination-bottom,0) !important;
}
.swiper-pagination-fake{
	position: absolute;
    text-align: center;
    transform: translate3d(0, 0, 0);
    z-index: 2;
    transition: all .3s;
    bottom: var(--swiper-pagination-bottom, 0) !important;
    top: var(--swiper-pagination-top, auto);
    left: 0;
    width: 100%;
	display: flex;
	justify-content: center;
	height: 21.61px;
	align-items: flex-end;
    padding-bottom: 8px;
}
.swiper-pagination-fake .swiper-pagination-bullet.disabled {
	opacity: 0;
}
.swiper-pagination-bullet{
	background: #fff;
	margin : 0 2px !important;
	width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 7px));
    height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 7px));
	opacity: 0.4;
	transition: width .3s;
}
.swiper-pagination-bullet-active{
	background: #fff;
	opacity: 0.8;
	width: 20px;
    border-radius: 20px;
}
.img__loader::after{
    content: "";
    width: 30px;
    height: 30px;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    animation: imgLoader 1s linear infinite;
    border: 2px solid #ffffff4f;
    border-radius: 50%;
    border-left-color: #9d9d9d;
}
@keyframes imgLoader {
	0% { transform: translate(-50%, -50%) rotate(0deg); }
	100% { transform: translate(-50%, -50%) rotate(360deg); }
}
/* End of Swiper */
@-webkit-keyframes animMarker {
	0% {
		-webkit-transform: rotate(45deg) translate(.5rem, .5rem);
		transform: rotate(45deg) translate(.5rem, .5rem);
	}
	100% {
		-webkit-transform: rotate(45deg) translate(-.5rem, -.5rem);
		transform: rotate(45deg) translate(-.5rem, -.5rem);
	}
}
@-moz-keyframes animMarker {
	0% {
		-moz-transform: rotate(45deg) translate(.5rem, .5rem);
		transform: rotate(45deg) translate(.5rem, .5rem);
	}
	100% {
		-moz-transform: rotate(45deg) translate(-.5rem, -.5rem);
		transform: rotate(45deg) translate(-.5rem, -.5rem);
	}
}
@keyframes animMarker {
	0% {
		transform: rotate(45deg) translate(.5rem, .5rem);
	}
	100% {
		transform: rotate(45deg) translate(-.5rem, -.5rem);
	}
}
@-webkit-keyframes animShadow {
	0% {
		-webkit-transform: scale(0.5);
		transform: scale(0.5);
	}
	100% {
		-webkit-transform: scale(1);
		transform: scale(1);
	}
}
@-moz-keyframes animShadow {
	0% {
		-moz-transform: scale(0.5);
		transform: scale(0.5);
	}
	100% {
		-moz-transform: scale(1);
		transform: scale(1);
	}
}
@keyframes animShadow {
	0% {
		transform: scale(0.5);
	}
	100% {
		transform: scale(1);
	}
}

.parent__taghvim , .modal__time-parent {
    z-index: 1002 !important;
}

.leaflet-tile-pane {
  filter: saturate(0.6);
}

/* filter_price */
.filter__item.active .filter__content {
	overflow: unset;
}
.sidebar__item--price {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 10px;
	padding: 0 10px 10px;
}
.sidebar__item--price-holder {
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: row;
    gap: 5px;
    position: relative;
    align-items: center;
    justify-content: space-between;
	flex-wrap: wrap;
}
.sidebar__item--price-inp {
    width: calc(100% - 30px);
    height: 42px;
    border: 1px solid var(--gray);
    outline: 0;
    border-radius: var(--radius-mediom);
    padding: 10px 10px 10px 50px;
	transition: all .3s ease;
	font-size: 14px;
}
.sidebar__item--price-inp:hover {
    border: 1px solid var(--priymary-color-light);
}
.sidebar__item--price-inp:focus {
    border: 1px solid var(--priymary-color);
}

.sidebar__item--price-inp::-webkit-outer-spin-button,
.sidebar__item--price-inp::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.sidebar__item--price-inp {
  -moz-appearance: textfield;
}
.sidebar__item--price-title {
    font-size: 12px;
}
.sidebar__item--price-toman {
    position: absolute;
    left: 10px;
    top: calc(50% - 9px);
    font-size: 12px;
    color: var(--text-middle-gray);
}
.sidebar__item--price-menu {
    max-height: 0;
    overflow: hidden;
    position: absolute;
    top: 45px;
    transition: var(--transition);
    width: calc(100% - 30px);
    margin-right: 30px;
    visibility: hidden;
    background: var(--gray-bright);
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    border: 1px solid var(--gray);
	text-align: center;
}
@media (min-width: 768px){
	.sidebar__item--price-inp:focus + .sidebar__item--price-menu {
		max-height: 600px;
		visibility: visible;
	}
}
.sidebar__item--price-menu_item_desired {
    font-size: 14px;
    text-align: center;
    width: 100%;
    height: 42px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-bottom: 1px solid var(--color-border);
	display: none;
}
.sidebar__item--price-menu_item {
    transition: var(--transition);
    width: 100%;
    cursor: pointer;
    padding: 10px;
    border-bottom: 1px solid var(--color-border);
    font-size: 14px;
}
.price-menu-header {
	display: none;
}
.leaflet-bottom.leaflet-right {
	display: none;
}
.hotels__not-found {
    width: 100%;
	background: var(--white);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    text-align: center;
    border: 1px solid var(--color-border-light);
    border-radius: var(--radius-mediom);
    padding: 10px;
}
.hotels__not-found div {
    display: flex;
    flex-direction: column;
	gap: 10px;
}
.hotels__not--found-img {
    width: 150px;
    height: auto;
}
.hotels__not--found-text {
	font-size: 1.2rem;
}
.border_blue {
    border: 1px solid var(--priymary-color-light);
    padding: 5px;
    box-shadow: 0 0 5px #0079fd5c;
}
.filter__item.bottomSheet.name {
	display: none;
}
.hotel__popup--holder {
	display: flex;
	flex-direction: row;
	gap: 5px;
	align-items: center;
}
.hotel__popup--ads, .hotel__popup--discount {
    padding: 6px 8px;
    border-radius: var(--radius-big);
    font-size: 1.2rem;
    font-weight: bold;
	color: var(--red);
	background: #FFF2F2;
	text-wrap: nowrap;
}
/* .hotel__popup--discount {
	color: var(--green);
	background: #E8FFEA;
} */
.calendar__overlay {
    z-index: 1005 !important;
}
.calendar__wrapper , .calendar-day-picker__wrapper {
    z-index: 1006 !important;
}
/* ------------- start submenu search */
.priority_title {
    width: 100%;
    display: flex;
    font-size: 1.2rem;
    font-weight: 500;
    padding: 5px;
    background-color: var(--tertiary-color);
    color: var(--priymary-color-light);
    align-items: center;
    margin: 5px 0;
}
.search_card__city_li {
    list-style: none;
    background-color: var(--white);
    padding: 10px;
    font-size: 1.2rem;
    text-wrap: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    font-weight: 700;
    transition: all .3s ease;
    color: var(--text-dark);
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: row;
    gap: 5px;
}
.search_card__city_li--figure {
    border-radius: 5px;
    background: var(--gray-light);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 35px;
    height: 31px;
    padding: 5px;
}
.search_card__city_li--icon {
    opacity: 0.5;
    width: 100%;
    height: 100%;
}
.search_card__city_li span {
    width: calc(100% - 35px);
    text-overflow: ellipsis;
    overflow: hidden;
}
.search_card__city_li--hotel_count {
    width: 60px !important;
    text-align: left;
    font-size: 1.2rem;
    font-weight: 100;
    color: var(--gray-dark);
	text-overflow: ellipsis;
    overflow: hidden;
}
.search_card__city_li--hotel_star {
    display: flex;
    justify-content: space-between;
    font-size: 1.2rem;
    font-weight: 100;
    filter: contrast(0) brightness(1.3);
    gap: 0px;
    width: 60px;
    align-items: center;
}
.search_card__city_li--hotel_star img {
    width: 11px;
    height: 11px;
}
.search_card__city_li--hotel_star span {
    width: unset;
    text-overflow: unset;
    overflow: unset;
}
.search_box_text--not_result {
    padding: 15px;
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 10px;
	color: var(--text-dark);
}
.search_box_text--not_result::before {
	content: "";
	width: 20px;
	height: 20px;
	background: url("https://www.yejayekhoob.com/Libraries/svg/error.svg");
	background-size: contain;
	filter: var(--filter-gray-mediom);
}
.header__form--item .custom-loader {
    position: absolute;
    top: calc(50% - 10px);
    left: 10px;
    width: 20px;
    height: 20px;
    display: grid;
}
.header__form--item .custom-loader::after {
    content: "";
    grid-area: 1 / 1;
    border: 3px solid;
    border-radius: 50%;
    border-color: var(--priymary-color) var(--priymary-color) #0000 #0000;
    mix-blend-mode: darken;
    animation: s4 .7s infinite linear;
}
.custom-loader.hidden , .search_card__icon.hidden {
	display: none;
}
.header__form--item .custom-loader.hidden::after {
	animation: unset;
}
@keyframes s4 {
	100% {
		transform: rotate(1turn);
	}
}

/* ================ header override */
.header-index {
    z-index: 1003 !important;
    background-color: transparent !important;
	height: 0 !important;
}
.head__active {
    pointer-events: none;
    display: none !important;
}
/* ------------- end submenu search */


/* ======================================================================== copy */

.passengers__submenu {
    position: absolute;
    background: var(--white);
    top: 60px;
    right: 0;
    width: 100%;
	min-width: 228px;
    display: flex;
    border-radius: var(--radius-mediom);
    padding: 5px;
    flex-direction: column;
    gap: 10px;
    max-height: 0px;
    overflow: hidden;
    opacity: 0;
	visibility: hidden;
    transition: all .3s ease;
}
.showPassengersMenu {
	opacity: 1;
	visibility: visible;
	max-height: 400px;
}
.passengers__submenu--mobo_header{
	display: none;
}
.passengers__submenu_rooms {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 10px;
    max-height: 220px;
    overflow: auto;
    scrollbar-width: none;
}
.passengers__submenu_room {
    display: flex;
    flex-direction: column;
    gap: 10px;
    border: 1px solid var(--gray);
    padding: 10px;
    position: relative;
    transition: all .3s ease;
    max-height: 160px;
    opacity: 1;
}
.passengers__submenu_room--caption {
    display: flex;
    flex-direction: column;
	justify-content: center;
}
.passengers__submenu_room--holder {
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}
.passengers__submenu_room--title {
    margin-right: 5px;
    font-weight: 600;
    padding: 0 10px;
	width: fit-content;
}
.passengers__submenu_room--name{

}
.passengers__submenu_room--desc {
    font-size: 14px;
    color: var(--text-gray);
}
.passengers__submenu_buttons {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 5px;
}
.passengers__submenu_buttons--more, .passengers__submenu_buttons--less {
    height: 35px;
    width: 35px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: var(--tertiary-color-light);
    color: var(--text-blue);
    border-radius: var(--radius-big);
    border: 1px solid var(--priymary-color);
	transition: all .3s ease;
}
.passengers__submenu_buttons--more img, .passengers__submenu_buttons--less img {
    width: 20px;
    height: 20px;
    filter: var(--filter-priymary-color);
}
.passengers__submenu_buttons--more:hover, .passengers__submenu_buttons--less:hover {
    background: var(--priymary-color);
    color: var(--text-white);
    cursor: pointer;
}
.passengers__submenu_buttons--more:hover img, .passengers__submenu_buttons--less:hover img {
    filter: contrast(0) brightness(2);
}
.passengers__submenu_buttons--more:disabled, .passengers__submenu_buttons--less:disabled {
    cursor: no-drop;
    color: var(--text-blue);
    background: var(--tertiary-color-light);
    border: 1px solid var(--tertiary-color);
}
.passengers__submenu_buttons--more:disabled img, .passengers__submenu_buttons--less:disabled img {
    filter: var(--filter-priymary-color);
}
.passengers__submenu_buttons--count {
    width: 35px;
    text-align: center;
    font-weight: 500;
}
.passengers__submenu--add {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 5px;
    color: var(--priymary-color);
    font-size: 14px;
    font-weight: 500;
    user-select: none;
    cursor: pointer;
	position: relative;
}
.passengers__submenu--add img {
    filter: var(--filter-secondary-color);
    width: 20px;
    height: 20px;
}

.passengers__submenu--add.after::after {
	content: "";
	position: absolute;
	bottom: 25px;
	right: 0;
	width: 100%;
	height: 50px;
	background: linear-gradient(to top , var(--white) , transparent);
	pointer-events: none;
}
.passengers__submenu--btn {
    background: var(--priymary-color);
    border: 0;
    border-radius: var(--radius-mediom);
    color: var(--text-white);
	transition: all .3s ease;
    height: 40px;
	font-family: inherit;
}
.passengers__submenu--btn:hover {
    background: var(--priymary-color-dark);
    cursor: pointer;
}
.passengers__submenu_room_del {
    position: absolute;
    background: var(--white);
    top: -23px;
    left: 5px;
    color: var(--red);
    display: flex;
    align-items: center;
    gap: 2px;
    font-size: 14px;
    padding: 0 10px;
	cursor: pointer;
}
.passengers__submenu_room_del img {
    width: 20px;
    height: 20px;
    filter: var(--filter-red);
}
/* ======================================================================== copy */

body.map-fullscreen {
    overflow: hidden;
}

body.map-fullscreen #map {
    position: fixed;
    inset: 0;
    width: 100vw;
    height: 100vh;
    z-index: 1002;
}



/* Responsive */
@media screen and (max-width: 1024px) {
	.header__logo--text {
    	display: none;
	}
	.header__logo {
    	width: 46px;
	}
	.header__form {
    	width: calc(100% - 60px);
	}
	.header__form--item {
		width: 25%;
	}
}
@media screen and (max-width: 768px) {
	body{
		overflow: hidden;
	}
	.sidebar__loader--on .search__box,
	.sidebar__loader--on .sidebar__hotels {
		opacity: 1;
	}
	.backdrop__detail--hotel {
    	z-index: 1002;
	}
	.sidebar__hotels .swiper-slide {
		height: 100% !important;
		flex-shrink: 0;
		width: 80% !important;
	}
	.header {
		height: 100%;
		position: fixed;
		top: 0;
		right: 0;
		transform: translate(100%, 0%);
		background: var(--white);
		flex-direction: column;
		transition: transform var(--transition);
		padding: 0 20px;
        z-index: 1005;
	}
    .header.show {
        transform: translate(0%, 0%);
        justify-content: flex-start;
    }
	.show__detail--hotel {
		z-index: 1003;
	}
	.header__logo {
		display: none;
	}
	.search__box--holder {
        gap: 5px;
        align-items: flex-start;
    }
	.search__box--menu {
		display: flex;
		width: 35px;
		height: auto;
		filter: var(--filter-priymary-color);
	}
	.header__mobile {
        display: flex;
        width: 100%;
        gap: 10px;
        padding: 20px 0px;
    }
	.hotel__detail--price {
		flex-wrap: nowrap;
	}
	.hotel__detail--price div {
		text-wrap: nowrap;
	}
	.header__mobile--icon {
		width: 25px;
		height: 25px;
	}
	.header__mobile--title {
		font-weight: bold;
		font-size: 1.6rem;
	}
	.header__form {
		flex-direction: column;
		width: 100%;
	}
	.header__form--item {
		height: 60px;
		width: 100%;
	}
	.header__form--submit {
		width: calc(100% - 40px);
		position: fixed;
		bottom: 20px;
		right: 20px;
		height: 60px;
	}
    .search__box {
        position: fixed;
        top: 0;
        right: 0;
        width: 100%;
        height: 70px;
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
    }
    .hotel {
        background: var(--white);
        flex-wrap: nowrap;
        display: flex;
        flex-direction: row;
        min-width: 90%;
		height: 100%;
		padding: 8px;
		overflow: hidden;
		gap: 0;	
		width: 300px;
		margin-right: 10px;
    }
	.hotel__image--discount {
        width: auto;
        height: 25px;
        bottom: unset;
        top: 5px;
        left: 5px;
        padding: 1px 5px 0;
        border-radius: 5px;
        font-weight: 500;
    }
	.hotel__detail--gift {
        height: 20px;
        gap: 5px;
        font-size: 1.2rem;
        color: #2563EB;
        padding-top: 5px;
        border-top: 1px solid var(--gray);
        position: unset;
        background: unset;
        border-radius: 0;
        justify-content: center;
    }
	.hotel__detail--gift img {
		display: none;
	}
	.hotel__detail--info {
		order: -1;
	}
	.hotel__image--ads {
    	font-size: 1.2rem;
	}
	.hotel__image {
    	height: 100%;
		width: 40%;
		border-radius: 3px;
        overflow: hidden;
	}
	.hotel__detail {
    	width: 60%;
		padding: 5px;
	}
    .sidebar__hotels {
        gap: 10px;
        position: fixed;
        bottom: 0;
        right: 0;
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        width: 100%;
        height: 180px;
		padding: 1rem 0 1rem 1rem;
    }
    .sidebar__hotels--holder {
        height: 100%;
        width: 100%;
        flex-direction: row;
        align-items: center;
        justify-content: flex-start;
		padding: 0;
		scrollbar-width: none;
		overflow: unset;
		gap: 0;
    }
    #map {
        width: 100%;
        margin-left: unset;
        margin-right: unset;
        margin-top: 0;
        height: calc(100vh - 70px);
        position: absolute;
        top: 70px;
        bottom: 0;
    }
	.sidebar {
		width: 100%;
		right: 105%;
		transition: var(--transition);
		will-change: right;
	}
	.sidebar.active{
		transform: translate(105%, 0);
	}
    .filter {
        width: 100%;
		height: 100svh;
        top: 0;
        bottom: 0;
        z-index: 1003;
        right: 0;
        transition: var(--transition);
        will-change: right;
        transform: translate(0%, 100%);
        visibility: hidden;
        opacity: 0.5;
		scrollbar-width: none;
    }
	.filter.show{
		transform: translate(0%, 0);
		opacity: 1;
		visibility: visible;
	}
	.filter.sidebarChange {
        visibility: hidden;
        opacity: 1;
        right: unset;
        top: 100svh;
        bottom: 0;
        transform: unset;
		transition: unset;
    }
	.bottomSheet_overlay , .sidebar_overlay{
        position: fixed;
        top: 0;
        right: 0;
        transition: var(--transition);
        width: 100%;
        height: 100svh;
        background: #00000080;
        z-index: 1003;
    }
	.bottomSheet_overlay.hidden , .sidebar_overlay.hidden{
		opacity: 0;
		visibility: hidden;
	}
	.sidebarChange .bottomSheet {
        position: fixed;
        bottom: 0;
        right: 0;
		opacity: 0;
        width: 100%;
        padding: 20px 10px;
        display: flex;
        flex-direction: column;
        background: var(--white);
        min-height: 150px;
        max-height: 80svh;
        overflow: auto;
        scrollbar-width: none;
        transform: translate(0px, 100%);
        transition: unset;
    }
	.sidebarChange .bottomSheet.price{
		overflow: visible;
	}
	.sidebar__item--price-menu_item_desired, .price-menu-header {
        display: block;
        padding: 20px 10px;
        font-weight: 500;
        text-align: center;
        width: 100%;
    }
    .price-menu-header {
        display: flex;
        border-bottom: 1px solid var(--gray-middle);
        font-weight: bold;
        font-size: 16px;
        justify-content: center;
        align-items: center;
    }
	.modalPrice .sidebar__item--price-menu_item, .sidebar__item--price-menu_item_desired {
        background: var(--white);
        padding: 20px 10px;
        border-bottom: 1px solid var(--gray-light);
		min-height: 60px;
    }
	.sidebarChange.bottomSheet {
		visibility: hidden;
	}
    .bottomSheet.show {
        visibility: visible;
        padding: 0;
		opacity: 1;
        transform: translate(0%, 0%);
        padding-bottom: 80px;
    }
	.filter.show .filter__box--icon {
		display: none;
	}
	.filter.show .filter__box--close {
		display: block;
		width: 25px;
        height: 25px;
	}
	.filter__item.bottomSheet.show .filter__content {
		max-height: 2000px;
		opacity: 1;
	}
	.filter__item.bottomSheet.show .filter__des--icon {
		rotate: unset;
	}
	.sidebarChange .filter__submit {
        position: fixed;
        right: 0;
        bottom: 0;
        width: 100%;
        height: 80px;
        border-top: 1px solid var(--gray);
        visibility: visible;
        padding: 10px 20px;
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-items: stretch;
        flex-wrap: nowrap;
		gap: 10px;
		background: var(--white);
    }
	.filter__btn {
    	width: 100%;
		height: 100%;
		outline: 0;
		border-radius: var(--radius-mediom);
		font-weight: 500;
		font-size: 16px;
		cursor: pointer;
		transition: var(--transition);
	}
	.filter__submit--btn {
		border: 1px solid transparent;
		background: var(--priymary-color);
		color: var(--white);
	}
	.filter__cancel--btn {
		border: 1px solid var(--priymary-color);
		background: transparent;
		color: var(--priymary-color);
		flex-shrink: 1.5;
	}
	.search__box input {
		width: 100%;
	}
	.d-none {
		display: none !important;
	}
	.logo img{
		width: 4rem;
	}
	.hotel__popup{
		box-shadow: unset;
		width: 100%;
		padding: 2rem 1rem 1rem;
		gap: 10px;
	}
	.hotel__popup--btn{
		padding: 1.5rem;
	}
	.hotel__popup--image {
        max-height: 35rem;
        border-radius: var(--radius-large) var(--radius-large) var(--radius-small) var(--radius-small);
    }
	.hotel__popup--title{
		font-size: 1.6rem;
	}
	.hotel__popup--text{
		font-size: 1.4rem;
	}
	.hotel__popup--price {
    	font-size: 1.4rem;
	}
	.hotel__popup--price span {
		font-size: 1.2rem;
	}
	.hotel__popup--info{
		padding: 0;
	}
	.close__drag{
		display: flex;
		position: absolute;
		top: 8px;
		left: calc(50% - 30px);
		width: 60px;
		height: 4px;
		-webkit-border-radius: var(--radius);
		-moz-border-radius: var(--radius);
		border-radius: var(--radius);
		background: #DDDDDD;
	}
	.show__detail--hotel{
		border-top-left-radius: 20px;
		border-top-right-radius: 20px;
	}
	.logo{
		display: none;
	}
	.open__filter,.open__sidebar{
		-webkit-border-radius: var(--radius);
		-moz-border-radius: var(--radius);
		border-radius: var(--radius);
		border: none;
		outline: none;
		background-color: #fff;
		box-shadow: 0 0 5px rgba(0, 0, 0, 0.30);
		font-family: inherit;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 10px;
		padding: 0.8rem 1rem;	
	}
	.open__sidebar{	
		width: 50vw;
	}
	.open__filter{
		width: auto;
	}
	.open__sidebar span{
		font-weight: 500;
		font-size: 14px;
		color: var(--color-subtext);
	}
	.open__sidebar img , .open__filter img{
		filter: var(--filter-gray-dark);		
	}
	.filter_items {
		padding: 0;
		height: calc(100% - 60px);
		overflow: auto;
 	}
    .filter__des {
        padding: 15px;
    }
    .bottomSheet.show .filter__des {
        padding: 20px 15px;
        position: sticky;
        top: 0;
        background: var(--white);
        z-index: 1;
	}
    .bottomSheet.price .filter__des {
		position: relative;
	}
	.filter__checkbox {
		padding: 20px;
		height: 60px;
		flex-direction: row-reverse;
		justify-content: space-between;
	}
	.filter__content--toggle {
		padding: 10px 20px;
	}
	.filter__box {
		height: 60px;
		min-height: 60px;
	}
	.filter__box span {
		font-size: 1.6rem;
		font-weight: bold;
	}
	.filter__input {
		height: 60px;
		padding: 0 20px;
	}
	.filter__input--icon {
		left: 30px;
	}
	.search__box--search.bottomSheet{
		display: none;
	}
	
	.bottomSheet__title {
		display: block;
		font-weight: 500;
	}
	.bottomSheet input {
		height: 60px;
	}
	.search__box--info {
    	flex-direction: row;
		align-items: center;
	}
	.search__box--change {
        display: flex;
        align-items: center;
        justify-content: center;
        outline: none;
        border: 1px solid var(--color-primary);
        color: var(--color-primary);
        background: var(--white);
        border-radius: var(--radius-big);
        padding: 5px;
        gap: 5px;
        height: 40px;
		font-size: 1.6rem;
    }
	.search__box--change img {
        filter: var(--filter-priymary-color);
        width: 20px;
        height: auto;
    }
	.sidebar__hotels--btn {
		bottom: 180px;
		right: 10px;
	}
	.holder_filter_btn {
        position: fixed;
        top: 70px;
        right: 0;
        width: 100%;
        height: 60px;
		padding: 10px;
        z-index: 1002;
        border-top: 1px solid var(--gray-light);
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: center;
        gap: 10px;
		overflow-x: auto;
		overflow-y: hidden;
		scrollbar-width: none;
    }
    .filter_btn {
        display: flex !important;
        position: relative;
        top: unset;
        right: unset;
        box-shadow: unset;
        border: 1px solid var(--color-border-light);
        flex-direction: row-reverse;
        justify-content: center;
		text-wrap: nowrap;
		padding: 0;
    }
    .filter_btn span {
        padding: 10px 10px 10px 0;

	}
    
    .filter_btn .filter_btn__close {
		display: none;
	}
    .filter_btn .filter_btn__open {
		display: block;
	}
	.filter_btn.set {
        border: 1px solid var(--priymary-color);
        background: #edf4ff;
		order: -1;
    }
    .filter_btn.set .filter_btn__close {
		display: block;
		filter: var(--filter-priymary-color);
	}
    .filter_btn.set .filter_btn__open {
		display: none;
	}
    .filter_btn.loader img {
		display: none !important;
	}
    .filter_btn.loader::before {
        content: "";
        width: 15px;
        height: 15px;
        border: 2px solid transparent;
        border-right: 2px solid var(--priymary-color);
        border-radius: 50%;
        margin: 0 4px 0 10px;
		animation: s4 .5s infinite linear;
    }
	.filter.show .sidebar__item--price-menu {
        position: fixed;
        bottom: 0;
        top: unset;
        right: 0;
        width: 100%;
        z-index: 1003;
        margin: 0;
    }
	.bottomSheet.show .sidebar__item--price-menu {
        top: unset;
        right: 0;
        width: 100%;
        margin: 0;
    }
	.modalPrice {
        max-height: 80svh;
        visibility: visible;
        position: fixed;
        z-index: 4;
        bottom: 77px;
    }
	.sidebar__item--price {
		padding: 0 20px 10px;
	}
    .holder_filter_btn .filter_btn img {
        filter: var(--filter-gray-dark);
        height: 40px;
        width: 29px;
        padding: 2px 7px 0 10px;
        padding-top: 2px;
    }
    .holder_filter_btn .filter_btn:first-child img {
		padding: 0px 2px 0 10px;
	}
	.hotel__popup--info {
		position: relative;
		bottom: unset;
		margin: 0;
		width: 100%;
	}
	.swiper-pagination-fake {
    	top: unset !important;
	}
	.swiper-button-next-custom, .swiper-button-prev-custom {
		top: 50%;
	}
	.hotel__popup .swiper-slide {
        height: 320px;
    }
	.hotels__not-found {
		flex-direction: row;
		height: 100%;
		margin-right: 10px;
		text-align: right;
	}
	.hotels__not--found-img {
		width: auto;
		height: 100%;
	}
	.hotels__not-found div {
		height: 100%;
		justify-content: space-around;
	}
	.filter__item.bottomSheet.name {
		display: flex;
	}
	.filter__content--parent_search {
        padding: 0 20px;
        height: 60px;
        width: 100%;
        position: relative;
    }
	.filter__content--search {
        width: 100%;
        height: 100%;
        outline: none;
        border: 1px solid var(--color-border);
        padding: 5px 10px 5px 40px;
        font-size: 1.4rem;
        border-radius: var(--radius-mediom);
    }
	.filter__content--search_icon {
        position: absolute;
        width: 18px;
        height: 18px;
        filter: var(--filter-gray-mediom);
        top: calc(50% - 9px);
        left: 30px;
    }
	/* .bottomSheet.show .filter__content--parent_search {
		margin-bottom: 20px;
	} */
	.header__form--submenu.show {
		max-height: calc(100svh - 140px);
		height: calc(100svh - 140px);
	}
	.hotel__popup--offer {
    	position: absolute;
		top: 30px;
		right: 20px;
	}
	.hotel__popup--link {
        display: flex;
        width: 100%;
        height: 50px;
        justify-content: center;
        align-items: center;
        background: var(--priymary-color);
        border-radius: var(--radius-big);
        color: var(--white) !important;
		font-size: 1.6rem;
    }
	.img__loader::after {
    	top: 50%;
	}
	.filter.show .filter__submit {
		width: 100%;
		position: sticky;
		bottom: 0;
		right: 0;
		height: 80px;
		min-height: 80px;
		padding: 10px 20px;
		background: var(--white);
		display: flex;
        box-shadow: 0 0 5px 5px #00000010;
		gap: 10px;
	}
	.hotel__popup--offer span {
		max-width: unset;
		margin-right: 0;
	}
	.passengers__submenu--mobo_header {
        display: flex;
        align-items: center;
        flex-direction: row;
        gap: 10px;
        font-size: 18px;
        font-weight: 500;
        padding: 5px 0 15px;
    }
	.passengers__submenu--btn {
        position: absolute;
		width: calc(100% - 40px);
        bottom: 20px;
        right: 20px;
        height: 60px;
    }
	.passengers__submenu {
		position: fixed;
		top: 0;
		right: 0;
		width: 100%;
		height: 100svh;
		max-height: 100svh;
		border-radius: 0;
		transition: unset;
		z-index: 1;
		padding: 20px;
	}
	.passengers__submenu_rooms {
    	max-height: calc(100svh - 210px);
	}
	.marker-box::after {
		filter: unset;
		transition: var(--transition);
	}
	.btn_fullscreen.fixed {
		position: fixed;
		left: 15px;
		z-index: 1066;
		top: 195px;
		margin-top: 0 !important;
		margin-left: 0 !important;
	}
	.map-fullscreen .btn_fullscreen.fixed {
		top: 15px;
	}
	.filter__content--search_menu {
		display: none;
	}
	.bottomSheet.show .filter__content--search_menu {
		width: 100%;
		display: flex;
		flex-direction: column;
		margin: 10px 0;
	}
	.filter__content--search_item {
		width: 100%;
		padding: 10px 20px;
	}
	.hotel__detail--del {
		height: 20px;
	}
	.hotel__detail--options div {
		padding: 0 10px;
	}
	.hotel__detail--options div:first-child {
		display: flex;
		padding-right: 0;
	}
	.hotel__detail--options div:last-child {
		border: 0;
	}
	.hotel__detail--options img {
		width: 15px;
		height: 15px;
	}
	.hotel__detail--stars {
		display: none;
	}
	.hotel__detail--options {
		gap: 0;
		padding: 0;
	}
	.hotel__detail--title {
		width: 100%;
	}
	.btn_fullscreen {
		margin-top: 65px !important;
	}
	.isIphone .btn_fullscreen {
		margin-top: 0 !important;
		top: 135px;
	}
	.margin-top-15 {
		margin-top: 15px !important;
		padding: 5px;
	}
	.margin-top-65 {
		margin-top: 65px !important;
	}
}
@media screen and (max-width: 480px) {
	.hotel__popup--image {
        max-height: 22rem;
	}
	.hotel__popup .swiper-slide {
        height: 200px;
    }
	.hotel__detail--info {
		align-items: flex-start;
		flex-direction: column;
		gap: 5px;
	}
	.hotel__with--star .hotel__detail--title {
		max-width: 100%;
	}
	.hotel__detail--stars {
		gap: 0.5rem;
		height: 20px;
	}
	.sidebar__hotels {
        height: 170px;
    }
	.hotel__image--ads img {
    	width: 15px;
	}
	.hotel {
        min-width: 95%;
		gap: 8px;
	}
	.hotel__detail {
    	padding: 0;
	}
	.hotel__detail--price {
    	font-size: 1.2rem;
	}
	.search__box--info_city {
    	font-size: 1.6rem;
	}
	.search__box--info_date {
    	font-size: 1.2rem;
	}
	.sidebar__hotels--btn {
		bottom: 170px;
	}
	.hotel__detail {
		gap: 3px;
	}
	.d-none-desktop{
		display: flex !important;
	}
}
/* test */
.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
    opacity: 1;
    height: 300px;
    border-radius: var(--radius-big);
    overflow: hidden;
    box-shadow: 0 0 10px 5px #00000050;
}
.leaflet-popup-content-wrapper {
    height: 100%;
}
.swiper-slide {
    height: 100%;
}
.sidebar__hotels .swiper-slide {
    height: auto;
}
.leaflet-popup-content {
	height: 100%;
}

.hotel__popup--btn {
	display: none;
}
