
html, body {
  margin: 0;
  padding: 0;
  height: 100%;
  width: 100%;
  overflow: hidden;
}

input, button, canvas {
  outline: none;
}

.cf_app_root {
  height: 100%;
  overflow: hidden;
  /* display: flex; */
  /* flex-direction: column; */
  transform: translateZ(0);
}
/* 
.cf_map_container {
  width: 100%;
  height: 100%;
  transform: translateZ(0);
  overflow: hidden;
} */

#map {
  width: 100%;
  height: 100%;
  transform: translateZ(0);
}
/* 
[contenteditable=true] {
  -webkit-user-select: text;
  user-select: text;
} */

.cf_app_content {
  position: relative;
  width: 100%;
  transform: translateZ(0);
}

.cf_pencil {
  cursor: url('../assets/images/pen_cursor.png') 0 24, auto !important;
}


.cf_printable_image, #map canvas {
  -webkit-print-color-adjust: exact;
}

.cf_map_marker {
  display: flex;
  cursor: pointer;
  width: 58px;
  height: 71px;
  pointer-events: painted;
}

.cf_hotel_marker {
  z-index: 20;
}

.cf_hotel_marker::before, .cf_hotel_marker::after {
  content: '';
  width: 100%;
  height: 100%;
  background-image: url("../assets/images/pulse_marker_bg.svg");
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  margin: auto;
  transform-origin: center center;
  animation: pulse 1.5s linear infinite;
}

.cf_hotel_marker::after {
  animation-delay: .75s;
}

@keyframes pulse{
  0% {
    transform: scale(1);
    opacity: 0;
  }
  50% {
    opacity: 0.4;
  }
  70% {
    opacity: 0.3;
  }
  100% {
    transform: scale(1.2);
    opacity: 0;
  }
}

.cf_search_result_marker {
  background-image: url('../assets/images/search_marker.svg');
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}


.cf_menu_overlay_container {
  position: absolute;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  top: 0;
  left: 0;
  pointer-events: none;
  transform: translateZ(0);
}

.cf_menus_container {
  position: relative;
}

.cf_route_tip_marker {
  width: 50px;
  height: 50px;
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
}

.cf_route_tip_marker--start_walk {
  background-image: url('../assets/images/start_walk.svg');
}

.cf_route_tip_marker--start_car {
  background-image: url('../assets/images/start_car.svg');
}

.cf_route_tip_marker--finish {
  background-image: url('../assets/images/finish.svg');
  cursor: pointer;
}

.cf_btn_active {
  background-color: rgb(23, 23, 23);
}


@keyframes fadeOut {
  from {
    opacity: 1;
  };
  to {
    opacity: 0;
  };
}

@media (min-width: 768px) {
  .cf_modal_button {
    height: 45px;
  }

  .cf_menu_overlay_container {
    justify-content: space-between;
  }

  .cf_map_marker {
    width: 65px;
    height: 81px;
  }
}

@media (min-width: 1200px) {
  .cf_map_marker {
    width: 72px;
    height: 90px;
  }
}

@media print {

  .cf_app_root {
    display: none;
  }
}

.cf_filter__btn{ 
	position:fixed; 
	left:50%;
	top:20px;
	transform:translateX(-50%);
	background:#000000; 
	box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;	 
	color:#fff;
	display: flex;
  	align-items: center;
	padding:10px 20px;
	border:0px;
	border-radius:10px;
	font-size:1.0rem;
	z-index:10;
	cursor:pointer;
}

.cf_filter__btn .cf_filter__btn_icon {
  height: 20px;
  margin-right:14px;
}

.cf_filter__btn .cf_filter__btn_icon .cf_icon{ height:20px !important; width:20px !important; }

.cf_filter__area{ position:fixed; width:100%; height:100%; left:0; top:0; background-color: rgba(0, 0, 0, 0.3); z-index:10; transition: all 0.5s; visibility:hidden; opacity:0; }
.cf_filter__area.show{ visibility:visible; opacity:1; }
.cf_filter__block{ position:fixed; left:50%; bottom:0px; transform:translate(-50%,100%); background:#fff; padding:0 30px; width:264px; border-radius:15px 15px 0 0; visibility:hidden; opacity:0; transition: all 1s; z-index:12; }
.cf_filter__area.show .cf_filter__block{ transform:translate(-50%,0%); visibility:visible; opacity:1;  }
.cf_filter__block .cf_filter__item{ display:flex; padding:20px 0; border-bottom:1px solid #D8D8D8; text-align:center; }
.cf_filter__block .cf_filter__item:last-child{ border-bottom:0px; }
.cf_filter__block .cf_filter__item .cf_icon { height:20px; margin:0 14px 0 auto; align-self:center; }
.cf_filter__block .cf_filter__item label { margin:0 auto 0 0; align-self:center; font-weight:bold; }

.cfLandingArea{ position:fixed; width:100%; height:100%; left:0; top:0; overflow:hidden; z-index:100; opacity:0; visibility:hidden; transition: all 1s; }
.cfLandingArea.show{ opacity:1; visibility:visible; }
.cfLandingArea .cfLandingAreaimg img{ position:absolute; object-fit:cover; object-position:center; left:0; top:0; height:100%; width:100%;  }
.cfLandingArea .cfLandingContent{ position:fixed; left:50%; top:50%; transform:translate(-50%,-50%); text-align:center; max-width:410px; width:100%; }
.cfLandingArea .cfLandingContent h4{ color:#fff; font-size:3rem; line-height:1.2; font-weight:bold; margin:0 0 2rem 0; }
.cfLandingArea .cfLandingContent .cfLandingContent__btn{ padding:15px 30px; font-size:1rem; color:#fff; background:#832E61; border-radius:5px; width:180px; cursor:pointer; margin:0 auto; }

@media (max-width: 450px) {
	.cfLandingArea .cfLandingContent{ max-width:300px; }
	.cfLandingArea .cfLandingContent h4{ font-size:2.2rem; }
}

.reservation__popup { position:absolute; top:0; left:0; right:0; bottom:0; width:auto; height:auto; display:flex; align-items:center; justify-content:center; background-color:rgba(0, 0, 0, 0.3); z-index:10; font-size:0.8em; }
.reservation__popup__wp{ position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); padding:20px; background:#fff; text-align:center; z-index:15; width:320px; max-width:calc(100% - 80px); border-radius:16px; }
.reservation__popup__wp h1{ font-weight:bold; font-size:1.4rem; margin:10px 0 20px 0; }
.reservation__popup__wp p{ font-size:1.0rem; line-height:1.4; max-width:280px; margin:0 auto 20px; }
.reservation__popup__wp .reservation__popup__cta_buttons{ display:flex; text-align:center; flex-direction:column; }
.reservation__popup__wp .reservation__popup__cta_buttons .cf_icon_button{ width:100%; margin:0 0 15px 0; text-align:center; text-decoration:none; font-size:0.9em; }
.reservation__popup__wp .reservation__popup__cta_buttons .cf_icon_button.reservation__popup_sendmessage{ margin:0 0 0 0; }
@media (max-width: 540px) {
 .reservation__popup__wp .reservation__popup__cta_buttons{ flex-direction:column; }	
 .reservation__popup__wp .reservation__popup__cta_buttons .cf_icon_button{ margin:0 0 15px 0 !important; width:100%; }
  .reservation__popup__wp .reservation__popup__cta_buttons .cf_icon_button.reservation__popup_sendmessage{ margin:0 0 0 0 !important; }
}

.cf_info_modal__modal .cf_info_modal__content{ display:flex; flex-wrap:wrap; }
.cf_info_modal__modal .cf_info_modal__image_container{ width:100%; }
.cf_info_modal__modal .cf_info_modal__description{ width:100%; }
.cf_info_modal__modal .cf_info_modal__cta_buttons{ display:flex; flex-wrap:wrap; width:100%; }
.cf_info_modal__modal .cf_info_modal__cta_buttons.cta_one .cf_icon_button{ width:100%; margin:0 0 0 0; }
.cf_info_modal__modal .cf_info_modal__cta_buttons .cf_icon_button{ width:calc(50% - 7px); margin:0 4px 0 0; }
.cf_info_modal__modal .cf_info_modal__cta_buttons .cf_icon_button:nth-child(even){ margin:0 0 0 4px; }
.cf_info_modal__modal .cf_info_modal__cta_buttons.cta_three .cf_icon_button{ width:calc(50% - 7px); margin:0 4px 8px 0; }
.cf_info_modal__modal .cf_info_modal__cta_buttons.cta_three .cf_icon_button:nth-child(even){ margin:0 0 8px 4px; }
.cf_info_modal__modal .cf_info_modal__cta_buttons.cta_three .cf_icon_button:last-child{ width:100%; margin:0 0 0 0; background:#fff; color:#832E61; border:2px solid #832E61; }

.cf_info_modal__modal-with-cf_highlight .cf_info_modal__action_buttons{ width:100%; margin:0 0 5px 0; }
.cf_info_modal__modal-with-cf_highlight .cf_highlight{ text-align:center; }
.cf_info_modal__modal-with-cf_highlight .cf_info_modal__cta_buttons{ width:100%; margin:5px 0 0 0; }

.cf_direction_type_select{ width:300px; max-width:100%; margin:0 auto; }
.cf_direction_type_select h2{ text-align:center; font-weight:700; font-size:1.4em; }
.cf_direction_type_select p{ text-align:center; font-size:1em; line-height:1.4; max-width:260px; margin:0 auto 20px auto; }
.cf_direction_type_select .cf_selector{ width:100%; max-width:100%; margin-bottom:20px; height:50px; padding:15px; border-radius:8px; border:1px solid #832E61; }
.cf_direction_type_select .cf_selector.cf_selector--open{ border-radius:8px 8px 0px 0px; }
.cf_direction_type_select .cf_selector .cf_selector__chevron{ transform:rotate(-180deg); }
.cf_direction_type_select .cf_selector.cf_selector--open .cf_selector__chevron{ transform:rotate(0deg); }
.cf_direction_type_select .cf_selector__options_container{ left:-1px; top:auto; bottom:0; transform:translate(0,100%); border:1px solid #832E61; border-top:0px; border-radius:0px 0px 8px 8px; background:#f7f7f7; z-index:1005; }
.cf_direction_type_select .cf_selector__options_container .cf_selector__entry{ background:none; margin:0px; border-bottom:1px solid #ddd; padding:8px 15px; }
.cf_direction_type_select .cf_selector__options_container .cf_selector__entry:last-child{ border-bottom:0px;; }
.cf_directions_panel .cf_directions_panel__content{ padding:15px 0; }
.cf_directions_panel .cf_directions_panel__icon_container{ display:none; }
.cf_directions_panel .cf_directions_panel__summary_details{ display:flex; height:50px; }
.cf_directions_panel .cf_directions_panel__summary_details .cf_directions_panel__summary_text_container { align-self:center; }
.cf_directions_panel .cf_directions_panel__action_btn_container{ padding:0 15px; }

@media (max-width: 676px) {
    .cf_info_modal .cf_info_modal__modal { width:500px; max-width:100%; position:absolute; bottom:0; border-radius:16px 16px 0 0; padding:20px; }
	.cf_info_modal__close{ display:none; }
}
