/* =========================
   CT MOBILE MENU
   ========================= */

.ctmm-wrap {
	position: relative !important;
	display: inline-block !important;
	line-height: 0 !important;
}

/* =========================
   HAMBURGER
   ========================= */

.ctmm-wrap .ct-humber {
	--ctmm-size: 38px !important;
	width: var(--ctmm-size) !important;
	height: var(--ctmm-size) !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: space-between !important;
	align-items: stretch !important;
	cursor: pointer !important;
	position: relative !important;
	z-index: 9999 !important;
	background: linear-gradient(130deg, #e35ac0 21%, #c1cbff 58%, #6fb4cc 100%);
	border: 0 !important;
	border-radius: 50% !important;
	padding: 11px !important;
	margin: 0 !important;
	box-shadow: none !important;
	appearance: none !important;
	-webkit-appearance: none !important;
}

.ctmm-wrap .ct-humber:focus-visible {
	outline: 2px solid currentColor !important;
	outline-offset: 3px !important;
}

.ctmm-wrap .ct-humber span {
	width: 100% !important;
	height: 2px !important;
	background: #000 !important;
	display: block !important;
	border-radius: 100px !important;
	transform-origin: center !important;
	pointer-events: none !important;
	margin: 0 !important;
}

/* =========================
   PANEL
   ========================= */

.ctmm-wrap .mobilemneu {
	position: fixed !important;
	top: 0 !important;
	right: 0 !important;
	width: min(450px, 100%);
	height: 100vh !important;
	height: 100dvh !important;
	background: #fff !important;
	z-index: 9999999999999 !important;
	padding: 0 !important;
	margin: 0 !important;
	display: block !important;
	overflow: hidden;
	line-height: normal !important;
	transform: translateX(100%);
	visibility: hidden;
	box-shadow: 0 0 60px rgba(0, 0, 0, .08) !important;
}

.ctmm-wrap .mobilemneu .close {
	position: absolute !important;
	top: 30px !important;
	right: 30px !important;
	font-size: 18px !important;
	line-height: 1.6 !important;
	cursor: pointer !important;
	color: #000 !important;
	z-index: 10 !important;
	background: transparent !important;
	border: 1px solid #000 !important;
	border-radius: 0 !important;
	padding: 0 14px !important;
	margin: 0 !important;
	appearance: none !important;
	-webkit-appearance: none !important;
}

/* =========================
   SCREENS
   ========================= */

.ctmm-wrap .menu-screen {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 100% !important;
	background: #fff !important;
	padding: 40px !important;
	margin: 0 !important;
	overflow-y: auto !important;
	-webkit-overflow-scrolling: touch !important;
}

.ctmm-wrap .services-screen {
	transform: translateX(100%) !important;
	padding-right: 30px !important;
}

.ctmm-wrap .mobilemneu .logo {
	display: inline-block !important;
	margin-bottom: 80px !important;
	border: 0 !important;
	box-shadow: none !important;
}

.ctmm-wrap .mobilemneu .logo img {
	width: 180px !important;
	height: auto !important;
	max-width: 100% !important;
	display: block !important;
	margin: 0 !important;
}

/* =========================
   LINKS
   ========================= */

.ctmm-wrap .mobilemneu ul {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

.ctmm-wrap .mobilemneu ul li {
	margin: 0 0 25px 0 !important;
	padding: 0 !important;
	list-style: none !important;
	position: relative !important;
	line-height: 1.2 !important;
}

.ctmm-wrap .mobilemneu ul li:before {
	content: none !important;
}

.ctmm-wrap .mobilemneu ul li a {
	text-decoration: none !important;
	color: #000 !important;
	font-size: 32px !important;
	font-weight: 400 !important;
	line-height: 1.2 !important;
	display: inline-block !important;
	transition: padding-left .3s ease, color .3s ease !important;
	background: none !important;
	border: 0 !important;
	padding: 0 !important;
}

.ctmm-wrap .mobilemneu ul li a:hover,
.ctmm-wrap .mobilemneu ul li a:focus-visible {
	padding-left: 10px !important;
}

.ctmm-wrap .mobilemneu ul li a.open-services {
	display: flex !important;
	align-items: center !important;
	gap: 6px !important;
	cursor: pointer !important;
}

/* =========================
   BACK BUTTON + ARROWS
   ========================= */

.ctmm-wrap .back-services {
	display: flex !important;
	align-items: center !important;
	gap: 6px !important;
	font-size: 22px !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	margin: 0 0 40px 0 !important;
	padding: 0 !important;
	cursor: pointer !important;
	color: #000 !important;
	user-select: none !important;
}

.ctmm-wrap .ctmm-arrow {
	width: 20px !important;
	height: 20px !important;
	flex: 0 0 auto !important;
	display: block !important;
	margin: 0 !important;
}

.ctmm-wrap .ctmm-arrow-back {
	transform: rotate(180deg) !important;
}

/* =========================
   NO-GSAP FALLBACK
   ========================= */

.ctmm-wrap.ctmm-css .mobilemneu {
	transition: transform .6s cubic-bezier(.76, 0, .24, 1), visibility .6s !important;
}

.ctmm-wrap.ctmm-css .ct-humber span {
	transition: transform .4s ease, opacity .3s ease !important;
}

.ctmm-wrap.ctmm-css .menu-screen {
	transition: transform .5s cubic-bezier(.65, 0, .35, 1) !important;
}

.ctmm-wrap.ctmm-css.is-open .mobilemneu {
	transform: translateX(0) !important;
	visibility: visible !important;
}

.ctmm-wrap.ctmm-css.is-open .ct-humber span:nth-child(1) {
	transform: translateY(var(--ctmm-shift, 7px)) rotate(45deg) !important;
}

.ctmm-wrap.ctmm-css.is-open .ct-humber span:nth-child(2) {
	opacity: 0 !important;
}

.ctmm-wrap.ctmm-css.is-open .ct-humber span:nth-child(3) {
	transform: translateY(calc(var(--ctmm-shift, 7px) * -1)) rotate(-45deg) !important;
}

.ctmm-wrap.ctmm-css .menu-screen.is-active {
	transform: translateX(0) !important;
}

.ctmm-wrap.ctmm-css .menu-screen.is-past {
	transform: translateX(-100%) !important;
}

body.ctmm-locked {
	overflow: hidden !important;
}

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

@media (max-width: 767px) {

	.ctmm-wrap .menu-screen {
		padding: 30px !important;
	}

	.ctmm-wrap .mobilemneu .logo {
		margin-bottom: 60px !important;
	}

	.ctmm-wrap .mobilemneu .logo img {
		width: 120px !important;
	}

	.ctmm-wrap .mobilemneu ul li a {
		font-size: 26px !important;
	}

	.ctmm-wrap .mobilemneu .close {
		top: 22px !important;
		right: 22px !important;
	}
}

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

	.ctmm-wrap .mobilemneu,
	.ctmm-wrap .menu-screen,
	.ctmm-wrap .mobilemneu ul li a {
		transition-duration: .01ms !important;
	}
}
