/**
 * @package     Joomla.Module
 * @subpackage  Site.mod_codedesign_responsive_locations
 * @version     Joomla! 6.0+ / PHP 8.3+
 * @date        2026-08
 * @file        /modules/mod_codedesign_responsive_locations/assets/css/locations_hotel_details_mega_menu.css
 *
 * @copyright   Copyright (C) 2006 - 2026 Open Source Matters, Inc. All rights reserved.
 *              Copyright (C) 2026 Milos Mandic | codeDESIGN
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 * @author      Milos Mandic <milos.mandic@filterverlag.de> - https://www.filterverlag.de
 */

/* codeDESIGN - locations_hotel_details_mega_menu.css */
@charset "utf-8";

/* LOCATIONS HOTEL DETAILS MEGA MENU */
div.locations_hotel_details_mega_menu div[class^="col-"],
div.locations_hotel_details_mega_menu div[class*=" col-"],
div.locations_hotel_details_mega_menu div.container {
	padding-right: 0px;
	padding-left: 0px;
}
div.locations_hotel_details_mega_menu {
	margin: 18px 0px 28px 0px;
	padding: 0px 0px 0px 0px;
}
div.website_top_hotels_mega_menu {
	position: absolute;
	right: 0px;
	left: 0px;
	z-index: 9999;
	display: none;
	-moz-transform: translateY(1px);
	-webkit-transform: translateY(1px);
	-o-transform: translateY(1px);
	-ms-transform: translateY(1px);
	transform: translateY(1px);
}
div.website_top_hotels_mega_menu.website_top_hotels_mega_menu_active {
	display: block;
}
div.website_top_hotels_mega_menu div.locations_hotel_details_mega_menu {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
}
@media only screen and (min-width: 1200px) {
	body.locations_hotel_details_mega_menu_enabled li.locations_hotel_details_mega_menu_navigation_item > div.dj-subwrap {
		display: none !important;
	}
}
div.locations_hotel_details_mega_menu_menu {
	background: #ffffff;
	height: 550px;
	min-height: 550px;
	margin: 0px 0px 0px 0px;
	padding: 28px 28px 28px 28px;
	border: 0px;
	position: relative;
	display: grid;
	grid-template-columns: minmax(0px, 2fr) minmax(280px, 1fr);
	column-gap: 28px;
	align-items: stretch;
	transition-property: all;
	transition-duration: 0.33s;
	transition-timing-function: cubic-bezier(0.4, 0.6, 0.4, 1.0);
	transition-delay: 0s;
	transition-behavior: normal;
	-moz-box-shadow: 3px 5px 30px 0px rgba(36, 36, 36, 0.15);
	-webkit-box-shadow: 3px 5px 30px 0px rgba(36, 36, 36, 0.15);
	box-shadow: 3px 5px 30px 0px rgba(36, 36, 36, 0.15);
}
body.tpl_design_elements_rounded div.locations_hotel_details_mega_menu_menu {
	-webkit-border-radius: var(--tpl_body_class_border_radius);
	-moz-border-radius: var(--tpl_body_class_border_radius);
	border-radius: var(--tpl_body_class_border_radius);
}
div.locations_hotel_details_mega_menu_menu:before {
	content: "";
	width: 0px;
	height: 0px;
	border-top: 6px solid transparent;
	border-right: 6px solid transparent;
	border-bottom: 6px solid var(--ci_color_accent_0);
	border-left: 6px solid transparent;
	position: absolute;
	top: -15px;
	left: var(--locations-hotel-details-mega-menu-arrow-left, 50%);
}
body.website_01 div.locations_hotel_details_mega_menu_menu:before {
	border-bottom: 8px solid var(--ci_color_accent_0);
}
body.website_02 div.locations_hotel_details_mega_menu_menu:before {
	border-bottom: 8px solid var(--ci_color_accent_2_text);
}
div.locations_hotel_details_mega_menu_columns {
	display: grid;
	grid-template-columns: repeat(2, minmax(0px, 1fr));
	column-gap: 26px;
}
div.locations_hotel_details_mega_menu_column {
	min-width: 0px;
	margin: 0px 0px 0px 0px;
	padding: 0px 26px 0px 0px;
	border-right: 1px solid rgba(36, 36, 36, 0.12);
	display: grid;
	grid-template-rows: 64px minmax(0px, 1fr) auto;
}
div.locations_hotel_details_mega_menu_column:last-child {
	border-right: 0px;
}



/* LOCATIONS HOTEL DETAILS MEGA MENU - HOTEL BLOCKS */
div.locations_hotel_details_mega_menu a.locations_hotel_details_mega_menu_hotel_link {
	margin: 0px 0px 16px 0px;
	padding: 0px 0px 0px 0px;
	display: grid;
	grid-template-columns: 48px minmax(0px, 1fr);
	column-gap: 14px;
	align-items: start;
	text-decoration: none;
	color: var(--ci_color_black);
}
div.locations_hotel_details_mega_menu span.locations_hotel_details_mega_menu_hotel_logo {
	width: 48px;
	height: 48px;
	display: block;
}
div.locations_hotel_details_mega_menu span.locations_hotel_details_mega_menu_hotel_logo img {
	width: 48px;
	height: 48px;
	display: block;
	object-fit: contain;
}
div.locations_hotel_details_mega_menu span.locations_hotel_details_mega_menu_hotel_title {
	margin: 0px 0px 4px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	font-family: var(--font_family_headline);
	font-size: 16px;
	line-height: 20px;
	font-weight: 700;
	color: var(--ci_color_black);
}
div.locations_hotel_details_mega_menu span.locations_hotel_details_mega_menu_hotel_claim {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	font-size: 12px;
	line-height: 16px;
	font-weight: 400;
	color: var(--ci_color_text);
}



/* LOCATIONS HOTEL DETAILS MEGA MENU - MENU LIST */
div.locations_hotel_details_mega_menu ul.locations_hotel_details_mega_menu_list {
	margin: 0px 0px 22px 0px;
	padding: 0px 0px 0px 0px;
	list-style: none;
}
div.locations_hotel_details_mega_menu li.locations_hotel_details_mega_menu_list_item {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	border-bottom: 1px solid rgba(36, 36, 36, 0.10);
}
div.locations_hotel_details_mega_menu li.locations_hotel_details_mega_menu_list_item:last-child {
	border-bottom: 0px;
}
div.locations_hotel_details_mega_menu li.locations_hotel_details_mega_menu_list_item a {
	margin: 0px 0px 0px 0px;
	padding: 9px 10px 9px 0px;
	display: grid;
	grid-template-columns: 18px minmax(0px, 1fr);
	column-gap: 8px;
	align-items: center;
	text-decoration: none;
	color: var(--ci_color_black);
	transition: color 0.24s ease-in-out, background 0.24s ease-in-out;
}
div.locations_hotel_details_mega_menu li.locations_hotel_details_mega_menu_list_item a:hover,
div.locations_hotel_details_mega_menu li.locations_hotel_details_mega_menu_list_item a:focus,
div.locations_hotel_details_mega_menu li.locations_hotel_details_mega_menu_list_item a.locations_hotel_details_mega_menu_link_active {
	background: rgba(36, 36, 36, 0.06);
	padding-right: 10px;
	padding-left: 10px;
	color: var(--ci_color_black);
}
div.locations_hotel_details_mega_menu span.locations_hotel_details_mega_menu_list_icon {
	width: 18px;
	display: block;
	font-size: 13px;
	line-height: 18px;
	text-align: center;
}
div.locations_hotel_details_mega_menu span.locations_hotel_details_mega_menu_list_title {
	display: block;
	font-size: 13px;
	line-height: 18px;
	font-weight: 400;
}
div.locations_hotel_details_mega_menu a.locations_hotel_details_mega_menu_button {
	align-self: flex-start;
}



/* LOCATIONS HOTEL DETAILS MEGA MENU - PREVIEW */
div.locations_hotel_details_mega_menu_preview {
	background: var(--ci_color_light_brown);
	min-height: 100%;
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	position: relative;
	overflow: hidden;
}
div.locations_hotel_details_mega_menu_preview_item {
	height: 100%;
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: none;
}
div.locations_hotel_details_mega_menu_preview_item.locations_hotel_details_mega_menu_preview_item_active {
	overflow: hidden;
	display: flex;
	flex-direction: column;
}
div.locations_hotel_details_mega_menu_preview_default,
div.locations_hotel_details_mega_menu_preview_content {
	margin: 0px 0px 0px 0px;
	padding: 14px 22px 14px 22px;
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
}
div.locations_hotel_details_mega_menu a.locations_hotel_details_mega_menu_preview_image {
	height: 126px;
	min-height: 126px;
	max-height: 126px;
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	position: relative;
	overflow: hidden;
	display: block;
}
div.locations_hotel_details_mega_menu a.locations_hotel_details_mega_menu_preview_image picture,
div.locations_hotel_details_mega_menu a.locations_hotel_details_mega_menu_preview_image img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
}
div.locations_hotel_details_mega_menu a.locations_hotel_details_mega_menu_preview_image img {
	transition: transform 0.5s ease 0s;
}
div.locations_hotel_details_mega_menu a.locations_hotel_details_mega_menu_preview_image:hover img {
	transform: scale(1.02);
}
span.locations_hotel_details_mega_menu_preview_image_overlay {
	background: rgba(255, 255, 255, 0.4);
	position: absolute;
	top: 0px;
	right: 0px;
	bottom: 0px;
	left: 0px;
	z-index: 2;
	display: block;
	opacity: 0.0;
	-moz-transition: all 0.5s ease 0s;
	-webkit-transition: all 0.5s ease 0s;
	-o-transition: all 0.5s ease 0s;
	transition: all 0.5s ease 0s;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
	filter: alpha(opacity=0);
	-moz-opacity: 0.0;
	-khtml-opacity: 0.0;
}
span.locations_hotel_details_mega_menu_preview_image_overlay_icon {
	background: rgba(255, 255, 255, 0.0);
	width: 50px;
	height: 50px;
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	border: 4px solid rgba(255, 255, 255, 0.6);
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	border-radius: 50%;
	position: absolute;
	top: calc(50% - 25px);
	left: calc(50% - 25px);
	z-index: 3;
	opacity: 0.0;
	-moz-transition: all 0.5s ease 0s;
	-webkit-transition: all 0.5s ease 0s;
	-o-transition: all 0.5s ease 0s;
	transition: all 0.5s ease 0s;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
	filter: alpha(opacity=0);
	-moz-opacity: 0.0;
	-khtml-opacity: 0.0;
}
span.locations_hotel_details_mega_menu_preview_image_overlay_icon:before,
span.locations_hotel_details_mega_menu_preview_image_overlay_icon:after {
	content: "";
	width: 100%;
	height: 100%;
	border: 1px solid #ffffff;
	-webkit-border-radius: 100%;
	-moz-border-radius: 100%;
	border-radius: 100%;
	position: absolute;
	top: 0px;
	left: 0px;
	z-index: -1;
	display: block;
	animation-iteration-count: infinite;
	animation-duration: 3s;
}
span.locations_hotel_details_mega_menu_preview_image_overlay_icon:before {
	animation-name: animation_signal_1;
}
span.locations_hotel_details_mega_menu_preview_image_overlay_icon:after {
	animation-name: animation_signal_2;
}
span.locations_hotel_details_mega_menu_preview_image_overlay_icon i {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 4;
	font-size: 22px;
	text-align: center;
	color: var(--ci_color_white);
	-moz-transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-o-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
div.locations_hotel_details_mega_menu a.locations_hotel_details_mega_menu_preview_image:hover span.locations_hotel_details_mega_menu_preview_image_overlay,
div.locations_hotel_details_mega_menu a.locations_hotel_details_mega_menu_preview_image:hover span.locations_hotel_details_mega_menu_preview_image_overlay_icon {
	opacity: 1.0;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
	filter: alpha(opacity=100);
	-moz-opacity: 1.0;
	-khtml-opacity: 1.0;
}
div.locations_hotel_details_mega_menu_preview_title {
	margin: 0px 0px 5px 0px;
	padding: 0px 0px 0px 0px;
	font-family: var(--font_family_headline);
	font-size: 18px;
	line-height: 23px;
	font-weight: 700;
	color: var(--ci_color_black);
}
div.locations_hotel_details_mega_menu_preview_claim {
	margin: 0px 0px 7px 0px;
	padding: 0px 0px 0px 0px;
	font-size: 13px;
	line-height: 18px;
	font-weight: 400;
	color: var(--ci_color_text);
}
div.locations_hotel_details_mega_menu_preview_text {
	margin: 0px 0px 18px 0px;
	padding: 0px 0px 0px 0px;
	font-size: 13px;
	line-height: 20px;
	color: var(--ci_color_text);
}
div.locations_hotel_details_mega_menu_facts {
	margin: 8px 0px 12px 0px;
	padding: 3px 0px 3px 0px;
	display: block;
}
div.locations_hotel_details_mega_menu_fact {
	min-width: 0px;
	margin: 0px 0px 0px 0px;
	padding: 4px 0px 4px 0px;
	border-right: 0px;
	border-bottom: 1px solid rgba(36, 36, 36, 0.10);
	display: grid;
	grid-template-columns: 28px minmax(0px, 1fr);
	column-gap: 9px;
	align-items: center;
	text-align: left;
}
div.locations_hotel_details_mega_menu_fact:last-child {
	border-bottom: 0px;
}
div.locations_hotel_details_mega_menu_fact:last-of-type {
	border-bottom: 0px;
}
div.locations_hotel_details_mega_menu_fact_icon {
	width: 28px;
	margin: 0px 0px 0px 0px;
	display: block;
	font-size: 17px;
	line-height: 20px;
	text-align: center;
	color: var(--ci_color_black);
}
div.locations_hotel_details_mega_menu_fact_content {
	min-width: 0px;
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
}
div.locations_hotel_details_mega_menu_fact_value {
	margin: 0px 0px 0px 0px;
	display: block;
	font-size: 13px;
	line-height: 17px;
	font-weight: 700;
	color: var(--ci_color_black);
	overflow-wrap: normal;
	word-break: normal;
}
div.locations_hotel_details_mega_menu_fact_label {
	margin: 0px 0px 0px 0px;
	display: block;
	font-size: 10px;
	line-height: 13px;
	color: var(--ci_color_text);
	overflow-wrap: normal;
	word-break: normal;
}
div.locations_hotel_details_mega_menu_preview_icon_items {
	margin: 8px 0px 12px 0px;
	padding: 3px 0px 3px 0px;
	display: block;
}
div.locations_hotel_details_mega_menu_preview_icon_item {
	min-width: 0px;
	margin: 0px 0px 0px 0px;
	padding: 4px 0px 4px 0px;
	border-bottom: 1px solid rgba(36, 36, 36, 0.10);
	display: grid;
	grid-template-columns: 28px minmax(0px, 1fr);
	column-gap: 9px;
	align-items: center;
	text-align: left;
}
div.locations_hotel_details_mega_menu_preview_icon_item:last-child {
	border-bottom: 0px;
}
div.locations_hotel_details_mega_menu_preview_icon_item_icon {
	width: 28px;
	margin: 0px 0px 0px 0px;
	display: block;
	font-size: 18px;
	line-height: 20px;
	text-align: center;
	color: var(--ci_color_black);
}
div.locations_hotel_details_mega_menu_preview_icon_item_text {
	min-width: 0px;
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	font-size: 13px;
	line-height: 17px;
	font-weight: 700;
	color: var(--ci_color_black);
	overflow-wrap: normal;
	word-break: normal;
}
div.locations_hotel_details_mega_menu a.locations_hotel_details_mega_menu_preview_button {
	width: 100%;
	margin: auto 0px 0px 0px;
	display: block;
	text-align: center;
}



/* LOCATIONS HOTEL DETAILS MEGA MENU - RESPONSIVE */
@media only screen and (max-width: 1199px) {
	div.locations_hotel_details_mega_menu {
		display: none;
	}
}
