


/* =========================================================
   FLAMIGO / FLM RESPONSIVE MENU
   COMPLETE ISOLATED CSS
   =========================================================

   DESKTOP:
   1025px and above

   TABLET:
   768px - 1024px

   MOBILE:
   767px and below

   IMPORTANT:
   This CSS does NOT use .flamigo-nav.
   ========================================================= */


/* =========================================================
   GLOBAL RESET - ONLY INSIDE OUR MENU
   ========================================================= */

#flm-responsive-menu,
#flm-responsive-menu *,
#flm-responsive-menu *::before,
#flm-responsive-menu *::after {
	box-sizing: border-box;
}


/* Reset lists */

#flm-responsive-menu ul,
#flm-responsive-menu ol {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}


/* Reset list items */

#flm-responsive-menu li {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}


/* =========================================================
   DESKTOP
   1025px+
   ========================================================= */

@media screen and (min-width: 1025px) {


	/* -----------------------------------------------------
	   NAVIGATION
	   ----------------------------------------------------- */

	#flm-responsive-menu #flm-responsive-navigation {

		display: block !important;

		position: static !important;

		width: auto !important;
		max-width: none !important;

		height: auto !important;
		min-height: 0 !important;

		margin: 0 !important;
		padding: 0 !important;

		background: transparent !important;

		border: 0 !important;
		box-shadow: none !important;

		opacity: 1 !important;
		visibility: visible !important;

		transform: none !important;

		overflow: visible !important;

		pointer-events: auto !important;
	}


	/* -----------------------------------------------------
	   MAIN MENU
	   ----------------------------------------------------- */

	#flm-responsive-menu #flamigo-menu-list {

		display: flex !important;

		flex-direction: row !important;

		align-items: center !important;

		justify-content: flex-start !important;

		width: auto !important;
		max-width: none !important;

		margin: 0 !important;
		padding: 0 !important;

		list-style: none !important;
	}


	/* -----------------------------------------------------
	   MAIN MENU ITEM
	   ----------------------------------------------------- */

	#flm-responsive-menu #flamigo-menu-list > li {

		position: relative !important;

		display: flex !important;

		align-items: center !important;

		width: auto !important;

		margin: 0 !important;
		padding: 0 !important;

		list-style: none !important;
	}


	/* -----------------------------------------------------
	   MAIN MENU LINK
	   ----------------------------------------------------- */

	#flm-responsive-menu
	#flamigo-menu-list
	> li
	> a {

		display: inline-flex !important;

		align-items: center !important;

		width: auto !important;

		margin: 0 !important;

		padding: 15px 12px !important;

		background: transparent !important;

		border: 0 !important;

		border-radius: 0 !important;

		box-shadow: none !important;

		text-decoration: none !important;

		white-space: nowrap !important;

		cursor: pointer !important;
	}


	/* -----------------------------------------------------
	   DESKTOP SUBMENU
	   ----------------------------------------------------- */

	#flm-responsive-menu
	#flamigo-menu-list
	.sub-menu {

		position: absolute !important;

		top: 100% !important;
		left: 0 !important;

		display: block !important;

		width: max-content !important;

		min-width: 220px !important;

		max-width: 350px !important;

		margin: 0 !important;
		padding: 8px 0 !important;

		background: #ffffff !important;

		border: 0 !important;

		border-radius: 0 !important;

		box-shadow: 0 8px 25px rgba(0, 0, 0, 0.12) !important;

		opacity: 0 !important;

		visibility: hidden !important;

		transform: translateY(8px) !important;

		pointer-events: none !important;

		z-index: 999999 !important;

		transition:
			opacity 0.2s ease,
			transform 0.2s ease,
			visibility 0.2s ease !important;
	}


	/* -----------------------------------------------------
	   DESKTOP SUBMENU - HOVER
	   ----------------------------------------------------- */

	#flm-responsive-menu
	#flamigo-menu-list
	li.menu-item-has-children:hover
	> .sub-menu {

		opacity: 1 !important;

		visibility: visible !important;

		transform: translateY(0) !important;

		pointer-events: auto !important;
	}


	/* -----------------------------------------------------
	   DESKTOP SUBMENU - CLICK
	   ----------------------------------------------------- */

	#flm-responsive-menu
	#flamigo-menu-list
	li.flamigo-submenu-open
	> .sub-menu {

		opacity: 1 !important;

		visibility: visible !important;

		transform: translateY(0) !important;

		pointer-events: auto !important;
	}


	/* -----------------------------------------------------
	   SUBMENU ITEMS
	   ----------------------------------------------------- */

	#flm-responsive-menu
	#flamigo-menu-list
	.sub-menu
	> li {

		position: relative !important;

		display: block !important;

		width: 100% !important;

		margin: 0 !important;
		padding: 0 !important;
	}


	/* -----------------------------------------------------
	   SUBMENU LINKS
	   ----------------------------------------------------- */

	#flm-responsive-menu
	#flamigo-menu-list
	.sub-menu
	> li
	> a {

		display: block !important;

		width: 100% !important;

		margin: 0 !important;

		padding: 11px 18px !important;

		background: transparent !important;

		border: 0 !important;

		border-radius: 0 !important;

		box-shadow: none !important;

		text-decoration: none !important;

		white-space: nowrap !important;
	}


	/* -----------------------------------------------------
	   DESKTOP NESTED SUBMENU
	   ----------------------------------------------------- */

	#flm-responsive-menu
	#flamigo-menu-list
	.sub-menu
	.sub-menu {

		top: 0 !important;

		left: 100% !important;

		margin: 0 !important;

		transform: translateX(8px) !important;
	}


	#flm-responsive-menu
	#flamigo-menu-list
	.sub-menu
	li.menu-item-has-children:hover
	> .sub-menu {

		transform: translateX(0) !important;

		opacity: 1 !important;

		visibility: visible !important;

		pointer-events: auto !important;
	}


	#flm-responsive-menu
	#flamigo-menu-list
	.sub-menu
	li.flamigo-submenu-open
	> .sub-menu {

		transform: translateX(0) !important;
	}


	/* -----------------------------------------------------
	   DESKTOP SUBMENU TOGGLE
	   ----------------------------------------------------- */

	#flm-responsive-menu
	.flamigo-submenu-toggle {

		display: inline-flex !important;

		align-items: center !important;

		justify-content: center !important;

		flex: 0 0 auto !important;

		width: 28px !important;

		height: 28px !important;

		margin: 0 5px 0 0 !important;

		padding: 0 !important;

		background: transparent !important;

		border: 0 !important;

		border-radius: 0 !important;

		box-shadow: none !important;

		color: inherit !important;

		font-size: 0 !important;

		line-height: 1 !important;

		cursor: pointer !important;

		appearance: none !important;
	}


	/* PLUS */

	#flm-responsive-menu
	.flamigo-submenu-toggle::before {

		content: "+" !important;

		display: block !important;

		margin: 0 !important;
		padding: 0 !important;

		background: transparent !important;

		border: 0 !important;

		font-size: 18px !important;

		font-weight: 400 !important;

		line-height: 1 !important;

		color: currentColor !important;
	}


	/* MINUS */

	#flm-responsive-menu
	li.flamigo-submenu-open
	> .flamigo-submenu-toggle::before {

		content: "−" !important;
	}


	/* -----------------------------------------------------
	   HAMBURGER HIDDEN ON DESKTOP
	   ----------------------------------------------------- */

	#flm-responsive-menu
	#flamigo-mobile-toggle {

		display: none !important;
	}

}


/* =========================================================
   TABLET + MOBILE
   1024px AND BELOW
   ========================================================= */

@media screen and (max-width: 1024px) {


	/* -----------------------------------------------------
	   HEADER
	   ----------------------------------------------------- */

	#flm-responsive-menu {

		position: relative !important;

		z-index: 999999 !important;
	}


	/* -----------------------------------------------------
	   HAMBURGER
	   ----------------------------------------------------- */

	#flm-responsive-menu
	#flamigo-mobile-toggle {

		display: flex !important;

		flex-direction: column !important;

		align-items: center !important;

		justify-content: center !important;

		gap: 5px !important;

		width: 44px !important;

		height: 44px !important;

		margin: 0 !important;

		padding: 0 !important;

		background: transparent !important;

		border: 0 !important;

		border-radius: 0 !important;

		box-shadow: none !important;

		color: inherit !important;

		cursor: pointer !important;

		appearance: none !important;

		position: relative !important;

		z-index: 1000002 !important;
	}


	/* -----------------------------------------------------
	   HAMBURGER LINES
	   ----------------------------------------------------- */

	#flm-responsive-menu
	#flamigo-mobile-toggle
	span {

		display: block !important;

		width: 25px !important;

		height: 2px !important;

		margin: 0 !important;
		padding: 0 !important;

		background: currentColor !important;

		border: 0 !important;

		border-radius: 2px !important;

		opacity: 1 !important;

		transform: none !important;

		transition:
			transform 0.25s ease,
			opacity 0.2s ease !important;
	}


	/* -----------------------------------------------------
	   HAMBURGER → X
	   ----------------------------------------------------- */

	#flm-responsive-menu.flamigo-menu-is-open
	#flamigo-mobile-toggle
	span:nth-child(1) {

		transform: translateY(7px) rotate(45deg) !important;
	}


	#flm-responsive-menu.flamigo-menu-is-open
	#flamigo-mobile-toggle
	span:nth-child(2) {

		opacity: 0 !important;
	}


	#flm-responsive-menu.flamigo-menu-is-open
	#flamigo-mobile-toggle
	span:nth-child(3) {

		transform: translateY(-7px) rotate(-45deg) !important;
	}


	/* -----------------------------------------------------
	   FULL SCREEN NAVIGATION
	   ----------------------------------------------------- */

	#flm-responsive-menu
	#flm-responsive-navigation {

		position: fixed !important;

		top: 0 !important;
		left: 0 !important;
		right: 0 !important;

		width: 100vw !important;
		max-width: 100vw !important;

		height: 100vh !important;
		height: 100dvh !important;

		margin: 0 !important;
		padding: 0 !important;

		background: #ffffff !important;

		border: 0 !important;

		box-shadow: none !important;

		opacity: 0 !important;

		visibility: hidden !important;

		transform: translateY(-10px) !important;

		overflow-x: hidden !important;

		overflow-y: auto !important;

		pointer-events: none !important;

		z-index: 1000000 !important;

		transition:
			opacity 0.25s ease,
			transform 0.25s ease,
			visibility 0.25s ease !important;

		-webkit-overflow-scrolling: touch !important;
	}


	/* -----------------------------------------------------
	   OPEN NAVIGATION
	   ----------------------------------------------------- */

	#flm-responsive-menu.flamigo-menu-is-open
	#flm-responsive-navigation {

		opacity: 1 !important;

		visibility: visible !important;

		transform: translateY(0) !important;

		pointer-events: auto !important;
	}


	/* -----------------------------------------------------
	   MOBILE MENU LIST
	   ----------------------------------------------------- */

	#flm-responsive-menu
	#flamigo-menu-list {

		display: block !important;

		width: 100% !important;

		min-height: 100% !important;

		margin: 0 !important;

		padding: 90px 0 30px !important;

		list-style: none !important;
	}


	/* -----------------------------------------------------
	   MOBILE MENU ITEM
	   ----------------------------------------------------- */

	#flm-responsive-menu
	#flamigo-menu-list
	> li {

		position: relative !important;

		display: block !important;

		width: 100% !important;

		margin: 0 !important;

		padding: 0 !important;

		border: 0 !important;
	}


	/* -----------------------------------------------------
	   MOBILE MAIN LINK
	   ----------------------------------------------------- */

	#flm-responsive-menu
	#flamigo-menu-list
	> li
	> a {

		display: block !important;

		width: 100% !important;

		min-height: 52px !important;

		margin: 0 !important;

		padding: 15px 60px 15px 20px !important;

		background: transparent !important;

		border: 0 !important;

		border-radius: 0 !important;

		box-shadow: none !important;

		text-decoration: none !important;

		white-space: normal !important;

		cursor: pointer !important;
        font-size:20px;
        font-weight:500;
	}


	/* -----------------------------------------------------
	   MOBILE SUBMENU
	   ----------------------------------------------------- */

	#flm-responsive-menu
	#flamigo-menu-list
	.sub-menu {

		position: static !important;

		display: none !important;

		width: 100% !important;

		min-width: 0 !important;

		max-width: none !important;

		margin: 0 !important;

		padding: 0 !important;

		background: #f7f7f7 !important;

		border: 0 !important;

		border-radius: 0 !important;

		box-shadow: none !important;

		opacity: 1 !important;

		visibility: visible !important;

		transform: none !important;

		pointer-events: auto !important;
                
	}


	/* OPEN SUBMENU */

	#flm-responsive-menu
	#flamigo-menu-list
	li.flamigo-submenu-open
	> .sub-menu {

		display: block !important;
	}


	/* -----------------------------------------------------
	   SUBMENU ITEM
	   ----------------------------------------------------- */

	#flm-responsive-menu
	#flamigo-menu-list
	.sub-menu
	> li {

		position: relative !important;

		display: block !important;

		width: 100% !important;

		margin: 0 !important;

		padding: 0 !important;
	}


	/* -----------------------------------------------------
	   SUBMENU LINK
	   ----------------------------------------------------- */

	#flm-responsive-menu
	#flamigo-menu-list
	.sub-menu
	> li
	> a {

		display: block !important;

		width: 100% !important;

		min-height: 48px !important;

		margin: 0 !important;

		padding: 13px 60px 13px 40px !important;

		background: transparent !important;

		border: 0 !important;

		border-radius: 0 !important;

		box-shadow: none !important;

		text-decoration: none !important;

		white-space: normal !important;
        font-size: 18px;
        font-weight: 500;
        letter-spacing: 0.5px;
        line-height: 28px;
	}


	/* -----------------------------------------------------
	   NESTED SUBMENU
	   ----------------------------------------------------- */

	#flm-responsive-menu
	#flamigo-menu-list
	.sub-menu
	.sub-menu {

		position: static !important;

		display: none !important;

		width: 100% !important;

		margin: 0 !important;

		padding: 0 !important;

		background: #eeeeee !important;

		border: 0 !important;

		box-shadow: none !important;

		transform: none !important;
	}


	#flm-responsive-menu
	#flamigo-menu-list
	.sub-menu
	li.flamigo-submenu-open
	> .sub-menu {

		display: block !important;
	}


	/* -----------------------------------------------------
	   MOBILE SUBMENU TOGGLE
	   ----------------------------------------------------- */

	#flm-responsive-menu
	.flamigo-submenu-toggle {

		position: absolute !important;

		top: 5px !important;

		right: 10px !important;

		display: flex !important;

		align-items: center !important;

		justify-content: center !important;

		width: 42px !important;

		height: 42px !important;

		margin: 0 !important;

		padding: 0 !important;

		background: transparent !important;

		border: 0 !important;

		border-radius: 0 !important;

		box-shadow: none !important;

		color: inherit !important;

		cursor: pointer !important;

		appearance: none !important;

		z-index: 20 !important;
	}


	/* PLUS */

	#flm-responsive-menu
	.flamigo-submenu-toggle::before {

		content: "+" !important;

		display: block !important;

		width: auto !important;

		height: auto !important;

		margin: 0 !important;

		padding: 0 !important;

		background: transparent !important;

		border: 0 !important;

		font-size: 25px !important;

		font-weight: 400 !important;

		line-height: 1 !important;

		color: currentColor !important;

		transform: none !important;
	}


	/* MINUS */

	#flm-responsive-menu
	li.flamigo-submenu-open
	> .flamigo-submenu-toggle::before {

		content: "−" !important;
	}


	/* -----------------------------------------------------
	   BOOK BUTTON
	   ----------------------------------------------------- */

	#flm-responsive-menu
	.flamigo-book-btn {

		position: relative !important;

		z-index: 1000001 !important;
	}

}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media screen and (max-width: 767px) {

	#flm-responsive-menu
	#flamigo-menu-list {

		padding-top: 80px !important;
	}

}


/* =========================================================
   BODY SCROLL LOCK
   ========================================================= */

html.flamigo-scroll-locked,
body.flamigo-scroll-locked {

	overflow: hidden !important;

	height: 100% !important;
}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

	#flm-responsive-menu *,
	#flm-responsive-menu *::before,
	#flm-responsive-menu *::after {

		transition: none !important;
	}

}