/*!**************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./src/www/css/map.css ***!
  \**************************************************************************************************************/
/* required styles */

.leaflet-pane,
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-tile-container,
.leaflet-map-pane svg,
.leaflet-map-pane canvas,
.leaflet-zoom-box,
.leaflet-image-layer,
.leaflet-layer {
	position: absolute;
	left: 0;
	top: 0;
	}
.leaflet-container {
	overflow: hidden;
	}
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow {
	-webkit-user-select: none;
	   -moz-user-select: none;
	        user-select: none;
	  -webkit-user-drag: none;
	}
/* Safari renders non-retina tile on retina better with this, but Chrome is worse */
.leaflet-safari .leaflet-tile {
	image-rendering: -webkit-optimize-contrast;
	}
/* hack that prevents hw layers "stretching" when loading new tiles */
.leaflet-safari .leaflet-tile-container {
	width: 1600px;
	height: 1600px;
	-webkit-transform-origin: 0 0;
	}
.leaflet-marker-icon,
.leaflet-marker-shadow {
	display: block;
	}
/* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */
/* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */
.leaflet-container .leaflet-overlay-pane svg,
.leaflet-container .leaflet-marker-pane img,
.leaflet-container .leaflet-tile-pane img,
.leaflet-container img.leaflet-image-layer {
	max-width: none !important;
	}

.leaflet-container.leaflet-touch-zoom {
	touch-action: pan-x pan-y;
	}
.leaflet-container.leaflet-touch-drag {
	-ms-touch-action: pinch-zoom;
	}
.leaflet-container.leaflet-touch-drag.leaflet-touch-drag {
	touch-action: none;
}
.leaflet-tile {
	filter: inherit;
	visibility: hidden;
	}
.leaflet-tile-loaded {
	visibility: inherit;
	}
.leaflet-zoom-box {
	width: 0;
	height: 0;
	box-sizing: border-box;
	z-index: 800;
	}
/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */
.leaflet-overlay-pane svg {
	-moz-user-select: none;
	}

.leaflet-pane         { z-index: 400; }

.leaflet-tile-pane    { z-index: 200; }
.leaflet-overlay-pane { z-index: 400; }
.leaflet-shadow-pane  { z-index: 500; }
.leaflet-marker-pane  { z-index: 600; }
.leaflet-tooltip-pane   { z-index: 650; }
.leaflet-polygon-tooltip-pane   { z-index: 650; }
.leaflet-step-tooltip-pane   { z-index: 750; }
.leaflet-popup-pane   { z-index: 700; }

.leaflet-map-pane svg    { z-index: 200; }

.leaflet-vml-shape {
	width: 1px;
	height: 1px;
	}
.lvml {
	behavior: url(#default#VML);
	display: inline-block;
	position: absolute;
	}


/* control positioning */

.leaflet-control {
	position: relative;
	z-index: 800;
	pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
	pointer-events: auto;
	}
.leaflet-top,
.leaflet-bottom {
	position: absolute;
	z-index: 1000;
	pointer-events: none;
	}
.leaflet-top {
	top: 0;
	width: 100%;
	}
.leaflet-right {
	right: 0;
	}
.leaflet-bottom {
	bottom: 0;
	}
.leaflet-left {
	left: 0;
	}
.leaflet-control {
	float: left;
	clear: both;
	}
.leaflet-right .leaflet-control {
	float: right;
	}
.leaflet-top .leaflet-control {
	margin-top: 10px;
	}
.leaflet-bottom .leaflet-control {
	margin-bottom: 10px;
	}
.leaflet-left .leaflet-control {
	margin-left: 10px;
	}
.leaflet-right .leaflet-control {
	margin-right: 10px;
	}


/* zoom and fade animations */

.leaflet-fade-anim .leaflet-tile {
	will-change: opacity;
	}
.leaflet-fade-anim .leaflet-popup {
	opacity: 0;
	transition: opacity 0.2s linear;
	}
.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
	opacity: 1;
	}
.leaflet-zoom-animated {
	transform-origin: 0 0;
	}
.leaflet-zoom-anim .leaflet-zoom-animated {
	will-change: transform;
	}
.leaflet-zoom-anim .leaflet-zoom-animated {
	/* commented bruno
	-webkit-transition: -webkit-transform 0.1s cubic-bezier(0,0,0.25,1);
	   -moz-transition:    -moz-transform 0.1s cubic-bezier(0,0,0.25,1);
	     -o-transition:      -o-transform 0.1s cubic-bezier(0,0,0.25,1);
	        transition:         transform 0.1s cubic-bezier(0,0,0.25,1);
	*/
	}
.leaflet-zoom-anim .leaflet-tile,
.leaflet-pan-anim .leaflet-tile {
	/* commented bruno
	-webkit-transition: none;
	   -moz-transition: none;
	     -o-transition: none;
	        transition: none;
	*/
	}

.leaflet-zoom-anim .leaflet-zoom-hide {
	visibility: hidden;
}


/* cursors */

.leaflet-interactive {
	cursor: pointer;
	}
.leaflet-grab {
	cursor:    -moz-grab;
	}
.leaflet-crosshair,
.leaflet-crosshair .leaflet-interactive {
	cursor: crosshair;
	}
.leaflet-popup-pane,
.leaflet-control {
	cursor: auto;
	}
.leaflet-dragging .leaflet-grab,
.leaflet-dragging .leaflet-grab .leaflet-interactive,
.leaflet-dragging .leaflet-marker-draggable {
	cursor: move;
	cursor:    -moz-grabbing;
	}

/* marker & overlays interactivity */
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-image-layer,
.leaflet-pane > svg path,
.leaflet-tile-container {
	pointer-events: none;
	}

.leaflet-marker-icon.leaflet-interactive,
.leaflet-image-layer.leaflet-interactive,
.leaflet-pane > svg path.leaflet-interactive {
	pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
	pointer-events: auto;
	}

/* visual tweaks */

.leaflet-container {
	background: #ddd;
	outline: 0;
	}
.leaflet-container a {
	color: #0078A8;
	}
.leaflet-container a.leaflet-active {
	outline: 2px solid orange;
	}
.leaflet-zoom-box {
	border: 2px dotted #38f;
	background: rgba(255,255,255,0.5);
	}


/* general typography */
.leaflet-container {
	font: 12px/1.5 "Helvetica Neue", Arial, Helvetica, sans-serif;
	}


/* general toolbar styles */

.leaflet-bar {
	box-shadow: 0 1px 5px rgba(0,0,0,0.65);
	border-radius: 4px;
	}
.leaflet-bar a,
.leaflet-bar a:hover {
	background-color: #fff;
	border-bottom: 1px solid #ccc;
	width: 26px;
	height: 26px;
	line-height: 26px;
	display: block;
	text-align: center;
	-webkit-text-decoration: none;
	text-decoration: none;
	color: black;
	}
.leaflet-bar a,
.leaflet-control-layers-toggle {
	background-position: 50% 50%;
	background-repeat: no-repeat;
	display: block;
	}
.leaflet-bar a:hover {
	background-color: #f4f4f4;
	}
.leaflet-bar a:first-child {
	border-top-left-radius: 4px;
	border-top-right-radius: 4px;
	}
.leaflet-bar a:last-child {
	border-bottom-left-radius: 4px;
	border-bottom-right-radius: 4px;
	border-bottom: none;
	}
.leaflet-bar a.leaflet-disabled {
	cursor: default;
	background-color: #f4f4f4;
	color: #bbb;
	}

.leaflet-touch .leaflet-bar a {
	width: 56px;
	height: 56px;
	padding: 0;
	min-width: 0;
	margin-bottom: 10%;
	box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12);
	border-radius: 50%;
	}


/* zoom control */

.leaflet-control-zoom-in,
.leaflet-control-zoom-out {
	font: bold 18px 'Lucida Console', Monaco, monospace;
	text-indent: 1px;
	}
.leaflet-control-zoom-out {
	font-size: 20px;
	text-align: center;
	}
.leaflet-control-zoom-button{
	position: relative;
	top: 30%;
}

#zapt-currentPosition{
	color: #556680;
}

#zapt-cancelNavigation{
	background-color: #556680;
	color: #fff;
}

.leaflet-touch .leaflet-control-zoom-in {
	font-size: 22px;
	}
.leaflet-touch .leaflet-control-zoom-out {
	font-size: 24px;
	}


/* layers control */

.leaflet-control-layers {
	box-shadow: 0 1px 5px rgba(0,0,0,0.4);
	background: #fff;
	border-radius: 5px;
	}
/* .leaflet-control-layers-toggle {
	background-image: url(images/layers.png);
	width: 36px;
	height: 36px;
	}
.leaflet-retina .leaflet-control-layers-toggle {
	background-image: url(images/layers-2x.png);
	background-size: 26px 26px;
	} */
.leaflet-touch .leaflet-control-layers-toggle {
	width: 44px;
	height: 44px;
	}
.leaflet-control-layers .leaflet-control-layers-list,
.leaflet-control-layers-expanded .leaflet-control-layers-toggle {
	display: none;
	}
.leaflet-control-layers-expanded .leaflet-control-layers-list {
	display: block;
	position: relative;
	}
.leaflet-control-layers-expanded {
	padding: 6px 10px 6px 6px;
	color: #333;
	background: #fff;
	}
.leaflet-control-layers-scrollbar {
	overflow-y: scroll;
	padding-right: 5px;
	}
.leaflet-control-layers-selector {
	margin-top: 2px;
	position: relative;
	top: 1px;
	}
.leaflet-control-layers label {
	display: block;
	}
.leaflet-control-layers-separator {
	height: 0;
	border-top: 1px solid #ddd;
	margin: 5px -10px 5px -6px;
	}

/* Default icon URLs */
/* .leaflet-default-icon-path {
	background-image: url(images/marker-icon.png);
	} */


/* attribution and scale controls */

.leaflet-container .leaflet-control-attribution {
	margin: 0;
	}
.leaflet-control-attribution,
.leaflet-control-scale-line {
	padding: 0 5px;
	color: #333;
	}
.leaflet-control-attribution a {
	-webkit-text-decoration: none;
	text-decoration: none;
	}
.leaflet-control-attribution a:hover {
	-webkit-text-decoration: underline;
	text-decoration: underline;
	}
.leaflet-container .leaflet-control-attribution,
.leaflet-container .leaflet-control-scale {
	font-size: 11px;
	}
.leaflet-left .leaflet-control-scale {
	margin-left: 5px;
	}
.leaflet-bottom .leaflet-control-scale {
	margin-bottom: 5px;
	}
.leaflet-control-scale-line {
	border-top: none;
	line-height: 1.1;
	padding: 2px 5px 1px;
	font-size: 11px;
	white-space: nowrap;
	overflow: hidden;
	box-sizing: border-box;

	background: #fff;
	background: transparent;
	}
.leaflet-control-scale-line:not(:first-child) {

	border-bottom: none;
	margin-top: -2px;
	}
.leaflet-control-scale-line:not(:first-child):not(:last-child) {

	}

.leaflet-touch .leaflet-control-attribution,
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
	box-shadow: none;
	}
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {

	background-clip: padding-box;
	}


/* popup */

.leaflet-popup {
	position: absolute;
	text-align: center;
	margin-bottom: 20px;
  }
.leaflet-popup-content-wrapper {
	width: 100%;
}
.leaflet-popup-content-wrapper-no-image {
	padding-right: 25px;
}
.leaflet-popup-content {
	max-width: 100%;
}
.leaflet-popup-bottom {
  position: absolute;
  text-align: center;
  margin-bottom: 0px;
  top: 20px;
  }
.leaflet-popup-content p {
	margin: 18px 0;
	}
.leaflet-popup-tip-container {
	width: 40px;
	height: 20px;
	position: absolute;
	left: 50%;
	margin-left: -20px;
	overflow: hidden;
	pointer-events: none;
	bottom: 0;
	transform: translateY(100%);
}
.leaflet-popup-tip-container-bottom {
  width: 40px;
  height: 20px;
  position: absolute;
  left: 50%;
  margin-left: -20px;
  overflow: hidden;
  pointer-events: none;
  top: -20px;
  transform: rotate(180deg);
  }
.leaflet-popup-tip {
	width: 17px;
	height: 17px;
	padding: 1px;

	margin: -10px auto 0;
	transform: rotate(45deg);
	}
.leaflet-popup-tip {
	background: rgba(234, 234, 236, 0.8);;
	color: #333;
	box-shadow: 0 3px 14px rgba(0,0,0,0.4);
	}
.leaflet-container a.leaflet-popup-close-button {
	position: relative;
	float: right;
	padding-top: 4px;
	padding-right: 8px;
	text-align: center;
	margin-top: -24px;
	top: 24px;
	height: 24px;
	font: 18px/14px Tahoma, Verdana, sans-serif;
	color: #c3c3c3;
	-webkit-text-decoration: none;
	text-decoration: none;
	font-weight: bold;
	background: transparent;
	outline: none;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  }
.leaflet-container a.leaflet-popup-close-button:hover {
	color: #999;
	}
.leaflet-popup-scrolled {
	overflow: auto;
	border-bottom: 1px solid #ddd;
	border-top: 1px solid #ddd;
	}

.leaflet-oldie .leaflet-popup-content-wrapper {
	zoom: 1;
	}
.leaflet-oldie .leaflet-popup-tip {
	width: 24px;
	margin: 0 auto;

	-ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";
	filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);
	}
.leaflet-oldie .leaflet-popup-tip-container {
	margin-top: -1px;
	}

.leaflet-oldie .leaflet-control-zoom,
.leaflet-oldie .leaflet-control-layers,
.leaflet-oldie .leaflet-popup-content-wrapper,
.leaflet-oldie .leaflet-popup-tip {
	border: 1px solid #999;
	}


/* div icon */

.leaflet-div-icon {
	background: #fff;
	border: 1px solid #666;
	}


/* Tooltip */
/* Base styles for the element that has a tooltip */
.leaflet-tooltip {
	position: absolute;
	padding: 6px;
	background-color: #fff;
	border: 1px solid #fff;
	border-radius: 3px;
	color: #222;
	white-space: nowrap;
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
	pointer-events: none;
	box-shadow: 0 1px 3px rgba(0,0,0,0.4);
	}
.leaflet-tooltip.leaflet-clickable {
	cursor: pointer;
	pointer-events: auto;
	}
.leaflet-tooltip-top:before,
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
	position: absolute;
	pointer-events: none;
	border: 6px solid transparent;
	background: transparent;
	content: "";
	}

/* Directions */

.leaflet-tooltip-bottom {
	margin-top: 6px;
}
.leaflet-tooltip-top {
	margin-top: -6px;
}
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-top:before {
	left: 50%;
	margin-left: -6px;
	}
.leaflet-tooltip-top:before {
	bottom: 0;
	margin-bottom: -12px;
	border-top-color: #fff;
	}
.leaflet-tooltip-bottom:before {
	top: 0;
	margin-top: -12px;
	margin-left: -6px;
	border-bottom-color: #fff;
	}
.leaflet-tooltip-left {
	margin-left: -6px;
}
.leaflet-tooltip-right {
	margin-left: 6px;
}
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
	top: 50%;
	margin-top: -6px;
	}
.leaflet-tooltip-left:before {
	right: 0;
	margin-right: -12px;
	border-left-color: #fff;
	}
.leaflet-tooltip-right:before {
	left: 0;
	margin-left: -12px;
	border-right-color: #fff;
	}

img.leaflet-image-layer {
	transform: translateZ(0);
	transform: translate3d(0, 0, 0);
	backface-visibility: hidden;
	-ms-perspective: 1000;
	perspective: 1000;
}

/* Marker setup */
/* .awesome-marker {
  background: url('../img/markers-soft.png') no-repeat 0 0;
  width: 35px;
  height: 46px;
  position:absolute;
  left:0;
  top:0;
  display: block;
  text-align: center;
} */

/* .awesome-marker-shadow {
  background: url('../img/markers-shadow.png') no-repeat 0 0;
  width: 36px;
  height: 16px;
} */


/* Marker setup */
/* .awesome-marker {
  background: url('../img/markers-soft.png') no-repeat 0 0;
  width: 35px;
  height: 46px;
  position:absolute;
  left:0;
  top:0;
  display: block;
  text-align: center;
} */

/* .awesome-marker-shadow {
  background: url('../img/markers-shadow.png') no-repeat 0 0;
  width: 36px;
  height: 16px;
} */

/* Retina displays */
/* @media (min--moz-device-pixel-ratio: 1.5),(-o-min-device-pixel-ratio: 3/2),
(-webkit-min-device-pixel-ratio: 1.5),(min-device-pixel-ratio: 1.5),(min-resolution: 1.5dppx) {
 .awesome-marker {
  background-image: url('../img/markers-soft@2x.png');
  background-size: 720px 92px;
 }
 .awesome-marker-shadow {
  background-image: url('../img/markers-shadow@2x.png');
  background-size: 35px 16px;
 }
} */

.awesome-marker i {
  color: #333;
  margin-top: 10px;
  display: inline-block;
  font-size: 14px;
}

.awesome-marker .icon-white {
  color: #fff;
}

/* Colors */
.awesome-marker-icon-red {
  background-position: 0 0;
}

.awesome-marker-icon-darkred {
  background-position: -180px 0;
}

.awesome-marker-icon-lightred {
  background-position: -360px 0;
}

.awesome-marker-icon-orange {
  background-position: -36px 0;
}

.awesome-marker-icon-beige {
  background-position: -396px 0;
}

.awesome-marker-icon-green {
  background-position: -72px 0;
}

.awesome-marker-icon-darkgreen {
  background-position: -252px 0;
}

.awesome-marker-icon-lightgreen {
  background-position: -432px 0;
}

.awesome-marker-icon-blue {
  background-position: -108px 0;
}

.awesome-marker-icon-darkblue {
  background-position: -216px 0;
}

.awesome-marker-icon-lightblue {
  background-position: -468px 0;
}

.awesome-marker-icon-purple {
  background-position: -144px 0;
}

.awesome-marker-icon-darkpurple {
  background-position: -288px 0;
}

.awesome-marker-icon-pink {
  background-position: -504px 0;
}

.awesome-marker-icon-cadetblue {
  background-position: -324px 0;
}

.awesome-marker-icon-white {
  background-position: -574px 0;
}

.awesome-marker-icon-gray {
  background-position: -648px 0;
}

.awesome-marker-icon-lightgray {
  background-position: -612px 0;
}

.awesome-marker-icon-black {
  background-position: -682px 0;
}

.hidePopupBar .leaflet-popup-tip-container {
  display: none;
}

.hidePopupBar .leaflet-popup-tip-container-bottom {
  display: none;
}

.hidePopupBar.leaflet-popup-top {
  margin-bottom: 40px;
}

.leaflet-popup-tip {
  box-shadow: none !important;
}

.leaflet-popup-bottom .transition-popup-title {
  z-index: 100000
}

.zapt-att-control-logo {
	max-width: 180px;
}

.zapt-att-control {
	position: absolute;
	left: 0.5rem;
	bottom: 1.25rem;
	background-color: transparent;
	border-radius: 8px;
	overflow: hidden;
	float: right;
	pointer-events: all;
}

.leaflet-bottom.leaflet-right {
	width: 100%;
}

.leaflet-bottom.leaflet-right .leaflet-control-attribution.leaflet-control {
	width: 100%;	
}

.pin-number-return:after {
    content: "";
    width: 20px;
    height: 20px;
    background-image: url(/static/media/reload.622fc868.svg)!important;
    background-repeat: no-repeat;
    background-position: 50%!important;
    background-size: contain;
    position: absolute;
    left: -10%
}

.next-step-pin,
  .next-step-pin span {
	  background: #fff;
	  border-radius: 50%;
	  width: 10px;
	  height: 10px;
	  position: absolute;
	  bottom: -5px;
	  left: 50%;
	  transform: translateX(-50%);
	  z-index: -1;
  }
  .next-step-pin span {
	  background: transparent;
	  bottom: 0;
	  left: 0;
	  transform: none;
  }
  .next-step-pin:before,
  .next-step-pin:after,
  .next-step-pin span {
	  border-radius: 50%;
	  content: '';
	  position: absolute;
	  height: 10px;
	  width: 10px;
	  left: 50%;
	  top: 50%;
	  opacity: .8;
	  transform: translate(-50%,-50%);
	  animation: pulse 2.1s infinite linear;
  }
  .next-step-pin:after { animation-delay: .7s; }
  @keyframes pulse {
	  0%{
		  border-width: 3px;
		  opacity: .8;
		  height: 10px;
		  width: 10px;
	  }
	  100%{
		  border-width: 0;
		  opacity: 0;
		  height: 40px;
		  width: 40px;
	  }
  }
.floor-attribution {
	font-size: 1.1rem;
	font-weight: 500;
	font-family: "Roboto", "Helvetica", "Arial", "sans-serif";
	line-height: 1.46429em;
	text-shadow: -1px 0 white, 0 1px white, 1px 0 white, 0 -1px white;
	padding: 12px;
}

.floor-attribution-center {
	display: flex;
	justify-content: center;
}

.floor-attribution-left {
	float: left;
}

.floor-attribution-right {
	float: right;
}

.leaflet-top > .leaflet-control {
	width: 100%;
}

@media only screen and (max-width: 600px) {
	.zapt-att-control-logo {
		max-width: 90px;
	}

}

.map-transition-icon {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	border: 1px solid #000000;
}

.svg-map-transition-icon {
	margin-left: 3px;
	margin-top: 2px;
}


.leaflet-tooltip-simple-white {
	position: absolute;
    padding: 2px;
    color: white;
    white-space: nowrap;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    pointer-events: none;
    font-family: "Roboto", "Helvetica", "Arial", sans-serif;
	box-shadow: none;
	border-radius: 0;
	border-radius: initial;
	border: none;
	background-color: transparent;
	background-color: initial;
	font-size: 12px;
	font-weight: 500;
}

.leaflet-tooltip-simple-black {
	position: absolute;
    padding: 2px;
    color: black;
    white-space: nowrap;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    pointer-events: none;
    font-family: "Roboto", "Helvetica", "Arial", sans-serif;
	box-shadow: none;
	border-radius: 0;
	border-radius: initial;
	border: none;
	background-color: transparent;
	background-color: initial;
	font-size: 12px;
	font-weight: 500;
}

.leaflet-tooltip-border-black {
	position: absolute;
    padding: 2px;
    color: black;
	text-shadow: -1px -1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff, 1px 1px 0 #fff;
    white-space: nowrap;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    pointer-events: none;
    font-family: "Roboto", "Helvetica", "Arial", sans-serif;
	box-shadow: none;
	border-radius: 0;
	border-radius: initial;
	border: none;
	background-color: transparent;
	background-color: initial;
	font-size: 12px;
	font-weight: bold;
}

.leaflet-tooltip-border-white {
	position: absolute;
    padding: 2px;
    color: white;
	text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;
    white-space: nowrap;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    pointer-events: none;
    font-family: "Roboto", "Helvetica", "Arial", sans-serif;
	box-shadow: none;
	border-radius: 0;
	border-radius: initial;
	border: none;
	background-color: transparent;
	background-color: initial;
	font-size: 12px;
	font-weight: bold;
}

.leaflet-tooltip-frame-black {
	position: absolute;
    padding: 2px;
    color: black;
	text-shadow: -1px -1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff, 1px 1px 0 #fff;
    white-space: nowrap;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    pointer-events: none;
    font-family: "Roboto", "Helvetica", "Arial", sans-serif;
	font-size: 12px;
	font-weight: bold;
}

.leaflet-tooltip-frame-white {
	position: absolute;
    padding: 2px;
    color: white;
    white-space: nowrap;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    pointer-events: none;
    font-family: "Roboto", "Helvetica", "Arial", sans-serif;
	font-size: 12px;
	background-color: black;
	border: medium none currentcolor;
	border: initial;
}

.leaflet-tooltip-simple-black-board {
	position: absolute;
    padding: 2px;
    color: black;
	text-shadow: -1px -1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff, 1px 1px 0 #fff;
    white-space: nowrap;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    pointer-events: none;
    font-family: "Roboto", "Helvetica", "Arial", sans-serif;
	font-size: 12px;
	font-weight: bold;
}

.leaflet-tooltip-simple-white-board {
	position: absolute;
    padding: 2px;
    color: black;
    white-space: nowrap;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    pointer-events: none;
    font-family: "Roboto", "Helvetica", "Arial", sans-serif;
	font-size: 14px;
}

.path-name-tooltip {
  background: yellow;
  text-align: center;
  border-radius: 6px;
  padding: 2px 8px;
  position: absolute;
  z-index: 1;
  white-space: nowrap;
  bottom: 0px;
  box-shadow: 0 3px 14px rgba(0,0,0,0.4);
  font-size: 14px;
  font-weight: bold;
  color: rgba(0, 0, 0, 0.870588);
  font-family: Roboto, sans-serif;
}

.path-name-tooltip-left {
  bottom: 0;
  margin-bottom: -12px;
  right: 0;
  margin-right: 12px;
}

.path-name-tooltip-right {
  bottom: 0;
  margin-bottom: -12px;
  left: 0;
  margin-left: 12px;
}

.path-name-tooltip::before {
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  background: inherit;
}

.path-name-tooltip-right::before {
  top: 50%;
  left: 0%;
  margin-left: -4px;
  transform: translateY(-50%) rotate(45deg);
}

.path-name-tooltip-left::before {
  top: 50%;
  left: 100%;
  margin-left: 4px;
  transform: translateY(-50%) translateX(-100%) rotate(45deg);
}
.destination-poi-container {
	background: transparent;
	border: none;
}

.destination-poi {
	width: 24px;
	height: 24px;
	background: #000;
	color: #fff;
	border-radius: 8px;
	font-weight: 600;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 11px;
}

.car-marker-icon {
	background-color: transparent !important;
	background-color: initial !important;
	border: medium none currentcolor !important;
	border: initial !important;
	z-index: 1337 !important;
}

.car-marker-image {
	position: relative;
	top: 3px;
	background-color: white;
	width: 14px;
	left: 3.5px;
}

.car-marker-div {
	width: 21px;
	height: 21px;
	background-color: white;
	border: 1px #8b8888;
	border-radius: 50%;
	border-style: solid;
	position: relative;
	bottom: 43.5px;
	left: 1px;
}

.leaflet-building-floor-pane {
	z-index: 300
}

.leaflet-door-pane {
	z-index: 600
}

.leaflet-map-tiles-fallback-pane {
	z-index: 199;
}

.leaflet-cluster-anim .leaflet-marker-icon, .leaflet-cluster-anim .leaflet-marker-shadow {
	transition: transform 0.3s ease-out, opacity 0.3s ease-in;
}

.leaflet-cluster-spider-leg {
	/* stroke-dashoffset (duration and function) should match with leaflet-marker-icon transform in order to track it exactly */
	transition: stroke-dashoffset 0.3s ease-out, stroke-opacity 0.3s ease-in;
}
.marker-cluster-small {
	background-color: rgba(181, 226, 140, 0.6);
}

.marker-cluster-small div {
	background-color: rgba(110, 204, 57, 0.6);
}

.marker-cluster-medium {
	background-color: rgba(241, 211, 87, 0.6);
}

.marker-cluster-medium div {
	background-color: rgba(240, 194, 12, 0.6);
}

.marker-cluster-large {
	background-color: rgba(253, 156, 115, 0.6);
}

.marker-cluster-large div {
	background-color: rgba(241, 128, 23, 0.6);
}

/* IE 6-8 fallback colors */
.leaflet-oldie .marker-cluster-small {
	background-color: rgb(181, 226, 140);
}

.leaflet-oldie .marker-cluster-small div {
	background-color: rgb(110, 204, 57);
}

.leaflet-oldie .marker-cluster-medium {
	background-color: rgb(241, 211, 87);
}

.leaflet-oldie .marker-cluster-medium div {
	background-color: rgb(240, 194, 12);
}

.leaflet-oldie .marker-cluster-large {
	background-color: rgb(253, 156, 115);
}

.leaflet-oldie .marker-cluster-large div {
	background-color: rgb(241, 128, 23);
}

.marker-cluster {
	background-clip: padding-box;
	border-radius: 20px;
}

.marker-cluster div {
	width: 30px;
	height: 30px;
	margin-left: 5px;
	margin-top: 5px;

	text-align: center;
	border-radius: 15px;
	font: 12px "Helvetica Neue", Arial, Helvetica, sans-serif;
}

.marker-cluster span {
	line-height: 30px;
}

.leaflet-control-attribution.leaflet-control {
    pointer-events: none;
}

.zapt-path-namer-pane {
  z-index: 440 !important;
	pointer-events: none;
}

#compass-direction-ico {
	width: 24px;
	height: 24px;
}

#compass-direction-ico .pin {
	color: rgba(var(--primary), 1);
}
/*!***************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./src/www/css/zapt.css ***!
  \***************************************************************************************************************/
*, *::before, *::after { box-sizing: border-box; }
@media (prefers-reduced-motion: no-preference) { :root { scroll-behavior: smooth; } }
body {
	margin: 0;
	-webkit-text-size-adjust: 100%;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
hr {
	margin: 1rem 0;
	color: inherit;
	background-color: currentColor;
	border: 0;
	opacity: 0.25;
}
hr:not([size]) { height: 1px; }
p {
	margin-top: 0;
	margin-bottom: .75rem;
}
strong { font-weight: 700; }
small { font-size: 0.875em; }
a:not([href]):not([class]), a:not([href]):not([class]):hover {
  color: inherit;
  -webkit-text-decoration: none;
  text-decoration: none;
}
img,
svg { vertical-align: middle; }
button { border-radius: 0; }
button:focus:not(:focus-visible) { outline: 0; }
input,
button,
select,
optgroup,
textarea {
	margin: 0;
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
}
button,
select { text-transform: none; }
[role=button] { cursor: pointer; }
select { word-wrap: normal; }
select:disabled { opacity: 1; }
[list]::-webkit-calendar-picker-indicator { display: none; }
button,
[type=button],
[type=reset],
[type=submit] { -webkit-appearance: button; -moz-appearance: button; appearance: button; }
button:not(:disabled),
[type=button]:not(:disabled),
[type=reset]:not(:disabled),
[type=submit]:not(:disabled) { cursor: pointer; }
::-moz-focus-inner { padding: 0; border-style: none; }
textarea { resize: vertical; }
iframe { border: 0; }
[hidden] { display: none !important; }
.d-none { display: none !important; }
.margin-none {margin: 0 !important; }
.width-100 {width: 100% !important; }

:root {
	--bodyBgColor: 255, 255, 255; /* #FFFFFF */
	--background: 242, 242, 242; /* #F2F2F2 */
	--backgroundContrast: 204, 204, 204; /* #CCCCCC */
	--text: 59, 60, 67; /* #3B3C43; */
	--primary: 25, 60, 240; /* #193CF0 */
	--primaryContrast: 243, 243, 243; /* #F3F3F3 */
	--secondary: 255, 98, 9; /* #FF6209 */
	--secondaryContrast: 255, 246, 242; /* #FFF6F2 */
	--shadow: 55, 55, 55; /* #383838 */
	--white: 255, 255, 255; /* #FFFFFF */
}

body {
	background-color: rgba(255, 255, 255,1);
	background-color: rgba(var(--bodyBgColor),1);
	font-family: 'Inter', sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.25;
	color: rgba(59, 60, 67, 1);
	color: rgba(var(--text), 1);
	letter-spacing: -.04em;
	position: relative;
}

a {
	-webkit-text-decoration: none;
	text-decoration: none;
	color: rgba(25, 60, 240,1);
	color: rgba(var(--primary),1);
}
a:hover {
	color: rgba(255, 98, 9,1);
	color: rgba(var(--secondary),1);
}

figure {
	margin: 0
}
.app {
	display: grid;
	grid-template-columns: 400px 1fr;
	grid-template-rows: auto 1fr auto;
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}
.map-container,
.map-container-360 {
	background-color: rgba(255, 255, 255,1);
	background-color: rgba(var(--bodyBgColor),1);
	display: flex;
	max-height: none;
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1;
}
.map-container iframe,
.map-container img,
.map-container-360 iframe {
	display: block;
	width: 100%;
	height: 100%;
}
.map-container img {
	width: auto;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	transform-origin: left top;
}
.ico {
	display: block;
	flex-shrink: 0;
}
.ico use { color: rgba(243, 243, 243,1); color: rgba(var(--primaryContrast),1); }
.header-app {
	position: relative;
	z-index: 11;
	pointer-events: none;
	display: grid;
	grid-column: span 2;
	grid-template-columns: 400px auto;
}
.header-app > * {
	pointer-events: all;
}
.header-app::before {
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.6) 0%, rgba(255, 255, 255, 0) 100%), rgba(204, 204, 204, 0.2);
	background: linear-gradient(180deg, rgba(var(--white), 0.6) 0%, rgba(var(--white), 0) 100%), rgba(204, 204, 204, 0.2);
	box-shadow: 0 40px 80px rgba(55, 55, 55, .25);
	box-shadow: 0 40px 80px rgba(var(--shadow), .25);
	backdrop-filter: blur(8px);
	display: none;
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}
.search-container {
	padding: 1rem;
	position: relative;
	max-width: 400px;
	width: 100%;
	z-index: 10;
}

.search-field {
	background: linear-gradient(180deg, rgba(255, 255, 255, .28) 0%, rgba(255, 255, 255, .7) 100%), rgba(255, 255, 255, .2);
	background: linear-gradient(180deg, rgba(var(--white), .28) 0%, rgba(var(--white), .7) 100%), rgba(var(--white), .2);
	box-shadow: 0 8px 10px -7px rgba(55, 55, 55, 0.3), 0 26px 30px -10px rgba(55, 55, 55, 0.15), inset 0 4px 10px rgba(22, 17, 47, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.9);
	box-shadow: 0 8px 10px -7px rgba(var(--shadow), 0.3), 0 26px 30px -10px rgba(var(--shadow), 0.15), inset 0 4px 10px rgba(22, 17, 47, 0.1), inset 0 1px 0 rgba(var(--white), 0.9);
	backdrop-filter: blur(8px);
	border-radius: 8px;
	display: flex;
}
.search-input {
	background: transparent;
	border: none;
	display: block;
	width: 100%;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.25;
	letter-spacing: -.04em;
	color: rgba(59, 60, 67, 1);
	color: rgba(var(--text), 1);
	padding: .875rem 0;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
.search-input:focus {
	outline: none;
}
.search-input::-moz-placeholder {
	color: rgba(59, 60, 67, 1);
	color: rgba(var(--text), 1);
}
.search-input::placeholder {
	color: rgba(59, 60, 67, 1);
	color: rgba(var(--text), 1);
}
.search-buttons {
	display: flex;
	align-items: center;
	margin: 0 .25rem;
}
.search-button,
.menu-button {
	background: transparent;
	border: none;
	border-radius: .25rem;
	display: flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
}
.menu-button {
	margin: auto .25rem;
}
.bt-clear-term {
	display: none;
}
.bt-clear-term.show {
	display: flex;
}

.autocomplete-item .ico {
	fill: rgba(59, 60, 67,.4);
	fill: rgba(var(--text),.4);
}
.autocomplete-text {
	flex-grow: 1;
	padding: .125rem 0;
}
.menu-header {
	background: linear-gradient(180deg, rgba(255, 255, 255, .5) 0%, rgba(255, 255, 255, 0) 100%), rgba(234, 234, 236, 0.7);
	background: linear-gradient(180deg, rgba(var(--white), .5) 0%, rgba(var(--white), 0) 100%), rgba(234, 234, 236, 0.7);
	box-shadow: 0 2px 3px -2px rgba(55, 55, 55, .25), 0 10px 30px -10px rgba(55, 55, 55, .25), inset 0 0 1px rgba(255, 255, 255, .9);
	box-shadow: 0 2px 3px -2px rgba(var(--shadow), .25), 0 10px 30px -10px rgba(var(--shadow), .25), inset 0 0 1px rgba(var(--white), .9);
	backdrop-filter: blur(8px);
	border-radius: 8px;
	width: 170px;
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: -.04rem;
	margin-bottom: .75rem;
	overflow: hidden;
	position: absolute;

	top: calc(100% + 1rem);
	left: 1.25rem;
	transition: all .2s linear;
	opacity: 0;
	visibility: hidden;
	z-index: -1;
}
.menu-header.show {
	top: calc(100% - .5rem);
	opacity: 1;
	visibility: visible;
	z-index: 1;
}
.menu-header-link {
	display: flex;
	align-items: center;
	gap: .625rem;
	color: rgba(59, 60, 67, 1);
	color: rgba(var(--text), 1);
	padding: .625rem .75rem;
	margin: 0;
	cursor: pointer;
}
.scrollbar-x::-webkit-scrollbar {
	height: 6px;
}
.scrollbar-x::-webkit-scrollbar-track {
	background: rgba(255, 255, 255, .25);
	background: rgba(var(--white), .25);
	border-radius: 3px;
}
.scrollbar-x::-webkit-scrollbar-thumb {
	background: rgba(255, 255, 255, .8);
	background: rgba(var(--white), .8);
	border-radius: 3px;
}
.scrollbar-x::-webkit-scrollbar-thumb:hover {
	background: rgba(255, 255, 255, 1);
	background: rgba(var(--white), 1);
}
.scrollbar-y::-webkit-scrollbar,
.card-content::-webkit-scrollbar,
.block-content::-webkit-scrollbar {
	width: 6px;
}
.scrollbar-y::-webkit-scrollbar-track,
.card-content::-webkit-scrollbar-track,
.block-content::-webkit-scrollbar-track {
	background: rgba(55, 55, 55, .1);
	background: rgba(var(--shadow), .1);
	border-radius: 3px;
}
.scrollbar-y::-webkit-scrollbar-thumb,
.card-content::-webkit-scrollbar-thumb,
.block-content::-webkit-scrollbar-thumb {
	background: rgba(55, 55, 55, .5);
	background: rgba(var(--shadow), .5);
	border-radius: 3px;
}
.scrollbar-y::-webkit-scrollbar-thumb:hover,
.card-content::-webkit-scrollbar-thumb:hover,
.block-content::-webkit-scrollbar-thumb:hover {
	background: rgba(55, 55, 55, .7);
	background: rgba(var(--shadow), .7);
}
.categories-items {
	display: flex;
	overflow-x: auto;
	overflow-y: hidden;
}
.category-item {
	display: flex;
	flex-shrink: 0;
	font-size: .75rem;
	font-weight: 500;
	line-height: 1.25;
	margin: 0 .125rem;
	padding-bottom: .25rem;
	position: static;
}
.category-item>.category-link {
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.8) 0%, rgba(255, 255, 255, 0) 47.19%), rgba(240, 240, 242, 0.8);
	background: linear-gradient(180deg, rgba(var(--white), 0.8) 0%, rgba(var(--white), 0) 47.19%), rgba(240, 240, 242, 0.8);
	box-shadow: 0 1px 1px rgba(55, 55, 55, 0.2), 0 3px 4px rgba(55, 55, 55, 0.08), inset 0 -1px 0 rgba(22, 20, 31, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.6);
	box-shadow: 0 1px 1px rgba(var(--shadow), 0.2), 0 3px 4px rgba(var(--shadow), 0.08), inset 0 -1px 0 rgba(22, 20, 31, 0.08), inset 0 1px 0 rgba(var(--white), 0.6);
	backdrop-filter: blur(8px);
	border-radius: 8px 8px 2px 2px;
	display: flex;
	align-items: center;
	color: rgba(59, 60, 67, 1);
	color: rgba(var(--text), 1);
	padding: .5rem .75rem;
	white-space: nowrap;
}
.category-item>.category-link:hover,
.category-item:hover>.category-link {
	background: rgba(255, 255, 255, 1);
	background: rgba(var(--white), 1);
}
.category-item.current>.category-link,
.category-item.current>.category-link:hover {
	background: rgba(25, 60, 240, 1);
	background: rgba(var(--primary), 1);
	box-shadow: none;
	color: rgba(255, 255, 255, 1);
	color: rgba(var(--white), 1);
}
.category-item>.category-link .ico {
	margin: .125rem 0 0 .5rem;
	fill: rgba(59, 60, 67, 1);
	fill: rgba(var(--text), 1);
	opacity: .8;
	pointer-events: none;
}
.subcategories-container {
	display: none;
	position: absolute;
	z-index: 100;
}
.subcategory-menu {
	background: linear-gradient(180deg, rgba(255, 255, 255, .5) 0%, rgba(255, 255, 255, 0) 100%), rgba(255, 255, 255, .4);
	background: linear-gradient(180deg, rgba(var(--white), .5) 0%, rgba(var(--white), 0) 100%), rgba(var(--white), .4);
	box-shadow: 0 1px 1px -2px rgba(55, 55, 55, .15), 0 10px 30px -10px rgba(55, 55, 55, .25), inset 0 1px 0 rgba(255, 255, 255, 0.6), inset 0 0 1px rgba(255, 255, 255, .9);
	box-shadow: 0 1px 1px -2px rgba(var(--shadow), .15), 0 10px 30px -10px rgba(var(--shadow), .25), inset 0 1px 0 rgba(var(--white), 0.6), inset 0 0 1px rgba(var(--white), .9);
	backdrop-filter: blur(8px);
	border-radius: 8px;
	width: 150px;
	padding: .5rem 0;
}
.subcategory-menu .category-link {
	display: block;
	color: rgba(59, 60, 67, 1);
	color: rgba(var(--text), 1);
	padding: .5rem 1rem;
}
.block-container {
	background: linear-gradient(180deg, rgba(255, 255, 255, .5) 0%, rgba(255, 255, 255, 0) 100%), rgba(255, 255, 255, .4);
	background: linear-gradient(180deg, rgba(var(--white), .5) 0%, rgba(var(--white), 0) 100%), rgba(var(--white), .4);
	box-shadow: 0 1px 1px -2px rgba(55, 55, 55, .15), 0 10px 30px -10px rgba(55, 55, 55, .25), inset 0 1px 0 rgba(255, 255, 255, 0.6), inset 0 0 1px rgba(255, 255, 255, .9);
	box-shadow: 0 1px 1px -2px rgba(var(--shadow), .15), 0 10px 30px -10px rgba(var(--shadow), .25), inset 0 1px 0 rgba(var(--white), 0.6), inset 0 0 1px rgba(var(--white), .9);
	backdrop-filter: blur(16px);
	border-radius: 8px;
	display: flex;
	flex-direction: column;
	height: auto;
	max-height: 100%;
	overflow: hidden;
	position: relative;
}
.block-header {
	background: rgba(255, 255, 255, 1);
	background: rgba(var(--white), 1);
	box-shadow: 0 1px 1px rgba(22, 20, 31, 0.05);
	display: flex;
	padding: .25rem .25rem .25rem .75rem;
}
.block-header-ico {
	width: 24px;
	height: 24px;
	margin: .25rem .625rem .25rem 0;
}
.block-title {
	display: flex;
	align-items: center;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.25;
	margin: .25rem .5rem .25rem 0;
}
.block-title-thin {
	display: block;
	font-weight: 400;
	margin-right: .5rem;
}
.block-header-buttons {
	display: flex;
	margin: 0 0 0 auto;
}
.btn-ico {
	background-color: transparent;
	border: none;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 32px;
	height: 32px;
	padding: 0;
	cursor: pointer;
}
.btn-ico .ico {
	pointer-events: none;
}
.block-header-button {
	background-color: transparent;
	border: none;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 32px;
	height: 32px;
	padding: 0;
	cursor: pointer;
}
.block-header-button .ico {
	fill: rgba(59, 60, 67, .6);
	fill: rgba(var(--text), .6);
	pointer-events: none;
}
.block-header-button:hover .ico {
	fill: rgba(59, 60, 67, 1);
	fill: rgba(var(--text), 1);
}
.block-container::after {
	background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%);
	background: linear-gradient(180deg, rgba(var(--white), 0) 0%, rgba(var(--white), 1) 100%);
	display: block;
	content: '';
	width: 100%;
	height: 25px;
	position: absolute;
	bottom: 0;
	left: 0;
}
.block-content {
	display: flex;
	flex-direction: column;
	height: auto;
	max-height: 100%;
	overflow-x: hidden;
	overflow-y: auto;
}
.map-control {
	display: flex;
	flex-direction: column;
	gap: .5rem;
	position: absolute;
	right: 1rem;
	bottom: 3.5rem;
	z-index: 500;
}
.map-control-button-container {
	background: linear-gradient(180deg, rgba(255, 255, 255, .5) 0%, rgba(255, 255, 255, 0) 100%), rgba(255, 255, 255, .4);
	background: linear-gradient(180deg, rgba(var(--white), .5) 0%, rgba(var(--white), 0) 100%), rgba(var(--white), .4);
	box-shadow: 0 1px 1px -2px rgba(55, 55, 55, .15), 0 10px 30px -10px rgba(55, 55, 55, .25), inset 0 1px 0 rgba(255, 255, 255, .6), inset 0 0 1px rgba(255, 255, 255, .9);
	box-shadow: 0 1px 1px -2px rgba(var(--shadow), .15), 0 10px 30px -10px rgba(var(--shadow), .25), inset 0 1px 0 rgba(var(--white), .6), inset 0 0 1px rgba(var(--white), .9);
	border: none;
	border-radius: 8px;
	backdrop-filter: blur(16px);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 40px;
	min-height: 40px;
	padding: .25rem;
}
.map-control-floor-group {
	display: flex;
	flex-direction: column;
}
.map-control-floor-group > input {
	position: absolute;
	z-index: -1;
	opacity: 0;
}
.map-control-floor-group-header {
	font-size: 16px;
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: -0.04em;
	padding: 0.75rem;
	padding-left: 1rem;
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	align-items: center;
	box-shadow: 0 1px 2px rgba(55, 55, 55, .2), inset 0 1px 0 rgba(255, 255, 255, 1);
	box-shadow: 0 1px 2px rgba(var(--shadow), .2), inset 0 1px 0 rgba(var(--white), 1);
	position: relative;
	background-color: rgba(255, 255, 255, .7);
	background-color: rgba(var(--white), .7);
}
.map-control-floor-group-container {
	max-height: 0px;
	transition: max-height 0.3s ease-out;
	overflow: hidden;
}
.map-control-floor-group > input:checked ~ .map-control-floor-group-container {
	max-height: 1000px;
}
.map-control-floor-group-header svg {
	transition: transform 0.3s ease-out;
	fill: rgba(59, 60, 67, .6);
	fill: rgba(var(--text), .6);
}
.map-control-floor-group > input:checked ~ .map-control-floor-group-header svg {
	transform: rotate(180deg);
}
.map-control-button,
.map-control-floor-button {
	background-color: transparent;
	border: none;
	border-radius: 4px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	padding: 0;
	margin: 0;
	position: relative;
}
.map-control-floor-container {
	width: 40px;
	height: 40px;
	position: relative;
}
.map-control-floor-panel {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .25rem;
	height: 40px;
	padding: .25rem;
	position: absolute;
	top: 0;
	right: 0;
	cursor: pointer;
}
.map-control-floor-panel::before {
	background: linear-gradient(180deg, rgba(255, 255, 255, .5) 0%, rgba(255, 255, 255, 0) 100%), rgba(255, 255, 255, .4);
	background: linear-gradient(180deg, rgba(var(--white), .5) 0%, rgba(var(--white), 0) 100%), rgba(var(--white), .4);
	box-shadow: 0 1px 1px -2px rgba(55, 55, 55, .15), 0 10px 30px -10px rgba(55, 55, 55, .25), inset 0 1px 0 rgba(255, 255, 255, .6), inset 0 0 1px rgba(255, 255, 255, .9);
	box-shadow: 0 1px 1px -2px rgba(var(--shadow), .15), 0 10px 30px -10px rgba(var(--shadow), .25), inset 0 1px 0 rgba(var(--white), .6), inset 0 0 1px rgba(var(--white), .9);
	border-radius: 8px;
	backdrop-filter: blur(8px);
	display: block;
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}
.map-control-floor {
	background: rgba(255, 255, 255, .5);
	background: rgba(var(--white), .5);
	box-shadow: 0 1px 1px rgba(22, 20, 31, 0.2);
	border-radius: 4px;
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 32px;
	height: 32px;
	font-size: .75rem;
	font-weight: 500;
	line-height: 1;
	padding: 0 .5rem;
	white-space: nowrap;
	position: relative;
}
.map-control-floor-up,
.map-control-floor-down {
	display: block;
	width: 10px;
	height: 5px;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
}
.map-control-floor-up {
	top: 3px;
}
.map-control-floor-down {
	bottom: 3px;
}
.map-control-floor-up .ico,
.map-control-floor-down .ico {
	fill: rgba(59, 60, 67, .3);
	fill: rgba(var(--text), .3);
}
.block-floor-container {
	width: 300px;
	padding-bottom: .5rem;
	position: absolute;
	bottom: 100%;
	right: 0;
	z-index: 10;
}
.block-floor-container .block-content {
	max-height: 220px;
}
.floor-list {
	padding-bottom: 1.5rem;
	position: relative;
}
.floor-item {
	position: relative;
	height: 48px;
	display: flex;
	align-items: center;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: -0.04em;
	color: rgba(59, 60, 67, 1);
	color: rgba(var(--text), 1);
	box-shadow: 0 1px 2px rgba(55, 55, 55, .2), inset 0 1px 0 rgba(255, 255, 255, 1);
	box-shadow: 0 1px 2px rgba(var(--shadow), .2), inset 0 1px 0 rgba(var(--white), 1);
	padding: .75rem .75rem .75rem 1rem;
}
.floor-item::before {
	content: '';
	background-color: rgba(255, 255, 255, .7);
	background-color: rgba(var(--white), .7);
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: -1;
}
.floor-item.group-item {
	padding-left: 1.5rem;
}
.floor-item.group-item::before {
	content: none;
}
.floor-item-legend {
	display: flex;
	gap: .5rem;
	margin: 0 0 0 auto;
}
.floor-item-legend .ico {
	fill: rgba(59, 60, 67, .4);
	fill: rgba(var(--text), .4);
}
.floor-item-legend .ico:hover,
.floor-item-legend .ico:focus {
	outline: none;
}
.submenu-container {
	display: none;
	position: absolute;
	bottom: 100%;
	right: 0;
	z-index: 100;
}
.menu-item:hover .submenu-container {
	display: block;
}
.submenu {
	background: linear-gradient(180deg, rgba(255, 255, 255, .5) 0%, rgba(255, 255, 255, 0) 100%), rgba(234, 234, 236, 0.7);
	background: linear-gradient(180deg, rgba(var(--white), .5) 0%, rgba(var(--white), 0) 100%), rgba(234, 234, 236, 0.7);
	box-shadow: 0 2px 3px -2px rgba(55, 55, 55, .25), 0 10px 30px -10px rgba(55, 55, 55, .25), inset 0 0 1px rgba(255, 255, 255, .9);
	box-shadow: 0 2px 3px -2px rgba(var(--shadow), .25), 0 10px 30px -10px rgba(var(--shadow), .25), inset 0 0 1px rgba(var(--white), .9);
	backdrop-filter: blur(8px);
	border-radius: 8px;
	width: 170px;
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: -.04rem;
	margin-bottom: .75rem;
	overflow: hidden;
}
.menu-header-link:not(:last-child),
.submenu-item:not(:last-child),
.floor-item:not(:last-child),
.location-item:not(:last-child),
.list-item:not(:last-child),
.rating-options .form-group:not(:last-child) {
	border-bottom: 1px solid rgba(22, 20, 31, .07);
	box-shadow: 0 1px 0 rgba(255, 255, 255, .5);
	box-shadow: 0 1px 0 rgba(var(--white), .5);
}
.submenu-link {
	display: flex;
	align-items: center;
	gap: .625rem;
	min-height: 48px;
	color: rgba(59, 60, 67, 1);
	color: rgba(var(--text), 1);
	padding: .5rem 1rem;
}
.menu-single-item {
	background: linear-gradient(180deg, rgba(255, 255, 255, .8) 0%, rgba(255, 255, 255, 0) 67.97%), rgba(255, 255, 255, 0.5);
	background: linear-gradient(180deg, rgba(var(--white), .8) 0%, rgba(var(--white), 0) 67.97%), rgba(var(--white), 0.5);
	box-shadow: 0 -5px 10px -10px rgba(55, 55, 55, .5), 0 -15px 50px -10px rgba(55, 55, 55, .2), inset 0 1px 0 rgba(255, 255, 255, .9);
	box-shadow: 0 -5px 10px -10px rgba(var(--shadow), .5), 0 -15px 50px -10px rgba(var(--shadow), .2), inset 0 1px 0 rgba(var(--white), .9);
	backdrop-filter: blur(10px);
	border-radius: .5rem;
	display: none;
	align-items: center;
	text-align: center;
	font-size: .75rem;
	font-weight: 600;
	line-height: 1;
	padding: .25rem;
	position: absolute;
	right: .5rem;
	bottom: .25rem;
	z-index: 999;
	overflow: hidden;
}
.menu-single-item .menu-link {
	border-radius: .25rem;
	padding: .25rem .5rem .5rem;
}
.menu-single-item .menu-link .ico {
	fill: rgba(25, 60, 240, 1);
	fill: rgba(var(--primary), 1);
	margin-bottom: .25rem;
}
.tooltip-location {
	background: rgba(234, 234, 236, 0.8);
	box-shadow: 0 1px 1px -2px rgba(55, 55, 55, .15), 0 10px 20px -10px rgba(55, 55, 55, .4), 0 30px 40px -10px rgba(55, 55, 55, .2), inset 0 1px 0 rgba(255, 255, 255, .9);
	box-shadow: 0 1px 1px -2px rgba(var(--shadow), .15), 0 10px 20px -10px rgba(var(--shadow), .4), 0 30px 40px -10px rgba(var(--shadow), .2), inset 0 1px 0 rgba(var(--white), .9);
	backdrop-filter: blur(8px);
	border-radius: 16px;
	display: flex;
	max-width: 272px;
	min-width: 200px;
	padding: .5rem;
	z-index: 5;
}
.no-image {
	display: none;
}
.tooltip-location-img-container {
	background-color: rgba(255, 255, 255, 1);
	background-color: rgba(var(--white), 1);
	border-radius: 12px;
	flex-shrink: 0;
	width: 64px;
	height: 64px;
	margin-right: .635rem;
	overflow: hidden;
	display: flex;
	justify-content: center; /* Horizontal centering */
	align-items: center;
}
.tooltip-location-img {
	display: block;
	width: 100%;
	height: auto;
}
.tooltip-location-content {
	display: flex;
	flex-direction: column;
	width: calc(100% - 64px - 0.6rem);
}
.tooltip-location-title {
	display: flex;
	align-items: center;
	height: 24px;
	font-size: .75rem;
	font-weight: 600;
	line-height: 1;
	letter-spacing: -0.04em;
	margin: 0 1.6rem 0 0;
}
.tooltip-location-title-container {
	width: 100%;
	cursor: pointer;
	overflow: hidden;
	display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical; 
}
.tooltip-location-buttons {
	display: flex;
	margin-top: auto;
}
.tooltip-location-buttons-no-image {
	justify-content: center;
}
.tooltip-location-button {
	background-color: rgba(255, 255, 255, 1);
	background-color: rgba(var(--white), 1);
	border: none;
	border-radius: 6px;
	display: flex;
	align-items: center;
	height: 32px;
	font-size: .5rem;
	font-weight: 800;
	text-transform: uppercase;
	color: rgba(59, 60, 67, 1);
	color: rgba(var(--text), 1);
	padding: .25rem .5rem;
}
.tooltip-location-button:not(:last-child) {
	margin-right: .5rem;
}
.tooltip-location-button .ico {
	margin-right: .375rem;
}
.tooltip-add-favorite {
	background-color: transparent;
	width: 32px;
	padding: 0px;
}
.tooltip-add-favorite .ico {
	margin: auto;
}
.tooltip-location-close {
	background-color: transparent;
	border: none;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	padding: 0;
	position: absolute;
	top: 2px;
	right: 2px;
	cursor: pointer;
	z-index: 10000;
}
.tooltip-location-close .ico {
	fill: rgba(59, 60, 67, .6);
	fill: rgba(var(--text), .6);
	margin: auto;
}
.tooltip-location-close:hover svg {
	fill: rgba(59, 60, 67, 1);
	fill: rgba(var(--text), 1);
}
.tooltip-location-pin {
	display: block;
	position: absolute;
	top: calc(100% + 6px);
	left: calc(50% - 12px);
}
.pin-location {
	border-radius: 50%;
	display: flex;
	width: 36px;
	height: 36px;
	transform: translateY(-80%);
	position: relative;
	z-index: 5;
}
.pin-location-drop {
	border-radius: 50% 50% .125rem;
	display: block;
	width: 36px;
	height: 36px;
	transform: rotate(45deg);
	position: absolute;
	top: 0;
	left: 0;
}
.pin-location .ico {
	fill: rgba(243, 243, 243,1);
	fill: rgba(var(--primaryContrast),1);
	position: relative;
	margin: auto;
}
.tooltip-route {
	background: rgba(234, 234, 236, 0.8);
	box-shadow: 0 1px 1px -2px rgba(55, 55, 55, .15), 0 10px 20px -10px rgba(55, 55, 55, .4), 0 30px 40px -10px rgba(55, 55, 55, .2), inset 0 1px 0 rgba(255, 255, 255, .9);
	box-shadow: 0 1px 1px -2px rgba(var(--shadow), .15), 0 10px 20px -10px rgba(var(--shadow), .4), 0 30px 40px -10px rgba(var(--shadow), .2), inset 0 1px 0 rgba(var(--white), .9);
	backdrop-filter: blur(8px);
	border-radius: 16px;
	display: flex;
	max-width: 250px;
	min-width: 200px;
	padding: .75rem;
	position: absolute;
	z-index: 10;
}
.tooltip-route-ico {
	display: block;
	flex-shrink: 0;
	margin-right: .625rem;
}
.tooltip-route-ico .ico {
	fill: rgba(25, 60, 240,1);
	fill: rgba(var(--primary),1);
}
.tooltip-route-content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	font-size: .75rem;
	font-weight: 600;
	line-height: 1.25;
}
.tooltip-route-btn {
	background-color: rgba(25, 60, 240,1);
	background-color: rgba(var(--primary),1);
	border-radius: .25rem;
	border: none;
	align-self: flex-start;
	font-size: .625rem;
	font-weight: 600;
	line-height: 1;
	color: rgba(243, 243, 243,1);
	color: rgba(var(--primaryContrast),1);
	padding: .375rem .5rem;
	margin: .375rem 0 0;
}
.alert-container {
	position: absolute;
	bottom: 0;
	right: 0;
	z-index: 50;
}
.alert-notification {
	border-radius: 16px;
	display: flex;
	align-items: flex-start;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: -0.04em;
	max-width: 400px;
	margin: .5rem;
	padding: 20px;
}
.alert-ico {
	display: block;
	width: 24px;
	height: 24px;
	margin: 0 1rem 0 -.25rem;
}
.alert-content {
	flex-grow: 1;
	padding: .125rem 0;
}
.alert-close {
	background-color: transparent;
	border: none;
	border-radius: 50%;
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	padding: 0;
	margin: 0 -.5rem 0 .5rem;
	opacity: .8;
}
.alert-close:hover {
	opacity: 1;
}
.alert-button {
	background-color: transparent;
	border: 1px solid rgba(59, 60, 67, 1);
	border: 1px solid rgba(var(--text), 1);
	border-radius: 8px;
	align-self: flex-start;
	font-weight: 700;
	font-size: .625rem;
	line-height: 1.2;
	letter-spacing: -0.04em;
	text-transform: uppercase;
	color: rgba(59, 60, 67, 1);
	color: rgba(var(--text), 1);
	padding: .5rem;
	margin: -.1875rem 0 -.1875rem .75rem;
}
.alert-button:hover {
	background-color: rgba(59, 60, 67, 1);
	background-color: rgba(var(--text), 1);
	color: rgba(255, 255, 255, 1);
	color: rgba(var(--white), 1);
}
.alert-error {
	background: rgba(231, 18, 18, 0.7);
	box-shadow: 0px 19px 24px rgba(201, 6, 6, 0.3), 0px 9.61875px 10.4625px rgba(201, 6, 6, 0.2025), 0px 3.8px 3.9px rgba(201, 6, 6, 0.15), 0px 0.83125px 1.3875px rgba(201, 6, 6, 0.0975), inset 0px 1px 0px rgba(255, 144, 144, 0.6);
	backdrop-filter: blur(5px);
	color: rgba(255, 255, 255, 1);
	color: rgba(var(--white), 1);
}
.alert-error .alert-ico .ico,
.alert-error .alert-close .ico {
	fill: rgba(255, 255, 255, 1);
	fill: rgba(var(--white), 1);
}
.alert-error .alert-button {
	border-color: rgba(255, 255, 255, 1);
	border-color: rgba(var(--white), 1);
	color: rgba(255, 255, 255, 1);
	color: rgba(var(--white), 1);
}
.alert-error .alert-button:hover {
	background-color: rgba(255, 255, 255, 1);
	background-color: rgba(var(--white), 1);
	color: rgba(231, 18, 18, 1);
}
.alert-warning {
	background: rgba(211, 216, 225, 0.7);
	box-shadow: 0px 19px 24px rgba(64, 94, 129, 0.3), 0px 9.61875px 10.4625px rgba(64, 94, 129, 0.2025), 0px 3.8px 3.9px rgba(64, 94, 129, 0.15), 0px 0.83125px 1.3875px rgba(64, 94, 129, 0.0975), inset 0px 1px 0px rgba(243, 247, 255, 0.6);
	backdrop-filter: blur(5px);
	color: rgba(59, 60, 67, 1);
	color: rgba(var(--text), 1);
}
.alert-warning .alert-ico .ico,
.alert-warning .alert-close .ico {
	fill: rgba(59, 60, 67, 1);
	fill: rgba(var(--text), 1);
}
.alert-message {
	display: flex;
	line-height: 1.25;
	padding: .125rem 0 0;
}
.alert-message-ico {
	margin: -.125rem .75rem 0 0;
}
.alert-message-ico .ico {
	fill: rgba(25, 60, 240, 1);
	fill: rgba(var(--primary), 1);
}
.location-list {
	padding-bottom: 1.5rem;
	position: relative;
}
.location-item {
	display: flex;
	padding: .5rem;
}
.location-item.current {
	background-color: rgba(25, 60, 240, .1);
	background-color: rgba(var(--primary), .1);
}
.location-item-img-container {
	background-color: rgba(255, 255, 255, 1);
	background-color: rgba(var(--white), 1);
	border-radius: 12px;
	display: block;
	flex-shrink: 0;
	width: 64px;
	height: 64px;
	margin-right: .635rem;
	overflow: hidden;
}
.location-location-img {
	display: block;
	width: 100%;
	height: auto;
}
.location-item-content {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
	justify-content: center;
	line-height: 1.25;
	letter-spacing: -0.04em;
	margin-right: .5rem;
}
.location-item-title {
	font-size: 1rem;
	font-weight: 600;
	color: rgba(25, 60, 240, 1);
	color: rgba(var(--primary), 1);
	margin: 0;
}
.location-item-info {
	display: block;
	font-size: .75rem;
}
.location-item-buttons {
	display: flex;
	align-self: center
}
.location-item-button {
	background-color: transparent;
	border: none;
	border-radius: 6px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	font-size: .5rem;
	font-weight: 800;
	text-transform: uppercase;
	color: rgba(59, 60, 67, 1);
	color: rgba(var(--text), 1);
	padding: .5rem;
}
.location-item-button .ico {
	margin-bottom: .25rem;
}
.location-card {
	display: flex;
	flex-wrap: wrap;
}
.location-card-1x1 .location-card-img-container {
	width: 50%;
	order: 1;
}
.location-card-1x1 .location-card-route-container {
	flex-direction: column;
	width: 50%;
	padding-left: 1rem;
	order: 2;
}
.location-card-1x1 .location-card-gallery {
	margin-top: 1rem;
	order: 3;
}
.location-card-1x1 .location-card-button {
	margin: auto 0 0 0;
}
.location-card-16x9 .location-card-img-container {
	order: 1;
}
.location-card-16x9 .location-card-route-container {
	width: 100%;
	margin-top: 1rem;
	order: 3;
}
.location-card-16x9 .location-card-route {
	flex: 1;
	margin-right: 1rem;
}
.location-card-16x9 .location-card-gallery {
	margin-top: .5rem;
	order: 2;
}
.location-card-16x9 .location-card-button {
	margin: auto 0 0 auto;
}
.location-card-img-container {
	display: flex;
	border-radius: 1rem;
	overflow: hidden;
}
.location-card-img {
	display: block;
	width: 100%;
	height: auto;
}
.gallery-container {
	display: flex;
	flex-direction: column;
	flex-shrink: 0;
	width: 100%;
	height: 100%;
	position: relative;
}
.location-card-gallery-container {
	border-radius: 1rem;
	display: flex;
	width: 100%;
	height: 100%;
	position: relative;
}
.gallery-item {
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	overflow: hidden;
	position: absolute;
	width: 100%;
	top: 0;
	left: 0;
	bottom: 0;
	transform: scale(.8);
	transition: all .5s ease-in-out;
}
.gallery-item.active {
	opacity: 1;
	transform: scale(1);
}
.gallery-item img {
	border-radius: 1rem;
	max-width: 100%;
	max-height: 100%;
}
.gallery-item-prev {
	left: -100%;
}
.gallery-item-next {
	left: 100%;
}
.card-gallery-nav {
	background: rgba(255, 255, 255, 1);
	background: rgba(var(--white), 1);
	border-radius: 1rem;
	display: flex;
	align-items: center;
	min-height: 40px;
	padding: .25rem;
	margin: 1rem auto 0;
}
.card-gallery-nav-info {
	min-width: 36px;
	font-size: 12px;
	font-weight: 600;
	text-align: center;
}
.card-gallery-nav-info strong {
	font-weight: 900;
}
.card-container.card-container-gallery { height: 100% }
.card-container-gallery .card-content {
	height: 100%;
	overflow: visible;
}
.card-container-gallery .location-info-container {
	display: none;
	margin: 0 !important;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	overflow: auto;
}
.card-container-gallery.show .location-info-container {
	display: block;
	top: 0;
}
.location-card-route-container {
	display: flex;
}
.location-card-route {
	background: rgba(255, 255, 255, 1);
	background: rgba(var(--white), 1);
	border-radius: 16px;
	display: flex;
	flex-direction: column;
	font-size: .625rem;
	font-weight: 500;
	line-height: 1;
	text-transform: uppercase;
	padding: .75rem;
	position: relative;
}
.location-card-route::before {
	background: linear-gradient(rgba(25, 60, 240, 1), rgba(255, 98, 9, 1));
	background: linear-gradient(rgba(var(--primary), 1), rgba(var(--secondary), 1));
	display: block;
	border-radius: .05rem;
	content: '';
	width: .1rem;
	position: absolute;
	top: 38px;
	bottom: 38px;
	left: 23px;
}
.location-card-route-start,
.location-card-route-end {
	display: flex;
	align-items: center;
	position: relative;
}
.location-card-route-end {
	margin-bottom: 1.25rem;
}
.location-card-route-start .ico,
.location-card-route-end .ico {
	flex-shrink: 0;
	margin-right: .5rem;
}
.location-card-route-start .ico {
	fill: rgba(255, 98, 9, 1);
	fill: rgba(var(--secondary), 1);
}
.location-card-route-end .ico {
	fill: rgba(25, 60, 240, 1);
	fill: rgba(var(--primary), 1);
}
.location-card-route-start strong,
.location-card-route-end strong {
	display: block;
}
.location-card-button {
	background: rgba(25, 60, 240, 1);
	background: rgba(var(--primary), 1);
	border: none;
	border-radius: .5rem;
	display: flex;
	gap: .625rem;
	height: 48px;
	align-items: center;
	font-size: .875rem;
	font-weight: 600;
	line-height: 1.4285;
	letter-spacing: -0.04em;
	color: rgba(243, 243, 243, 1);
	color: rgba(var(--primaryContrast), 1);
	padding: .75rem 1.25rem;
}
.location-card-button .ico {
	fill: rgba(243, 243, 243, 1);
	fill: rgba(var(--primaryContrast), 1);
}
.location-card-gallery {
	background: rgba(255, 255, 255, .8);
	background: rgba(var(--white), .8);
	border-radius: 1rem;
	display: flex;
	width: 100%;
	padding: .25rem;
	order: 3;
}
.location-card-gallery-item {
	background-color: rgba(25, 60, 240, 1);
	background-color: rgba(var(--primary), 1);
	border-radius: .5rem;
	display: block;
	width: 25%;
	margin: .25rem;
	position: relative;
	overflow: hidden;
}
.location-card-gallery-item::before {
	display: block;
	content: '';
	width: 100%;
	height: 0;
	padding: 100% 0 0 0;
	position: relative;
}
.location-card-gallery-item:hover .location-card-gallery-img,
.location-card-gallery-item:nth-child(4) .location-card-gallery-img {
	opacity: .4;
}
.location-card-gallery-img {
	display: block;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	   object-fit: cover;
	position: absolute;
	top: 0;
	left: 0;
}
.location-card-gallery-count {
	backdrop-filter: blur(1px);
	display: flex;
	width: 100%;
	height: 100%;
	align-items: center;
	justify-content: center;
	font-size: .75em;
	font-weight: 600;
	letter-spacing: -0.04em;
	color: rgba(255, 255, 255, 1);
	color: rgba(var(--white), 1);
	position: absolute;
	top: 0;
	left: 0;
}
.location-info-container {
	background-color: rgba(242, 242, 242,1);
	background-color: rgba(var(--background),1);
	padding: 1rem 0;
	margin: -1rem;
}
.block-card-directions {
	position: absolute;
	top: 80px;
	left: 0;
	bottom: 0;
	padding: 0 1rem 1rem;
	width: 100%;
	max-width: 400px;
	transition: all .2s linear;
	z-index: 10;
}
.block-list.half {
	top: 50%;
}
.block-list.half .btToggleHeight {
	transform: rotate(180deg);
}
.btToggleHeight {
	display: none;
}
.block-card-directions {
	top: calc(216px + .5rem);
	z-index: 10;
}
.container-card {
	background: rgba(168,168,168,.5);
	backdrop-filter: blur(8px);
	display: flex;
	align-items: flex-start;
	width: 100%;
	height: 100%;
	padding: 1rem;
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 99;
}
.container-card .card-container {
	max-width: 400px;
	margin: 0 auto;
}
.container-card-full {
	padding: 0
}
.container-card-full .card-container {
	box-shadow: none;
	border-radius: 0;
	height: 100%;
}
.container-card-full .card-content {
	height: 100%;
}
.container-card-no-bg .card-container {
	box-shadow: none;
}
.container-card-no-bg .card-content {
	background-color: transparent;
	backdrop-filter: none;
}
.container-card-center .card-container { margin-top: auto; margin-bottom: auto; }
.container-card-bottom .card-container { margin-top: auto; }
.card-container {
	box-shadow: 0 1px 1px -2px rgba(55, 55, 55, 0.15), 0 10px 20px -10px rgba(55, 55, 55, 0.4), 0 30px 40px -10px rgba(55, 55, 55, 0.2);
	box-shadow: 0 1px 1px -2px rgba(var(--shadow), 0.15), 0 10px 20px -10px rgba(var(--shadow), 0.4), 0 30px 40px -10px rgba(var(--shadow), 0.2);
	border-radius: 1rem;
	display: flex;
	flex-direction: column;
	width: 100%;
	height: auto;
	max-height: 100%;
	overflow: hidden;
	position: relative;
}
.card-header {
	background: rgba(25, 60, 240, .7);
	background: rgba(var(--primary), .7);
	border-bottom: 0;
	backdrop-filter: blur(8px);
	display: flex;
	align-items: flex-start;
	padding: 1rem .75rem 1rem 1rem;
}
.card-header-ico {
	margin: .25rem .625rem .25rem 0;
}
.card-header-ico .ico,
.card-header-button .ico {
	fill: rgba(243, 243, 243, 1);
	fill: rgba(var(--primaryContrast), 1);
}
.card-title {
	flex-grow: 1;
	font-size: 1.25rem;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: -0.04em;
	color: rgba(243, 243, 243, 1);
	color: rgba(var(--primaryContrast), 1);
	margin: .25rem .5rem .25rem 0;
}
.card-header-buttons {
	display: flex;
	gap: .5rem;
	margin: 0 0 0 auto;
}
.card-header-button,
.card-gallery-nav-button {
	background-color: transparent;
	border: none;
	border-radius: .25rem;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	padding: 0;
	cursor: pointer;
}
.card-header-button:hover {
	background-color: rgba(243, 243, 243, 1);
	background-color: rgba(var(--primaryContrast), 1);
}
.card-gallery-nav-button {
	border-radius: .5rem;
}
.card-header-button:hover .ico {
	fill: rgba(25, 60, 240, 1);
	fill: rgba(var(--primary), 1);
}
.card-content {
	background-color: rgba(242, 242, 242, 0.7);
	background-color: rgba(var(--background), 0.7);
	backdrop-filter: blur(8px);
	display: flex;
	flex-direction: column;
	height: auto;
	max-height: 100%;
	line-height: 1.5;
	padding: 1rem;
	overflow: auto;
	position: relative;
}
.card-content-contrast {
	background: rgba(0,0,0,.1);
	display: flex;
	flex-direction: column;
	padding: 1rem;
	margin: -1rem -1rem 1rem;
	position: relative;	
}
.card-content-title {
	border-radius: 0 1rem 1rem 0;
	display: flex;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.25;
	color: rgba(243, 243, 243,1);
	color: rgba(var(--primaryContrast),1);
	padding: .375rem 1rem;
	margin: 1rem auto 1rem -1rem;
}
.card-content-footer {
	background: rgba(242, 242, 242,1);
	background: rgba(var(--background),1);
	display: flex;
	align-items: center;
	padding: 1rem;
	margin: auto 0 0;
}
.featured-location-container {
	display: flex;
	flex-shrink: 0;
	gap: 1rem;
	padding: 0 1rem 1rem;
	margin: 0 -1rem;
	overflow: auto;
	position: relative;
	scroll-snap-type: x proximity;
	scroll-padding: 0 0 0 1rem;
}
.featured-location {
	background: rgba(255, 255, 255,.4);
	background: rgba(var(--white),.4);
	box-shadow: 0 20px 20px -10px rgba(55, 55, 55,.15), inset 0 1px 0 rgba(255, 255, 255,.9);
	box-shadow: 0 20px 20px -10px rgba(var(--shadow),.15), inset 0 1px 0 rgba(var(--white),.9);
	border-radius: 1rem;
	flex-shrink: 0;
	width: 148px;
	padding: .5rem;
	scroll-snap-align: start;
	scroll-snap-stop: normal;
}
.featured-location-img-container {
	background-color: rgba(255, 255, 255,1);
	background-color: rgba(var(--white),1);
	border-radius: .5rem;
	width: 132px;
	height: 132px;
	overflow: hidden;
}
.featured-location-img {
	display: block;
	width: 100%;
	height: auto;
}
.featured-location-name {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 30px;
	font-size: .75rem;
	font-weight: 600;
	line-height: 1.25;
	text-align: center;
	margin-top: .5rem;
}
.expand-tab {
	background-color: rgba(243, 243, 243, .5);
	background-color: rgba(var(--primaryContrast), .5);
	backdrop-filter: blur(2px);
	border-radius: 16px 0;
	padding: .5rem;
	position: absolute;
	bottom: 0;
	right: 0;
}
.bt-expand-card {
	background: transparent;
	border: none;
	border-radius: .5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
}
.directions-route-container,
.simulation-route-container {
	width: 100%;
	max-width: 400px;
	padding: 1rem;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 15;
}
.directions-route {
	position: relative;
}
.directions-route::before {
	background: linear-gradient(180deg, rgba(255, 255, 255, .6) 0%, rgba(255, 255, 255, 0) 100%), rgba(204, 204, 204, 0.2);
	background: linear-gradient(180deg, rgba(var(--white), .6) 0%, rgba(var(--white), 0) 100%), rgba(204, 204, 204, 0.2);
	box-shadow: 0 40px 80px rgba(55, 55, 55, 0.25);
	box-shadow: 0 40px 80px rgba(var(--shadow), 0.25);
	backdrop-filter: blur(8px);
	border-radius: 1rem;
	display: block;
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}
.directions-route-header {
	display: flex;
	align-items: center;
	padding: .5rem 1rem;
	position: relative;
}
.directions-route-header-ico {
	margin: 0 .5rem 0 0;
}
.directions-route-header-ico .ico {
	fill: rgba(59, 60, 67, 1);
	fill: rgba(var(--text), 1);
}
.directions-route-title {
	font-size: 1.25rem;
	font-weight: 600;
	line-height: 1.2;
}
.directions-route-header-buttons {
	display: flex;
	margin: 0 0 0 auto;
}
.directions-route-header-button {
	background: transparent;
	border: none;
	border-radius: .25rem;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	padding: 0;
}
.directions-route-content {
	display: flex;
	flex-direction: column;
	padding: 0 1rem .5rem 1rem;
	position: relative;
}
.direction-route-from-to {
	display: flex;
	align-items: center;
	position: relative;
}
.direction-route-from-to:not(:last-child) {
	margin-bottom: .5rem;
}
.direction-route-from-to:first-child::before {
	background-color: rgba(25, 60, 240, .5);
	background-color: rgba(var(--primary), .5);
	display: block;
	content: '';
	height: 24px;
	width: 8px;
	position: absolute;
	top: 32px;
	left: 8px;
	-webkit-mask-image: url("data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' fill='none'%3E%3Ccircle cx='4' cy='4' r='1' fill='%23fff'/%3E%3C/svg%3E");
	-webkit-mask-position: 0 0;
	mask-image: url("data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' fill='none'%3E%3Ccircle cx='4' cy='4' r='1' fill='%23fff'/%3E%3C/svg%3E");
	mask-position: 0 0;
}
.direction-route-from-to .search-field {
	flex: 1;
}
.direction-route-from-to .search-input {
	padding: .625rem 1rem;
}
.direction-route-from-to-ico {
	margin: 0 .5rem 0 0;
	fill: rgba(25, 60, 240, 1);
	fill: rgba(var(--primary), 1);
}
.directions-route-type {
	border-radius: 8px;
	display: flex;
	gap: .25rem;
	padding: 0 0 .25rem;
	margin: 0 0 0 2rem;
	overflow: auto;
}
.directions-route-type-button {
	background: transparent;
	border: none;
	border-radius: 8px;
	display: flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
}
.directions-route-type-button .ico {
	fill: rgba(59, 60, 67, 1);
	fill: rgba(var(--text), 1);
}
.directions-route-type-button.current {
	background-color: rgba(243, 243, 243, 1);
	background-color: rgba(var(--primaryContrast), 1);
}
.card-directions {
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.8) 0%, rgba(255, 255, 255, 0) 67.97%), rgba(255, 255, 255, .5);
	background: linear-gradient(180deg, rgba(var(--white), 0.8) 0%, rgba(var(--white), 0) 67.97%), rgba(var(--white), .5);
	box-shadow: 0 -5px 10px -10px rgba(55, 55, 55, 0.5), 0 -15px 50px -10px rgba(55, 55, 55, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.9);
	box-shadow: 0 -5px 10px -10px rgba(var(--shadow), 0.5), 0 -15px 50px -10px rgba(var(--shadow), 0.2), inset 0 1px 0 rgba(var(--white), 0.9);
	backdrop-filter: blur(10px);
	border-radius: 16px;
	display: flex;
	flex-direction: column;
	height: auto;
	max-height: 100%;
}
.card-directions-button,
.simulation-route-action-button {
	background: none;
	border: 1px solid rgba(25, 60, 240, 1);
	border: 1px solid rgba(var(--primary), 1);
	border-radius: 8px;
	display: flex;
	flex-grow: 1;
	align-items: center;
	gap: .625rem;
	height: 48px;
	font-size: .875rem;
	font-weight: 600;
	line-height: 1;
	letter-spacing: -0.04em;
	color: rgba(25, 60, 240, 1);
	color: rgba(var(--primary), 1);
	padding: .75rem;
	position: relative;
}
.bt-start-route {
	background: rgba(25, 60, 240, 1);
	background: rgba(var(--primary), 1);
	color: rgba(243, 243, 243, 1);
	color: rgba(var(--primaryContrast), 1);
}
button.bt-start-route .ico {
	fill: rgba(243, 243, 243, 1);
	fill: rgba(var(--primaryContrast), 1);
}
.bt-steps,
.card-directions-button.bt-start-route {
	display: none;
}
.card-directions-button.bt-simulate {
	flex-grow: 0;
	margin: 0 0 0 auto;
}
.card-directions-steps {
	display: flex;
	flex-direction: column;
	height: auto;
	max-height: 100%;
	overflow: auto;
	padding: .5rem 0;
	position: relative
}
.card-directions-steps::before {
	background-color: rgba(25, 60, 240, .5);
	background-color: rgba(var(--primary), .5);
	display: block;
	content: '';
	width: 8px;
	position: absolute;
	top: 36px;
	bottom: 46px;
	left: 24px;
	-webkit-mask-image: url("data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' fill='none'%3E%3Ccircle cx='4' cy='4' r='1' fill='%23fff'/%3E%3C/svg%3E");
	-webkit-mask-position: 0 0;
	mask-image: url("data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' fill='none'%3E%3Ccircle cx='4' cy='4' r='1' fill='%23fff'/%3E%3C/svg%3E");
	mask-position: 0 0;
}
.card-directions-items {
	display: flex;
	flex-direction: column;
	height: auto;
	max-height: 100%;
	overflow: auto;
}
.card-directions-item,
.card-directions-path-header {
	display: flex;
	border-radius: .5rem;
	font-size: .875rem;
	line-height: 1.42858;
	letter-spacing: -0.04em;
	padding: .25rem .5rem;
	margin: 0 .5rem .125rem;
	position: relative;
}
.card-directions-items .card-directions-item::before,
.card-directions-path-header::before {
	background-color: rgba(25, 60, 240, .5);
	background-color: rgba(var(--primary), .5);
	display: block;
	content: '';
	width: 16px;
	height: 8px;
	position: absolute;
	top: 12px;
	left: 25px;
	-webkit-mask-image: url("data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' fill='none'%3E%3Ccircle cx='4' cy='4' r='1' fill='%23fff'/%3E%3C/svg%3E");
	-webkit-mask-position: 0 0;
	mask-image: url("data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' fill='none'%3E%3Ccircle cx='4' cy='4' r='1' fill='%23fff'/%3E%3C/svg%3E");
	mask-position: 0 0;
}
.card-directions-item:last-child {
	min-height: 42px;
}
.card-directions-item.past {
	opacity: .7;
}
.card-directions-item.current {
	background: rgba(255, 255, 255, .7);
	background: rgba(var(--white), .7);
	box-shadow: 0 1px 2px rgba(55, 55, 55, .2), inset 0 1px 0 rgba(255, 255, 255, 1);
	box-shadow: 0 1px 2px rgba(var(--shadow), .2), inset 0 1px 0 rgba(var(--white), 1);
}
.card-directions-item-ico {
	margin-right: .5rem;
}
.card-directions-item-content {
	flex: 1;
	padding-top: .125rem;
}
.card-directions-item-tip {
	display: block;
	font-size: .75rem;
	font-weight: 500;
	line-height: 1.334;
	color: rgba(25, 60, 240, .7);
	color: rgba(var(--primary), .7);
	margin-top: .125rem;
}
.card-directions-path {
	background: rgba(255, 255, 255, .7);
	background: rgba(var(--white), .7);
	box-shadow: 0 1px 2px rgba(55, 55, 55, .2), inset 0 1px 0 rgba(255, 255, 255, 1);
	box-shadow: 0 1px 2px rgba(var(--shadow), .2), inset 0 1px 0 rgba(var(--white), 1);
	border-radius: .5rem;
	margin: 0 .5rem .125rem;
	position: relative;
}
.card-directions-path-header {
	font-weight: 700;
	padding: .5rem;
	margin: 0;
	cursor: pointer;
}
.card-directions-path-header::before {
	top: 16px;
}
.card-directions-path-header .card-directions-item-ico {
	margin-right: 1rem;
}
.card-directions-path-header .btn-ico {
	margin: -.25rem -.25rem -.25rem 0;
}
.card-directions-path .card-directions-item {
	margin: 0 0 .125rem;
}
.card-directions-path-header .card-directions-item-content {
	display: flex;
	align-items: center;
	gap: .5rem;
}
.card-directions-path-header .card-directions-item-tip {
	margin-top: 0;
}
.card-directions-path-steps {
	max-height: 0;
	overflow: hidden;
	transition: max-height .3s ease-out;
}
.show-path .card-directions-path-header {
	background-color: rgba(25, 60, 240,.1);
	background-color: rgba(var(--primary),.1);
	border-radius: .5rem .5rem 0 0;
}
.card-directions-path-header .btn-ico {
	transition: transform .3s ease;
}
.show-path .btn-ico {
	transform: rotate(180deg);
}
.simulation-route-container {
	left: calc(400px - 1rem);
}
.simulation-route {
	background: rgba(25, 60, 240, .7);
	background: rgba(var(--primary), .7);
	box-shadow: 0 1px 1px -2px rgba(3, 27, 147, 0.15), 0 10px 20px -10px rgba(3, 27, 147, 0.4), 0 30px 40px -10px rgba(3, 27, 147, 0.2);
	backdrop-filter: blur(8px);
	border-radius: 16px;
}
.simulation-route-header {
	display: flex;
	align-items: center;
	padding: .5rem .75rem .5rem 1rem;
}
.simulation-route-title {
	font-size: 1.25rem;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: -0.04em;
	color: rgba(243, 243, 243, 1);
	color: rgba(var(--primaryContrast), 1);
	margin: 0 .5rem 0 0;
}
.simulation-route-header-buttons {
	display: flex;
	gap: .5rem;
	margin: 0 0 0 auto;
}
.simulation-route-header-button,
.simulation-route-content-button {
	background: transparent;
	border: none;
	border-radius: .25rem;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	padding: 0;
}
.simulation-route-header-button:hover,
.simulation-route-content-button:hover {
	background-color: rgba(243, 243, 243,1);
	background-color: rgba(var(--primaryContrast),1);
}
.simulation-route-header-button:hover .ico,
.simulation-route-content-button:hover .ico {
	fill: rgba(25, 60, 240,1);
	fill: rgba(var(--primary),1);
}
.simulation-route-step {
	display: flex;
	flex: 1;
	align-items: flex-start;
	gap: .75rem;
	padding: .25rem .5rem 1rem 1rem;
}

.simulation-route-step-img {
	background-color: rgba(255, 255, 255, 1);
	background-color: rgba(var(--white), 1);
	border-radius: 12px;
	display: block;
	flex-shrink: 0;
	width: 64px;
	height: 64px;
	overflow: hidden;
}
.simulation-route-step-img img {
	display: block;
	width: 100%;
	height: auto;
}
.simulation-route-step-info {
	display: flex;
	flex-direction: column;
	font-weight: 700;
	font-size: .875rem;
	line-height: 1.14285;
	letter-spacing: -0.04em;
	color: rgba(243, 243, 243, 1);
	color: rgba(var(--primaryContrast), 1);
	padding-top: .25rem;
}
.simulation-route-step-description {
	font-size: .8125rem;
	font-weight: 400;
	line-height: 1.4;
	margin: .25rem 0 0;
	color: rgba(243, 243, 243, .8);
	color: rgba(var(--primaryContrast), .8);
}
.simulation-route-step-info-location {
	margin-top: .5rem;
	font-size: 1.5rem;
}
.simulation-route-step-info-tip {
	background: rgba(243, 243, 243, .2);
	background: rgba(var(--primaryContrast), .2);
	border-radius: 12px;
	display: block;
	align-self: flex-start;
	font-weight: 400;
	font-size: .75rem;
	line-height: 1.334;
	padding: .125rem .5rem;
	margin: .625rem 0 0 0;
}
.simulation-route-content-buttons {
	background: rgba(243, 243, 243, .2);
	background: rgba(var(--primaryContrast), .2);
	border-radius: 16px 0;
	display: flex;
	gap: .5rem;
	flex-direction: column;
	align-self: flex-end;
	padding: .75rem;
}
.simulation-route-action-buttons {
	display: flex;
	justify-content: center;
	gap: .5rem;
}
.simulation-route-action-buttons .simulation-route-action-button {
	flex-grow: 0;
}
.simulation-show-steps {
	display: none;
}
.start-route-line-countdown {
	background: rgba(243, 243, 243, .2);
	background: rgba(var(--primaryContrast), .2);
	border-radius: 1px;
	height: 2px;
	position: absolute;
	right: .75rem;
	bottom: .25rem;
	left: .75rem;
}
.start-route-line-countdown::after {
	background: rgba(243, 243, 243, 1);
	background: rgba(var(--primaryContrast), 1);
	border-radius: 1px;
	height: 2px;
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	animation: countdownBar 8s infinite linear;
}
@keyframes countdownBar {
	0% { width: 0; }
	100% { width: 100%; }
}
.route-steps-nav {
	background-color: rgba(243, 243, 243, .1);
	background-color: rgba(var(--primaryContrast), .1);
	border-radius: 1rem 1rem 0 0;
	display: flex;
	align-items: center;
	align-self: flex-start;
	gap: .75rem;
	font-weight: 500;
	color: rgba(243, 243, 243, .8);
	color: rgba(var(--primaryContrast), .8);
	padding: .75rem;
	margin: 1rem 0 -1rem;
}
.route-steps-nav span {
	font-weight: 700;
	color: rgba(243, 243, 243, 1);
	color: rgba(var(--primaryContrast), 1);
}
.route-steps-nav .btn-ico {
	background-color: rgba(25, 60, 240, .2);
	background-color: rgba(var(--primary), .2);
	border-radius: .5rem;
}
.route-steps-nav .btn-ico .ico {
	fill: rgba(243, 243, 243,1);
	fill: rgba(var(--primaryContrast),1);
}
.route-steps-nav .btn-ico:hover {
	background-color: rgba(243, 243, 243,1);
	background-color: rgba(var(--primaryContrast),1);
}
.route-steps-nav .btn-ico:hover .ico {
	fill: rgba(25, 60, 240,1);
	fill: rgba(var(--primary),1);
}
/* exemplo rota */
.route-line {
	background: rgba(25, 60, 240, .5) url("data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' fill='none'%3E%3Ccircle cx='4' cy='4' r='1' fill='%23fff'/%3E%3C/svg%3E") repeat;
	background: rgba(var(--primary), .5) url("data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' fill='none'%3E%3Ccircle cx='4' cy='4' r='1' fill='%23fff'/%3E%3C/svg%3E") repeat;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.3), 0 0 0 1px rgba(255, 255, 255, 0.3);
	background-position: 0 0;
	border-radius: 4px;
	backdrop-filter: blur(2px);
	height: 400px;
	width: 8px;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	z-index: 1;
}
.route-animate {
	animation: routeAnimate 10s infinite linear;
}
@keyframes routeAnimate {
	0% { background-position: 0 100%; }
	100% { background-position: 0 0; }
}
.route-line- {
	background-color: rgba(255, 255, 255, 1);
	background-color: rgba(var(--white), 1);
	box-shadow: inset 0 0 0 1px rgba(25, 60, 240, 0.3), 0 0 0 1px rgba(25, 60, 240, 0.3);
	box-shadow: inset 0 0 0 1px rgba(var(--primary), 0.3), 0 0 0 1px rgba(var(--primary), 0.3);
	border-radius: 4px;
	width: 8px;
	height: 0;
	position: absolute;
	bottom: 0;
	left: 0;
	animation: path 10s infinite linear;
	z-index: -1;
}
.route-line-::before {
	background-color: rgba(25, 60, 240, .8);
	background-color: rgba(var(--primary), .8);
	border-radius: 1px;
	display: block;
	content: '';
	width: 2px;
	position: absolute;
	top: 3px;
	bottom: 3px;
	left: calc(50% - 1px);
}
.route-pin-point {
	position: absolute;
	top: calc(0px - 24px);
	left: -8px;
}
.route-pin-direction {
	position: absolute;
	top: calc(0px - 12px);
	left: -8px;
}
.route-pin-point .ico,
.route-pin-direction .ico {
	fill: rgba(25, 60, 240, 1);
	fill: rgba(var(--primary), 1);
}
.pin-pulse,
.pin-pulse span {
	border-radius: 50%;
	width: 24px;
	height: 24px;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: -1;
}
.pin-pulse span {
	bottom: 0;
	left: 0;
	transform: none;
}
.pin-pulse span::after {
	background-color: rgba(25, 60, 240, .6);
	background-color: rgba(var(--primary), .6);
	filter: blur(20px);
	border-radius: 50%;
	display: block;
	content: '';
	width: 44px;
	height: 44px;
	position: absolute;
	top: 3px;
	left: 50%;
	transform: translateX(-50%);
}
.pin-pulse:before,
.pin-pulse:after,
.pin-pulse span:before {
	border: 3px solid rgba(25, 60, 240, 1);
	border: 3px solid rgba(var(--primary), 1);
	border-radius: 50%;
	content: '';
	position: absolute;
	height: 10px;
	width: 10px;
	left: 50%;
	top: 50%;
	opacity: .8;
	transform: translate(-50%, -50%);
	animation: pulse 2.1s infinite linear;
}
.pin-pulse:after {
	animation-delay: .7s;
}
.pin-pulse span:before {
	animation-delay: 1.4s;
}
@keyframes pulse {
	0% {
		border-width: 3px;
		opacity: .8;
		height: 10px;
		width: 10px;
	}
	100% {
		border-width: 0;
		opacity: 0;
		height: 60px;
		width: 60px;
	}
}
@keyframes path {
	0% { height: 0; }
	100% { height: 100%; }
}
/* - */
.posts-container {
	position: relative;
}
.post-container {
	box-shadow: 0 1px 1px -2px rgba(55, 55, 55, .15), 0 10px 20px -10px rgba(55, 55, 55, .4), 0 30px 40px -10px rgba(55, 55, 55, .2);
	box-shadow: 0 1px 1px -2px rgba(var(--shadow), .15), 0 10px 20px -10px rgba(var(--shadow), .4), 0 30px 40px -10px rgba(var(--shadow), .2);
	border-radius: 1rem;
	display: flex;
	flex-direction: column;
	flex-shrink: 0;
	margin: 0 0 1rem;
	overflow: hidden;
}
.post-header {
	background-color: rgba(242, 242, 242,1);
	background-color: rgba(var(--background),1);
	display: flex;
	padding: 1rem;
}
.post-logo-container {
	border-radius: .75rem;
	display: block;
	width: 64px;
	height: 64px;
	flex-shrink: 0;
	margin-right: 1rem;
	position: relative;
	overflow: hidden;
}
.post-logo-container img,
.post-content img {
	display: block;
	width: 100%;
	height: auto;
}
.post-title {
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.25;
	margin: 0;
}
.post-content {
	background: rgba(204, 204, 204, 0.9);
	font-size: .8125rem;
	line-height: 1.4;
	padding: 1rem;
}
.post-content img { border-radius: .75rem; margin: 0 0 .75rem; }
.post-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.post-publish {
	font-size: .5rem;
	font-weight: 600;
	text-transform: uppercase;
	color: rgba(59, 60, 67,.8);
	color: rgba(var(--text),.8);
	margin: 0;
}
.post-publish-date {
	display: block;
	font-size: .625rem;
	font-weight: 600;
	color: rgba(59, 60, 67,1);
	color: rgba(var(--text),1);
}
.post-link {
	box-shadow: 0 0 0 1px rgba(59, 60, 67,1);
	box-shadow: 0 0 0 1px rgba(var(--text),1);
	border-radius: .5rem;
	font-size: 10px;
	font-weight: 700;
	line-height: 1;
	text-transform: uppercase;
	color: rgba(59, 60, 67,1);
	color: rgba(var(--text),1);
	padding: .625rem;
}
.post-link:hover {
	background-color: rgba(59, 60, 67,1);
	background-color: rgba(var(--text),1);
	color: rgba(255, 255, 255,1);
	color: rgba(var(--white),1);
}
.list-container {
	margin: 0 -1rem;
	position: relative;
}
.list-item {
	display: flex;
	padding: .75rem;
}
.list-item-img-container {
	background-color: rgba(255, 255, 255, 1);
	background-color: rgba(var(--white), 1);
	border-radius: 12px;
	display: block;
	flex-shrink: 0;
	width: 64px;
	height: 64px;
	margin-right: .75rem;
	overflow: hidden;
}
.list-item-img {
	display: block;
	width: 100%;
	height: auto;
}
.list-item-content {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
	justify-content: center;
	font-size: .875rem;
	line-height: 1.334;
	letter-spacing: -0.04em;
	margin-right: .5rem;
}
.list-item-title {
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.25;
	color: rgba(25, 60, 240, 1);
	color: rgba(var(--primary), 1);
	margin: 0 0 .25rem;
}

.forgot-password-link {
	display: inline-block;
	font-size: .75rem;
	font-weight: 500;
	margin: .25rem 0 0;
}
.form-buttons {
	background-color: rgba(242, 242, 242,1);
	background-color: rgba(var(--background),1);
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 1rem;
	margin: 1rem -1rem -1rem;
}
.form-button-link,
.form-button {
	background-color: rgba(25, 60, 240,1);
	background-color: rgba(var(--primary),1);
	border: none;
	border-radius: .5rem;
	display: block;
	height: 48px;
	padding: .5rem 1rem;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.25;
	letter-spacing: -.04rem;
	color: rgba(243, 243, 243,1);
	color: rgba(var(--primaryContrast),1);
	position: relative;
}
.form-buttons :last-child {
	margin: 0 0 0 auto;
}
.form-button-link {
	background-color: transparent;
	color: rgba(25, 60, 240,1);
	color: rgba(var(--primary),1);
}
.form-button-link:hover {
	background-color: rgba(25, 60, 240,.1);
	background-color: rgba(var(--primary),.1);
}
.disclaimer {
	font-size: .8125rem;
	margin: .5rem 0;
}

.bt-show-password {
	background-color: transparent;
	border: none;
	border-radius: .25rem;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	padding: 0;
	cursor: pointer;
	position: absolute;
	top: .5rem;
	right: .5rem;
}
.bt-show-password:hover {
	background-color: rgba(25, 60, 240,.1);
	background-color: rgba(var(--primary),.1);
}
.bt-show-password .ico,
.bt-clear-term .ico {
	pointer-events: none;
}
.share-buttons {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	gap: 1rem;
}
.share-button-container {
	display: flex;
	flex-direction: column;
}
.share-button {
	background: transparent;
	border: none;
	border: 1px solid rgba(25, 60, 240,1);
	border: 1px solid rgba(var(--primary),1);
	border-radius: .5rem;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	min-height: 48px;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.5;
	color: rgba(25, 60, 240,1);
	color: rgba(var(--primary),1);
	padding: .75rem;
	cursor: pointer;
}
.share-button .ico {
	fill: rgba(25, 60, 240,1);
	fill: rgba(var(--primary),1);
}
.share-button > .ico {
	margin: 0 .625rem 0 0;
}
.share-button:hover {
	background-color: rgba(255, 255, 255,1);
	background-color: rgba(var(--white),1);
}

.share-button-component {
	border: 1px solid rgba(25, 60, 240,1);
	border: 1px solid rgba(var(--primary),1);
	border-radius: .5rem;
	display: flex;
	flex-direction: column;
}
.share-button-component .share-button {
	border: none;
}
.show-component {
	background-color: rgba(255, 255, 255,1);
	background-color: rgba(var(--white),1);
}
.show-component .share-component {
	display: flex;
}
.show-component .share-button {
	cursor: default;
}
.share-component {
	display: none;
	width: 100%;
	padding: 0 .75rem 1rem 2.875rem;
	position: relative;
}
.share-component .form-group {
	flex-grow: 1;
	margin: 0;
}
.btn-send {
	align-self: flex-end;
	margin: 0 0 .4375rem .75rem;
}
.btn-close-share-component {
	position: absolute;
	bottom: calc(100% + .5rem);
	right: .5rem;
}
.link-copied {
	display: none;
	align-items: center;
	align-self: stretch;
	border-radius: .25rem;
	background: rgba(25, 60, 240,1);
	background: rgba(var(--primary),1);
	font-size: .875rem;
	font-weight: 400;
	line-height: 1;
	color: rgba(243, 243, 243,1);
	color: rgba(var(--primaryContrast),1);
	padding: .5rem .75rem;
	margin: -.25rem -.25rem -.25rem auto;
}
.link-copied.show { display: flex; }
.zapt-watermark {
	background: transparent;
	border: none;
	width: 102px;
	height: 24px;
	padding: 0;
	position: absolute;
	bottom: 1.25rem;
	right: 0.5rem;
	cursor: pointer;
	overflow: hidden;
	z-index: 10;
}
.z-symbol { width: 24px; }
.zapt-watermark .ico {
	fill: rgba(255, 255, 255,1);
	fill: rgba(var(--white),1);
	filter: drop-shadow(0 0 1px rgba(0, 0, 0, .2));
}
.about-zapt-symbol {
	display: block;
	width: 100px;
	height: auto;
	margin: 25px auto;
}
.about-zapt {
	border-top: 1px solid rgba(22, 20, 31, .07);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .5);
    box-shadow: inset 0 1px 0 rgba(var(--white), .5);
	font-size: .875rem;
	padding: 1rem 0 0;
}
.about-version {
	font-size: .75rem;
	text-align: center;
}
.item-float-container {
	background: rgba(242, 242, 242, 0.7);
	background: rgba(var(--background), 0.7);
	box-shadow: 0 1px 1px -2px rgba(55, 55, 55,.15), 0 10px 20px -10px rgba(55, 55, 55,.4), 0 30px 40px -10px rgba(55, 55, 55,.2);
	box-shadow: 0 1px 1px -2px rgba(var(--shadow),.15), 0 10px 20px -10px rgba(var(--shadow),.4), 0 30px 40px -10px rgba(var(--shadow),.2);
	backdrop-filter: blur(8px);
	display: flex;
	flex-shrink: 0;
	flex-direction: column;
	border-radius: 1rem;
	margin: 0 0 1rem;
	overflow: hidden;
}
.item-float {
	display: flex;
	align-items: flex-start;
	gap: .75rem;
	padding: 1rem;
}
.item-float-ico {
	flex-shrink: 0;
}
.item-float-ico .ico { fill: rgba(25, 60, 240,1); fill: rgba(var(--primary),1); }
.item-float-content {
    display: flex;
    flex-direction: column;
	flex-grow: 1;
	align-items: flex-start;
	font-size: .875rem;
	line-height: 1.25;
}
.item-float-title {
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.25;
	color: rgba(25, 60, 240,1);
	color: rgba(var(--primary),1);
	padding: .125rem 0;
	margin: 0 0 .125rem;
}
.item-float-primary { background: rgba(25, 60, 240, 0.7); background: rgba(var(--primary), 0.7); }
.item-float-primary .item-float-ico .ico { fill: rgba(243, 243, 243,1); fill: rgba(var(--primaryContrast),1); }
.item-float-primary .item-float-content,
.item-float-primary .item-float-title { color: rgba(243, 243, 243,1); color: rgba(var(--primaryContrast),1); }
.item-float-secondary { background: rgba(255, 98, 9, 0.7); background: rgba(var(--secondary), 0.7); }
.item-float-secondary .item-float-ico .ico { fill: rgba(255, 246, 242,1); fill: rgba(var(--secondaryContrast),1); }
.item-float-secondary .item-float-content,
.item-float-secondary .item-float-title { color: rgba(255, 246, 242,1); color: rgba(var(--secondaryContrast),1); }
.items-float-list .item-float:not(:last-child) {
	border-bottom: 1px solid rgba(22, 20, 31, .07);
    box-shadow: 0 1px 0 rgba(255, 255, 255, .5);
    box-shadow: 0 1px 0 rgba(var(--white), .5);
}
.item-float .post-link {
	margin: .5rem 0 0 auto;
}
.event-title {
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.25;
	color: rgba(59, 60, 67,1);
	color: rgba(var(--text),1);
	margin: .25rem 0;
}
.draw-date {
	display: block;
	font-size: .75rem;
}
.fw400 { font-weight: 400; }
.search-event {
	background-color: rgba(255, 255, 255,.85);
	background-color: rgba(var(--white),.85);
	display: flex;
	align-items: center;
	gap: .5rem;
	padding: 1rem .75rem 1rem 1rem;
	margin: -1rem -1rem 1rem;
	position: sticky;
	top: -1rem;
	z-index: 10;
}
.search-event .form-group {
	flex-grow: 1;
	margin: 0;
}
.ico-arrow {
	transition: transform .3s ease;
}
.events-content {
	max-height: 0;
	overflow: hidden;
	transition: max-height .3s ease-out;
}
.open .ico-arrow {
	transform: rotate(180deg);
}
.profiles-container {
	display: flex;
	flex-wrap: wrap;
	margin: .5rem -.375rem 0;
}
.location-info-item .profiles-container {
	margin-top: 0;
}
.profiles-container-title {
	display: flex;
	align-items: center;
	flex-basis: 1;
	gap: .5rem;
	width: 100%;
	font-weight: 600;
	color: rgba(59, 60, 67, .8);
	color: rgba(var(--text), .8);
	padding: 0 .375rem;
	margin: 0 0 .5rem;
}
.profiles-container-title .ico {
	fill: rgba(59, 60, 67, .8);
	fill: rgba(var(--text), .8);
}
.profile-container {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	width: 25%;
	font-size: .75rem;
	font-weight: 500;
	padding: 0 .375rem;
	margin: 0 0 .75rem;
}
.profile-img {
	border-radius: .5rem;
	flex-shrink: 0;
	width: 100%;
	min-width: 60px;
	margin: 0 0 .25rem;
	overflow: hidden;
}
.profile-img img {
	display: block;
	width: 100%;
	height: auto;
}
.rating-options .form-group {
	padding: .75rem 1rem;
	margin: 0 -1rem;
}
.stars-container {
	display: flex;
	gap: .25rem;
	padding: .25rem 0;
}
.btn-star {
	width: 24px;
	height: 24px;
}
.btn-star:focus {
	outline: none;
}
.btn-star .ico use {
	color: transparent;
	fill: rgba(59, 60, 67,.5);
	fill: rgba(var(--text),.5);
}
.btn-star:hover .ico use {
	color: transparent;
	fill: rgba(59, 60, 67,1);
	fill: rgba(var(--text),1);
}
.btn-star.selected .ico use {
	color: rgba(25, 60, 240,1);
	color: rgba(var(--primary),1);
	fill: rgba(25, 60, 240,.1);
	fill: rgba(var(--primary),.1);
}
.tabs-container {
	display: flex;
	flex-shrink: 0;
	flex-wrap: nowrap;
	gap: .5rem;
	padding: 0 0 .25rem;
	margin: 0 0 .5rem;
	overflow: auto;
}
.btn-tab {
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.8) 0%, rgba(255, 255, 255, 0) 47.19%), rgba(240, 240, 242, 0.8);
	background: linear-gradient(180deg, rgba(var(--white), 0.8) 0%, rgba(var(--white), 0) 47.19%), rgba(240, 240, 242, 0.8);
	box-shadow: 0 1px 1px rgba(55, 55, 55, 0.2), 0 3px 4px rgba(55, 55, 55, 0.08), inset 0 -1px 0 rgba(22, 20, 31, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.6);
	box-shadow: 0 1px 1px rgba(var(--shadow), 0.2), 0 3px 4px rgba(var(--shadow), 0.08), inset 0 -1px 0 rgba(22, 20, 31, 0.08), inset 0 1px 0 rgba(var(--white), 0.6);
	border: none;
	border-radius: 8px 8px 2px 2px;
	display: flex;
	align-items: center;
	color: rgba(59, 60, 67, 1);
	color: rgba(var(--text), 1);
	padding: .75rem 1rem;
	white-space: nowrap;
	display: flex;
	flex-shrink: 0;
	font-size: .875rem;
	font-weight: 500;
	line-height: 1.25;
	letter-spacing: -.04rem;
	position: relative;
}
.btn-tab.current {
	background: rgba(25, 60, 240, 1);
	background: rgba(var(--primary), 1);
	box-shadow: none;
	color: rgba(255, 255, 255, 1);
	color: rgba(var(--white), 1);
}
.tab-content.active {
	display: block;
}
.tab-content {
	display: none;
}
.mx-auto {
	margin-right: auto;
	margin-left: auto;
}
.mt-1 {
	margin-top: 1rem;
}
.splash-screen {
	background-color: rgba(255, 255, 255, 1);
	background-color: rgba(var(--white), 1);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 1000;
	transition: top .5s ease-in-out;
}
#particles-js,
.splash-screen::before {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}
.splash-screen::before {
	background: rgba(255, 255, 255,1);
	background: rgba(var(--bodyBgColor),1);
	content: '';
}
.splash-screen.hide {
	top: -100vh;
}
.splash-screen-logo-container {
	background-color: #fff;
	box-shadow: 0 20px 20px -10px rgba(55, 55, 55,.15);
	box-shadow: 0 20px 20px -10px rgba(var(--shadow),.15);
	border-radius: 1rem;
	width: 100%;
	max-width: 300px;
	padding: 50px;
	margin: 0 20px 50px;
	position: relative;
}
.splash-screen-logo {
	display: block;
	max-width: 100%;
	height: auto;
	margin: 0 auto;
}
.splash-screen-pin {
	width: 48px;
	height: 48px;
	display: block;
	margin: 0 auto 30px auto;
	box-sizing: border-box;
	position: relative;
}
.splash-screen-pin::after {
	content: '';
	box-sizing: border-box;
	width: 48px;
	height: 48px;
	left: 0;
	bottom: 0;
	position: absolute;
	border-radius: 50% 50% 0;
	border: 15px solid rgba(25, 60, 240, 1);
	border: 15px solid rgba(var(--primary), 1);
	transform: rotate(45deg) translate(0, 0);
	box-sizing: border-box;
	animation: animMarker 0.4s ease infinite alternate;
}
.splash-screen-pin::before {
	content: '';
	box-sizing: border-box;
	position: absolute;
	left: 0;
	right: 0;
	margin: auto;
	top: 150%;
	width: 24px;
	height: 4px;
	border-radius: 50%;
	background: rgba(55, 55, 55, 0.2);
	background: rgba(var(--shadow), 0.2);
	animation: animShadow 0.4s ease infinite alternate;
}
@keyframes animMarker {
	0% {
		transform: rotate(45deg) translate(5px, 5px);
	}
	100% {
		transform: rotate(45deg) translate(-5px, -5px);
	}
}
@keyframes animShadow {
	0% {
		transform: scale(0.5);
	}
	100% {
		transform: scale(1);
	}
}

.map-container {
	width: 100%;
	height: 100%;
	top: auto;
	left: auto;
}
.map-container-buttons {
	display: none;
    flex-direction: column;
    gap: 0.5rem;
	position: absolute;
	bottom: 1rem;
	left: 1rem;
	z-index: 2;
}
.map-container-360 {
	opacity: 0;
	visibility: hidden;
	z-index: -1;
}
.two-maps .map-container {
	box-shadow: 0 1px 1px -2px rgba(55, 55, 55,.15), 0 10px 20px -10px rgba(55, 55, 55,.4), 0 30px 40px -10px rgba(55, 55, 55,.2);
	box-shadow: 0 1px 1px -2px rgba(var(--shadow),.15), 0 10px 20px -10px rgba(var(--shadow),.4), 0 30px 40px -10px rgba(var(--shadow),.2);
	border-radius: 1rem;
	width: 570px;
	height: 315px;
	overflow: hidden;
	top: auto;
	right: 1rem;
	bottom: 1rem;
	left: auto;
	z-index: 2;
}
.two-maps .map-container-buttons { display: flex; }
.two-maps .map-container-360 {
	opacity: 1;
	visibility: visible;
	z-index: 1;
}
.two-maps .map-control {
	right: 2rem;
	bottom: 2rem;
}
.zoom-map-container .map-container {
	box-shadow: none;
	border-radius: 0;
	width: calc(570px + 1rem);
	height: 100%;
	top: auto;
	right: 0;
	bottom: 0;
}
.zoom-map-container .map-container-360 {
	right: calc(570px + 1rem);
}
.zoom-map-container .map-control {
	right: 1rem;
	bottom: 1rem;
}
.map-container, .map-container-360, .map-control {
	transition: all .5s ease;
}

.rounded-button-container {
    border-radius: 50%;
}
.rounded-button-container .map-control-button {
    border-radius: 50%;
}

.btn-ico .ico,
.menu-header-link .ico,
.menu-button .ico,
.search-button .ico,
.menu .ico,
.location-item-button .ico,
.tooltip-location-button .ico,
.tooltip-location-pin .ico,
.map-control-button .ico,
.map-control-floor-button .ico,
.block-header-ico .ico,
.card-directions-button .ico,
.card-directions-item-ico .ico,
.simulation-route-action-button .ico,
.simulation-route-content-button .ico,
.directions-route-type-button.current .ico,
.expand-tab .ico,
.card-gallery-nav-button .ico,
.bt-show-password .ico,
.svg-primary {
	fill: rgba(25, 60, 240, 1);
	fill: rgba(var(--primary), 1);
}
@media (min-width: 768px) {
	.container-card.container-card-left {
		background: transparent;
    	backdrop-filter: none;
	}
	.container-card.container-card-left .card-container {
		margin: 0;
	}
}
@media (max-width: 767px) {
	.header-app {
		display: block;
	}
	.header-app::before {
		display: block;
	}
	.menu-container,
	.menu-single-item,
	.btToggleHeight,
	.simulation-show-steps {
		display: flex;
	}
	.menu-container { width: 100%; }
	.map-control {
		right: .5rem;
		bottom: 5rem;
	}
	.container-card {
		padding: .5rem .5rem 4.75rem;
	}
	.container-card.container-card-full {
		padding: 0 0 4.75rem;
	}
	.container-card-full .card-content {
		padding: 1rem .5rem;
	}
	.container-card-full .card-content .card-content-contrast {
		margin: -1rem -0.5rem 1rem;
	}
	.container-card-full .card-content .location-info-container {
		margin: -1rem -0.5rem;
	}
	.block-list,
	.block-card,
	.block-card-directions {
		padding: .5rem;
		top: 120px;
		bottom: 68px;
		left: 0;
		z-index: 15;
	}
	.block-list {
		z-index: 10;
	}
	.block-card-directions {
		z-index: 20;
	}
	.block-card {
		background: rgba(168,168,168,.6);
		backdrop-filter: blur(8px);
		bottom: 0;
		padding-bottom: 4.75rem;
	}
	.block-card-full {
		padding: 0;
		padding-bottom: 4.75rem;
	}
	.block-card-full .card-container {
		border-radius: 0;
	}
	.block-card-half {
		bottom: 50%;
		padding-bottom: .5rem;
	}
	.block-card {
		top: 0;
	}
	.block-card-directions {
		top: auto;
	}
	.card-directions-steps {
		display: none;
	}
	.block-card-directions.showSteps {
		top: 0;
	}
	.block-card-directions.showSteps .card-directions-steps {
		display: flex;
	}
	.directions-route-container {
		padding: 0;
	}
	.directions-route::before {
		border-radius: 0;
	}
	.simulation-route-container {
		padding: .5rem;
		left: 0;
	}
	.bt-steps,
	.card-directions-button.bt-start-route {
		display: flex;
	}
	.card-directions-button.bt-simulate {
		flex-grow: 1;
	}
	.alert-container {
		bottom: 68px;
	}
	.search-container,
	.alert-notification,
	.block-list,
	.block-card,
	.block-card-directions,
	.container-card .card-container,
	.directions-route-container,
	.simulation-route-container {
		max-width: 500px;
	}
	.z-symbol {
		bottom: 5rem;
		left: .75rem;
	}
	.nav-control {
		gap: .5rem;
	}
	.two-maps .map-container {
		box-shadow: 3px -70px 99px -27px rgba(55, 55, 55, 0.2), 2px -35px 44px -27px rgba(55, 55, 55, 0.15), 1px -14px 16px -27px rgba(55, 55, 55, 0.1), 0 -3px 6px -27px rgba(55, 55, 55, 0.06);
		box-shadow: 3px -70px 99px -27px rgba(var(--shadow), 0.2), 2px -35px 44px -27px rgba(var(--shadow), 0.15), 1px -14px 16px -27px rgba(var(--shadow), 0.1), 0 -3px 6px -27px rgba(var(--shadow), 0.06);
		border-radius: .5rem;
		margin: .5rem;
		width: auto;
		height: 200px;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 2;
	}
	.two-maps .map-container-buttons {
		position: fixed;
	}
	.two-maps .map-control {
		right: 1rem;
		bottom: 1rem;
	}
	.two-maps .zapt-watermark {
		z-index: 1;
	}
	.zoom-map-container .map-container-360 { right: 0; }
	.zoom-map-container .map-container {
		border-radius: 0;
		width: 100%;
		height: 100%;
		margin: 0;
	}
	.map-control-zoom { display: none; }
}
/* tippy */
.tippy-box[data-animation="fade"][data-state="hidden"] {
    opacity: 0;
}
[data-tippy-root] {
    max-width: calc(100vw - 5px);
}
.tippy-box {
	background: rgba(255, 98, 9,1);
	background: rgba(var(--secondary),1);
	border-radius: .5rem;
	font-size: .75rem;
	font-weight: 500;
	line-height: 1.25;
	color: rgba(255, 246, 242, 1);
	color: rgba(var(--secondaryContrast), 1);
    white-space: normal;
    outline: 0;
	position: relative;
    transition-property: transform, visibility, opacity;
}
.tippy-box[data-placement^="top"] > .tippy-arrow {
    bottom: 0;
}
.tippy-box[data-placement^="top"] > .tippy-arrow:before {
    bottom: -5px;
    left: 0;
    border-width: 6px 6px 0;
    border-top-color: currentcolor;
    border-top-color: initial;
    transform-origin: center top;
}
.tippy-box[data-placement^="bottom"] > .tippy-arrow {
    top: 0;
}
.tippy-box[data-placement^="bottom"] > .tippy-arrow:before {
    top: -5px;
    left: 0;
    border-width: 0 6px 6px;
    border-bottom-color: currentcolor;
    border-bottom-color: initial;
    transform-origin: center bottom;
}
.tippy-box[data-placement^="left"] > .tippy-arrow {
    right: 0;
}
.tippy-box[data-placement^="left"] > .tippy-arrow:before {
    border-width: 6px 0 6px 6px;
    border-left-color: currentcolor;
    border-left-color: initial;
    right: -5px;
    transform-origin: center left;
}
.tippy-box[data-placement^="right"] > .tippy-arrow {
    left: 0;
}
.tippy-box[data-placement^="right"] > .tippy-arrow:before {
    left: -5px;
    border-width: 6px 6px 6px 0;
    border-right-color: currentcolor;
    border-right-color: initial;
    transform-origin: center right;
}
.tippy-box[data-inertia][data-state="visible"] {
    transition-timing-function: cubic-bezier(0.54, 1.5, 0.38, 1.11);
}
.tippy-arrow {
    width: 12px;
    height: 12px;
    color: rgba(255, 98, 9,1);
    color: rgba(var(--secondary),1);
	display: none; /* hide arrow */
}
.tippy-arrow:before {
    content: "";
    position: absolute;
    border-color: transparent;
    border-style: solid;
}
.tippy-content {
    position: relative;
    padding: .5rem .625rem;
    z-index: 1;
}
/* end tippy */
/* hover */
.search-button:hover,
.menu-button:hover,
.menu-header-link:hover,
.menu-link:hover,
.submenu-link:hover,
.autocomplete-item:hover,
.subcategory-menu .category-link:hover,
.map-control-floor-panel:hover .map-control-floor-button,
.floor-item:hover,
.btn-ico:hover,
.location-item:hover,
.location-info-btns .btn-ico:hover,
.bt-expand-card:hover,
.directions-route-header-button:hover,
.directions-route-type-button:hover,
.language-item:hover,
.list-item:hover,
.form-button-link:hover,
.card-gallery-nav-button:hover {
	background-color: rgba(255, 98, 9, .1);
	background-color: rgba(var(--secondary), .1);
}
.menu-header-link:hover,
.menu-link:hover,
.submenu-link:hover,
.autocomplete-item:hover,
.category-item>.category-link:hover,
.category-item:hover>.category-link,
.subcategory-menu .category-link:hover,
.form-button-link:hover {
	color: rgba(255, 98, 9, 1);
	color: rgba(var(--secondary), 1);
}
.search-button:hover .ico,
.menu-button:hover .ico,
.menu-header-link:hover .ico,
.menu-link:hover .ico,
.submenu-link:hover .ico,
.category-item:hover>.category-link .ico,
.map-control-floor-panel:hover .map-control-floor-button .ico,
.btn-ico:hover .ico,
.bt-expand-card:hover .ico,
.directions-route-header-button:hover .ico,
.directions-route-type-button:hover .ico,
.zapt-watermark:hover .ico,
.card-gallery-nav-button:hover .ico {
	fill: rgba(255, 98, 9, 1);
	fill: rgba(var(--secondary), 1);
}
.tooltip-location-button:hover,
.tooltip-route-btn:hover,
.location-item-button:hover,
.location-card-button:hover,
.card-directions-button:hover,
.simulation-route-action-button:hover,
.bt-start-route:hover,
.form-button:hover {
	background-color: rgba(255, 98, 9, 1);
	background-color: rgba(var(--secondary), 1);
}
.tooltip-location-button:hover,
.tooltip-route-btn:hover,
.location-item-button:hover,
.location-card-button:hover,
.card-directions-button:hover,
.simulation-route-action-button:hover,
.bt-start-route:hover,
.form-button:hover {
	color: rgba(255, 246, 242, 1);
	color: rgba(var(--secondaryContrast), 1);
}
.tooltip-location-button:hover .ico,
.location-item-button:hover .ico,
.location-card-button:hover .ico,
.simulation-route-header-button .ico,
.simulation-route-content-button .ico,
.card-directions-button:hover .ico,
.simulation-route-action-button:hover .ico,
.bt-start-route:hover .ico {
	fill: rgba(255, 246, 242, 1);
	fill: rgba(var(--secondaryContrast), 1);
}
.card-directions-button:hover,
.simulation-route-action-button:hover,
.bt-start-route:hover {
	border-color: rgba(255, 98, 9, 1);
	border-color: rgba(var(--secondary), 1);
}
.loading-container {
	background: rgba(255, 255, 255, .5);
	background: rgba(var(--white), .5);
	border-radius: 10px;
	width: 50px;
	height: 20px;
	padding: 5px;
	margin: 10px auto;
	position: relative;
}
.loading, .loading::before, .loading::after {
	background-color: rgba(25, 60, 240,1);
	background-color: rgba(var(--primary),1);
	box-shadow: -22px 9999px 0 -5px rgba(25, 60, 240,.5);
	box-shadow: -22px 9999px 0 -5px rgba(var(--primary),.5);
	border-radius: 5px;
	width: 10px;
	height: 10px;
	animation: loading 1.5s infinite linear;
}
.loading {
	position: relative;
	top: -9999px;
	left: 50%;
	transform: translateX(-50%);
	animation-delay: -0.85s;
}
.loading::before, .loading::after {
	display: block;
	content: "";
	position: absolute;
	top: 0;
}
.loading::before { animation-delay: -1.85s; }
.loading::after { animation-delay: -2.85s; }
@keyframes loading {
	1% { box-shadow: -22px 9999px 0 -5px rgba(25, 60, 240,.5); box-shadow: -22px 9999px 0 -5px rgba(var(--primary),.5); }
	50% { box-shadow: 0 9999px 0 2px rgba(25, 60, 240,1); box-shadow: 0 9999px 0 2px rgba(var(--primary),1); }
	100% { box-shadow: 22px 9999px 0 -5px rgba(25, 60, 240,.5); box-shadow: 22px 9999px 0 -5px rgba(var(--primary),.5); }
}
@supports not ((backdrop-filter: blur(10px)) or (backdrop-filter: blur(8px)) or (backdrop-filter: blur(5px)) or (backdrop-filter: blur(2px))) {
	.header-app::before,
	.search-field { background: linear-gradient(180deg, rgba(255, 255, 255, .6) 0%, rgba(255, 255, 255, .7) 100%), rgba(255, 255, 255, .5); background: linear-gradient(180deg, rgba(var(--white), .6) 0%, rgba(var(--white), .7) 100%), rgba(var(--white), .5); }
	.menu-header,
	.submenu { background: linear-gradient(180deg, rgba(255, 255, 255, .8) 0%, rgba(255, 255, 255, 0) 100%), rgba(234, 234, 236, 0.9); background: linear-gradient(180deg, rgba(var(--white), .8) 0%, rgba(var(--white), 0) 100%), rgba(234, 234, 236, 0.9); }
	.category-item>.category-link { background: linear-gradient(180deg, rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0) 47.19%), rgba(240, 240, 242, 0.9); background: linear-gradient(180deg, rgba(var(--white), 0.9) 0%, rgba(var(--white), 0) 47.19%), rgba(240, 240, 242, 0.9); }
	.category-item.current>.category-link,
	.category-item.current>.category-link:hover { background: rgba(25, 60, 240, 1); background: rgba(var(--primary), 1); color: rgba(255, 255, 255, 1); color: rgba(var(--white), 1); }
	.subcategory-menu,
	.block-container,
	.map-control-button-container,
	.map-control-floor-panel::before { background: linear-gradient(180deg, rgba(255, 255, 255, .9) 0%, rgba(255, 255, 255, 0) 100%), rgba(255, 255, 255, .85); background: linear-gradient(180deg, rgba(var(--white), .9) 0%, rgba(var(--white), 0) 100%), rgba(var(--white), .85); }
	.menu::before,
	.menu-single-item { background: linear-gradient(180deg, rgba(255, 255, 255, .9) 0%, rgba(255, 255, 255, 0) 67.97%), rgba(255, 255, 255, 0.8); background: linear-gradient(180deg, rgba(var(--white), .9) 0%, rgba(var(--white), 0) 67.97%), rgba(var(--white), 0.8); }
	.tooltip-location { background: rgba(234, 234, 236, 0.95); }
	.tooltip-route { background: rgba(234, 234, 236, 0.95); }
	.alert-error { background: rgba(231, 18, 18, 0.9); }
	.alert-warning { background: rgba(211, 216, 225, 0.9); }
	.container-card, .block-card { background: rgba(168,168,168,.9); }
	.card-header { background: rgba(25, 60, 240, .9); background: rgba(var(--primary), .9); }
	.card-content { background-color: rgba(242, 242, 242, 0.9); background-color: rgba(var(--background), 0.9); }
	.expand-tab { background-color: rgba(243, 243, 243, .7); background-color: rgba(var(--primaryContrast), .7); }
	.directions-route::before { background: linear-gradient(180deg, rgba(255, 255, 255, .9) 0%, rgba(255, 255, 255, 0) 100%), rgba(204, 204, 204, 0.9); background: linear-gradient(180deg, rgba(var(--white), .9) 0%, rgba(var(--white), 0) 100%), rgba(204, 204, 204, 0.9); }
	.card-directions { background: linear-gradient(180deg, rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0) 67.97%), rgba(255, 255, 255, .9); background: linear-gradient(180deg, rgba(var(--white), 0.9) 0%, rgba(var(--white), 0) 67.97%), rgba(var(--white), .9); }
	.simulation-route { background: rgba(25, 60, 240, .9); background: rgba(var(--primary), .9); }
	.route-line { background-color: rgba(25, 60, 240, .8); background-color: rgba(var(--primary), .8); }
	.item-float-container { background: rgba(242, 242, 242, 0.95); background: rgba(var(--background), 0.95); }
}

.totem15 .app, .totem15 [data-tippy-root] {
	zoom: 1.5;
}
.block-card .qrcode-container { margin-top: 1rem; }
.qrcode-img {
	background-color: #000;
	display: block;
	flex-shrink: 0;
	width: 64px;
	height: 64px;
}
.totem .block-card {
	max-width: none;
}
.totem .block-card .card-container {
	max-width: 900px;
	margin: 0 auto;
}
.totem .block-card .card-container .card-content {
	flex-direction: row;
	padding: 0;
}
.totem .block-card .card-container.card-container-gallery .card-content {
	padding: 1rem;
}
.totem .block-card .card-container .card-content-contrast {
	flex-shrink: 0;
	margin: 0;
	width: 400px;
}
.totem .block-card .card-container .location-info-container {
	margin: 0;
	overflow: auto;
}

.menu-sidebar-container {
	position: absolute;
	top: 80px;
	bottom: 56px;
	left: 0;
	z-index: 2;
}
.menu-sidebar {
	background: rgba(204, 204, 204, .2);
	background: rgba(var(--backgroundContrast), .2);
	box-shadow: 0 3px 5px -3px rgba(55, 55, 55, 0.25), 0 15px 45px -15px rgba(55, 55, 55, 0.25), inset 0 0 2px rgba(255, 255, 255, 0.9);
	box-shadow: 0 3px 5px -3px rgba(var(--shadow), 0.25), 0 15px 45px -15px rgba(var(--shadow), 0.25), inset 0 0 2px rgba(var(--white), 0.9);
	backdrop-filter: blur(12px);
	border-radius: 0 1.5rem 1.5rem 0;
	display: flex;
	max-height: 100%;
	flex-direction: column;
	gap: .75rem;
	padding: 1rem;
	overflow: auto;
}
.btn-menu-sidebar {
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0) 100%), rgba(255, 255, 255, 0.4);
	background: linear-gradient(180deg, rgba(var(--white), 0.5) 0%, rgba(var(--white), 0) 100%), rgba(var(--white), 0.4);
	border: none;
	box-shadow: 0 2px 2px -3px rgba(55, 55, 55, 0.15), 0 15px 45px -15px rgba(55, 55, 55, 0.25), inset 0 1px 0 rgba(255, 255, 255, 0.6), inset 0 0 1px rgba(255, 255, 255, 0.9);
	box-shadow: 0 2px 2px -3px rgba(var(--shadow), 0.15), 0 15px 45px -15px rgba(var(--shadow), 0.25), inset 0 1px 0 rgba(var(--white), 0.6), inset 0 0 1px rgba(var(--white), 0.9);
	border-radius: .75rem;
	display: flex;
	gap: 1rem;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 120px;
	font-size: .75rem;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: -0.04em;
	text-transform: uppercase;
	color: rgba(59, 60, 67, 1);
	color: rgba(var(--text), 1);
	padding: .75rem;
	transition: .3s;
}
.btn-menu-sidebar svg {
	width: 30px;
	height: 30px;
	margin-top: .375rem;
	fill: rgba(25, 60, 240, 1);
	fill: rgba(var(--primary), 1);
	transition: .3s;
}
.btn-menu-sidebar:hover,
.totem-button:hover {
	background-color: rgba(255, 255, 255, 1);
	background-color: rgba(var(--white), 1);
	color: rgba(255, 98, 9, 1);
	color: rgba(var(--secondary), 1);
	transform: scale(1.05);
}
.btn-menu-sidebar:hover svg,
.totem-button:hover svg { fill: rgba(255, 98, 9, 1); fill: rgba(var(--secondary), 1); }

.totem-home {
	background-color: rgba(255, 255, 255,1);
	background-color: rgba(var(--bodyBgColor),1);
	padding: 80px 1rem 1rem;
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 9;
	overflow: auto;
}

.totem-buttons-container {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	margin: 0 0 1rem;
}
.totem-button {
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0) 100%), rgba(255, 255, 255, 0.4);
	background: linear-gradient(180deg, rgba(var(--white), 0.5) 0%, rgba(var(--white), 0) 100%), rgba(var(--white), 0.4);
	border: none;
	box-shadow: 0 2px 2px -3px rgba(55, 55, 55, 0.15), 0 15px 45px -15px rgba(55, 55, 55, 0.25), inset 0 1px 0 rgba(255, 255, 255, 0.6), inset 0 0 1px rgba(255, 255, 255, 0.9);
	box-shadow: 0 2px 2px -3px rgba(var(--shadow), 0.15), 0 15px 45px -15px rgba(var(--shadow), 0.25), inset 0 1px 0 rgba(var(--white), 0.6), inset 0 0 1px rgba(var(--white), 0.9);
	backdrop-filter: blur(12px);
	border-radius: 1rem;
	display: flex;
	flex-shrink: 0;
	gap: 1rem;
	flex-direction: column;
	align-items: center;
	justify-content: space-evenly;
	width: 136px;
	aspect-ratio: 1;
	font-size: .875rem;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: -0.03em;
	color: rgba(59, 60, 67, 1);
	color: rgba(var(--text), 1);
	padding: 1rem;
	transition: .3s;
}
.totem-button svg {
	width: 48px;
	height: 48px;
	fill: rgba(25, 60, 240, 1);
	fill: rgba(var(--primary), 1);
	transition: .3s;
}

.totem-button-primary,
.totem-button.totem-button-primary:hover {
	background: rgba(25, 60, 240, .7);
	background: rgba(var(--primary), .7);
	box-shadow: 0 2px 2px -3px rgba(25, 60, 240, 0.15), 0 15px 30px -15px rgba(25, 60, 240, 0.4), 0 45px 60px -15px rgba(25, 60, 240, 0.2);
	box-shadow: 0 2px 2px -3px rgba(var(--primary), 0.15), 0 15px 30px -15px rgba(var(--primary), 0.4), 0 45px 60px -15px rgba(var(--primary), 0.2);
	color: rgba(255, 255, 255, 1);
	color: rgba(var(--white), 1);
}
.totem-button-secondary,
.totem-button.totem-button-secondary:hover {
	background: rgba(255, 98, 9, .7);
	background: rgba(var(--secondary), .7);
	box-shadow: 0 2px 2px -3px rgba(255, 98, 9, 0.15), 0 15px 30px -15px rgba(255, 98, 9, 0.4), 0 45px 60px -15px rgba(255, 98, 9, 0.2);
	box-shadow: 0 2px 2px -3px rgba(var(--secondary), 0.15), 0 15px 30px -15px rgba(var(--secondary), 0.4), 0 45px 60px -15px rgba(var(--secondary), 0.2);
	color: rgba(255, 255, 255, 1);
	color: rgba(var(--white), 1);
}
.totem-button-primary svg,
.totem-button-secondary svg,
.totem-button.totem-button-primary:hover svg,
.totem-button.totem-button-secondary:hover svg {
	fill: rgba(255, 255, 255, 1);
	fill: rgba(var(--white), 1);
}

.banners-container {
	display: flex;
	gap: 1rem;
	position: relative;
}
.banners-container.swiper {
	margin-right: -1rem;
	margin-left: -1rem;
	padding: 0 1rem 2rem;
}
.banner-img-container {
	display: block;
}
.banner-img-container img {
	border-radius: 1rem;
	display: block;
	width: 100%;
	height: auto;
}
.banner-card {
	background: rgba(255, 255, 255, 0.4);
	background: rgba(var(--white), 0.4);
	box-shadow: 0 20px 20px -10px rgba(55, 55, 55, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.9);
	box-shadow: 0 20px 20px -10px rgba(var(--shadow), 0.15), inset 0 1px 0 rgba(var(--white), 0.9);
	border-radius: 1rem;
	display: flex;
	flex-direction: column;
	gap: 1rem;
	padding: 1rem;
}
.banner-card.swiper-slide { display: flex; }
.banner-card .banner-img-container img { border-radius: .5rem; }
.banner-card-content {
	display: flex;
    align-items: flex-end;
	gap: 1rem;
}
.banner-card-info {
	flex: 1;
}
.banner-card-title {
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.2;
	color: rgba(25, 60, 240,1);
	color: rgba(var(--primary),1);
}
.banner-card-text {
	font-size: .875rem;
	line-height: 1.333;
	margin-top: .625rem;
}
.btn-default {
	background: rgba(25, 60, 240, 1);
	background: rgba(var(--primary), 1);
    border: none;
    border-radius: 0.5rem;
    display: flex;
    gap: 0.625rem;
    height: 48px;
    align-items: center;
    font-size: .875rem;
    font-weight: 600;
    line-height: 1.4285;
    letter-spacing: -0.04em;
    color: rgba(243, 243, 243, 1);
    color: rgba(var(--primaryContrast), 1);
    padding: 0.75rem 1.25rem;
}
.btn-default:hover {
	background: rgba(255, 98, 9, 1);
	background: rgba(var(--secondary), 1);
    color: rgba(255, 246, 242, 1);
    color: rgba(var(--secondaryContrast), 1);
}
.banner-next, .banner-prev {
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0) 100%), rgba(255, 255, 255, 0.4);
	background: linear-gradient(180deg, rgba(var(--white), 0.5) 0%, rgba(var(--white), 0) 100%), rgba(var(--white), 0.4);
	box-shadow: 0 2px 2px -3px rgba(55, 55, 55, 0.15), 0 15px 45px -15px rgba(55, 55, 55, 0.25), inset 0 1px 0 rgba(255, 255, 255, 0.6), inset 0 0 1px rgba(255, 255, 255, 0.9);
	box-shadow: 0 2px 2px -3px rgba(var(--shadow), 0.15), 0 15px 45px -15px rgba(var(--shadow), 0.25), inset 0 1px 0 rgba(var(--white), 0.6), inset 0 0 1px rgba(var(--white), 0.9);
	backdrop-filter: blur(12px);
	border-radius: .625rem;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 10;
}
.banner-prev { left: 2rem; }
.banner-next { right: 2rem; }
.banner-next svg, .banner-prev svg { width: 28px; height: 28px; fill: rgba(25, 60, 240,1); fill: rgba(var(--primary),1); }
.banner-next:hover, .banner-prev:hover { background-color: rgba(255, 255, 255,1); background-color: rgba(var(--white),1); }
.banner-next:hover svg, .banner-prev:hover svg { fill: rgba(255, 98, 9,1); fill: rgba(var(--secondary),1); }

.banners-container .swiper-pagination-bullet {
	background: rgba(25, 60, 240, 1);
	background: rgba(var(--primary), 1);
}

.qrcode-container {
	background: rgba(255, 255, 255, 1);
	background: rgba(var(--white), 1);
	border-radius: 1rem;
	display: flex;
	align-items: center;
	max-width: 220px;
	gap: 1rem;
	font-size: .75rem;
	font-weight: 500;
	line-height: 1.2;
	text-transform: uppercase;
	padding: 1rem;
	z-index: 5;
}
.qrcode-tb {
	flex-direction: row-reverse;
	position: fixed;
	right: 1rem;
	bottom: 1rem;
}
.qrcode-tr {
	flex-direction: row-reverse;
	position: fixed;
	top: 80px;
	right: 1rem;
}

.banners-y {
	display: flex;
	flex-direction: row-reverse;
	align-items: flex-start;
	gap: 1rem;
}
.banners-y .totem-buttons-container {
	width: 50%;
	flex: 1;
}
.banners-y .banners-container {
	width: 50%;
	flex: 1;
	margin-right: 0;
	padding-right: 0;
}
.banners-y .banners-container .banner-next { right: 1rem; }

/* Reset some default styles to improve tooltip appearance */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.tooltip-container {
    position: relative;
    display: inline-block; /* Use 'block' if you want a tooltip on a new line */
	z-index: 2;
}

.tooltip-content {
	border-radius: 12px;
    z-index: 3;
    position: absolute;
    bottom: 100%; /* Position the tooltip above the trigger */
    left: 50%; /* Center the tooltip relative to the trigger */
    transform: translateX(-60%) translateY(-15%); /* Center the tooltip horizontally */
    padding: 8px;
    border-radius: 4px;
    visibility: hidden; /* Hide the tooltip by default */
    opacity: 0; /* Make the tooltip invisible by default */
    transition: opacity 0.2s ease-in-out; /* Add a smooth fade-in/fade-out effect */
	font-size: .80rem;
	font-weight: 650;
	line-height: 1;
	font-family: 'Inter', sans-serif;
	letter-spacing: -.04em;
	text-overflow: ellipsis;
	font-family: 'Inter', sans-serif;
	letter-spacing: -.04em;
	text-align: center
}

.tooltip-trigger:hover + .tooltip-content {
	animation: tooltip 1.5s step-end;
}

@keyframes tooltip {
	0% { visibility: visible; opacity: 1; }
	100% { visibility: hidden; opacity: 0; }
}

.align-content-no-image { 
	align-items: flex-start !important;
	margin-left: 2px;
}

.route-duration-popup-text{
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    font-weight: 400;
}

.route-popup{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 8px;
	align-self: stretch;
	border-radius: 12px;
	background: #fff;

	box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.3),
	  0px 2px 6px 2px rgba(0, 0, 0, 0.15);
	max-width: -moz-fit-content;
	max-width: fit-content;

}

.route-popup .leaflet-popup-content{
	width: 140px!important;
	display: flex;
	justify-content: center;
}

.route-popup .leaflet-popup-scrolled{
	border: medium none currentcolor;
	border: initial;
}

.multiple-route-popup{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 8px;
	align-self: stretch;
	border-radius: 12px;
	background: #fff;

	box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.3),
	  0px 2px 6px 2px rgba(0, 0, 0, 0.15);
	max-width: -moz-fit-content;
	max-width: fit-content;
}
.multiple-route-popup .pin svg{
	position: relative;
}
.multiple-route-popup .leaflet-popup-content{
	display: flex;
	justify-content: center;
	height: auto!important;
	width: auto!important;
	max-width: 257px!important;
}

.multiple-route-popup .leaflet-popup-scrolled{
	overflow: visible;
	overflow: initial;
	border: medium none currentcolor;
	border: initial;
}

.estimated-time{
	color: #747272;
	font-size: 10px;
	font-style: normal;
	font-weight: 400;
	line-height: 16px; /* 160% */
	letter-spacing: 0.4px;
	margin: 0px!important;

}
.vehicle-section-duration{
	color: #353535;
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: 16px; /* 100% */
	letter-spacing: 0.4px;
	margin: 0px!important;

}
.route-length{
	color: #A8A8A8;
	font-size: 14px;
	font-style: normal;
	font-weight: 400;
	line-height: 16px; /* 114.286% */
	letter-spacing: 0.4px;color: #A8A8A8;
	margin: 0px!important;

}
.accuracy-cursor{
	color: rgba(25, 60, 240, 1);
	color: rgba(var(--primary), 1);
}

.color-primary{
	color: rgba(25, 60, 240, 1);
	color: rgba(var(--primary), 1);

}
.color-secondary{
	color: rgba(255, 98, 9, 1);
	color: rgba(var(--secondary), 1);

}
.fill-primary{
	fill: rgba(25, 60, 240, 1)!important;
	fill: rgba(var(--primary), 1)!important;

}
.fill-secondary{
	fill: rgba(255, 98, 9, 1)!important;
	fill: rgba(var(--secondary), 1)!important;

}

.leaflet-tooltip-pane:has(.transition-popup){
	z-index: 651;
}

.transition-popup{
	border: transparent;
    border-radius: 4px;
    font-family: sans-serif;
	padding: 8px 12px;
    background: rgba(25, 60, 240, 1);
    background: rgba(var(--primary), 1);
    justify-content: flex-start;
    align-items: center;
    gap: 2px;
    display: inline-flex;
    color: white;
    font-size: 12px;
    font-family: sans-serif;
    font-weight: bold;
    word-wrap: break-word;
    text-align: center;
	opacity: 1!important;
	justify-content: center;
}
/*!************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./src/www/fonts/inter/inter.css ***!
  \************************************************************************************************************************/
@font-face {
  font-family: 'Inter';
  font-style:  normal;
  font-weight: 100;
  font-display: swap;
  src: url(./assets/Inter-Thin.woff2?v=3.19) format("woff2"),
       url(./assets/Inter-Thin.woff?v=3.19) format("woff");
}
@font-face {
  font-family: 'Inter';
  font-style:  italic;
  font-weight: 100;
  font-display: swap;
  src: url(./assets/Inter-ThinItalic.woff2?v=3.19) format("woff2"),
       url(./assets/Inter-ThinItalic.woff?v=3.19) format("woff");
}

@font-face {
  font-family: 'Inter';
  font-style:  normal;
  font-weight: 200;
  font-display: swap;
  src: url(./assets/Inter-ExtraLight.woff2?v=3.19) format("woff2"),
       url(./assets/Inter-ExtraLight.woff?v=3.19) format("woff");
}
@font-face {
  font-family: 'Inter';
  font-style:  italic;
  font-weight: 200;
  font-display: swap;
  src: url(./assets/Inter-ExtraLightItalic.woff2?v=3.19) format("woff2"),
       url(./assets/Inter-ExtraLightItalic.woff?v=3.19) format("woff");
}

@font-face {
  font-family: 'Inter';
  font-style:  normal;
  font-weight: 300;
  font-display: swap;
  src: url(./assets/Inter-Light.woff2?v=3.19) format("woff2"),
       url(./assets/Inter-Light.woff?v=3.19) format("woff");
}
@font-face {
  font-family: 'Inter';
  font-style:  italic;
  font-weight: 300;
  font-display: swap;
  src: url(./assets/Inter-LightItalic.woff2?v=3.19) format("woff2"),
       url(./assets/Inter-LightItalic.woff?v=3.19) format("woff");
}

@font-face {
  font-family: 'Inter';
  font-style:  normal;
  font-weight: 400;
  font-display: swap;
  src: url(./assets/Inter-Regular.woff2?v=3.19) format("woff2"),
       url(./assets/Inter-Regular.woff?v=3.19) format("woff");
}
@font-face {
  font-family: 'Inter';
  font-style:  italic;
  font-weight: 400;
  font-display: swap;
  src: url(./assets/Inter-Italic.woff2?v=3.19) format("woff2"),
       url(./assets/Inter-Italic.woff?v=3.19) format("woff");
}

@font-face {
  font-family: 'Inter';
  font-style:  normal;
  font-weight: 500;
  font-display: swap;
  src: url(./assets/Inter-Medium.woff2?v=3.19) format("woff2"),
       url(./assets/Inter-Medium.woff?v=3.19) format("woff");
}
@font-face {
  font-family: 'Inter';
  font-style:  italic;
  font-weight: 500;
  font-display: swap;
  src: url(./assets/Inter-MediumItalic.woff2?v=3.19) format("woff2"),
       url(./assets/Inter-MediumItalic.woff?v=3.19) format("woff");
}

@font-face {
  font-family: 'Inter';
  font-style:  normal;
  font-weight: 600;
  font-display: swap;
  src: url(./assets/Inter-SemiBold.woff2?v=3.19) format("woff2"),
       url(./assets/Inter-SemiBold.woff?v=3.19) format("woff");
}
@font-face {
  font-family: 'Inter';
  font-style:  italic;
  font-weight: 600;
  font-display: swap;
  src: url(./assets/Inter-SemiBoldItalic.woff2?v=3.19) format("woff2"),
       url(./assets/Inter-SemiBoldItalic.woff?v=3.19) format("woff");
}

@font-face {
  font-family: 'Inter';
  font-style:  normal;
  font-weight: 700;
  font-display: swap;
  src: url(./assets/Inter-Bold.woff2?v=3.19) format("woff2"),
       url(./assets/Inter-Bold.woff?v=3.19) format("woff");
}
@font-face {
  font-family: 'Inter';
  font-style:  italic;
  font-weight: 700;
  font-display: swap;
  src: url(./assets/Inter-BoldItalic.woff2?v=3.19) format("woff2"),
       url(./assets/Inter-BoldItalic.woff?v=3.19) format("woff");
}

@font-face {
  font-family: 'Inter';
  font-style:  normal;
  font-weight: 800;
  font-display: swap;
  src: url(./assets/Inter-ExtraBold.woff2?v=3.19) format("woff2"),
       url(./assets/Inter-ExtraBold.woff?v=3.19) format("woff");
}
@font-face {
  font-family: 'Inter';
  font-style:  italic;
  font-weight: 800;
  font-display: swap;
  src: url(./assets/Inter-ExtraBoldItalic.woff2?v=3.19) format("woff2"),
       url(./assets/Inter-ExtraBoldItalic.woff?v=3.19) format("woff");
}

@font-face {
  font-family: 'Inter';
  font-style:  normal;
  font-weight: 900;
  font-display: swap;
  src: url(./assets/Inter-Black.woff2?v=3.19) format("woff2"),
       url(./assets/Inter-Black.woff?v=3.19) format("woff");
}
@font-face {
  font-family: 'Inter';
  font-style:  italic;
  font-weight: 900;
  font-display: swap;
  src: url(./assets/Inter-BlackItalic.woff2?v=3.19) format("woff2"),
       url(./assets/Inter-BlackItalic.woff?v=3.19) format("woff");
}

/* -------------------------------------------------------
Variable font.
Usage:

  html { font-family: 'Inter', sans-serif; }
  @supports (font-variation-settings: normal) {
    html { font-family: 'Inter var', sans-serif; }
  }
*/
@font-face {
  font-family: 'Inter var';
  font-weight: 100 900;
  font-display: swap;
  font-style: normal;
  font-named-instance: 'Regular';
  src: url(./assets/Inter-roman.var.woff2?v=3.19) format("woff2");
}
@font-face {
  font-family: 'Inter var';
  font-weight: 100 900;
  font-display: swap;
  font-style: italic;
  font-named-instance: 'Italic';
  src: url(./assets/Inter-italic.var.woff2?v=3.19) format("woff2");
}


/* --------------------------------------------------------------------------
[EXPERIMENTAL] Multi-axis, single variable font.

Slant axis is not yet widely supported (as of February 2019) and thus this
multi-axis single variable font is opt-in rather than the default.

When using this, you will probably need to set font-variation-settings
explicitly, e.g.

  * { font-variation-settings: "slnt" 0deg }
  .italic { font-variation-settings: "slnt" 10deg }

*/
@font-face {
  font-family: 'Inter var experimental';
  font-weight: 100 900;
  font-display: swap;
  font-style: oblique 0deg 10deg;
  src: url(./assets/Inter.var.woff2?v=3.19) format("woff2");
}

/*!****************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./src/app/components/Icon/style.css ***!
  \****************************************************************************************************************************/
.icon-component-container {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin: 0;
  z-index: 2;
}

.icon-component {
	display: block;
	flex-shrink: 0;
}
.icon-component use { color: rgba(var(--primaryContrast),1); }
/*!******************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./src/app/components/Button/style.css ***!
  \******************************************************************************************************************************/
.button-component {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1 0 auto;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.button-icon {
  flex-direction: column;
}
.button-contained {
	gap: .625rem;
	line-height: 1;
  font-size: 1rem;
	letter-spacing: -0.04em;
}
.button-outlined {
  border-width: 1px !important;
}
.button-only-text {
	align-self: flex-start;
	font-size: 1rem;
	line-height: 1;
  letter-spacing: -0.04em;
}

.button-container{
  text-align: center;
  position: relative;
  margin-top: 0.625rem;
}
.button-input-label{
  display: block;
  margin-bottom: 5px;
  position: absolute;
  top: -12px;
  left: 12px;
  border-radius: 5px;
  padding: 0 2px;
}
/*!**********************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./src/app/components/Typography/style.css ***!
  \**********************************************************************************************************************************/
.typography {
  font-family: 'Inter', sans-serif;
  letter-spacing: -0.04em;
  text-overflow: ellipsis;
}

.typography-popup-title {
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: -0.048em;
}

.typography-popup-button {
  font-size: 0.625rem;
  font-weight: 600;
  line-height: 1;
}

.typography-popup-content {
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.25;
}

.typography-dialog-title {
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.25;
}

.typography-dialog-content-title {
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.25;
}

.typography-radio-options {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
}

.typography-dialog-content {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
}

.typography-route-dialog-content {
  font-size: 1rem;
  line-height: 1.5;
  font-weight: 400;
}

.typography-category {
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.25;
}

.typography-category-item {
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.25;
}

.typography-floor-label {
  font-size: 0.625rem;
  font-weight: 700;
  line-height: 1;
}

.typography-floor-item {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.2;
}

.typography-card-subtitle {
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.25;
}

.typography-card-title {
  font-weight: 600;
  line-height: 1.25;
}

.typography-input-placeholder,
.typography-menu-item {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.25;
}

.typography-input-label {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.5;
}

.typography-input-text-helper {
  font-size: 0.65rem;
  line-height: 1;
  letter-spacing: -0.025em;
}

.typography-button-small-label {
  font-size: 0.5rem;
  font-weight: 800;
  text-transform: uppercase;
}

.typography-button-label {
  gap: 0.625rem;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.4285;
}

.typography-disclaimer {
  font-size: 0.8125rem;
  font-weight: 400;
  line-height: 1.5;
}

.typography-tab-title {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.25;
}

.typography-stepper-label,
.typography-steps-by-steps-count {
  font-size: 1rem;
  font-style: normal;
  font-weight: 500;
  line-height: 150%;
  letter-spacing: 0.15px;
}

.typography-stepper-label-highlight {
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.14285;
}

.typography-toast-content {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.25;
}

.typography-news-title {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.25;
}

.typography-news-content {
  font-size: 0.8125rem;
  font-weight: 400;
  line-height: 1.4;
}

.typography-news-time {
  font-size: 0.5rem;
  font-weight: 600;
  text-transform: uppercase;
}

.typography-float-card-title {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.25;
}

.typography-tooltip,
.typography-bottom-navigate-item {
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1;
}

.typography-chip {
  font-weight: 400;
  font-size: 0.75rem;
  line-height: 1.334;
}

.typography-route-step-title {
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 1.4285;
}

.typography-route-step-subtitle {
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.334;
}

.typography-interest-route-details {
  font-weight: 500;
  font-size: 0.625rem;
  line-height: 1;
}

.typography-route-step-by-step-title {
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: -0.04em;
  font-size: 1.25rem;
}

.typography-intro-title-chat-bot {
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -0.08rem;
  font-size: 1.25rem;
  white-space: pre-wrap;
}

.typography-content-chat-bot {
  font-size: .875rem;
	line-height: 1.3;
	letter-spacing: -.025em;
}
/*!*******************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./src/app/components/Dialog/styles.css ***!
  \*******************************************************************************************************************************/
.d-none { display: none !important; }
.dialog-backdrop {
  background: rgba(0, 0, 0, 0.35);
	display: flex;
	align-items: flex-start;
	padding: 1rem;
	position: fixed;
	inset: 0;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
	z-index: 99;
	box-sizing: border-box;
}
.dialog-backdrop .dialog-container {
  max-width: 400px;
	margin: 0 auto;
}
.dialog-without-backdrop {
	background: transparent;
	backdrop-filter: none;
}

.dialog-top {
	margin-top: 0;
}

.dialog-center .dialog-container { margin-top: auto; margin-bottom: auto; }
.dialog-bottom .dialog-container { margin-top: auto; }

.dialog-content-contrast {
	background: rgba(0,0,0,.1);
	display: flex;
	flex-direction: column;
	padding: 1rem;
	margin: -1rem -1rem 1rem;
	position: relative;	
}
.dialog-container {
	box-shadow: 0 2px 17px rgba(var(--shadow), 0.15);
	border-radius: 1rem;
	display: flex;
	flex-direction: column;
	width: 100%;
	height: auto;
	max-height: 100%;
	overflow: hidden;
	position: relative;
}

.dialog-header {
	background: rgba(var(--primary), .7);
	border-bottom: 0;
	backdrop-filter: blur(8px);
	display: flex;
	align-items: flex-start;
	padding: 1rem .75rem 1rem 1rem;
}
.dialog-header-ico {
	margin: .25rem .625rem .25rem 0;
}
.dialog-title {
	flex-grow: 1;
	font-size: 1.25rem;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: -0.04em;
	color: rgba(var(--primaryContrast), 1);
	margin: .25rem .5rem .25rem 0;
}
.dialog-header-buttons {
	display: flex;
	gap: .5rem;
	margin: 0 0 0 auto;
}

.dialog-content {
	background-color: rgb(var(--white));
	display: flex;
	flex-direction: column;
	height: auto;
	max-height: 100%;
	line-height: 1.5;
	padding: 1rem;
	overflow-y: auto;
	overflow-x: hidden;
	position: relative;
}
.dialog-content::-webkit-scrollbar {
	width: 6px;
}
.dialog-content::-webkit-scrollbar-track {
	background: rgba(var(--shadow), .1);
	border-radius: 3px;
}
.dialog-content::-webkit-scrollbar-thumb {
	background: rgba(var(--shadow), .5);
	border-radius: 3px;
}
.dialog-content::-webkit-scrollbar-thumb:hover{
	background: rgba(var(--shadow), .7);
}

.dialog-content-footer {
	background: rgba(var(--background),1);
	display: flex;
	align-items: center;
	padding: 1rem;
	margin: auto 0 0;
}
/*!********************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./src/app/Dialogs/style.css ***!
  \********************************************************************************************************************/
.dialogs-footer {
  display: flex;
  gap: 0.5rem;
  width: 100%;
}

.dialogs-content {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 0.5rem;
}
/*!*******************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./src/app/components/Loading/style.css ***!
  \*******************************************************************************************************************************/
.loading-bar-component-container {
	background: rgba(255,255,255, .5);
	border-radius: 10px;
	width: 50px;
	height: 20px;
	padding: 5px;
	margin: 10px auto;
	position: relative;
}
.loading-bar-component, .loading-bar-component::before, .loading-bar-component::after {
	border-radius: 5px;
	width: 10px;
	height: 10px;
	background-color: rgba(var(--primary), 1);
	box-shadow: -22px 9999px 0 -5px rgba(var(--primary), .5);
	animation: loading-bar-component 1.5s infinite linear;
}
.loading-bar-component {
	position: relative;
	top: -9999px;
	left: 50%;
	transform: translateX(-50%);
	animation-delay: -0.85s;
}
.loading-bar-component::before, .loading-bar-component::after {
	display: block;
	content: "";
	position: absolute;
	top: 0;
}
.loading-bar-component::before { animation-delay: -1.85s; }
.loading-bar-component::after { animation-delay: -2.85s; }

@keyframes loading-bar-component {
	0% { box-shadow: -22px 9999px 0 -5px rgba(var(--primary), .5); }
	50% { box-shadow: 0 9999px 0 2px rgba(var(--primary), 1); }
	100% { box-shadow: 22px 9999px 0 -5px rgba(var(--primary), .5); }
}

.loading-pin-component {
	width: 48px;
	height: 48px;
	display: block;
	margin: 0 auto 30px auto;
	box-sizing: border-box;
	position: relative;
}
.loading-pin-component-marker {
	content: '';
	box-sizing: border-box;
	width: 48px;
	height: 48px;
	left: 0;
	border: 15px solid rgba(var(--primary), 1);
	bottom: 0;
	position: absolute;
	border-radius: 50% 50% 0;
	transform: rotate(45deg) translate(0, 0);
	box-sizing: border-box;
	animation: animMarker 0.4s ease infinite alternate;
}

.loading-pin-component::before {
	content: '';
	box-sizing: border-box;
	position: absolute;
	left: 0;
	right: 0;
	margin: auto;
	top: 150%;
	width: 24px;
	height: 4px;
	border-radius: 50%;
	background: rgba(23, 21, 32, 0.2);
	animation: animShadow 0.4s ease infinite alternate;
}
@keyframes animMarker {
	0% {
		transform: rotate(45deg) translate(5px, 5px);
	}
	100% {
		transform: rotate(45deg) translate(-5px, -5px);
	}
}
@keyframes animShadow {
	0% {
		transform: scale(0.5);
	}
	100% {
		transform: scale(1);
	}
}

/*!*******************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./src/app/Dialogs/Languages/styles.css ***!
  \*******************************************************************************************************************************/
.languages-dialog-languages-list {
  margin: 0 -1rem;
}

.languages-dialog-language-item {
  position: relative;
  padding: 0.75rem 0.75rem 0.75rem 3.125rem;
  cursor: pointer;
}

.languages-dialog-language-item:not(:last-child) {
  border-bottom: 1px solid rgba(22, 20, 31, 0.07);
  box-shadow: 0 1px 0 rgba(var(--white), 0.5);
}

.languages-dialog-radio-decorator {
	border-radius: 50%;
  display: block;
  content: '';
  position: absolute;
  top: 50%;
  left: 1.625rem;
  transform: translate(-50%, -50%);
}

.languages-dialog-radio-container {
  box-shadow: inset 0 0 0 2px rgba(var(--text), 0.8);
  width: 1.25rem;
  height: 1.25rem;
}

.languages-dialog-radio-container.active {
  box-shadow: inset 0 0 0 2px rgba(var(--primary), 1);
}

.languages-dialog-radio {
  width: 0.625rem;
  height: 0.625rem;
}

/*!***************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./src/app/components/LoadingFallback/style.css ***!
  \***************************************************************************************************************************************/
.loading-fallback {
  display: flex;
  width: 100%;
  height: 100%;
  background-color: rgba(var(--bodyBgColor),1);
  z-index: 10;
  align-items: center;
  justify-content: center
}
/*!*************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./src/app/components/QrcodeScanner/style.css ***!
  \*************************************************************************************************************************************/
.qrcode-scanner-component > *{
    border-radius: 12px;
}
/*!************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./src/app/Dialogs/RouteSimulation/style.css ***!
  \************************************************************************************************************************************/
.route-simulation-finish-dialog-content {
  margin-top: 0;
  margin-bottom: 0.75rem;
}

.route-simulation-finish-dialog-buttons-content {
  display: flex;
  justify-content: center;
  gap: 0.5rem;
}

.route-simulation-finish-dialog-button {
  flex-grow: 0 !important;
  margin: 0 !important;
  position: relative !important;
  gap: 0.5rem !important;
  border-radius: 0.5rem !important;
}

.route-simulation-finish-dialog-start-route-count-down {
  border-radius: 1px;
  height: 2px;
  position: absolute;
  right: 0.75rem;
  bottom: 0.25rem;
  left: 0.75rem;
}

.route-simulation-finish-dialog-start-route-count-down-completed {
  border-radius: 1px;
  height: 2px;
  display: block;
  content: '';
  position: absolute;
  top: 0;
  left: 0;
}
/*!********************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./src/app/Dialogs/VoiceSearch/style.css ***!
  \********************************************************************************************************************************/
.voice-search-dialog-content {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.voice-search-indicator {
  width: 90px;
  height: 90px;
  border-radius: 50%;
  background-color: blue;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  margin: 45px;
}

.sonar {
  position: absolute;
  border-radius: 50%;
  width: 100%;
  height: 100%;
  left: 50%;
  top: 50%;
  opacity: 0.8;
  transform: translate(-50%, -50%);
  border: 3px solid;
  animation: sonar 1.5s infinite linear;
}

.delayed {
  animation-delay: 0.75s;
}

@keyframes sonar {
	100% {
		border-width: 0;
		opacity: 0;
		width: 200%;
    height: 200%;
	}
}

/*!******************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./src/app/components/Drawer/style.css ***!
  \******************************************************************************************************************************/
.drawer-overlay {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 1000;
  opacity: 0;
  transition: opacity 0.5s cubic-bezier(0.32,0.72,0,1);
}

.drawer-overlay[data-state="open"] {
  opacity: 1;
}


.drawer-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 375px;
  max-width: 85%;
  height: 100vh;
  background-color: #fff;
  box-shadow: 2px 0 5px rgba(0,0,0,0.5);
  transform: translateX(-100%);
  z-index: 1001;
  transition: transform .5s cubic-bezier(.32, .72, 0, 1);
}

.drawer-container[data-state="open"] {
  animation: slideIn 0.5s forwards;
}

.drawer-container[data-state="closing"] {
  animation: slideOut 0.5s forwards;
}

.drawer-close-button {
  position: absolute;
  top: 16px;
  right: 16px;
  padding: 8px;
  opacity: 0.6;
  transition: opacity 0.2s;
  cursor: pointer;
  border: none;
  background: none;
}

.drawer-close-button:hover {
  opacity: 1;
}

@keyframes slideIn {
  from { transform: translateX(-100%); }
  to { transform: translateX(0); }
}

@keyframes slideOut {
  from { transform: translateX(0); }
  to { transform: translateX(-100%); }
}

/*!********************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./src/app/components/SideMenu/style.css ***!
  \********************************************************************************************************************************/
.side-menu-container {
  position: relative;
}

.menu-button {
  --color: var(--ion-color-primary);
  --background: transparent;
  --box-shadow: none;
  margin: 0;
  padding: 8px;
}

.menu-button:hover {
  --background: rgba(var(--ion-color-primary-rgb), 0.1);
}

.side-menu-content {
  height: 100%;
  display: flex;
  flex-direction: column;
  background-color: #ffffff;
}

.side-menu-header {
  padding: 1rem 0px;
  display: flex;
  border-bottom: 1px solid #eee;
  background: #ffffff;
  position: relative;
  flex-shrink: 0;
}

.header-buttons {
  display: flex;
  align-items: center;
  margin-left: auto;
}

.logo-container {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 71px;
  padding: 0 16px;
  border: 1px solid rgb(29, 20, 20);
}

.header-button {
  margin: 0;
  padding: 0px;
  width: 24px;
  height: 24px;
  background: transparent;
  border: none;
  cursor: pointer;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.2s ease;
  flex-shrink: 0;
}

.header-button:hover {
  background: rgba(233, 30, 99, 0.1);
}

.event-logo {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0;
  width: 100%;
}

.menu-items-list {
  flex: 1;
  padding: 0 8px 0 20px;
  margin: 0;
  overflow-y: auto;
}

.menu-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 16px 20px;
  border-bottom: none;
  cursor: pointer;
  transition: background-color 0.2s ease;
}

.menu-separator {
  height: 1px;
  background-color: #f0f0f0;
  margin: 0 15px 0 15px;
  width: calc(100% - 40px);
}

.menu-item:hover {
  background-color: #f8f9fa;
}

.menu-item-text {
  color: #333333;
  font-size: 16px;
  font-weight: 400;
}

@media (max-width: 768px) {
  .menu-item {
    padding: 14px 16px;
  }
  
  .menu-item-text {
    font-size: 14px;
  }
} 
/*!********************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./src/app/components/Skeleton/style.css ***!
  \********************************************************************************************************************************/
.skeleton-component {
  display: inline-block;
}

.skeleton-component-circular {
  border-radius: 50%;
}

 .skeleton-component-rectangular {
  border-radius: 0%;
}

.skeleton-component-rounded {
  border-radius: 10%;
}

.skeleton-component-animation-light {
  background: rgba(var(--backgroundContrast), 1);
  display: inline-block;
  position: relative;

  animation: pulse 1.5s cubic-bezier(0.4,0,0.6,1) infinite
}

.skeleton-component-animation-dark {
  background: #f6f7f8;
  display: inline-block;
  position: relative;

  animation: pulse 1.5s cubic-bezier(0.4,0,0.6,1) infinite;
}

@keyframes pulse {
  0% {
    opacity: 0.6;
  }
  50% {
    opacity: 0.2;
  }
  100% {
    opacity: 0.6;
  }
}
/*!*****************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./src/app/components/Image/style.css ***!
  \*****************************************************************************************************************************/
.image-component {
	display: block;
	width: 100%;
	height: auto;
}
/*!************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./src/app/components/SplashScreen/style.css ***!
  \************************************************************************************************************************************/

/*!****************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./src/app/components/Menu/style.css ***!
  \****************************************************************************************************************************/
@supports not ((backdrop-filter: blur(10px)) or (backdrop-filter: blur(8px)) or (backdrop-filter: blur(5px)) or (backdrop-filter: blur(2px))) {
  .menu-component { background: linear-gradient(180deg, rgba(var(--white), .8) 0%, rgba(var(--white), 0) 100%), rgba(234, 234, 236, 0.9); }
}
.menu-component-container {
	position: fixed;
	opacity: 0;
	display: none;
	z-index: 100;
	transition: all .2s linear;
}

.menu-component {
	background: linear-gradient(180deg, rgba(var(--white), .5) 0%, rgba(var(--white), 0) 100%), rgba(234, 234, 236, 0.7);
	box-shadow: 0 2px 3px -2px rgba(var(--shadow), .25), 0 10px 30px -10px rgba(var(--shadow), .25), inset 0 0 1px rgba(var(--white), .9);
	backdrop-filter: blur(8px);
	border-radius: 8px;
	width: 170px;
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: -.04rem;
	overflow: hidden;
	transition: all .2s linear;
}
.menu-component-container.show {
	display: block;
	opacity: 1;
}
/*!********************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./src/app/components/MenuItem/style.css ***!
  \********************************************************************************************************************************/
.menu-item-component {
	display: flex;
	align-items: center;
	gap: .625rem;
	color: rgba(var(--text), 1);
	padding: .625rem .75rem;
	margin: 0;
	cursor: pointer;
}

.menu-item-component:not(:last-child) {
  border-bottom: 1px solid rgba(22, 20, 31, .07);
	box-shadow: 0 1px 0 rgba(var(--white), .5);
}

.menu-item-component:hover {
  color: rgba(var(--secondary), 1);
}
/*!****************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./src/app/components/TopNavigationBar/style.css ***!
  \****************************************************************************************************************************************/
.categories-container {
  position: relative;
  padding-top: 1rem;
  overflow-x: auto;
  height: -moz-min-content;
  height: min-content;
}
  .categories-container.without-search {
    padding-left: 1rem;
    padding-bottom: 1rem;
  }

@media (max-width: 767px) {
  .categories-container {
    padding: 0 1rem;
		margin: -.5rem 0 .5rem;
		position: relative;
		top: auto;
		right: auto;
		left: auto;
  }
  .categories-container.without-search {
    padding: 1rem 1rem 0;
  }
}
/*!*********************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./src/app/components/SidePage/styles.css ***!
  \*********************************************************************************************************************************/
:root {
	--background: 242, 242, 242; /* #F2F2F2 */
	--primary: 25, 60, 240; /* #193CF0 */
  --white: 255, 255, 255; /* #FFFFFF */
  --shadow: 23, 21, 32; /* #171520 */
  --primaryContrast: 243, 243, 243; /* #F3F3F3 */
}
.d-none { display: none !important; }
.side-page-backdrop-float {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	padding: 0 1rem 1rem !important;
	width: 100%;
	max-width: 400px;
	transition: all .2s linear;
	z-index: 10;
	box-sizing: border-box;
	pointer-events: none;
}

.side-page-backdrop-float > * {
	pointer-events: all;
}
@media (max-width: 767px) {
	.side-page-backdrop-float {
		max-width: 500px;
		padding: .5rem !important;
		height: 100%;
    top: 0;
    bottom: 0;
    left: 0;
    z-index: 12;
	}
	.side-page-backdrop-float,
	.side-page-backdrop-fixed .side-page-container-fixed  {
		max-width: 450px !important;
	}
}
.side-page-backdrop-float.half {
	top: 50%;
}
.side-page-backdrop-float.half .btToggleHeight {
	transform: rotate(180deg);
}
.side-page-backdrop-fixed {
  background: rgba(168,168,168,.5);
	backdrop-filter: blur(8px);
	display: flex;
	align-items: flex-start;
	width: 100%;
	height: 100%;
	padding: 1rem;
	box-sizing: border-box;
	position: relative;
	z-index: 12;
}
.side-page-backdrop-full {
  padding: 0;
}
.side-page-backdrop-fixed .side-page-container-fixed {
  max-width: 400px;
	margin: 0 auto;
}
@media (min-width: 768px) {
	.side-page-backdrop-fixed {
		width: auto;
	}
  .side-page-backdrop-fixed.side-page-backdrop-left {
		background: transparent;
    backdrop-filter: none;
		top: 0;
		right: auto;
		bottom: 0;
		left: 0;
		width: 400px;
	}
	.side-page-backdrop-fixed.side-page-backdrop-left .side-page-container-fixed {
		margin: 0;
    background: transparent;
    backdrop-filter: none;
	}
	.side-page-container-float {
		height: auto !important;
	}
}
.side-page-backdrop-full {
	padding: 0;
}
.side-page-backdrop-full .side-page-container-fixed {
	box-shadow: none;
	border-radius: 0;
	height: 100%;
}
.side-page-half {
	height: 50%;
	top: 50%;
}
.side-page-backdrop-fixed-full .side-page-content-fixed {
	height: 100%;
}
.side-page-backdrop-fixed-full .side-page-content-fixed {
  padding: 1rem .5rem;
}
.side-page-backdrop-fixed-full .side-page-content-fixed .side-page-content-fixed-contrast {
  margin: -1rem -0.5rem 1rem;
}
.side-page-backdrop-fixed-full .side-page-content-fixed .location-info-container {
  margin: -1rem -0.5rem;
}
.side-page-backdrop-fixed-no-bg .side-page-container-fixed,
.side-page-backdrop-fixed-no-bg .side-page-container-float {
	box-shadow: none;
}
.side-page-backdrop-fixed-no-bg .side-page-content-fixed,
.side-page-backdrop-fixed-no-bg .side-page-content-float {
	background-color: transparent;
	backdrop-filter: none;
}
.side-page-content-fixed-contrast {
	background: rgba(0,0,0,.1);
	display: flex;
	flex-direction: column;
	padding: 1rem;
	margin: -1rem -1rem 1rem;
	position: relative;	
}
.side-page-container-fixed {
	box-shadow: 0 1px 1px -2px rgba(23, 21, 32, 0.15), 0 10px 20px -10px rgba(23, 21, 32, 0.4), 0 30px 40px -10px rgba(23, 21, 32, 0.2);
	box-shadow: 0 1px 1px -2px rgba(var(--shadow), 0.15), 0 10px 20px -10px rgba(var(--shadow), 0.4), 0 30px 40px -10px rgba(var(--shadow), 0.2);
	display: flex;
	flex-direction: column;
	width: 100%;
	height: auto;
	max-height: 100%;
	overflow: hidden;
	position: relative;
}
.side-page-header-fixed {
	border-bottom: 0;
	backdrop-filter: blur(8px);
	display: flex;
	align-items: flex-start;
	padding: 1rem .75rem 1rem 1rem;
	z-index: 2;
}
.side-page-header-ico-fixed {
	margin: .25rem .625rem .25rem 0;
}

.side-page-title {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.side-page-title-fixed {
	flex-grow: 1;
	font-size: 1.25rem;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: -0.04em;
	margin: .25rem .5rem .25rem 0;
	text-align: center;
}
.side-page-header-buttons-fixed {
	display: flex;
	gap: .5rem;
	margin: 0 0 0 auto;
}
.side-page-content-fixed {
	background-color: rgba(255, 255, 255, 1);
	background-color: rgba(var(--white), 1);
	display: flex;
	flex-direction: column;
	height: 100%;
	max-height: 100%;
	line-height: 1.5;
	padding: 1rem;
	overflow-y: auto;
	overflow-x: hidden;
	position: relative;
}
.side-page-content-fixed::-webkit-scrollbar,
.side-page-content-float::-webkit-scrollbar {
	width: 6px;
}
.side-page-content-fixed::-webkit-scrollbar-track,
.side-page-content-float::-webkit-scrollbar-track {
	background: rgba(23, 21, 32, .1);
	background: rgba(var(--shadow), .1);
	border-radius: 3px;
}
.side-page-content-fixed::-webkit-scrollbar-thumb,
.side-page-content-float::-webkit-scrollbar-thumb {
	background: rgba(23, 21, 32, .5);
	background: rgba(var(--shadow), .5);
	border-radius: 3px;
}
.side-page-content-fixed::-webkit-scrollbar-thumb:hover,
.side-page-content-float::-webkit-scrollbar-thumb:hover {
	background: rgba(23, 21, 32, .7);
	background: rgba(var(--shadow), .7);
}
.side-page-container-float {
	background: linear-gradient(180deg, rgba(255, 255, 255, .5) 0%, rgba(255, 255, 255, 0) 100%), rgba(255, 255, 255, .4);
	background: linear-gradient(180deg, rgba(var(--white), .5) 0%, rgba(var(--white), 0) 100%), rgba(var(--white), .4);
	box-shadow: 0 1px 1px -2px rgba(23, 21, 32, .15), 0 10px 30px -10px rgba(23, 21, 32, .25), inset 0 1px 0 rgba(255, 255, 255, 0.6), inset 0 0 1px rgba(255, 255, 255, .9);
	box-shadow: 0 1px 1px -2px rgba(var(--shadow), .15), 0 10px 30px -10px rgba(var(--shadow), .25), inset 0 1px 0 rgba(var(--white), 0.6), inset 0 0 1px rgba(var(--white), .9);
	backdrop-filter: blur(8px);
	border-radius: 8px;
	display: flex;
	flex-direction: column;
	height: 100%;
	max-height: 100%;
	overflow: hidden;
	position: relative;
}
.side-page-container-float::after {
	background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%);
	background: linear-gradient(180deg, rgba(var(--white), 0) 0%, rgba(var(--white), 1) 100%);
	display: block;
	content: '';
	width: 100%;
	height: 25px;
	position: absolute;
	bottom: 0;
	left: 0;
}
.side-page-header-float {
	box-shadow: 0 1px 1px rgba(22, 20, 31, 0.05);
	display: flex;
	padding: .25rem .25rem .25rem .75rem;
}
.side-page-header-ico-float {
	width: 24px;
	height: 24px;
	margin: .25rem .625rem .25rem 0;
}
.side-page-title {
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}
.side-page-title-float {
	display: flex;
	align-items: center;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.25;
	margin: .25rem .5rem .25rem 0;
	text-align: center;
	justify-content: center;
}
.side-page-title-thin-float {
	display: block;
	font-weight: 400;
	margin-right: .5rem;
}
.side-page-header-buttons-float {
	display: flex;
	margin: 0 0 0 auto;
}
.side-page-content-float {
	display: flex;
	flex-direction: column;
	height: auto;
	max-height: 100%;
	overflow-y: auto;
	overflow-x: hidden;
}
.side-page-footer {
	background: rgba(242, 242, 242,1);
	background: rgba(var(--background),1);
	display: flex;
	align-items: center;
	padding: 1rem;
	margin: auto 0 0;
}
/*!**************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./src/app/components/WrapperDisable/style.css ***!
  \**************************************************************************************************************************************/
.wrapper-component-disabled > * {
  opacity: 0.5;
  pointer-events: none;
}
/*!*********************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./src/app/components/TabHeader/style.css ***!
  \*********************************************************************************************************************************/
.tab-header-container {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 0 .5rem;
	max-width: 100%;
}

.tab-header-component {
  display: flex;
	flex-shrink: 0;
	flex-wrap: nowrap;
	max-width: 100%;
	width: 100%;
	overflow: auto;
}

.tab-item {
	-webkit-user-select: none;
	   -moz-user-select: none;
	        user-select: none;
	cursor: pointer;
	background: transparent;
	border-bottom: #CAC4D0 solid 1px;
	border-radius: 0px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: rgba(var(--text), 1);
	padding: .875rem 1.75rem;
	white-space: nowrap;
	display: flex;
	flex-shrink: 0;
	font-size: .875rem;
	font-weight: 500;
	line-height: 1.25;
	letter-spacing: -.04rem;
	position: relative;
}

.tab-item.current>.current-tab-selector {
  position: absolute;
  left: 20%; 
  right: 20%;
  border-radius: 8px 8px 0px 0px;
	bottom: 0;
  border: 2px solid;
}
/*!**********************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./src/app/components/TabsViewer/style.css ***!
  \**********************************************************************************************************************************/
.tabs-viewer-component {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
}

/*!********************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./src/app/components/Checkbox/style.css ***!
  \********************************************************************************************************************************/
.checkbox-component-container {
  display: flex;
  align-items: center;
}

.checkbox-component {
  width: 1.25rem;
  border: 1px solid;
  height: 1.25rem;
  margin-right: 0.75rem;
  border-radius: 4px;
}

.checkbox-icon {
  display: flex;
  align-items: center;
  justify-content: center;
}

/*!*******************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./src/app/components/GenericFiltersModal/style.css ***!
  \*******************************************************************************************************************************************/
.filter-type-modal-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.15);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  padding: 16px;
  box-sizing: border-box;
}

.filter-type-modal-container {
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.15);
  width: 311px;
  max-width: 400px;
  max-height: 80vh;
  padding: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  position: relative;
  transform: translateZ(0);
  margin: 0 auto;
  animation: modalFadeIn 0.2s ease-out;
}

.filters-type-checkbox {
  padding: 0.75rem;
  border-bottom: 1px solid #DEDEDE;
}

@keyframes modalFadeIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.filter-type-modal-header {
  color: #F3F3F3;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0px 16px 0px 16px;
  font-weight: 500;
  font-size: 20px;
  border-top-left-radius: 16px;
  border-top-right-radius: 16px;
  letter-spacing: -0.8px;
  margin-bottom: 16px;
  min-height: 56px;
}

.filter-type-modal-title {
  display: flex;
  align-items: center;
  margin-top: 16px;
  margin-bottom: 16px;
}



.filter-type-modal-list {
  flex: 1;
  overflow-y: auto;
  max-height: calc(80vh - 150px);
  margin: 0 20px;
  padding-right: 4px;
}

.filter-type-modal-label {
  position: relative;
  display: flex;
  align-items: center;
  padding: 6px 15px;
  font-size: 16px;
  cursor: pointer;
  color: #3B3C43;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.filter-type-modal-checkbox {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}

.custom-checkbox {
  display: inline-block;
  width: 20px;
  height: 20px;
  border: 2.5px solid #3B3C43;
  border-radius: 5px;
  background: #fff;
  margin-right: 12px;
  box-sizing: border-box;
  transition: border-color 0.2s;
}

.filter-type-modal-checkbox:checked + .custom-checkbox {
  background: #fff;
  border-color: #3B3C43;
}

.custom-checkbox:after {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  margin: 3px auto;
  border-radius: 2px;
  background: transparent;
  transition: background 0.2s;
}

.filter-type-modal-footer {
  padding: 10px 20px 50px 20px;
  display: flex;
  justify-content: center;
  background: #fff;
  position: sticky;
  bottom: 0;
  z-index: 1;
}

.filter-button-icon-only {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}


/*!*****************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./src/app/components/Input/style.css ***!
  \*****************************************************************************************************************************/
.input-component-container {
  z-index: 10;
	border-radius: 8px;
	display: flex;
	width: 100%;
	justify-content: space-between;
}
.input-component-container.elevated {
	background: linear-gradient(180deg, rgba(var(--white), .28) 0%, rgba(var(--white), .7) 100%), rgba(var(--white), .2);
	box-shadow: 0 8px 10px -7px rgba(var(--shadow), 0.3), 0 26px 30px -10px rgba(var(--shadow), 0.15), inset 0 4px 10px rgba(22, 17, 47, 0.1), inset 0 1px 0 rgba(var(--white), 0.9);
	backdrop-filter: blur(8px);
}
.input-component-container.flat {
	border: 1px solid #EBEBEB;
	box-shadow: none;
	background: #F9F9F9;
}
.input-component {
	background: transparent;
	border: none;
	display: block;
	width: 100%;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.25;
	letter-spacing: -.04em;
	color: rgba(var(--text), 1);
	padding: .875rem 0;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.input-component:disabled {
	opacity: 0.7;
}
.input-component:focus {
	outline: none;
}
.input-component::-moz-placeholder {
	color: rgba(var(--text), 1);
}
.input-component::placeholder {
	color: rgba(var(--text), 1);
}
.input-component-actions-buttons {
	display: flex;
	align-items: center;
	margin: 0 .25rem;
}
/*!****************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./src/app/components/AutoCompleteItem/style.css ***!
  \****************************************************************************************************************************************/
.autocomplete-component-item {
	display: flex;
	gap: .75rem;
	color: rgba(var(--text), 1);
	padding: .5rem .75rem;
	cursor: pointer;
}
/*!************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./src/app/components/AutoComplete/style.css ***!
  \************************************************************************************************************************************/
.autocomplete-component-container {
	background: linear-gradient(180deg, rgba(var(--white), 0.6) 0%, rgba(var(--white), 0) 100%), rgba(204, 204, 204, 0.2);
	box-shadow: 0 40px 80px rgba(var(--shadow), .25);
	backdrop-filter: blur(8px);
	border-radius: 8px;
	width: 100%;
	padding: .5rem 0;
	position: absolute;
	top: calc(100% + 0.5rem);
	left: 0;
	transition: all .2s linear;
	visibility: visible;
	z-index: 1;
}

.autocomplete-component-container:empty {
  display: none;
}

.autocomplete-text {
	flex-grow: 1;
	padding: .125rem 0;
}
/*!**************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./src/app/components/ScheduleSearch/style.css ***!
  \**************************************************************************************************************************************/
.schedule-search {
  width: 100%;
  margin-bottom: 16px;
}

.autocomplete-component-container {
  position: absolute;
  width: 100%;
  max-height: 300px;
  overflow-y: auto;
  background: #F9F9F9 !important;
  background-image: none !important;
  backdrop-filter: none !important;
  border-radius: 8px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  margin-top: 4px;
  border: 1px solid #e2e8f0;
  z-index: 10;
}


.autocomplete-item {
  padding: 12px 16px;
  cursor: pointer;
  display: flex;
  align-items: center;
  transition: background-color 0.2s;
}

.autocomplete-item:hover {
  background-color: #f8fafc;
}


.autocomplete-item-icon {
  margin-right: 12px;
  color: #64748b;
}


.autocomplete-text {
  flex: 1;
}

.loading-indicator,
.no-results {
  padding: 12px 16px;
  text-align: center;
  color: #64748b;
}

.no-results {
  font-style: italic;
}

/*!************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./src/app/components/WeekCalendar/style.css ***!
  \************************************************************************************************************************************/
.week-calendar-container {
  background: transparent;
  padding: 1.2rem 0 0.5rem 0;
  width: 100%;
  margin: 0 auto;
  font-family: 'Inter', Arial, sans-serif;
}

.week-calendar-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.2rem;
}

.week-calendar-title {
  font-size: 1.35rem;
  font-weight: 600;
  color: #3B3C43;
}

.week-calendar-date-picker {
  color: #B0B0B0;
  font-size: 1rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 0.25rem;
  font-weight: 400;
}

.week-calendar-days {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

.week-calendar-days-list {
  display: flex;
  flex-direction: row;
  flex: 1;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
}

.week-calendar-arrow.button-component.button-icon {
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  border-radius: 0;
  font-size: 50px;
}

.week-calendar-day {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-width: 0;
  cursor: pointer;
  font-family: 'Inter', Arial, sans-serif;
  height: 70px;
  position: relative;
}

.week-calendar-day-number {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 500;
  color: #3B3C43;
  margin-bottom: 0;
  transition: background 0.2s, color 0.2s;
  transition-timing-function: cubic-bezier(.4,0,.2,1);
  text-align: center;
}

.week-calendar-day.selected .week-calendar-day-number {
  background: #1f95da;
  color: #FFF;
}

.week-calendar-day-weekday {
  font-size: 1rem;
  color: #3B3C43;
  text-transform: capitalize;
}

.week-calendar-divider {
  border: none;
  border-top: 1px solid #E5E5E5;
  margin: 0rem 0 0.5rem 0;
}

@media (max-width: 500px) {
  .week-calendar-container {
    padding: 0.7rem 0 0.3rem 0;
  }
  .week-calendar-arrow {
    padding: 0;
  }
  .week-calendar-arrow.button-component {
    padding: 0;
  }
  .week-calendar-arrow.button-component.button-icon {
    padding: 0;
  }
} 
/*!*****************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./src/app/views/ZaptBanner/style.css ***!
  \*****************************************************************************************************************************/
.banner-button{
    padding: 0!important;
    flex-grow: 0;
}
.banner-buttons{
    display: flex;
    justify-content: space-between;
    width: 100%;
    position: absolute;
    top: 0;
    bottom: 0;
}
.zapt-banner{
    display: flex;
    position: relative;
    cursor: pointer;
    margin-top: 5px;
    justify-content: center;
    align-items: center;
}
.zapt-banner img{
    border-radius: 8px;
}
.banner-image-container{
    width: 100%;
    overflow: hidden;
    display: flex;
    justify-content: center;
}

.zapt-banner-container{
	border-radius: 8px;
	position: absolute;
	z-index: 1;
    bottom: 0;
    display: flex;
    justify-content: center;
}
/*!********************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./src/app/components/ListItem/style.css ***!
  \********************************************************************************************************************************/
.list-item-component {
	display: flex;
	padding: .5rem;
}
.list-item-component + .list-item-component {
	border-top: 1px solid rgba(22,20,31,0.07059);
	box-shadow: inset 0 1px 0 rgba(var(--white), .5);
}

.list-item-image-container {
	background-color: rgba(var(--white), 1);
	border-radius: 12px;
	display: block;
	flex-shrink: 0;
	margin-right: .635rem;
	overflow: hidden;
	align-self: center;
}

.list-item-content {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
	justify-content: center;
	line-height: 1.25;
	letter-spacing: -0.04em;
	margin-right: .5rem;
}

.list-item-title {
	font-size: 1rem;
	font-weight: 600;
	cursor: pointer;
	color: rgba(var(--primary), 1);
	margin: 0;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.list-item-subtitle {
	display: block;
	font-size: .75rem;
	display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
	overflow: hidden;
}

.list-item-actions {
	display: flex;
	align-self: center;
}
/*!**************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./src/app/view/Schedule/style.css ***!
  \**************************************************************************************************************************/
.tabs-content{
    gap: 1rem;
    display: flex;
    flex-direction: column;
}

.tabs-content.no-gap {
    gap: 0;
}

.open{
    max-height: 100%;
}

.schedule-content{
    background: rgba(var(--background));
}

.events-container{
    box-shadow: 0 1px 1px -2px rgba(var(--shadow), .15), 0 10px 20px -10px rgba(var(--shadow), .4), 0 30px 40px -10px rgba(var(--shadow), .2)!important;
}

.schedule-list-view .search-input-wrapper {
    padding: 0;
    border: 1px solid #EBEBEB;
    border-radius: 8px;
}

.schedule-list-view .search-input-wrapper input {
    width: 100%;
    padding: 0 0 0 16px;
    border: none;
    outline: none;
    background: #F9F9F9;
    font-size: 14px;
    border-radius: 8px;
    text-align: left;
}

.schedule-list-view .search-input-wrapper input::-moz-placeholder {
    color: #3B3C43;
    text-align: left;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    opacity: 1;
}

.schedule-list-view .search-input-wrapper input::placeholder {
    color: #3B3C43;
    text-align: left;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    opacity: 1;
}

.schedule-list-view .search-container {
    padding: 0;
    margin-bottom: 10px;
}

.schedule-container .input-component-container {
    background: #fff !important;
    border: 2px solid #007bff !important;
  }

.schedule-list-view .search-container .search-input-wrapper input,
.schedule-list-view .search-container .MuiInputBase-input {
    padding: 0 0 0 16px !important;
}

.time-container {
    background: #F4F4F4;
    display: flex;
    align-items: center;
    border-radius: 0;
    height: 30px;
    width: 100%;
    padding: 2px 1rem;
    color: rgba(var(--text), 1);
}

.schedule-list-view .search-container .search-input-wrapper .input-component-container {
    box-shadow: none;
    background: #F9F9F9;
}

.schedule-list-view .search-container .search-input-wrapper .input-component-container svg {
    color: #000;
}

.calendar-searching .calendar-day--selected {
  background: transparent !important;
  border: 2px solid #007bff !important;
}

.past-events-indicator-container {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 5px;
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.3s ease, transform 0.3s ease;
}
.past-events-indicator-container.hidden {
  opacity: 0;
  transform: translateY(-10px);
}
.past-events-indicator-badge {
  color: #fff;
  border: none;
  border-radius: 10px;
  padding: 4px 12px;
  font-family: Inter, sans-serif;
  font-weight: 400;
  font-size: 14px;
  display: flex;
  align-items: center;
  gap: 4px;
  letter-spacing: 0.056px;
}

.no-radius img {
  border-radius: 0;
}

.schedules-view-tabs-container {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
}
.stages-tab-panel .input-component::-moz-placeholder {
    font-size: 14px;
}
.stages-tab-panel .input-component::placeholder {
    font-size: 14px;
}

.schedule-list-view .icon-component-container {
    z-index: auto;
}

.schedule-content-wrapper {
    padding: 0;
}

.live-event-tag-container {
    display: inline-flex;
    padding: 0px 8px;
    align-items: center;
    margin-left: 0px;
    border-radius: 4px;
    background-color: #C6F3BF;
    width: -moz-fit-content;
    width: fit-content;
}

.live-event-tag-container>.pointer {
  width: 6px;
  height: 6px;
  margin-right: 4px;
  border-radius: 50%;
  background-color: #4A8342;
}

.schedule-list-view .schedule-search {
  margin-bottom: 0;
}

/*!**********************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./src/app/components/RecordTime/style.css ***!
  \**********************************************************************************************************************************/
.record-time-content {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  min-width: 42px;
}

.record-time-symbol {
  background-color: red;
  min-width: 10px;
  width: 10px;
  min-height: 10px;
  height: 10px;
  border-radius: 50%;
}
/*!********************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./node_modules/react-tooltip/dist/react-tooltip.css ***!
  \********************************************************************************************************************************************/
:root {
  --rt-color-white: #fff;
  --rt-color-dark: #222;
  --rt-color-success: #8dc572;
  --rt-color-error: #be6464;
  --rt-color-warning: #f0ad4e;
  --rt-color-info: #337ab7;
  --rt-opacity: 0.9;
}

.styles-module_tooltip__mnnfp {
  visibility: hidden;
  width: max-content;
  position: absolute;
  top: 0;
  left: 0;
  padding: 8px 16px;
  border-radius: 3px;
  font-size: 90%;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.3s ease-out;
  will-change: opacity, visibility;
}

.styles-module_fixed__7ciUi {
  position: fixed;
}

.styles-module_arrow__K0L3T {
  position: absolute;
  background: inherit;
  width: 8px;
  height: 8px;
  transform: rotate(45deg);
}

.styles-module_no-arrow__KcFZN {
  display: none;
}

.styles-module_clickable__Bv9o7 {
  pointer-events: auto;
}

.styles-module_show__2NboJ {
  visibility: visible;
  opacity: 0.9;
  opacity: var(--rt-opacity);
}

/** Types variant **/
.styles-module_dark__xNqje {
  background: #222;
  background: var(--rt-color-dark);
  color: #fff;
  color: var(--rt-color-white);
}

.styles-module_light__Z6W-X {
  background-color: #fff;
  background-color: var(--rt-color-white);
  color: #222;
  color: var(--rt-color-dark);
}

.styles-module_success__A2AKt {
  background-color: #8dc572;
  background-color: var(--rt-color-success);
  color: #fff;
  color: var(--rt-color-white);
}

.styles-module_warning__SCK0X {
  background-color: #f0ad4e;
  background-color: var(--rt-color-warning);
  color: #fff;
  color: var(--rt-color-white);
}

.styles-module_error__JvumD {
  background-color: #be6464;
  background-color: var(--rt-color-error);
  color: #fff;
  color: var(--rt-color-white);
}

.styles-module_info__BWdHW {
  background-color: #337ab7;
  background-color: var(--rt-color-info);
  color: #fff;
  color: var(--rt-color-white);
}

/*!*******************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./src/app/components/Tooltip/style.css ***!
  \*******************************************************************************************************************************/
.tooltip-container .tooltip-component {
    border-radius: 6px;
    opacity: 1;
    z-index: 10;
    font-family: 'Inter', sans-serif;
	letter-spacing: -.04em;
	text-overflow: ellipsis;
    font-size: .80rem;
	font-weight: 650;
	line-height: 1;
}
/*!******************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./src/app/components/GenericSearchInput/style.css ***!
  \******************************************************************************************************************************************/

/*!****************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./src/app/components/List/style.css ***!
  \****************************************************************************************************************************/
.list-component {
	padding-bottom: 1.5rem;
	position: relative;
	overflow-y: auto;
	overflow-x: hidden;
	height: 100%;
}

.list-component::-webkit-scrollbar {
	width: 6px;
}
.list-component::-webkit-scrollbar-track {
	background: rgba(var(--shadow), .1);
	border-radius: 3px;
}
.list-component::-webkit-scrollbar-thumb {
	background: rgba(var(--shadow), .5);
	border-radius: 3px;
}
.list-component::-webkit-scrollbar-thumb:hover {
	background: rgba(var(--shadow), .7);
}
/*!******************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./src/app/views/DynamicView/style.css ***!
  \******************************************************************************************************************************/
.custom-view-tabs-panels {
  padding: 0px;
  flex: 1;
  height: 100%;
  overflow: hidden;
  margin-top: -0.5rem;
}

.dynamic-view-list-search-input {
  padding: 1rem;
}

.dynamic-view-list-letter-divider {
  height: 26px;
  line-height: 26px;
  padding: 0px 1rem;
  background: #F4F4F4;
  position: sticky;
  top: 0;
  z-index: 5;
}

/*!******************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./src/app/InternalViews/RouteSimulation/style.css ***!
  \******************************************************************************************************************************************/
.route-simulation-steps-container {
	position: absolute;
	z-index: 15;
  padding: 0px;
	margin: 1rem;
  left: calc(400px - 1rem);
	border-radius: 1rem;
	max-width: 400px;
  backdrop-filter: blur(16px);
	background: linear-gradient(
		180deg,
		rgba(var(--white), 0.8) 0%,
		rgba(var(--white), 0) 67.97%
	),
	rgba(var(--white), 0.5);
	box-shadow: 0 40px 80px rgba(var(--shadow), 0.25);
}

.simulation-route-header {
	display: flex;
	align-items: center;
	padding: .5rem .75rem .5rem 1rem;
}

.simulation-route-title {
	margin: 0 .5rem 0 0;
}

.simulation-route-header-buttons {
	display: flex;
	gap: .5rem;
	margin: 0 0 0 auto;
}

.simulation-route-content {
	display: flex;
}

.simulation-route-step-info-tip {
	border-radius: 12px;
	display: block;
	align-self: flex-start;
	font-weight: 400;
	font-size: .75rem;
	line-height: 1.334;
	padding: .125rem .5rem;
	margin: .625rem 0 0 0;
}

.simulation-route-step-info {
	display: flex;
	flex-direction: column;
	font-weight: 700;
	font-size: .875rem;
	line-height: 1.14285;
	letter-spacing: -0.04em;
	padding-top: .25rem;
}

@media (max-width: 767px) {
  .route-simulation-steps-container {
		position: relative;
    left: 0;
  }
}

/*!*****************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./src/app/components/Toast/style.css ***!
  \*****************************************************************************************************************************/
@supports not ((backdrop-filter: blur(10px)) or (backdrop-filter: blur(8px)) or (backdrop-filter: blur(5px)) or (backdrop-filter: blur(2px))) {
  .info-warning { background: rgba(231,18,18,0.90196); }
  .info-info { background: rgba(211,216,225,0.90196); }
}
.toast-bottom-right {
	bottom: 0;
	right: 0;
}
.toast-bottom-left {
	bottom: 0;
	left: 0;
}
.toast-bottom-center {
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}
.toast-top-right {
	top: 0;
	right: 0;
}
.toast-top-left {
	top: 0;
	left: 0;
}
.toast-top-center {
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}
.toast-notification {
	position: fixed;
	z-index: 50;
	overflow: hidden;
	border-radius: 16px;
	display: flex;
	gap: 0.75rem;
	align-items: center;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: -0.04em;
	max-width: 400px;
	margin: .5rem;
	padding: 0.75rem 1rem;
	box-shadow: 0 16px 20px -8px rgba(var(--shadow), 0.10);
}
.toast-notification-ico {
	display: block;
	width: 24px;
	height: 24px;
	margin: 0px;
}
.toast-content {
	flex-grow: 1;
	padding: .125rem 0;
}
.toast-tip {
	padding: 0.75rem 1rem 0.75rem 1.25rem;
}
.toast-tip-accent {
  position: absolute;
  top: 0;
  left: 0;
  width: 10px;
  height: 100%;
  background: rgba(var(--primary), 1);
}
.toast-warning {
	background: rgba(231,18,18,0.70196);
	box-shadow: 0px 19px 24px rgba(201,6,6,0.30196), 0px 9.61875px 10.4625px rgba(201,6,6,0.20392), 0px 3.8px 3.9px rgba(201,6,6,0.14902), 0px 0.83125px 1.3875px rgba(201,6,6,0.09804), inset 0px 1px 0px rgba(255,144,144,0.6);
	backdrop-filter: blur(5px);
	color: rgba(var(--white), 1);
}
.toast-warning .toast-notification-ico .ico,
.toast-warning .toast-button-close .ico {
	fill: rgba(var(--white), 1);
}
.toast-warning .toast-button {
	border-color: rgba(var(--white), 1);
	color: rgba(var(--white), 1);
}
.toast-warning .toast-button:hover {
	background-color: rgba(var(--white), 1);
	color: #e71212;
}
.toast-info {
	background: rgba(211,216,225,0.70196);
	box-shadow: 0px 19px 24px rgba(64,94,129,0.30196), 0px 9.61875px 10.4625px rgba(64,94,129,0.20392), 0px 3.8px 3.9px rgba(64,94,129,0.14902), 0px 0.83125px 1.3875px rgba(64,94,129,0.09804), inset 0px 1px 0px rgba(243,247,255,0.6);
	backdrop-filter: blur(5px);
	color: rgba(var(--text), 1);
}
.toast-info .toast-notification-ico .ico,
.toast-info .toast-button-close .ico {
	fill: rgba(var(--text), 1);
}
.toast-message {
	display: flex;
	line-height: 1.25;
	padding: .125rem 0 0;
}
.toast-message-ico {
	margin: -.125rem .75rem 0 0;
}
.toast-message-ico .ico {
	fill: rgba(var(--primary), 1);
}
.progress {
  position: absolute;
  bottom: 0;
  left: 0;
  height: 3px;
}

/*!*****************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./src/app/views/Directions/style.css ***!
  \*****************************************************************************************************************************/
.directions-view-container {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  display: grid;
  grid-template-columns: 100%;
  grid-template-rows: min-content min-content minmax(0, 100%);
  grid-gap: 0.5rem;
  gap: 0.5rem;
  max-width: 400px;
  width: 100%;
  padding: 0.5rem;
}

/* Route Directions */
.route-directions-container {
  width: 100%;
  z-index: 15;
  background: white;
  box-shadow: 0 40px 80px rgba(var(--shadow), 0.25);
  border-radius: 1rem;
}

.route-directions-header {
  display: flex;
  gap: 10px;
  flex-direction: column;
  align-items: center;
  position: relative;
}

.route-directions-content {
  display: flex;
  flex-direction: column;
  padding: 0 1rem 0.5rem 1rem;
  position: relative;
}

.route-directions-location {
  gap: 0.5rem;
  display: flex;
  align-items: center;
  position: relative;
  margin-bottom: 0.5rem;
}

.route-directions-location-origin {
  position: relative;
}

.route-directions-location-origin-decorator {
  display: block;
  content: '';
  height: 24px;
  width: 2px;
  position: absolute;
  top: 32px;
  left: 8px;
  /* background-color: var(--primary); */
  -webkit-mask-image: url("data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' fill='none'%3E%3Ccircle cx='4' cy='4' r='1' fill='%23fff'/%3E%3C/svg%3E");
  -webkit-mask-position: 0 0;
  mask-image: url("data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' fill='none'%3E%3Ccircle cx='4' cy='4' r='1' fill='%23fff'/%3E%3C/svg%3E");
  mask-position: 0 0;
}

.route-directions-vehicles {
  border-radius: 8px;
  display: flex;
  gap: 0.25rem;
  padding: 0 0 0.25rem;
  margin: 0 0 0 2rem;
  overflow: auto;
}

.route-directions-vehicle-button {
  background: transparent;
  border: none;
  border-radius: 8px;
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
}

/* Route steps */

.route-details-container {
  z-index: 10;
  width: 100%;
  transition: all 0.2s linear;
  background: white;
  box-shadow: 0 40px 80px rgba(var(--shadow), 0.25);
  backdrop-filter: blur(16px);
  border-radius: 16px;
  display: flex;
  flex-direction: column;
  height: -moz-min-content;
  height: min-content;
  max-height: 100%;
  grid-row: 3;
}

.route-steps-container {
  display: flex;
  flex-direction: column;
  height: auto;
  max-height: 100%;
  overflow: auto;
  padding: 0.5rem 0;
  position: relative;
}

.route-steps-container.show {
  display: flex !important;
}

.route-steps-container-decorator {
  display: block;
  content: '';
  width: 8px;
  position: absolute;
  top: 36px;
  bottom: 46px;
  left: 24px;
  -webkit-mask-image: url("data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' fill='none'%3E%3Ccircle cx='4' cy='4' r='1' fill='%23fff'/%3E%3C/svg%3E");
  -webkit-mask-position: 0 0;
  mask-image: url("data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' fill='none'%3E%3Ccircle cx='4' cy='4' r='1' fill='%23fff'/%3E%3C/svg%3E");
  mask-position: 0 0;
}

.route-steps-buttons-container {
	display: flex;
	gap: .5rem;
	padding: .5rem;
}

.route-steps-buttons {
  gap: 0.625rem;
  height: 48px;
}

.route-steps-btn-steps{
  display: none;
}

.route-steps-group-header {
  margin: 0;
  cursor: pointer;
  display: flex;
  border-radius: 0.5rem;
  position: relative;
  flex: 1;
}

.route-steps-group-header-ico-decorator {
  top: 50%;
  transform: translateY(-50%);
  display: block;
  content: '';
  width: 16px;
  height: 8px;
  position: absolute;
  left: 25px;
  -webkit-mask-image: url("data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' fill='none'%3E%3Ccircle cx='4' cy='4' r='1' fill='%23fff'/%3E%3C/svg%3E");
  -webkit-mask-position: 0 0;
  mask-image: url("data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' fill='none'%3E%3Ccircle cx='4' cy='4' r='1' fill='%23fff'/%3E%3C/svg%3E");
  mask-position: 0 0;
}

.route-steps-group-header-ico {
  margin-right: 1rem;
}

.route-steps-group-header-content {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex: 1;
  padding-top: 0.125rem;
}

.route-step-item-container {
  margin: 0 0 0.125rem;
  display: flex;
  border-radius: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.42858;
  letter-spacing: -0.04em;
  padding: 0.25rem 0.5rem;
  position: relative;
}

.route-step-item-container.current {
  background: rgba(var(--secondary), .15);
  box-shadow: 0 1px 2px rgba(var(--shadow), .2);
}

.decorator{
  width: 3px;
  background-color: rgba(var(--primary), 1);
  position: absolute;
  top: 16px;
}
.icon-decorator-container{
  display: flex;
  flex-direction: column;
  align-items: center;
  align-self: flex-start;
}
.route-step-item-ico {
  margin-right: 0.5rem;
}

.route-step-item-content {
  flex: 1;
  padding-top: 0.125rem;
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}

.route-info-message-container {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1.25rem;
}

.route-not-found-message-content {
  display: flex;
  flex-grow: 1;
  align-items: center;
  font-size: 0.875rem;
  line-height: 1.25;
}

.route-steps-loading {
  min-height: 50vh;
  display: flex;
  align-items: center;
}

@media (max-width: 767px) {
  .directions-view-container {
    max-width: none;
    max-width: initial;
  }

  .route-details-container {
    margin-top: auto;
  }

  .route-steps-btn-start,
  .route-steps-btn-steps {
    display: flex;
  }

  .route-steps-buttons {
    flex-grow: 1;
    height: 40px;
  }

  .route-steps-loading {
    min-height: 0;
    height: 102px !important ;
  }
}

#route-origin-input .input-component-container{
  border: 1px solid rgba(76, 76, 76, 1);
  background: transparent none repeat 0 0 / auto auto padding-box border-box scroll;
  background: initial;
  box-shadow: none;
  box-shadow: initial;
}

#route-destination-input .input-component-container{
  border: 1px solid rgba(76, 76, 76, 1);
  background: transparent none repeat 0 0 / auto auto padding-box border-box scroll;
  background: initial;
  box-shadow: none;
  box-shadow: initial;
}

.route-details-edit {
  align-self: end;
  width: 90%;
  height: 100%;
  justify-content: flex-end;
  align-items: center;
  gap: 4px;
  display: inline-flex;
  cursor: pointer;
}

.route-details-edit-icon {
  width: 24px;
  height: 24px;
  position: relative;
  background: rgba(10, 58, 102, 0.10);
  overflow: hidden;
  border-radius: 50px;
}

.route-details-edit-text {
  text-align: center;
  color: black;
  font-size: 10px;
  font-weight: 400;
  letter-spacing: 0.5px;
  word-wrap: break-word;
  min-width: 75px;
}
.base-text{
  color: #6F6F6F;
  letter-spacing: 0.5;
  word-wrap: break-word;
}

.route-interest-card svg{
  color: white;
  fill: transparent !important;
}

.route-interest-card {
  width: 192px;
  height: 78px;
  padding: 8px;
  background: rgba(255, 255, 255, 0.8);
  border-radius: 16px;
  outline: 1px solid #efefef;
  outline-offset: -1px;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 10px;
  display: inline-flex;
  cursor: pointer;
}

.route-interest-card-img-container {
  width: 64px;
  height: 64px;
  position: relative;
  background: white;
  border-radius: 12px;
}

.route-interest-card-text {
  word-wrap: break-word;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
  font-family: 'Inter', sans-serif;
}

.route-interest-card-title {
  width: 100%;
  color: #3b3c43;
  font-size: 12px;
  height: 12px;
  font-weight: 600;
}

.route-interest-card-subtitle {
  font-size: 10px;
  height: 10px;
  color: #797979;
  width: 100%;
  font-weight: 500;
}

.route-interest-card-btn {
  height: 24px;
  padding: 4px 8px;
  background: rgba(var(--primary), 1);
  border-radius: 6px;
  justify-content: center;
  align-items: center;
  gap: 6px;
  display: flex;
  cursor: pointer;
}

.route-interest-card-btn-text {
  color: white;
  font-size: 8px;
  font-family: 'Inter', sans-serif;
  font-weight: 800;
  text-transform: uppercase;
  word-wrap: break-word;
}

.suggestion-scroll-btns{
  background: rgba(var(--primary), 1);
  height: -moz-fit-content;
  height: fit-content;
  border-radius: 10px;
  align-self: center;
  fill: white;
  position: absolute;
  z-index: 1;
}
.suggestion-scroll-btns svg{
  fill: rgba(var(--primaryContrast), 1);
}
.suggestion-previous-btn{
  left: 23px;
}

.suggestion-next-btn{
  right: 11px;
}

.directions-view-container .bottom-sheet-container{
  background: white;
}
.suggestion-btn-disabled{
  background: #9e9e9e;
  cursor: auto;
  cursor: initial;
}
.route-details-edit-disabled{
  cursor: default;
}
.route-details-edit-disabled svg{
  color: gray;
}
.route-details-edit-disabled .route-details-edit-text{
  color: gray;
}

.route-steps-drawer-reopen-link {
  color: rgba(var(--primary), 1);
  font-weight: 600;
}

/*!**************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./src/app/components/VerticalDrawer/style.css ***!
  \**************************************************************************************************************************************/
.vertical-drawer {
  z-index: 20;
  width: 100%;
  background: white;
  box-shadow: 0 40px 80px rgba(var(--shadow), 0.25);
  border-radius: 0;
  display: flex;
  flex-direction: column;
  max-height: 100vh;
  height: 100vh;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  overflow: hidden;
}

.vertical-drawer-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.25rem 1.5rem;
}

.vertical-drawer-divider {
  height: 1px;
  background: #e8e8e8;
  flex-shrink: 0;
}

.vertical-drawer-content {
  flex: 1;
  min-height: 0;
  overflow: auto;
  padding-top: 0.25rem;
}

.vertical-drawer-expanded-footer {
  border-top: 1px solid #e8e8e8;
}

.vertical-drawer-expanded-footer > * {
  margin: 0;
}

.vertical-drawer-collapsed {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 20;
  background: white;
  border: 1px solid #f0f0f0;
  border-bottom: none;
  border-radius: 8px 8px 0 0;
  box-shadow: 0 -2px 11px rgba(0, 0, 0, 0.12);
}

.vertical-drawer-collapsed-footer {
  border-bottom: 1px solid #f0f0f0;
}

.vertical-drawer-reopen-button {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.4375rem;
  padding: 0.75rem 2rem;
  border-top: 1px solid #f0f0f0;
}

.vertical-drawer-reopen-text {
  color: #191919;
  color: var(--fontColor, #191919);
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.01em;
}

/*!***************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./src/app/components/ExpandablePanel/style.css ***!
  \***************************************************************************************************************************************/
.expandable-component-container {
	background: rgba(var(--white), .7);
	box-shadow: 0 1px 2px rgba(var(--shadow), .2), inset 0 1px 0 rgba(var(--white), 1);
	border-radius: .5rem;
	margin: 0 .5rem .125rem;
	position: relative;
}
.expandable-component-content {
	overflow: auto;
	transition: max-height .3s ease-out;
}

.expandable-component-content::-webkit-scrollbar {
	width: 2px;
}

.expandable-component-content::-webkit-scrollbar-track {
	background: rgba(var(--shadow), .1);
	border-radius: 3px;
}

.expandable-component-content::-webkit-scrollbar-thumb {
	background: rgba(var(--shadow), .4);
	border-radius: 3px;
}

.expandable-component-content::-webkit-scrollbar-thumb:hover {
	background: rgba(var(--shadow), .7);
}
/*!******************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./src/app/InternalViews/RouteStepByStep/style.css ***!
  \******************************************************************************************************************************************/
.route-step-by-step-container {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  display: grid;
  grid-template-columns: 100%;
  grid-template-rows: min-content minmax(0, 100%);
  grid-gap: 0.5rem;
  gap: 0.5rem;
  width: 100%;
  max-width: 400px;
  padding: 0.5rem;
}

.step-by-step-toast-container {
  position: absolute;
  top: 0.5rem;
  left: 400px;
  width: 100%;
  max-width: 400px;
  min-width: 350px;
  background: linear-gradient(180deg, rgba(var(--white), 0.8) 0%, rgba(var(--white), 0) 67.97%), rgba(var(--white), .5);
  box-shadow: 0 1px 1px -2px rgba(3, 27, 147, 0.15), 0 10px 20px -10px rgba(3, 27, 147, 0.4), 0 30px 40px -10px rgba(3, 27, 147, 0.2);
  backdrop-filter: blur(16px);
  border-radius: 16px;
  z-index: 11;
  overflow: hidden;
}

.step-by-step-toast-header {
  display: flex;
  align-items: center;
  padding: .5rem .75rem .5rem 1rem;
}

.step-by-step-toast-address {
  display: flex;
  align-items: center;
  padding-left: 1rem;
  padding-bottom: 0.5rem;
  padding-top: 0;
  font-weight: 500;
}

.address-font {
  font-weight: 400;
  font-size: 0.75rem;
}

.step-by-step-toast-header-buttons {
  display: flex;
  gap: .5rem;
  margin: 0 0 0 auto;
}

.step-by-step-toast-title {
  margin: 0 .5rem 0 0;
}

.step-by-step-toast-content {
  display: flex;
  flex: 1;
  align-items: flex-start;
  gap: .75rem;
  padding: 0px .5rem 0.5rem .5rem;
}

.step-by-step-toast-footer {
  display: flex;
  justify-content: center;
}

.step-by-step-toast-content-step-info {
  display: flex;
  flex-direction: column;
  padding-top: .25rem;
}

.step-by-step-toast-distance-destination-tip {
  border-radius: 12px;
  display: block;
  align-self: flex-start;
  padding: .125rem .5rem;
  margin: .625rem 0 0 0;
}

.step-by-step-toast-direction-ico-container {
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 64px;
  height: 64px;
  overflow: hidden;
  background-color: rgba(var(--primary), 1);
}

.step-by-step-toast-nav-buttons {
  border-radius: 1rem 1rem 0 0;
  display: flex;
  align-items: center;
  align-self: flex-start;
  gap: .75rem;
  padding: 0 .75rem;
  padding-bottom: 0.25rem;
  margin: 0;
}

.steps-button-container {
  display: none;
}

.step-by-step-mobile-header {
  display: flex;
  flex-direction: column;
  grid-row: 1;
  gap: 1rem;
}

.step-by-step-mobile-footer {
  display: flex;
  flex-direction: column;
}

.route-step-reorientation-actions {
  display: flex;
  justify-content: space-between;
  width: 100%;
  z-index: 19;
}

.route-step-reorientation-mini-button {
  margin: 0;
  padding: 0 0.75rem;
  border: none;
  background-color: rgba(var(--white), 1);
  box-shadow: 0 16px 20px -8px rgba(var(--shadow), 0.10);
  gap: 0.25rem;
}

.route-step-reorientation-dialog .dialog-header {
  display: none;
}

.route-step-reorientation-dialog .dialog-content {
  background: rgba(var(--white), 1);
  padding: 1.5rem;
}

.route-step-reorientation-content {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.route-step-reorientation-header {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
}

.route-step-reorientation-title {
  color: #353535;
  font-size: 1.75rem;
  font-weight: 500;
  letter-spacing: 0.17px;
  line-height: 1.25;
}

.route-step-reorientation-subtitle {
  color: #6d6d6d;
  font-size: 0.875rem;
  letter-spacing: 0.13px;
  line-height: 1.25rem;
}

.route-step-reorientation-buttons {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.route-step-reorientation-button {
  margin: 0;
  width: 100%;
  min-height: 3rem;
  border-radius: 0.5rem;
  padding: 0.375rem 1rem;
  justify-content: center;
}

.route-step-reorientation-cancel-button {
  margin: 0;
  width: 100%;
  color: #6d6d6d;
  line-height: 1.75rem;
  letter-spacing: 0.4px;
}

.route-step-end-navigation-confirm-dialog .dialog-header {
  display: none;
}

.route-step-end-navigation-confirm-dialog .dialog-content {
  padding: 1.5rem;
}

.route-step-end-navigation-confirm-content {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.route-step-end-navigation-confirm-title {
  color: #353535;
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: 0.17px;
  line-height: 1.5rem;
  text-align: center;
}

.route-step-end-navigation-confirm-subtitle {
  color: #6d6d6d;
  font-size: 0.875rem;
  letter-spacing: 0.13px;
  line-height: 1.3125rem;
  text-align: center;
}

.route-step-end-navigation-confirm-buttons {
  display: flex;
  gap: 1rem;
  margin-top: 1rem;
}

.route-step-end-navigation-confirm-button {
  margin: 0;
  flex: 1;
  min-height: 3rem;
  border-radius: 0.5rem;
  padding: 0.375rem 1rem;
  justify-content: center;
}

.route-step-delay-dialog .dialog-header {
  display: none;
}

.route-step-delay-dialog .dialog-content {
  padding: 0;
}

.route-step-delay-progress-track {
  height: 3px;
  width: 100%;
  background: #f0f0f0;
}

.route-step-delay-progress-value {
  height: 100%;
  width: 100%;
  background: rgba(var(--primary), 1);
}

.route-step-delay-progress-value-animated {
  transform-origin: left center;
  animation-name: route-step-delay-progress-deplete;
  animation-timing-function: linear;
  animation-fill-mode: forwards;
}

@keyframes route-step-delay-progress-deplete {
  from {
    transform: scaleX(1);
  }
  to {
    transform: scaleX(0);
  }
}

.route-step-delay-content {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 1rem;
}

.route-step-delay-title {
  color: #000;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.15px;
  line-height: 1.375rem;
  text-align: center;
}

.route-step-delay-buttons {
  display: flex;
  gap: 1rem;
}

.route-step-delay-button {
  margin: 0;
  flex: 1;
  min-height: 3rem;
  border-radius: 0.5rem;
  justify-content: center;
}

.step-by-step-mobile-info-container {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: 0.5rem 1rem 0.75rem;
}

.step-by-step-mobile-destination-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  min-height: 1.5rem;
}

.step-by-step-mobile-destination-label {
  color: #6d6d6d;
  font-size: 0.75rem;
}

.step-by-step-mobile-destination-title {
  color: rgba(var(--primary), 1);
  font-size: 0.75rem;
  font-weight: 600;
}

.step-by-step-mobile-instruction-card {
  display: flex;
  align-items: center;
  gap: 1rem;
  border-radius: 0.5rem;
  padding: 0.75rem 1rem;
  border-radius: 8px;
  border: 1px solid #F3F3F3;
  background: #F8F8F8;
}

.step-by-step-mobile-instruction-content {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  min-width: 0;
}

.step-by-step-mobile-distance-tip {
  border-radius: 12px;
  align-self: flex-start;
  padding: 0.125rem 0.5rem;
  background-color: rgba(var(--primaryContrast), 1);
}

.step-by-step-mobile-footer-controls {
  border-top: 1px solid rgba(0, 0, 0, 0.12);
  padding: 0.75rem 1rem;
}

.step-by-step-mobile-footer-controls .step-by-step-toast-nav-buttons {
  border-radius: 0;
  padding: 0;
  width: 100%;
}

.step-by-step-steps-label {
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 18px; /* 150% */
  letter-spacing: 0.113px;
}

@media (max-width: 767px) {
  .route-step-by-step-container {
    max-width: none;
    max-width: initial;
  }
  .step-by-step-toast-container {
    position: static;
    margin-left: 0px;
    min-width: auto;
    max-width: none;
    max-width: initial;
  }
  .step-by-step-toast-content {
    padding: 0px .5rem 1rem .5rem;
  }

  .step-by-step-toast-footer {
    display: none;
  }

  .steps-button-container {
    display: block;
    position: absolute !important;
    bottom: 0;
    border-radius: 1rem 0;
    right: 0;
  }

  .step-by-step-mobile-info-container {
    padding-top: 0.75rem;
  }

  .route-step-opposite-direction-warning {
    left: 0.25rem;
    right: 0.25rem;
  }

  .step-by-step-mobile-instruction-card .step-by-step-toast-direction-ico-container {
    width: 40px;
    height: 40px;
    border-radius: 20px;
  }

  .step-by-step-mobile-instruction-card .ToastContent {
    font-size: 1rem;
    line-height: 1.375rem;
  }
}


/*!**************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./src/app/components/ToastContainer/style.css ***!
  \**************************************************************************************************************************************/
.toast-container {
	position: fixed;
	z-index: 150;
	display: flex;
	gap: 0.5rem;
	padding: 0.5rem;
}

.toast-container > div {
	position: relative;
	margin: 0;
}
.toast-container.toast-bottom-right {
	flex-direction: column;
	bottom: 0;
	right: 0;
}
.toast-container.toast-bottom-left {
	flex-direction: column;
	bottom: 0;
	left: 0;
}
.toast-container.toast-bottom-center {
	flex-direction: column;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}
.toast-container.toast-top-right {
	flex-direction: column-reverse;
	top: 0;
	right: 0;
}
.toast-container.toast-top-left {
	flex-direction: column-reverse;
	top: 0;
	left: 0;
}
.toast-container.toast-top-center {
	flex-direction: column-reverse;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}

@media (max-width: 767px) {
	.toast-container {
		width: 100%;
	}

  .toast-container.toast-bottom-left, .toast-container.toast-bottom-right {
		bottom: 68px;
	}
	.toast-notification{
		max-width: 500px;
	}
}
/*!****************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./src/app/components/Link/style.css ***!
  \****************************************************************************************************************************/
.link-component {
  -webkit-text-decoration: none;
  -webkit-text-decoration: none;
  text-decoration: none;
}

.link-component[href] {
  cursor: pointer;
}

.link-component:not([href]):not([class]),
.link-component:not([href]):not([class]):hover {
  color: inherit !important;
}
/*!*******************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./src/app/Toasts/style.css ***!
  \*******************************************************************************************************************/
.chat-ai-toast-concent {
  min-width: 400px;
}

@media screen and (max-width: 400px) {
  .chat-ai-toast-concent {
    min-width: 100%;
  }
}

.recalculate-route-toast .toast-content {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
}
/*!**************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./src/app/components/DraggablePanel/style.css ***!
  \**************************************************************************************************************************************/
.draggable-panel-wrapper {
  position: relative;
  height: 100%;
}

.bottom-sheet-container {
  display: flex;
  flex-direction: column;
  background: linear-gradient(
      180deg,
      rgba(var(--white), 0.8) 0%,
      rgba(var(--white), 0) 67.97%
    ),
    rgba(var(--white), 0.5);
  box-shadow: 0 40px 80px rgba(var(--shadow), 0.25) !important;
  backdrop-filter: blur(16px);
  border-radius: 8px;
  height: 0px;
  will-change: height;
  z-index: 3;
  overflow: hidden;
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
  overscroll-behavior: none;

  touch-action: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;

  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
}

.bottom-sheet-header {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  justify-content: center;
  align-items: center;
  cursor: ns-resize;
  position: relative;
}

.bottom-sheet-content {
  flex-shrink: 1;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  overflow: auto;
  overscroll-behavior: contain;
}

.bottom-sheet-header::after {
  display: block;
  content: '';
  position: absolute;
  background-color: rgba(0,0,0,0.14118);
  width: 36px;
  height: 4px;
  top: 8px;
  left: 50%;
  transform: translateX(-50%);
  border-radius: 2px;
}

.bottom-sheet-footer, .bottom-sheet-header {
  flex-shrink: 0;
}

/*!****************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./src/app/components/Card/style.css ***!
  \****************************************************************************************************************************/
.card-component-container {
	background: rgba(var(--background), 0.7);
	box-shadow: 0 1px 1px -2px rgba(var(--shadow),.15), 0 10px 20px -10px rgba(var(--shadow),.4), 0 30px 40px -10px rgba(var(--shadow),.2);
	backdrop-filter: blur(8px);
	display: flex;
	flex-shrink: 0;
	flex-direction: column;
	border-radius: 1rem;
	margin: 0 0 1rem;
	overflow: hidden;
}
.card-component-box {
	display: flex;
	align-items: flex-start;
	gap: .75rem;
	padding: 1rem;
}
.card-component-ico {
	flex-shrink: 0;
}
.card-component-ico .ico { fill: rgba(var(--primary),1); }
.card-component-content {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
	align-items: flex-start;
	font-size: .875rem;
	line-height: 1.25;
}
.card-component-title {
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.25;
	padding: .125rem 0;
	margin: 0 0 .125rem;
}
.card-component-primary { background: rgba(var(--primary), 0.7); }
.card-component-primary .card-component-ico .ico { fill: rgba(var(--primaryContrast),1); }
.card-component-primary .card-component-content,
.card-component-primary .card-component-title { color: rgba(var(--primaryContrast),1); }
.card-component-footer { background: rgba(var(--footer), 0.7); }
.card-component-footer .card-component-ico .ico { fill: rgba(var(--footerContrast),1); }
.card-component-footer .card-component-content,
.card-component-footer .card-component-title { color: rgba(var(--footerContrast),1); }
.card-component-list .card-component:not(:last-child) {
	border-bottom: 1px solid rgba(22, 20, 31, .07);
	box-shadow: 0 1px 0 rgba(var(--white), .5);
}
.card-component-content .post-link {
	margin: .5rem 0 0 auto;
}

.card-component-subtitle {
	display: block;
	font-size: .75rem;
}

/*!***********************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./src/app/views/InterestListView/style.css ***!
  \***********************************************************************************************************************************/
.interests-view-title-content {
	width: 100%;
	overflow: hidden;
	display: flex;
	align-items: center;
	gap: .5rem;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.25;
	margin: .25rem .5rem .25rem 0;
}

.interests-list-sheet
[data-rsbs-header] {
	padding: 0.5rem 1rem
}

.interests-list-sheet
[data-rsbs-overlay] {
	bottom: 64px;
	border-radius: 8px;
}

.interests-list-sheet.without-bottom-navigate
[data-rsbs-overlay] {
	bottom: 0;
}

@media (max-width: 767px) {
	.interests-view-title-content {
		margin: 0px;
		padding: .25rem .5rem;
	}
}

.bottom-sheet-content{
	overflow: hidden !important;
}
/*!*************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./src/app/ViewsManager/style.css ***!
  \*************************************************************************************************************************/
.fixed-views-wrapper {
  position: absolute;
  overflow: auto;
  grid-row: 1 /span 2;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.float-views-wrapper {
  position: relative;
  overflow: auto;
  grid-row: 2;
  grid-column: span 2;
}
/*!*********************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./src/app/components/Countdown/style.css ***!
  \*********************************************************************************************************************************/
#countdown {
	display: block;
	width: 40px;
	height: 40px;
	position: fixed;
	top: 1rem;
	right: 1rem;
	z-index: 9999999;
}
#countdown-number {
	display: block;
	font-weight: bold;
	font-size: 12px;
	line-height: 40px;
	text-align: center;
	letter-spacing: -0.04em;
	color: var(--white);
}
.countdownSVG {
	position: absolute;
	top: 0;
	right: 0;
	width: 40px;
	height: 40px;
	transform: rotateY(-180deg) rotateZ(-90deg);
}
.countdown-ring {
	display: block;
	width: 40px;
	height: 40px;
	stroke-linecap: round;
	stroke-width: 2px;
	fill: none;
	stroke-width: 6px;
	stroke: rgba(var(--white),.2);
	fill: none;
}
.countdown-progress {
	stroke-dasharray: 101px;
	stroke-dashoffset: 0px;
	stroke-width: 6px;
	stroke: rgba(var(--white),.6);
	fill: none;
}
/*!*****************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./src/app/views/ChatAIView/style.css ***!
  \*****************************************************************************************************************************/
.zaptbot-intro-content {
	font-size: .875rem;
	line-height: 1.3;
	letter-spacing: -.025em;
}

.zaptbot-intro-content h2 {
	font-size: 1.25rem;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: -.08rem;
	margin: .5rem 0;
}

.zaptbot-intro-content p:last-child {
	margin-bottom: 0;
}

.zaptbot-intro {
	display: flex;
	margin-bottom: 2rem;
}

.zaptbot-intro figure {
	display: block;
	align-self: flex-start;
	margin-right: 0.5rem;
	border-radius: 50%;
	overflow: hidden;
	flex-shrink: 0;
}

.chat-suggestions {
	display: flex;
	flex-direction: column;
	gap: .625rem;
	margin-bottom: 1.5rem;
}


.chat-conversation {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.chat-row {
	display: flex;
	flex-direction: column;
	width: 100%;
	transition: height 1s ease-in-out;
}

.chat-user {
	border-radius: 16px 16px 4px 16px;
	background: rgba(var(--primary), 1);
	box-shadow: 0px 10px 12px -13px rgba(25, 60, 240, 0.19), 0px 3.852px 8.356px -13px rgba(25, 60, 240, 0.13), 0px 0.815px 2.444px -13px rgba(25, 60, 240, 0.10);
	display: flex;
	align-self: flex-end;
	font-size: .875rem;
	line-height: 1.3;
	letter-spacing: -.04rem;
	color: rgba(var(--white), 1);
	padding: 1rem;
	margin: 0 0 0 44px;
}


.chat-bot-container {
	display: flex;
	align-items: flex-end;
	gap: .5rem;
}

.chat-bot-avatar {
	display: block;
	flex-shrink: 0;
	border-radius: 8px 8px 2px 8px;
	width: 36px;
	height: 36px;
	overflow: hidden;
}

.chat-bot-avatar img {
	display: block;
	width: 100%;
}

.chat-bot-message {
	background: #EAEAEA;
	box-shadow: 0px 14px 14px -17px rgba(0, 0, 0, 0.07), 0px 5.393px 4.459px -17px rgba(0, 0, 0, 0.04), 0px 1.141px 1.141px -17px rgba(0, 0, 0, 0.03);
	border-radius: 16px 16px 16px 4px;
	width: auto;
	overflow-x: hidden;
	word-break: break-word;
	font-size: .875rem;
	line-height: 1.3;
	letter-spacing: -.025rem;
	color: rgba(var(--text), 1);
	padding: 1rem;
}

.chat-bot-message p {
	margin-bottom: .625rem;
}

.chat-bot-message ol,
.chat-bot-message ul {
	padding: 0;
	margin-bottom: .625rem;
}

.chat-bot-message ol li {
	padding: 0 0 0 .625rem;
	margin: 0 0 .5rem 1rem;
}

.chat-bot-message ol li::marker {
	font-weight: 700;
	color: rgba(var(--primary), 1);
}

.chat-bot-message .btn-line {
	padding: .5rem .75rem;
	margin: 0 0 .25rem;
}

.g-recaptcha {
	width: -moz-fit-content;
	width: fit-content;
	margin: 0.75rem auto;
}

.chat-bot-interests-suggestions-buttons-container {
	display: flex;
	margin: 0 auto;
	gap: 0.5rem;
}

.chat-bot-interests-suggestions-list {
	display: flex;
	flex-direction: column;
	gap: 10px;
	max-height: 450px;
	overflow: auto;
	padding: 0 1rem 10px;
	margin: 0.625rem -1rem 5px;
}

.chat-bot-interest-suggestion-image_container {
	background-color: rgba(var(--white), 1);
	border-radius: 12px;
	display: block;
	flex-shrink: 0;
	width: 64px;
	height: 64px;
	margin-right: .625rem;
	overflow: hidden;
}

.chat-bot-interest-suggestion-card_content {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

.chat-bot-interest-suggestion-card-buttons-container {
	display: flex;
	gap: 0.5rem;
	margin-top: auto;
}

.sponsored-message{
	text-align: center;
	position: relative;
	margin-top: 0.625rem;
}

.sponsored-label{
	display: block;
  margin-bottom: 5px;
  position: absolute;
  top: -12px;
  left: 56px;
  border-radius: 5px;
  padding: 0 2px;
}
/*!******************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./src/app/components/Select/style.css ***!
  \******************************************************************************************************************************/
.select-component-container {
  display: flex;
  flex-shrink: 0;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.25;
  margin: 0 0.125rem;
  padding-bottom: 0.25rem;
  position: static;
  cursor: pointer;
}

.select-component-label {
  background: linear-gradient(
      180deg,
      rgba(var(--white), 0.8) 0%,
      rgba(var(--white), 0) 47.19%
    ),
    rgba(240, 240, 242, 0.8);
  box-shadow: 0 1px 1px rgba(var(--shadow), 0.2),
    0 3px 4px rgba(var(--shadow), 0.08), inset 0 -1px 0 rgba(22, 20, 31, 0.08),
    inset 0 1px 0 rgba(var(--white), 0.6);
  backdrop-filter: blur(8px);
  border-radius: 8px 8px 2px 2px;
  display: flex;
  align-items: center;
  color: rgba(var(--text), 1);
  padding: 0.5rem 0.75rem;
  white-space: nowrap;
}
.select-component-label:hover {
  background: rgba(var(--white), 1);
}
.select-component-label.current:hover {
  box-shadow: none;
  color: rgba(var(--white), 1);
}
.select-component-label .ico {
  margin: 0.125rem 0 0 0.5rem;
  fill: rgba(var(--text), 1);
  opacity: 0.8;
  pointer-events: none;
}

.select-component-items-container {
  position: fixed;
  z-index: 100;
  background: linear-gradient(
      180deg,
      rgba(var(--white), 0.5) 0%,
      rgba(var(--white), 0) 100%
    ),
    rgba(var(--white), 0.4);
  box-shadow: 0 1px 1px -2px rgba(var(--shadow), 0.15),
    0 10px 30px -10px rgba(var(--shadow), 0.25),
    inset 0 1px 0 rgba(var(--white), 0.6), inset 0 0 1px rgba(var(--white), 0.9);
  backdrop-filter: blur(8px);
  border-radius: 8px;
  width: -moz-min-content;
  width: min-content;
  max-width: 200px;
  min-width: 150px;
  padding: 0.5rem 0;
  display: none;
  overflow-x: hidden;
  overflow-y: auto;
}

.select-component-items-container::-webkit-scrollbar{
	width: 0.2rem;
}
.select-component-items-container::-webkit-scrollbar-track {
	background: rgba(var(--shadow), .1);
	border-radius: 3px;
}
.select-component-items-container::-webkit-scrollbar-thumb {
	background: rgba(var(--shadow), .5);
	border-radius: 3px;
}
.select-component-items-container::-webkit-scrollbar-thumb:hover {
	background: rgba(var(--shadow), .7);
}

@supports not (
  (backdrop-filter: blur(10px)) or (backdrop-filter: blur(8px)) or
    (backdrop-filter: blur(5px)) or (backdrop-filter: blur(2px))
) {
  .select-component-label {
    background: linear-gradient(
        180deg,
        rgba(var(--white), 0.9) 0%,
        rgba(var(--white), 0) 47.19%
      ),
      rgba(240, 240, 242, 0.9);
  }
  .select-component-label.current,
  .select-component-label.current:hover {
    background: rgba(var(--primary), 1);
    color: rgba(var(--white), 1);
  }
  .select-component-items-container {
    background: linear-gradient(
        180deg,
        rgba(var(--white), 0.9) 0%,
        rgba(var(--white), 0) 100%
      ),
      rgba(var(--white), 0.85);
  }
}
.select-item-component {
	display: flex;
  justify-content: space-between;
  align-items: center;
	color: rgba(var(--text), 1);
	padding: .5rem 1rem;
	cursor: pointer;
	word-wrap: break-word;
}
.select-item-component > * {
	min-width: 0;
}

/*!************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./src/app/views/ConfigurationView/style.css ***!
  \************************************************************************************************************************************/
.configuration-section {
  background-color: #FFFFFF;
}

.section-title-language {
  font-weight: 500;
  font-size: 1rem;
  color: #1F1F1F !important;
  margin-bottom: 0.5rem;
}

.language-selector .select-component-label {
  width: 100%;
  border-radius: 8px;
  padding: 0.5rem 1rem;
  justify-content: space-between;
  box-shadow: none;
  border: 1px solid #EBEBEB;
  background: #F9F9F9;
  align-items: flex-start;
}

.language-selector .typography-category,
.language-selector .typography-category-item {
  color: #3B3C43;
  text-align: center;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: normal;
}

.configuration-section .language-selector .select-component-container {
  margin: 0;
  margin-top: 0.5rem;
}

.configuration-section .language-selector .select-component-label svg {
  width: 16px;
  height: 16px;
  color: #000000;
  margin-right: 0.5rem;
}

.configuration-side-page-no-blur .side-page-content-fixed {
  background-color: #FFFFFF;
  padding: 1.938rem 1rem 1rem 1rem;
  backdrop-filter: none;
}



/*!************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./src/app/views/FavoritesListView/style.css ***!
  \************************************************************************************************************************************/
.favorites-list-container {
  display: flex;
  flex: 1;
  flex-direction: column;
  height: 100%;
  background: #fff;
  margin: -1rem;
  position: relative;
  z-index: 1;
}

.favorites-list-tabs-container {
  height: 100%;
  overflow: hidden;
}

.event-time-header {
  background: #F4F4F4;
  display: flex;
  align-items: center;
  border-radius: 0;
  width: calc(100% + 2rem);
  height: 26px;
  padding-left: 1rem;
  font-weight: bold;
}

.empty-state-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex: 1;
  min-height: 300px;
  text-align: center;
  height: 100%;
}

.calendar-icon-container {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 80px;
  height: 80px;
}

.calendar-icon-container svg {
  width: 100%;
  height: 100%;
  opacity: 0.6;
}

.favorites-list-side-page .side-page-content-fixed {
  background: #fff;
}

/*!***************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./src/app/views/HomeView/style.css ***!
  \***************************************************************************************************************************/
.home-content-wrapper {
    padding: 0;
    height: 100%;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: white;
}

.category-section {
    padding: 0;
    margin: 16px 0 0;
    position: relative;
}

@media (min-width: 768px) {
    .category-section::after {
        content: '';
        position: absolute;
        top: 0;
        right: -10px;
        width: 10px;
        height: 100%;
        background: linear-gradient(90deg, rgba(var(--white), 0) 0%, rgba(var(--white), 1) 100%);
        display: block;
        pointer-events: none;
        z-index: 1;
    }
}

.location-card {
    background-color: #ffffff;
    display: flex;
    flex-direction: column;
    height: 100%;
    max-height: 100%;
    line-height: 1.5;
    overflow: hidden;
    position: relative;
}

.banner-container {
    background: #ffffff;
    position: relative;
}

.banner-container--header {
    margin-bottom: 0;
    padding: 0px;
    background: #fff;
    margin: 10px;
}

.home-highlight-banner-container {
    border-radius: 16px;
    overflow: hidden;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 10px;
}
.home-highlight-banner-container img {
    max-height: none !important;
    max-height: initial !important;
}

.banner-content img {
    width: 100% !important;
    height: 100% !important;
    -o-object-fit: fill !important;
       object-fit: fill !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    min-width: 100% !important;
    min-height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    background-size: 100% 100% !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    image-rendering: -webkit-optimize-contrast !important;
}


.banner-standard-container {
    width: 100%;
    margin: 0;
    padding: 0;
}

.location-card-img-wrapper {
    position: relative;
    width: 100%;
    margin: 0 0 29px 0;
    min-height: 175px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.location-card-img {
    width: 100%;
    height: 175px;
    -o-object-fit: cover;
       object-fit: cover;
    border-radius: 16px;
    padding: 0;
}

.more-info-button {
    position: absolute;
    bottom: 12px;
    left: 12px;
    display: flex;
    height: 20px;
    padding: 12px;
    justify-content: center;
    align-items: center;
    gap: 4px;
    border-radius: 8px;
    background: #DE3375;
    border: none;
    color: #FFFFFF;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    cursor: pointer;
}



.category-section {
    margin-bottom: 0;
    padding: 0px;
}

.category-section:not(:last-child) .highlight-cards-container {
    margin-bottom: 0;
}

.card-content-title {
    transition: opacity 0.2s ease;
    color: #3B3C43;
    font-size: 16px;
    font-weight: 700;
    line-height: normal;
    margin: 0;
    padding: 0 0 6px 0;
    display: inline-block;
}

.view-all-button {
    float: right;
    color: #DE3375;
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    cursor: pointer;
    margin-top: 3px;
    background: none !important;
    border: none !important;
    padding: 0 !important;
    box-shadow: none !important;
    outline: none !important;
    font-family: 'Inter', sans-serif !important;
    z-index: 2;
}

.card-content-title:hover {
    opacity: 0.8;
}

.category-section:last-child {
    margin-bottom: 0;
}

.highlight-cards-container {
    display: flex;
    flex-direction: row;
    gap: 12px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    margin: 0;
    margin-right: -10px;
    padding: 0px;
}

@media (max-width: 768px) {
    .highlight-cards-container {
        margin: 0 -1rem;
        padding: 0px 1rem;
    }
}

.highlight-cards-container::-webkit-scrollbar {
    height: 6px;
}

.highlight-cards-container::-webkit-scrollbar-track {
	background: rgba(var(--shadow), .1);
	border-radius: 3px;
}

.highlight-cards-container::-webkit-scrollbar-thumb {
	background: rgba(var(--shadow), .5);
	border-radius: 3px;
}

.highlight-cards-container::-webkit-scrollbar-thumb:hover {
	background: rgba(var(--shadow), .7);
}

.highlight-cards-container.mobile-hide-scrollbar {
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.highlight-cards-container.mobile-hide-scrollbar::-webkit-scrollbar {
    display: none;
}

.highlight-cards-container > div {
    position: relative;
    width: 133px;
    min-width: 133px;
    height: 133px;
    overflow: hidden;
    border-radius: 8px;
    box-sizing: border-box;
    flex-shrink: 0;
}

.highlight-cards-container > div::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 40%;
    background: linear-gradient(180deg, rgba(234, 234, 236, 0.8) 0%, rgba(48, 44, 44, 0) 100%);
    pointer-events: none;
    z-index: 1;
}

.highlight-cards-container > div::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 50%;
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0) 100%);
    pointer-events: none;
}

.interest-title {
    position: absolute;
    bottom: 12px;
    left: 12px;
    right: 12px;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 4px;
}

.location-icon {
    width: 8px;
    height: 8px;
    color: #FFFFFF !important;
    fill: #FFFFFF !important;
    filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.5));
}

.location-icon svg {
    color: #FFFFFF !important;
    fill: #FFFFFF !important;
}

.interest-title .popup-title * {
    color: #FFFFFF !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
    text-align: center;
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    font-style: normal !important;
    font-weight: 500 !important;
    line-height: normal !important;
    margin: 0;
    flex: 1;
}

.highlight-cards-container .card-component-container {
    box-shadow: none;
    margin-bottom: 5px;
}

.banner-container.home-footer-fixed {
    position: relative;
    width: 100%;
    z-index: 100;
    background: #fff;
    margin-top: auto;
}

.home-content-wrapper .zapt-banner-container {
    display: block;
}

.home-content-wrapper .zapt-banner img {
    border-radius: 0;
}

.home-content-wrapper .banner-buttons {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.scrollable-content {
    flex: 1;
    overflow-y: auto;
    padding-left: 16px;
    padding-right: 16px;
    height: 100%;
}

.home-sidepage .side-page-content-fixed {
  padding: 0px;
}
/*!**************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./node_modules/photoswipe/dist/photoswipe.css ***!
  \**************************************************************************************************************************************/
/*! PhotoSwipe main CSS by Dmytro Semenov | photoswipe.com */

.pswp {
  --pswp-bg: #000;
  --pswp-placeholder-bg: #222;
  

  --pswp-root-z-index: 100000;
  
  --pswp-preloader-color: rgba(79, 79, 79, 0.4);
  --pswp-preloader-color-secondary: rgba(255, 255, 255, 0.9);
  
  /* defined via js:
  --pswp-transition-duration: 333ms; */
  
  --pswp-icon-color: #fff;
  --pswp-icon-color-secondary: #4f4f4f;
  --pswp-icon-stroke-color: #4f4f4f;
  --pswp-icon-stroke-width: 2px;

  --pswp-error-text-color: var(--pswp-icon-color);
}


/*
	Styles for basic PhotoSwipe (pswp) functionality (sliding area, open/close transitions)
*/

.pswp {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: var(--pswp-root-z-index);
	display: none;
	touch-action: none;
	outline: 0;
	opacity: 0.003;
	contain: layout style size;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

/* Prevents focus outline on the root element,
  (it may be focused initially) */
.pswp:focus {
  outline: 0;
}

.pswp * {
  box-sizing: border-box;
}

.pswp img {
  max-width: none;
}

.pswp--open {
	display: block;
}

.pswp,
.pswp__bg {
	transform: translateZ(0);
	will-change: opacity;
}

.pswp__bg {
  opacity: 0.005;
	background: var(--pswp-bg);
}

.pswp,
.pswp__scroll-wrap {
	overflow: hidden;
}

.pswp__scroll-wrap,
.pswp__bg,
.pswp__container,
.pswp__item,
.pswp__content,
.pswp__img,
.pswp__zoom-wrap {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.pswp__img,
.pswp__zoom-wrap {
	width: auto;
	height: auto;
}

.pswp--click-to-zoom.pswp--zoom-allowed .pswp__img {
	cursor: zoom-in;
}

.pswp--click-to-zoom.pswp--zoomed-in .pswp__img {
	cursor: move;
	cursor: grab;
}

.pswp--click-to-zoom.pswp--zoomed-in .pswp__img:active {
  cursor: grabbing;
}

/* :active to override grabbing cursor */
.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img,
.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img:active,
.pswp__img {
	cursor: zoom-out;
}


/* Prevent selection and tap highlights */
.pswp__container,
.pswp__img,
.pswp__button,
.pswp__counter {
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
}

.pswp__item {
	/* z-index for fade transition */
	z-index: 1;
	overflow: hidden;
}

.pswp__hidden {
	display: none !important;
}

/* Allow to click through pswp__content element, but not its children */
.pswp__content {
  pointer-events: none;
}
.pswp__content > * {
  pointer-events: auto;
}


/*

  PhotoSwipe UI

*/

/*
	Error message appears when image is not loaded
	(JS option errorMsg controls markup)
*/
.pswp__error-msg-container {
  display: grid;
}
.pswp__error-msg {
	margin: auto;
	font-size: 1em;
	line-height: 1;
	color: var(--pswp-error-text-color);
}

/*
class pswp__hide-on-close is applied to elements that
should hide (for example fade out) when PhotoSwipe is closed
and show (for example fade in) when PhotoSwipe is opened
 */
.pswp .pswp__hide-on-close {
	opacity: 0.005;
	will-change: opacity;
	transition: opacity var(--pswp-transition-duration) cubic-bezier(0.4, 0, 0.22, 1);
	z-index: 10; /* always overlap slide content */
	pointer-events: none; /* hidden elements should not be clickable */
}

/* class pswp--ui-visible is added when opening or closing transition starts */
.pswp--ui-visible .pswp__hide-on-close {
	opacity: 1;
	pointer-events: auto;
}

/* <button> styles, including css reset */
.pswp__button {
	position: relative;
	display: block;
	width: 50px;
	height: 60px;
	padding: 0;
	margin: 0;
	overflow: hidden;
	cursor: pointer;
	background: none;
	border: 0;
	box-shadow: none;
	opacity: 0.85;
	-webkit-appearance: none;
	-webkit-touch-callout: none;
}

.pswp__button:hover,
.pswp__button:active,
.pswp__button:focus {
  transition: none;
  padding: 0;
  background: none;
  border: 0;
  box-shadow: none;
  opacity: 1;
}

.pswp__button:disabled {
  opacity: 0.3;
  cursor: auto;
}

.pswp__icn {
  fill: var(--pswp-icon-color);
  color: var(--pswp-icon-color-secondary);
}

.pswp__icn {
  position: absolute;
  top: 14px;
  left: 9px;
  width: 32px;
  height: 32px;
  overflow: hidden;
  pointer-events: none;
}

.pswp__icn-shadow {
  stroke: var(--pswp-icon-stroke-color);
  stroke-width: var(--pswp-icon-stroke-width);
  fill: none;
}

.pswp__icn:focus {
	outline: 0;
}

/*
	div element that matches size of large image,
	large image loads on top of it,
	used when msrc is not provided
*/
div.pswp__img--placeholder,
.pswp__img--with-bg {
	background: var(--pswp-placeholder-bg);
}

.pswp__top-bar {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 60px;
	display: flex;
  flex-direction: row;
  justify-content: flex-end;
	z-index: 10;

	/* allow events to pass through top bar itself */
	pointer-events: none !important;
}
.pswp__top-bar > * {
  pointer-events: auto;
  /* this makes transition significantly more smooth,
     even though inner elements are not animated */
  will-change: opacity;
}


/*

  Close button

*/
.pswp__button--close {
  margin-right: 6px;
}


/*

  Arrow buttons

*/
.pswp__button--arrow {
  position: absolute;
  top: 0;
  width: 75px;
  height: 100px;
  top: 50%;
  margin-top: -50px;
}

.pswp__button--arrow:disabled {
  display: none;
  cursor: default;
}

.pswp__button--arrow .pswp__icn {
  top: 50%;
  margin-top: -30px;
  width: 60px;
  height: 60px;
  background: none;
  border-radius: 0;
}

.pswp--one-slide .pswp__button--arrow {
  display: none;
}

/* hide arrows on touch screens */
.pswp--touch .pswp__button--arrow {
  visibility: hidden;
}

/* show arrows only after mouse was used */
.pswp--has_mouse .pswp__button--arrow {
  visibility: visible;
}

.pswp__button--arrow--prev {
  right: auto;
  left: 0px;
}

.pswp__button--arrow--next {
  right: 0px;
}
.pswp__button--arrow--next .pswp__icn {
  left: auto;
  right: 14px;
  /* flip horizontally */
  transform: scale(-1, 1);
}

/*

  Zoom button

*/
.pswp__button--zoom {
  display: none;
}

.pswp--zoom-allowed .pswp__button--zoom {
  display: block;
}

/* "+" => "-" */
.pswp--zoomed-in .pswp__zoom-icn-bar-v {
  display: none;
}


/*

  Loading indicator

*/
.pswp__preloader {
  position: relative;
  overflow: hidden;
  width: 50px;
  height: 60px;
  margin-right: auto;
}

.pswp__preloader .pswp__icn {
  opacity: 0;
  transition: opacity 0.2s linear;
  animation: pswp-clockwise 600ms linear infinite;
}

.pswp__preloader--active .pswp__icn {
  opacity: 0.85;
}

@keyframes pswp-clockwise {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}


/*

  "1 of 10" counter

*/
.pswp__counter {
  height: 30px;
  margin-top: 15px;
  margin-left: 20px;
  font-size: 14px;
  line-height: 30px;
  color: var(--pswp-icon-color);
  text-shadow: 1px 1px 3px var(--pswp-icon-color-secondary);
  opacity: 0.85;
}

.pswp--one-slide .pswp__counter {
  display: none;
}

/*!*********************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./src/app/components/AlbumItem/style.css ***!
  \*********************************************************************************************************************************/
.album-item-component {
  position: static;
  cursor: pointer;
  border-radius: .5rem;
  width: 100%;
  overflow: hidden;
}

.album-item-component-miniature {
  position: relative;
}

.album-item-component-miniature::before {
  display: block;
  content: '';
  width: 100%;
  height: 0;
  padding: 100% 0 0 0;
  position: relative;
}

.album-item-component figure,
.album-item-component video {
  margin: 0;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  -o-object-fit: contain;
     object-fit: contain;
  width: 100%;
  height: 100%;
}

.album-item-component-miniature figure,
.album-item-component-miniature video {
  margin: 0;
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
/*!********************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./src/app/components/Carousel/style.css ***!
  \********************************************************************************************************************************/
.carousel-component {
  width: 100%;
}

.carousel-track {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  gap: 12px;
  gap: var(--carousel-gap, 12px);
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 10px;
}

.carousel-item {
  flex: 0 0 0px;
  flex: 0 0 var(--carousel-item-size, 0px);
  width: 0px;
  width: var(--carousel-item-size, 0px);
  box-sizing: border-box;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 8px;
  overflow: hidden;
  scroll-snap-align: start;
  cursor: pointer;
  position: relative;
}

.carousel-video-indicator {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}

.carousel-video-indicator::before {
  content: '';
  width: 48px;
  height: 48px;
  background: rgba(0, 0, 0, 0.6);
  border-radius: 50%;
  position: absolute;
  transition: background 0.2s ease;
}

.carousel-item:hover .carousel-video-indicator::before {
  background: rgba(0, 0, 0, 0.8);
}

.carousel-play-icon {
  width: 24px;
  height: 24px;
  color: white;
  position: relative;
  z-index: 1;
}

.carousel-item .album-item-component-miniature {
  width: 100%;
}

.carousel-track::-webkit-scrollbar {
  height: 6px;
}

.carousel-track::-webkit-scrollbar-track {
  background: rgba(0, 0, 0, 0.08);
  border-radius: 3px;
}

.carousel-track::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.35);
  border-radius: 3px;
}

.carousel-track::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 0, 0, 0.5);
}

@media (max-width: 768px) {
  .carousel-track {
    scrollbar-width: none;
    -ms-overflow-style: none;
    padding-bottom: 0;
  }

  .carousel-track::-webkit-scrollbar {
    display: none;
  }
}

/*!********************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./src/app/components/InfoItem/style.css ***!
  \********************************************************************************************************************************/
.info-item-container {
  display: flex;
	color: rgba(var(--text), 1);
	padding: .5rem 1rem .5rem 1.5rem;
	position: relative;
	transition: all .2s linear;
	overflow: hidden;
}

.info-item-container-with-actions:hover {
  background-color: rgba(var(--white),1);
	color: rgba(var(--text), 1);
  cursor: pointer;
}

.info-item-container-with-actions:hover .info-item-actions-container {
  visibility: visible;
	opacity: 1;
	right: 0;
}

.info-item-ico {
  margin: 0 1rem 0 0;
  border-radius: .25rem;
}

.info-item-content {
  flex-grow: 1;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: -0.04em;
	padding: 0;
}

.info-item-actions-container {
	background-image: linear-gradient(to right,transparent 0,rgba(var(--white),1) 1.25rem, rgba(var(--white),1) 100%);
	display: flex;
	align-items: center;
	height: 40px;
	padding: 0 .25rem 0 1.25rem;
	position: absolute;
	top: 0;
	right: -20px;
	transition: all .2s linear;
	visibility: hidden;
	opacity: 0;
}

@supports (background: linear-gradient(red 0%, red 0% 1%, red 2%)) {
.info-item-actions-container {
	background-image: linear-gradient(to right,transparent 0,rgba(var(--white),1) 1.25rem 100%);
}
}
/*!*****************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./src/app/components/Paper/style.css ***!
  \*****************************************************************************************************************************/
.paper {
  transition: box-shadow 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
}
/*!***********************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./src/app/views/InterestsDetails/style.css ***!
  \***********************************************************************************************************************************/
.stages-details-container {
  padding: 0;
  background-color: #ffffff;
  overflow-x: visible;
  height: 100vh;
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 100%;
}

.interest-details-content {
  padding: 0;
  background-color: #ffffff;
  display: flex;
  flex-direction: column;
}

.interest-details-content .stages-details-container {
  background-color: #ffffff;
  height: 100vh;
  flex: 1;
  min-height: 100%;
}

.no-stage-container {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1;
}

.stage-image-wrapper {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin-bottom: 0.75rem;
}

.stage-images-carousel-wrapper {
  margin-bottom: 0.75rem;
  margin-right: -1rem;
}

.stage-images-carousel-wrapper .carousel-track {
  padding-right: 1rem;
}

.stage-image-wrapper figure {
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 8px;
  overflow: hidden;
}

.stage-title-section {
  margin-bottom: 1rem;
}

.stage-title {
  font-size: 18px;
  font-weight: 500;
  color: #3B3C43;
  margin: 0;
  line-height: 1.2;
}

.temporal-info {
  margin-top: 0.5rem;
}

.temporal-date {
  font-size: 14px;
  color: #999999;
  margin: 0 0 0.25rem 0;
}

.temporal-time {
  display: flex;
  align-items: center;
}

.temporal-time-text {
  font-size: 14px;
  color: #999999;
  margin: 0;
}

.stage-action-section {
  padding: 0 0 1rem 0;
  border-bottom: 1px solid #f0f0f0;
  margin-bottom: 1rem;
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 0;
}

.stage-action-section .trace-route-button {
  flex: 0 0 auto;
  width: auto;
}

.favorites-action-button {
  border-radius: 8px;
  flex: 0 0 auto;
  width: auto;
  min-width: 0;
}

.favorites-action-button .icon-component-container svg {
  width: 1rem;
  height: 1rem;
}

.interest-details-route-card-wrapper {
  flex: 1;
  margin-bottom: 0.25rem;
  margin-top: 0;
  margin-left: 1rem;
}

.interest-details-route-card-wrapper--same-floor {
  flex-basis: 100%;
  width: 100%;
  margin-left: 0;
  margin-top: 0.75rem;
}

.interest-details-route-card-wrapper--same-floor .interest-details-route-content {
  display: flex;
  flex-direction: row;
  padding: 8px 24px;
  justify-content: space-between;
  align-items: center;
  align-self: stretch;
  min-width: 0;
  width: 100%;
}

.interest-details-route-card-wrapper--same-floor .interest-details-route-step {
  flex: 0 0 auto;
  min-width: 0;
}

.interest-details-route-card-wrapper--same-floor .interest-details-route-content .interest-details-route-step:last-child {
  margin-left: auto;
}

.interest-details-route-card-wrapper--same-floor .interest-details-route-step-separator {
  flex: 1;
  min-width: 24px;
  height: 2px;
  margin: 0 24px;
  background: linear-gradient(90deg, #DADADA 0%, #B3B3B3 100%);
}

.interest-details-route-content {
  display: flex;
  flex-direction: column;
  padding: 8px 12px;
  position: relative;
}

.interest-details-route-step {
  display: flex;
  gap: 0.25rem;
  align-items: center;
  position: relative;
}

.interest-details-route-step-text {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.interest-details-route-step-label {
  font-size: 10px;
  color: #676767;
  font-weight: 400;
  margin: 0;
  line-height: 1.2;
}

.interest-details-route-step-floor {
  display: block;
  margin: 0;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.2;
}

.interest-details-route-step-separator {
  display: block;
}

.interest-details-route-card-wrapper:not(.interest-details-route-card-wrapper--same-floor) .interest-details-route-step-separator {
  margin: 0.15rem 0 0.15rem 7px;
  height: 1.2rem;
  width: 2px;
  align-self: flex-start;
  background: linear-gradient(180deg, #DADADA 0%, #B3B3B3 100%);
}

.interest-details-section {
  margin-bottom: 0.75rem;
}

.interest-details-section-title {
  font-size: 12px;
  font-weight: 600;
  margin: 0 0 0.5rem 0;
  line-height: 1.2;
}

.interest-details-info-item.info-item-container {
  padding: 0;
  margin: 0 0 0.5rem 0;
  align-items: center;
}

.interest-details-info-item .info-item-ico {
  margin: 0 0.5rem 0 0;
}

.interest-details-info-item .info-item-ico .icon-component-container svg {
  width: 14px;
  height: 14px;
}

.interest-details-info-item--clock .info-item-ico .icon-component-container svg {
  opacity: 0.8;
}

.interest-details-info-item .info-item-content {
  margin: 0;
  display: flex;
  align-items: center;
}

.interest-details-info-item.info-item-container-with-actions {
  padding-right: 3.5rem;
}

.interest-details-info-item.info-item-container-with-actions .info-item-actions-container {
  height: 100%;
  padding: 0 0.25rem 0 0.75rem;
}

.interest-details-info-item.info-item-container-with-actions
  .info-item-actions-container
  .button-component {
  width: 24px !important;
  height: 24px !important;
}

.interest-details-info-item.info-item-container-with-actions
  .info-item-actions-container
  .icon-component-container
  svg {
  width: 14px;
  height: 14px;
}

.interest-details-info-item .info-item-content {
  font-weight: 300;
  font-size: 14px;
  line-height: 1.4;
  color: #4E4E4E;
  letter-spacing: 0;
}

.description-text {
  font-size: 14px;
  line-height: 1.6;
  margin: 0;
  color: #4E4E4E;
  font-weight: 300;
  display: block;
  white-space: pre-wrap;
  word-wrap: break-word;
  word-wrap: break-word;
}

.description-text ul,
.description-text ol {
  padding-left: 1rem;
  margin: 0.5rem 0;
}

.description-text li {
  margin: 0.25rem 0;
}

.description-text li::marker {
  color: #C6C6C6;
}

.check-stage-schedule-button {
  width: 100%;
  max-width: none;
  min-width: 280px;
}

.check-stage-schedule-button-custom .typography {
  font-size: 14px;
}

.schedule-header {
  border: none;
  margin-top: 0.5rem;
  margin-left: 1rem;
}

.schedule-title-calendar {
  font-size: 18px;
  font-weight: 500;
}

.guests-title {
  font-size: 18px;
  font-weight: 600;
  display: block;
  color: #3B3C43;
}


.guests-section .list-item-component {
  padding: 0;
}

.guests-section .list-item-component-no-padding {
  display: flex;
}

.guests-section .list-item-component,
.guests-section .list-item-component-no-padding {
  padding: 0.5rem 0;
  margin-bottom: 0;
}

.guests-section .list-item-component:not(:last-child),
.guests-section .list-item-component-no-padding:not(:last-child) {
  border-bottom: 1px solid #e0e0e0;
}

.guests-section {
  border-bottom: 1px solid #e0e0e0;
  padding-bottom: 0.5rem;
  margin-bottom: 0.75rem;
}

.guests-section .list-component {
  padding-bottom: 0;
}

.interest-details-tabs-container {
  height: 100%;
  overflow: hidden;
  padding: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.informations-tab-content {
  padding: 1rem 1rem 2rem 1rem;
  background-color: #ffffff;
  overflow-x: visible;
  overflow-y: auto;
  width: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.informations-tab-content::-webkit-scrollbar {
  width: 6px;
}

.informations-tab-content::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.3);
  border-radius: 3px;
}

.schedule-tab-content {
  background-color: #ffffff;
  overflow-x: visible;
  overflow-y: auto;
  width: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.no-schedule-container {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 2.5rem 1rem;
  text-align: center;
  min-height: 200px;
}

.no-schedule-container .typography {
  font-size: 14px;
  color: #999999;
  margin: 0;
}


/*!***********************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./src/app/views/PlaceDetailsView/style.css ***!
  \***********************************************************************************************************************************/
.place-details-wrapper {
    width: 100%;
    height: 100%;
    background-color: #ffffff;
    min-height: 100vh;
    padding: 0;
    margin: 0;
}

.place-details-content {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    padding: 0;
    margin: 0;
}

.content-container {
    padding: 0 !important;
    margin: 0 !important;
}

.card-content {
    width: 100%;
    padding: 0 !important;
    margin: 0 !important;
}

.card-content-contrast {
    padding: 0 !important;
    margin: 0 !important;
    width: 100%;
}

.place-details-info {
  background-color: transparent;
  margin: 0;
  padding: 1rem 1rem 1rem 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.place-details-info .info-item-container {
  padding-left: 0 !important;
  margin-left: 0 !important;
}

.place-details-img-wrapper {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
    border-radius: 16px;
    overflow: hidden;
    margin-top: 20px;
    min-height: 175px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.place-details-img {
    width: 100%;
    height: 175px;
    -o-object-fit: cover;
       object-fit: cover;
    border-radius: 0;
    padding: 0;
    display: block;
}

.location-card-16x9 .location-card-img-container {
    margin: 0;
    border-radius: 16px;
    overflow: hidden;
}

@media (max-width: 600px) {
    .place-details-wrapper {
        padding: 0;
    }
}

/*!**********************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./src/app/views/SpeakersDetails/style.css ***!
  \**********************************************************************************************************************************/
.speakers-info-container {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #fff;
  flex: 1;
  position: relative
}

.speakers-info-page-content {
  padding: 0px;
}

.speakers-info-tabs-viewer {
  flex: 1;
}

.speakers-info-container.scrollbar-y {
  overflow-y: auto;
  overflow-x: hidden;
}

.artist-info-section {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: absolute;
  gap: 0.75rem;
  left: 1rem;
  right: 1rem;
  padding-bottom: 1rem;
}

.artist-image-container {
  display: flex;
  justify-content: flex-start;
  width: 100%;
}

.artist-image {
  width: 175px;
  height: 175px;
  border-radius: 8px;
  -o-object-fit: cover;
     object-fit: cover;
  overflow: hidden;
}

.artist-name {
  font-size: 18px;
  font-weight: bold;
}

.artist-curriculum {
  font-size: 14px;
  line-height: 21px;
  font-weight: 400;
  color: inherit;
  cursor: pointer;
}

.artist-curriculum a {
  -webkit-text-decoration: underline;
  text-decoration: underline;
  color: inherit;
  cursor: pointer;
}

.artist-curriculum a:hover {
  opacity: 0.8;
}

.schedule-title {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid #e0e0e0;
  display: block;
}

.event-title {
  font-size: 14px;
  font-weight: bold;
  color: #3B3C43;
  margin-bottom: 8px;
}

.speakers-details-sidepage .side-page-header-fixed .side-page-header-buttons-fixed {
  position: absolute;
  left: 0.8rem;
  right: auto;
  margin: 0 0 0 0;
  top: 50%;
  transform: translateY(-50%);
}

.speakers-details-sidepage .side-page-title-fixed {
  text-align: center;
  flex: 1;
  display: flex;
  justify-content: center;
}

.speaker-details-instagram-button {
  cursor: pointer;
  display: inline-flex;
  padding: 4px;
  background: #DE3375;
  align-items: center;
  border-radius: 13.5px;
  justify-content: center;
}
/*!***********************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./src/app/views/SpeakersListView/style.css ***!
  \***********************************************************************************************************************************/
.speakers-list-view {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #fff;
  width: 'auto';
  margin: -1rem;
  box-sizing: border-box;
  padding: 1rem;
  flex: 1;
  overflow: hidden;
  min-height: 0;
  gap: 0.75rem;
}

.speakers-search-container {
  margin-bottom: 0;
  display: flex;
  gap: 0.75rem;
}

.speakers-content {
  flex: 1;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  margin-left: -1rem;
  position: relative;
  margin-right: -1rem
}

.speakers-content .loading-fallback {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 10;
}

.speakers-group-header {
  display: flex;
  align-items: center;
  background: #F4F4F4;
  width: auto;
  margin: 0 -1rem;
  font-weight: 500;
  padding-left: 1.5rem;
  font-family: Inter;
  font-size: 14px;
  color: #3B3C43;
  padding-top: 2px;
  padding-bottom: 2px;
}

.speakers-group-content {
  padding-right: 0.5rem;
  padding-left: 0.5rem;
}

.speakers-item {
  display: flex;
  align-items: center;
  border-bottom: 1px solid #e0e0e0;
  margin-bottom: 0;
  background-color: transparent;
  min-height: 96px;
}

.speakers-group-content .speakers-item:last-child {
  border-bottom: none;
  padding-bottom: 8px;
}

.speakers-image {
  width: 50px;
  height: 54px;
  border-radius: 8px;
  margin-right: 16px;
  -o-object-fit: cover;
     object-fit: cover;
}

.speakers-content-item {
  flex: 1;
}

.speakers-name {
  color: #3B3C43;
  font-weight: 500;
  font-size: 16px;
  margin-bottom: 4px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.speakers-description {
  color: #6B6B6B;
  font-size: 12px;
  font-weight: 400;
  line-height: 20px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  max-height: 40px;
}

.speakers-error-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 220px;
  width: 100%;
  margin-top: 48px;
}

.speakers-error-text {
  font-size: 15px;
  font-weight: 400;
}

.speakers-empty-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 220px;
  width: 100%;
  margin-top: 48px;
}

.speakers-empty-text {
  color: #6B6B6B;
  font-size: 15px;
  font-weight: 400;
  line-height: 22px;
  text-align: center;
}

/*!****************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./src/app/components/BottomNavigation/style.css ***!
  \****************************************************************************************************************************************/
.bottom-navigate-container {
  display: flex;
  align-items: center;
  align-self: center;
  padding: 0 0.5rem;
  margin: auto auto 0;
  width: 100%;
  grid-column: span 2;
}
.bottom-navigate-component {
  display: flex;
  align-items: center;
  justify-content: space-around;
  flex: 1;
  text-align: center;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1;
  list-style: none;
  padding: 0.25rem;
  position: relative;
  z-index: 98;
}
.bottom-navigate-component::before {
  background: linear-gradient(
      180deg,
      rgba(var(--white), 0.8) 0%,
      rgba(var(--white), 0) 67.97%
    ),
    rgba(var(--white), 0.5);
  box-shadow: 0 -5px 10px -10px rgba(var(--shadow), 0.5),
    0 -15px 50px -10px rgba(var(--shadow), 0.2),
    inset 0 1px 0 rgba(var(--white), 0.9);
  backdrop-filter: blur(10px);
  border-radius: 1rem 1rem 0 0;
  display: block;
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.bottom-navigate-item {
  position: relative;
}
.bottom-navigate-link {
  display: flex;
  border-radius: 0.5rem;
  flex-direction: column;
  align-items: center;
  color: rgba(var(--text), 1);
  padding: 0.5rem 0.75rem;
  margin: 0;
  cursor: pointer;
}

.bottom-navigate-link .icon-component-container {
  margin-bottom: 0.5rem;
}

/*!**********************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./src/app/components/FiltersBar/style.css ***!
  \**********************************************************************************************************************************/
.filters-bar-container {
	position: relative;
	max-width: 100%;
}

.filters-bar-scroll-container {
	display: flex;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-behavior: smooth;
}
/*!***************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./src/app/components/Map/style.css ***!
  \***************************************************************************************************************************/

/*!**************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./src/app/pages/MapPage/style.css ***!
  \**************************************************************************************************************************/
.map-page-container {
    z-index: 1;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}
/*!*********************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./src/app/components/TextField/style.css ***!
  \*********************************************************************************************************************************/
.text-field-container {
  margin: 0 0 1rem;
  position: relative;
}
.text-field-label {
  display: block;
  font-size: 0.875rem;
  font-weight: 500;
  color: rgba(var(--primary), 1);
  margin: 0 0 0.25rem;
}
.text-field-input-container {
  position: relative;
}
.text-field-input {
  background-color: rgba(var(--white), 1);
  border: 1px solid rgba(var(--primary), 1);
  box-shadow: 0 1px 0 rgba(var(--white), 0.8),
    inset 0 1px 1px rgba(var(--primary), 0.3),
    inset 0 4px 5px rgba(var(--primary), 0.15);
  border-radius: 0.5rem;
  display: block;
  width: 100%;
  padding: 0.75rem 1rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: -0.04rem;
  color: rgba(var(--text), 1);
  background-clip: padding-box;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.text-field-input:focus {
  box-shadow: 0 0 0 2px rgba(var(--primary), 0.2),
    inset 0 1px 1px rgba(var(--primary), 0.3),
    inset 0 4px 5px rgba(25, 60, 240, 0.15);
  outline: none;
}

/*!************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js!./node_modules/postcss-loader/dist/cjs.js!./src/app/views/Login/style.css ***!
  \************************************************************************************************************************/
.microsoft-login-button{
    padding: 12;
    height: 40;
    display: flex;
    align-items: center;
    gap: 12px;
    font-weight: 500;
    font-size: 14;
    color: #5e5e5e;
    background-color: #ffffff;
    border: 1px solid #8c8c8c;
    cursor: pointer;
    border-radius: 4;
    position: relative;
    padding: 12px;
    border-radius: 4px;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    align-items: center;
    font-weight: 500;
}

.login-button-dark{
    border: none;
    background-color: #5f5f5f;
    color: #ffffff;
}

.hover-effect{
    transition: background-color .218s;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    position: absolute;
}

.hover-effect :root:hover {
    background: rgba(255,255,255,.24);
}
