/**
 * DEFINE
 */
:root {
	--header-height: 0;
	--input-text-height: 30px;
	--direction-sidebar-height: 66px;
	--side-bar-width: 360px;
}

.not-desktop {
	--header-height: 0;
}

/**
 * GENERAL
 */
body, html {
    width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	font-size: 0.875rem;
	background: #C9C6BD;
	overflow: hidden;
	overflow-y: auto;
	box-sizing: border-box;

	-webkit-user-select: none;
  	-ms-user-select: none;
  	user-select: none;

  	-webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

body.not-desktop *::-webkit-scrollbar {
    width: 0 !important;
    height: 0 !important;
    display: none !important;
}
body.not-desktop * {
    scrollbar-width: none; 
    -ms-overflow-style: none; 
}
body.not-desktop *::-webkit-scrollbar {
    display: none;
}

/* scrollbar */
::-webkit-scrollbar {
    width: 5px;
}
::-webkit-scrollbar-track {
    background: #f1f1f1;
}
::-webkit-scrollbar-thumb {
    background: rgba(0,0,0,0.1);
}
::-webkit-scrollbar-thumb:hover {
    background: rgba(0,0,0,0.3);
}

.horizontal-scrollbar {
	overflow-x: auto;
    overflow-y: hidden;

    &::-webkit-scrollbar {
        display: none;
    }
    -ms-overflow-style: none;
    scrollbar-width: none;

    cursor: grab;
    user-select: none;
}
.horizontal-scrollbar.active-drag {
    cursor: grabbing;
}

ul, li, input {
	list-style: none;
	outline-style: none;
	margin: 0;
	padding: 0;
}

.btn-primary:hover, .btn-primary:focus, .btn-primary:active, 
.btn-primary:active:focus:not(:disabled):not(.disabled),
.btn:focus, .btn:active, .btn:hover {
    box-shadow: none !important;
    outline: 0;
}

.dropdown-menu .dropdown-item:active,
.dropdown-menu .dropdown-item:focus,
.dropdown-menu .dropdown-item:focus-visible {
	background-color: transparent !important;
	color: inherit !important;
	outline: none;
	box-shadow: none;
}

.ui-template {
	display: none;
}

/**
 * LOADING ANIMATE
 */
.lds-ripple {
	display: inline-block;
	position: relative;
	width: 80px;
	height: 80px;
}
.lds-ripple div {
	position: absolute;
	border: 4px solid #fff;
	opacity: 1;
	border-radius: 50%;
	animation: lds-ripple 1s cubic-bezier(0, 0.2, 0.8, 1) infinite;
}
.lds-ripple div:nth-child(2) {
	animation-delay: -0.5s;
}
@keyframes lds-ripple {
	0% {
		top: 36px;
		left: 36px;
		width: 0;
		height: 0;
		opacity: 0;
	}
	4.9% {
		top: 36px;
		left: 36px;
		width: 0;
		height: 0;
		opacity: 0;
	}
	5% {
		top: 36px;
		left: 36px;
		width: 0;
		height: 0;
		opacity: 1;
	}
	100% {
		top: 0px;
		left: 0px;
		width: 72px;
		height: 72px;
		opacity: 0;
	}
}

/**
 * LOADING
 */
section.loading {
	position: absolute;
	z-index: 9999;
	background: rgba(0,0,0,0.5);
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	flex-direction: row;
	align-items: center;
	display: none;
}
section.loading .loading-wrapper {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
}
section.loading p {
	color: #FFF;
	text-align: center;
	align-items: center;
}

/**
 * EMBEDMAP & CONTENT
 */
.main-contents {
	height: calc(100%);
	position: relative;
	display: flex;
	flex-direction: column;
}
.embedmap {
	flex: 1;
}

.content {
	display: none;
	width: 100%;
	height: 100%;
}
.show-map .content {
	display: flex;
	flex-direction: column;
}

/**
 * GOOGLE MAP
 */
.gm-style div:has( > div > div > img[src*="?wpt=bg"]) {
	z-index: 5!important;
}
.gm-style iframe + div {
	border:none!important;
}
.gm-style > div:last-child {
	display: none !important;
}
.gm-style > div:nth-last-child(3) a {
    display: none !important;
}

/**
 * INMAPZ EMBEDMAP
 */
.map-wrapper {
	width: 100%;
	flex: 1;
	position: relative;
}
.map-wrapper * {
    user-select: none;
}
.map {
	width: 100%;
	height: 100%;
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
}
.map-control {
	position: absolute;
	bottom: 30px;
	right: 15px;
	z-index: 2;
    box-shadow: rgba(0, 0, 0, 0.3) 0px 1px 4px -1px;
    border-radius: 20px;
    cursor: pointer;
    background-color: #fff;
}
.map-control .btn {
	background: none;
    display: block;
    border: 0;
    margin: 0;
    padding: 0;
    text-transform: none;
    appearance: none;
    position: relative;
    cursor: pointer;
    user-select: none;
    overflow: hidden;
    width: 40px;
    height: 40px;
}
.map-control .div-line {
	width: 30px; 
	height: 1px; 
	margin: 0 5px; 
	background-color: rgb(230, 230, 230);
}
.map-tool {
	position: absolute;
	z-index: 3;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
	pointer-events: none;
	display: flex;
}

/**
 * INMAPZ MAP
 */


/**
 * SIDE BAR
 */
.sidebar {
	width: var(--side-bar-width);
	margin: 15px;
	overflow: hidden;
	display: none;
}
.sidebar.active {
	display: block;
}
.not-desktop .sidebar {
	width: calc( 100% - 30px);
	pointer-events: none;
}

.sidebar-content {
	width: calc( 100% - 6px );
	margin-left: 3px;
	max-height: calc( 100% - 30px );
	border-radius: 5px;
	background: #FFF;
	border-top: 1px solid rgba(0,0,0,0.1);
	box-shadow: 0px 4px 5px 0px rgba(0, 0, 0, 0.20);
	pointer-events: auto;
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

.sidebar-content, 
.sidebar-collapse {
	pointer-events: auto !important;
}
.sidebar-item.sidebar-transition {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.25s ease-out;
}
.sidebar-item.sidebar-transition.active {
	max-height: 1000px;
	overflow-y: auto;
	transition: max-height 0.25s ease-in;
}

/**
 * SEARCH FORM
 */
.search-form {
	width: 100%;
	padding: 5px 15px;
	display: flex;
	align-items: center;
}
.search-form .icon-search {
	width: 20px;
	height: 30px;
	background: url(../images/ic-search-gray.svg) no-repeat 0 5px;
	margin-right: 5px;
}
.search-form .input-search {
	flex: 1;
	height: var(--input-text-height);
	border: none;
	outline: 0;
}
.search-form .search-form-btn {
	width: 35px;
	height: 30px;
	margin-left: 8px;
	background: url(../images/ic-directions.svg?v=2) no-repeat right;
	border-left: 1px solid #ccc;
	cursor: pointer;
}
.search-form .search-form-btn.active {
	background-image: url(../images/ic-close-blue.svg?v=3);
}

/**
 * SIDEBAR COLLAPSE
 */
.sidebar-collapse {
	width: 100%;
	text-align: center;
}
.sidebar-collapse .btn-collapse {
	display: inline-block;
	width: 50px;
	height: 25px;
	cursor: pointer;
	background: url(../images/ic-sidebar-down.svg?v=2) no-repeat;
	background-size: cover;
	pointer-events: fill;
}
.sidebar-collapse .btn-collapse.expanded {
	background-image: url(../images/ic-sidebar-up.svg?v=2);
}

/**
 * AUTO COMPLETE
 */
.autocomplete {
	width: calc( var(--side-bar-width) - 6px );
	margin-left: 3px;
	position: absolute;
	top: 15px;
	left: 15px;
	z-index: 10;
	padding: 0;
	border-radius: 5px;
	border-top-left-radius: 0;
	border-top-right-radius: 0;
    background: #FFF;
    border-top: 1px solid rgba(0,0,0,0.1);
    box-shadow: 0px 4px 5px 0px rgba(0, 0, 0, 0.20);
	display: none;
    pointer-events: bounding-box;
    color: rgba(102,102,102,1);
    max-height: 70%;
    /*display: block !important;*/

}
.change-map-autocomplete {
	cursor: pointer;
	padding: 10px 15px 10px 70px;
	margin: 0;
	pointer-events: fill;
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
	position: relative;
}
.change-map-autocomplete:hover {
	background: #e3e3e3;
}
.change-map-autocomplete::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 15px;
	transform: translateY(-50%);
	width: 40px;
	height: 40px;
	background: #666666 var(--logo-url) no-repeat center;
	background-size: auto 60%;
	border-radius: 50%;
	border: 3px solid #ebebeb;
}

.change-map-autocomplete[data-type="poi-gate"]::before {
	background-size: contain;
}

.change-map-autocomplete p {
	margin: 0;
	padding: 0;
	color: rgba(0,0,0,0.7);
}
.change-map-autocomplete p:first-child {
	color: #000;
}

.sidebar-poi .autocomplete {
	top: 56px;
}

.sidebar-filter .autocomplete {
	top: 53px;
}

.sidebar-directions .autocomplete.from {
	top: 115px;
}
.sidebar-directions .autocomplete.to {
	top: 170px;
}

.not-desktop .sidebar-directions {
	width: 100%;
	margin: 0;
}

.not-desktop .directions-form.out {
	display: none;
}

.not-desktop .sidebar-directions .sidebar-content {
	margin: 0;
	width: 100%;
	border-radius: 0;
}
.not-desktop .sidebar-directions .directions-endpoint {
	padding: 15px 0;
	padding-bottom: 0;
}

.not-desktop .sidebar-directions .directions-endpoint::before {
	display: none;
}

.not-desktop .sidebar-directions .directions-locate {
	flex: 1;
}
.not-desktop .sidebar-directions .directions-distance {
	text-align: left;
	margin-top: -4px;
	padding-left: 15px;
}

.not-desktop .sidebar-directions .directions-endpoint.active {
	display: flex;
	flex-direction: row;
}

.not-desktop .sidebar-directions .directions-form-item {
	border-radius: 5px;
}

.not-desktop .autocomplete {
	width: calc( 100% - 30px - 6px);
	margin-left: 3px;
	overflow: hidden;
    overflow-y: auto;
}

.not-desktop .sidebar-filter .autocomplete,
.not-desktop .sidebar-poi .autocomplete {
    top: 53px;
}

/**
 * LIST FILTER
 */
.map-filters-wrapper {
    position: absolute;
    z-index: 1;
    top: 15px;
    left: calc(var(--side-bar-width) + 30px);
    max-width: calc(100% - var(--side-bar-width) - 30px);
    height: 45px;
    padding: 0;
}

.map-filters {
    width: auto;
    white-space: nowrap;
}

.filter-item {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;

    margin-right: 5px;
    padding: 0 4px;
    cursor: pointer;
    height: 40px;
    border-radius: 20px;
    border: 5px solid #FFF;
    background: #FFF;
    box-shadow: 0px 4px 5px 0px rgba(0, 0, 0, 0.20);

    scroll-snap-align: start;
}

.filter-item.active {
	border-color: #6DC1FF;
}

.filter-item-icon {
    width: 24px;
    height: 24px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.filter-item-label {
    white-space: nowrap;
    padding-left: 10px;
    font-size: 14px;
}

.not-desktop .map-filters-wrapper {
    top: 65px;
    left: 0;
    max-width: 100%;
}

.not-desktop .filter-item:first-child {
	margin-left: 15px;
}

/**
 * POI DETAIL
 */
.poi-item {
	padding: 15px;
}
.poi-detail {
	width: 100%;
}
.poi-image {
	width: 100%;
    min-height: 200px;
    max-height: var(--side-bar-width);
    background: #FFF url('') no-repeat center;
    background-size: cover;
    border-top: 1px solid #ccc;
}
.poi-name {
	color: #3c3c3c;
	font-size: 1.125rem;
	font-weight: 500;
}
.poi-detail-info {
	background: #FFF;
	color: #555;
}
.poi-address {
	color: #737373;
}
.poi-item.directions {
	display: flex;
	width: 100%;
	padding-top: 0;
	padding-bottom: 0;
	gap: 20px;
  	text-align: center;
}
.poi-item.directions .btn {
	flex: 1;
    border-radius: 30px;
    border: 2px solid #0082ED;
    color: #333;
    background: #FFF;
    cursor: pointer;
    padding: 10px 15px;
}
.poi-item.directions .btn.btn-to {
	border-color: #BB4E52;
}

.poi-icon {
	padding-left: 20px;
	margin: 0 0 10px 0;
	position: relative;
}
.poi-icon::before {
	content: " ";
	display: inline-block;
	width: 15px;
	height: 30px;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	background-repeat: no-repeat;
	background-position: left;
}
.poi-without-icon {
	border-top: 1px solid #e2e2e2;
	margin: 0;
    padding-top: 5px;
}
.poi-locate::before { background-image: url(../images/ic-marker.svg); }
.poi-website { cursor:pointer; }
.poi-website::before { background-image: url(../images/ic-link.svg); }
.poi-phone { cursor:pointer; }
.poi-phone::before { background-image: url(../images/ic-phone.svg); }
.poi-open-close::before { background-image: url(../images/ic-clock.svg); }
.poi-description {
	display: none;
}

/**
 * DIRECTIONS
 */
.directions-block {
	width: 100%;
	padding: 15px;
	float: left;
}
.directions-header {
	border-radius: 5px 5px 0 0;
	background: #FFF;
}
.directions-endpoint {
	position: relative;
	padding: 15px 0 0 45px;
	display: none;
}
.directions-endpoint.active {
	display: block;
}
.directions-endpoint::before { 
	content: " ";
	display: inline-block;
	width: 30px;
	height: 40px;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	background: url(../images/directions-endpoi.svg?v=1) no-repeat left;
}
.directions-endpoint p {
	margin: 0;
	padding: 0;
}
.directions-endpoint .directions-locate {
	color: #333;
}
.directions-endpoint .directions-distance {
	color: #BB4E52;
}
.directions-endpoint .directions-distance b {
	font-size: 1.125rem;
}
.directions-info {
	width: 100%;
	display: flex;
	flex-direction: column;
	flex: 1; 
	min-height: 0;
}

.directions-routes {
	border-radius: 0 0 5px 5px;
	/*background: #c8eff1;*/
	width: 100%;
	padding: 15px 0;
	display: none;
	flex: 1;
	overflow-y: auto;
}
.directions-routes.active {
	display: block;
}
.directions-toolbar {
	width: 100%;
	display: flex;
}
.directions-toolbar .btn {
	color: #000;
	padding: 0;
	font-weight: 300;
}
.directions-toolbar .btn::before,
.directions-toolbar .btn::after {
	content: " ";
	display: inline-block;
	background-repeat: no-repeat;
	background-size: contain;
	width: 15px;
	height: 11px;
}
.directions-toolbar .btn-back::before {
	background-image: url(../images/directions-back.svg?v=2);
	margin-right: 5px;
}
.directions-toolbar .btn-reverse {
	margin-left: auto;
}
.directions-toolbar .btn-reverse::after {
	background-image: url(../images/directions-reverse.svg?v=2);
	margin-left: 5px;
}
.directions-form {
	width: 100%;
	float: left;
}
.directions-message {
	width: 100%;
	text-align: center;
	color: #D12E2E;
	padding-top: 10px;
	display: none;
}
.directions-message.active {
	display: block;
}
.directions-form-item {
	width: 100%;
    margin-top: 10px;
    position: relative;
    display: flex;
    align-items: center;
    border-radius: 5px;
    border: 1px solid #ACACAC;
    padding: 5px;
}
.directions-form-item.in {
	background-color: #EEFAFF;
	border: 1px solid #57B3FF;
}
.directions-form-item .input-search {
	height: var(--input-text-height);
	flex: 1;
	border: none;
	outline: 0;
	padding: 0 5px 0 10px;
	background: transparent;
	color: #3C3C3C;
	font-weight: bold;
	min-width: 30px;
}

.directions-form-item.focus .input-form-icon {
	position: relative;
	width: var(--input-text-height);
	height: var(--input-text-height);
	cursor: pointer;
	display: inline-block;
}
.directions-form-item.focus .input-form-icon::before {
	content: " ";
	width: var(--input-text-height);
	height: var(--input-text-height);
	display: inline-block;
	background: url(../images/ic-close-blue.svg?v=3) no-repeat center;
}
.directions-form-item .placehoder {
	display: inline-block;
	flex: 0 0 auto;
	min-width: max-content; 
	padding: 5px 10px 5px 30px;
	position: relative;
	color: #888;
}
.directions-form-item .placehoder::after {
	content: " ";
    width: 2px;
    height: 18px;
    display: inline-block;
    border-right: 1px solid rgba(0, 0, 0, 0.2);
    position: absolute;
    right: 0;
    top: 7px;
}
.directions-item-from::before,
.directions-item-to::before {
	content: " ";
	width: 20px;
	height: 20px;
	display: block;
	background-repeat: no-repeat;
	background-position: left center;
	position: absolute;
	top: auto;
	left: 10px;
}
.directions-item-from::before {
	background-image: url(../images/ic-direction-from.svg?v=1);
}
.directions-item-to::before {
	background-image: url(../images/ic-direction-to.svg);
}
.directions-route-item {
	position: relative;
	padding: 15px 15px 15px 60px;
	background: url(../images/vertical-dash.svg) repeat-y 26px;
	cursor: pointer;
}
.directions-route-item.active {
	font-weight: bold;
}
.directions-route-item::before { 
	content: " ";
	display: inline-block;
	width: 30px;
	height: 40px;
	position: absolute;
	top: 50%;
	left: 15px;
	transform: translateY(-50%);
	background-repeat: no-repeat;
	background-position: left;
}

.directions-route-item p {
	margin: 0;
	padding: 0;
}
.directions-route-item .directions-locate {
	color: #333;
	text-transform: capitalize;
}
.directions-route-item .directions-locate::before {
	content: " ";
	display: inline-block;
	width: 10px;
	height: 10px;
	position: absolute;
	top: 50%;
	left: 22px;
	transform: translateY(-50%);
	background: url(../images/ic-circle.svg) no-repeat; 
	background-size: contain;
}
.directions-route-item .directions-distance,
.directions-route-item .directions-image {
	display: none;
}

.directions-route-item:first-child,
.directions-route-item:last-child {
	background-image: none;
}
.directions-route-item:first-child .directions-locate::before,
.directions-route-item:last-child .directions-locate::before {
	background: none;
}
.directions-route-item:first-child::before {
	background-image: url(../images/directions-start.svg); 
}
.directions-route-item:last-child::before {
	background-image: url(../images/directions-end.svg); 
}
.directions-route-item:first-child .directions-distance,
.directions-route-item:last-child .directions-distance {
	display: none;
}
.directions-route-item:first-child .directions-locate,
.directions-route-item:last-child .directions-locate {
	position: relative;
}
.directions-route-item:first-child .directions-locate::before,
.directions-route-item:last-child .directions-locate::before {
	content: " ";
    display: inline-block;
    background: url(../images/directions-dot-arrow.svg?v=1) no-repeat;
    top: -5px;
    left: 0;
    width: 20px;
    height: 10px;
}
.directions-route-item:last-child .directions-locate::before {
	transform:scaleX(-1);
	top: -10px;
}

.directions-slide {
	display: none;
}

.not-desktop .sidebar-directions .directions-info.active {
	position: relative;
	display: flex;
	align-items: center;
	max-height: var(--direction-sidebar-height);
	overflow: hidden;
	background-color: #fcfcfc;
}

.not-desktop .sidebar-directions .directions-slide.active {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

.not-desktop .sidebar-directions .directions-slide::before,
.not-desktop .sidebar-directions .directions-slide::after {
	content: " ";
	display: block;
	position: absolute;
	z-index: 9;
	top: 0;
	background-repeat: no-repeat;
	background-position: center;
	/*background-image: url(../images/directions-sidebar-bg.png);*/
	width: var(--direction-sidebar-height);
	height: var(--direction-sidebar-height);
}

.not-desktop .sidebar-directions .directions-slide::before {
	left: 0;
	transform: scaleX(-1);
}

.not-desktop .sidebar-directions .directions-slide::after {
	right: 0;
}

.not-desktop .sidebar-directions .directions-slide-btn {
	display: block;
	position: absolute;
	z-index: 99;
	top: 0;
	right: 0;
	background-repeat: no-repeat;
	background-position-y: center;
	background-image: url(../images/directions-slide-arrow-l2r.svg);
	width: var(--direction-sidebar-height);
	height: var(--direction-sidebar-height);
	cursor: pointer;
	pointer-events: auto !important;
}

.not-desktop .sidebar-directions .directions-slide-btn-prev {
	left: 0;
	transform:scaleX(-1);
	background-position: center left calc( 100% - 15px);
}
.not-desktop .sidebar-directions .directions-slide-btn-next {
	background-position: center right 15px;
}

.not-desktop .sidebar-directions .directions-routes.active {
	display: flex;
	flex-direction: row;
	padding: 15px 45px 15px 45px;
	overflow-x: auto;
	width: auto;
	max-width: 100%;
}

.not-desktop .sidebar-directions .directions-route-item.start-poi {
	display: none;
}

.not-desktop .sidebar-directions .directions-route-item.start-poi:first-child {
	display: block;
}


.not-desktop .sidebar-directions .directions-route-item {
	background-image: none;
	padding: 0;
	display: flex;
	flex-direction: row;
}

.not-desktop .sidebar-directions .directions-route-item:first-child::before,
.not-desktop .sidebar-directions .directions-route-item:last-child::before {
	display: none;
}

.not-desktop .sidebar-directions .directions-route-item.start-poi .directions-locate {
	display: none;
}

.not-desktop .sidebar-directions .directions-route-item .directions-locate {
	white-space: nowrap;
	padding: 0 30px;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.not-desktop .sidebar-directions .directions-route-item .directions-locate::before {
	background: url(../images/directions-dot-arrow.svg?v=1) no-repeat;
	width: 20px;
    height: 10px;
    position: inherit;
    transform: none;
}

.not-desktop .sidebar-directions .directions-route-item:last-child .directions-locate::before {
	top: 0;
}

.not-desktop .sidebar-directions .directions-route-item .directions-image {
	display: flex;
    flex-direction: column;
    background-color: #888;
    border-radius: 5px;
    text-align: center;
    padding: 5px;
    aspect-ratio: 1 / 1;
    align-items: center;
    align-self: center;
    justify-content: center;
}

.not-desktop .sidebar-directions .directions-route-item .directions-image img {
	width: 30px;
	height: 30px;
}

.not-desktop .sidebar-directions .directions-route-item:first-child .directions-image,
.not-desktop .sidebar-directions .directions-route-item:last-child .directions-image {
	background: none;
}

.not-desktop .sidebar-directions .autocomplete {
	width: 100%;
	left: 0;
	margin-left: 0;
}

.not-desktop .sidebar-directions .autocomplete.to {
	top: 153px;
}

.not-desktop .sidebar-directions .autocomplete.from {
	top: 100px;
}

/**
 * MAP - POI
 */
.change-map {
	cursor: pointer;
}

/**
 * disable transition
 */
.map-overlay, .map-poi, .poi-marker {
    transition: none !important;
    -webkit-transition: none !important;
    -moz-transition: none !important;
    -o-transition: none !important;
    animation: none !important;
    -webkit-animation: none !important;
}

.safari div:has(> .tile-item) {
	backface-visibility: unset;
    will-change: unset;
    mix-blend-mode: unset;
}

.safari div:has(> .overlayImage) {
	will-change: unset !important;
}

div:has(> div > .tile-item) {
	transform: translateZ(0);
	mix-blend-mode: darken;
}

div:has(> div > .tile-item), div:has(> .tile-item) {
	backface-visibility: hidden;
	will-change: transform;
	mix-blend-mode: plus-lighter;
}

/*image-rendering: pixelated;*/
.tile-item img {
	image-rendering: optimizeQuality;
	image-rendering: -moz-crisp-edges;
	image-rendering: -webkit-optimize-contrast;
	-webkit-optimize-contrast: initial;
}

.map-overlay {
	container-name: mapOverlay;
	container-type: inline-size;
	display: flex;
	justify-content: center;
	pointer-events: none;

	--mapOverlay-zIndex: 1;
  	z-index: var(--mapOverlay-zIndex, 1);

  	opacity: 1;
    transition: opacity 0.3s ease-in-out;
    -webkit-transition: opacity 0.3s ease-in-out;
}

.map-overlay.overlay-hidden {
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease-in-out;
    -webkit-transition: opacity 0.3s ease-in-out;
}

.overlay-clickable {
	pointer-events: auto;
}

.on-resize.point-e,
.on-resize.point-e .map-overlay,
.on-resize.point-e .overlay-handler-wrapper, 
.on-resize.point-w,
.on-resize.point-w .map-overlay,f
.on-resize.point-w .overlay-handler-wrapper {
	cursor: ew-resize !important;
}

.on-resize.point-s,
.on-resize.point-s .map-overlay,
.on-resize.point-s .overlay-handler-wrapper,
.on-resize.point-n,
.on-resize.point-n .map-overlay,
.on-resize.point-n .overlay-handler-wrapper {
	cursor: ne-resize !important;
}

.overlay-handler-wrapper {
	position: absolute;
	z-index: 9999;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	outline: 1px solid #39f;
    outline-color: rgba(51, 153, 255, 0.75);
    background-color: rgba(255, 255, 255, .1);
}

.overlay-handler {
	position: absolute;
	z-index: 9;
	background-color: #39f;
}

.overlay-handler-line {
	display: block;
	position: absolute;
    width: 100%;
    height: 100%;
    opacity: 0.1;
}

.overlay-handler-line.line-e {
    cursor: ew-resize;
    right: -3px;
    top: 0;
    width: 5px;
}

.overlay-handler-line.line-n {
    cursor: ns-resize;
    height: 5px;
    left: 0;
    top: -3px;
}

.overlay-handler-line.line-w {
    cursor: ew-resize;
    left: -3px;
    top: 0;
    width: 5px;
}

.overlay-handler-line.line-s {
	cursor: ns-resize;
    bottom: -3px;
    height: 5px;
    left: 0;
}

.overlay-handler-point {
	width: 5px;
    height: 5px;
    opacity: 0.75;
}

.overlay-handler-point.point-e {
    cursor: ew-resize;
    margin-top: -3px;
    right: -3px;
    top: 50%;
}

.overlay-handler-point.point-n {
    cursor: ns-resize;
    left: 50%;
    margin-left: -3px;
    top: -3px;
}

.overlay-handler-point.point-w {
    cursor: ew-resize;
    left: -3px;
    margin-top: -3px;
    top: 50%;
}

.overlay-handler-point.point-s {
    bottom: -3px;
    cursor: ns-resize;
    left: 50%;
    margin-left: -3px;
}

.overlay-handler-point.point-ne {
    cursor: nesw-resize;
    right: -3px;
    top: -3px;
}

.overlay-handler-point.point-nw {
    cursor: nwse-resize;
    left: -3px;
    top: -3px;
}

.overlay-handler-point.point-sw {
	cursor: nesw-resize;
    bottom: -3px;
    left: -3px;
}

.overlay-handler-point.point-se {
	cursor: nwse-resize;
    bottom: -3px;
    right: -3px;
}

.change-map {
	cursor: pointer;
}

.map-overlay .overlay-child {
	display: flex;
	flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    box-sizing: border-box;
    position: relative;
}

.map-overlay .without-image.overlay-child::before {
	display: block !important;
	position: unset;
	transform: none;
}

/*.map-overlay .overlay-child .overlay-poi-image {
	width: 36px;
    z-index: 1;
    display: none;
    position: relative;
    box-shadow: 0 8px 15px rgba(0, 0, 0, 0.3);
    border-radius: 50%;
}*/

.map-overlay .overlay-child .overlay-poi-image {
    width: 36px;
    z-index: 1;
    display: none;
    position: absolute;
    box-shadow: 0 8px 15px rgba(0, 0, 0, 0.3);
    border-radius: 50%;
    bottom: calc(50% + 2px);
}

.map-overlay .overlay-child .overlay-poi-image img {
	width: 29px;
	height: 29px;
	margin: 4px;
}

.map-overlay.node-poi .overlay-child .overlay-poi-image img {
	width: 28px;
	height: 28px;
	margin: 4px;
}

.map-overlay .overlay-child .overlay-poi-image::before {
	content: " ";
	position: absolute;
	top: 0;
	left: 0;
	width: 36px;
	height: 40px;
	background-image: url(../images/ic-poi-bg.svg);
	background-repeat: no-repeat;
	background-position: 0 0 ;
	background-size: cover;
	z-index: -1;
}

.map-overlay .overlay-child .overlay-poi-image::after {
	content: " ";
    position: absolute;
    top: 4px;
    left: 4px;
    width: 28px;
    height: 28px;
    border-radius: 14px;
    z-index: -1;
    background-color: #58B9FF;
}

.map-overlay.customize-logo .overlay-child .overlay-poi-image::after {
	background-color: transparent;
}

.map-overlay.customize-logo .overlay-child .overlay-poi-image img {
	width: 28px;
    height: 28px;
    margin: 4px;
}

.map-overlay.poi-wc .overlay-child .overlay-poi-image::after {
    background-color: #B480E0;
}

.map-overlay.node-poi .overlay-child .overlay-poi-image::after {
	display: none;
}

.map-overlay .overlay-child .overlay-poi-content {
	position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    align-self: center;
}

.map-overlay.poi-marker .overlay-child .overlay-poi-content::before {
    content: " ";
    display: block;
    position: absolute;
    background-image: url(../embedmap/images/ic-marker.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    width: 30px;
    height: 45px;
    top: 0;
    left: 50%;
    transform: translate(-50%, -45px);
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.5));
}

.map-overlay.poi-marker.start-marker .overlay-child .overlay-poi-content::before {
	background-image: url(/assets/v6/images/directions-start.svg);
}

.map-overlay.poi-marker.start-marker.rtl .overlay-child .overlay-poi-content::before {
	background-image: url(/assets/v6/images/directions-start.svg);
	-webkit-transform: scaleX(-1);
	-moz-transform: scaleX(-1);
	-ms-transform: scaleX(-1);
	-o-transform: scaleX(-1);
	transform: scaleX(-1);
}

.map-overlay.poi-marker.end-marker .overlay-child .overlay-poi-content::before {
	background-image: url(/assets/v6/images/directions-end.svg);
}

/*.map-overlay .overlay-child .overlay-poi-content-label {
	display: none;
    font-weight: bold;
    font-size: 11px;
	text-shadow:
	    1px 1px 0 black,
	   -1px 1px 0 black,
	    1px -1px 0 black,
	   -1px -1px 0 black,
	    0px 1px 0 black,
	    1px 0px 0 black,
	   -1px 0px 0 black,
	    0px -1px 0 black;
    color: #FFF;
    text-align: center;
    padding: 5px;

    width: max-content;
    max-width: 100px;
    white-space: normal;
	overflow-wrap: break-word;
	word-break: break-word;
}*/

.map-overlay .overlay-child .overlay-poi-content-label {
    display: none;
    font-weight: bold;
    font-size: 11px;
    text-shadow: 1px 1px 0 black, -1px 1px 0 black, 1px -1px 0 black, -1px -1px 0 black, 0px 1px 0 black, 1px 0px 0 black, -1px 0px 0 black, 0px -1px 0 black;
    color: #FFF;
    text-align: center;
    padding: 5px;
    width: max-content;
    max-width: 100px;
    white-space: normal;
    overflow-wrap: break-word;
    word-break: break-word;
    position: absolute;
    top: 5px;
}

/*.map-overlay .overlay-child .overlay-poi-content-icon {
    top: 50%;
    left: 0;
    width: 10px;
    height: 10px;
    aspect-ratio: 1 / 1;
    background-color: #111C3B;
    border: solid 2px #FFF;
    border-radius: 5px;
}*/

.map-overlay .overlay-child .overlay-poi-content-icon {
    top: -3px;
    /* left: 0; */
    width: 10px;
    height: 10px;
    aspect-ratio: 1 / 1;
    background-color: #111C3B;
    border: solid 2px #FFF;
    border-radius: 5px;
    position: absolute;
    left: calc(50% - 5px);
}

.map-overlay .overlay-child.without-image .overlay-poi-content-icon {
	display: block;
}

.map-overlay.poi-marker .overlay-child.without-image .overlay-poi-content::before {
	transform: translate(-50%, -40px);
}

.map-overlay .overlay-child.without-image .overlay-poi-content-label {
	text-align: center !important;
}

.map-overlay.poi-marker,
.map-overlay.map-marker {
	z-index: 9999 !important;
	min-width: 11px;
}

.map-overlay.map-marker .overlay-poi-image {
	display: block !important;
}

@container mapOverlay (max-width: 9.999px) {
	.map-overlay .overlay-child {
		display: none;
	}
}

@container mapOverlay (min-width: 30px) {
	.map-overlay .overlay-child .overlay-poi-image {
		display: block;
	}

	.map-overlay .overlay-child .overlay-poi-content-icon {
		display: none;
	}

	.map-overlay.poi-marker .overlay-child .overlay-poi-content::before {
	    transform: translate(-50%, -80px);
	}
}

@container mapOverlay (max-width: 59.999px) {
	.map-overlay .overlay-child .overlay-poi-content-label {
		max-width: 100%;
	}
}

@container mapOverlay (min-width: 60px) {
	.map-overlay .overlay-child .overlay-poi-content-label {
		display: block;
	}
}

/*@container mapOverlay (min-width: 90px) {
	.map-overlay .overlay-child {
		flex-direction: row;
	}

	.map-overlay.poi-marker .overlay-child .overlay-poi-content::before {
	    transform: translate(-50%, -40px);
	}
}
*/
/**
 * overwrite map label
 */
.overwrite-label {
    text-align: center;
    font-size: 0.75rem;
    color: #185abc;
}
.overwrite-label.island {
	color: #18191a;
	text-shadow: -1px 0px 7px rgba(255, 255, 255, 1);
}
.overwrite-label .overlay-child {
	min-width: 70px;
    display: inline-block;
    position: absolute;
    top: 0;
    left: -60px;
}
.overwrite-label.island .overlay-child {
	min-width: 120px;
}

/**
 * EXTRA
 */
@container mapOverlay (min-width: 50px) {
	.poi-420269636868 .overlay-child {
		flex-direction: column!important;
	}

	.poi-420269636868 .overlay-child .overlay-poi-content-label {
		display: flex !important;
	    flex-direction: column !important;
	    max-width: 100px !important;
	}

	.poi-420269637171 .overlay-child .overlay-poi-content-label {
		display: flex !important;
	    flex-direction: column !important;
	    max-width: 100% !important;
	}
}

/*@container mapOverlay (min-width: 80px) {
	.poi-420269926464 .overlay-child {
	    flex-direction: row-reverse !important;
	}
}

@container mapOverlay (min-width: 180px) {
	.poi-420269926464 .overlay-child {
	    flex-direction: row !important;
	}
}*/

@container mapOverlay (min-width: 100px) {
	.poi-420269926767 .overlay-child {
	    flex-direction: row-reverse !important;
	}
}

@container mapOverlay (min-width: 150px) {
	.poi-420269926767 .overlay-child {
	    flex-direction: row !important;
	}
}

