/* Wrapper and variables */
.asm-wrapper-29385848 {
	--asm-speed: 400ms;
}

/* Trigger Button */
.asm-trigger-29385848 {
	position: fixed;
	z-index: 10001; /* Above panel and overlay */
	border: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	transition: all 0.3s ease;
}

.asm-pos-top-right .asm-trigger-29385848 {
	top: 20px;
	right: 20px;
}

.asm-pos-top-left .asm-trigger-29385848 {
	top: 20px;
	left: 20px;
}

.asm-icon-inner-29385848 {
	width: 50%;
	height: 50%;
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

/* Hamburger Lines */
.asm-line-top-29385848,
.asm-line-mid-29385848,
.asm-line-bot-29385848 {
	display: block;
	width: 100%;
	height: 2px;
	background-color: var(--icon-color, #fff);
	transition: all 0.3s ease;
	transform-origin: center;
}

/* Morph Style Open State */
.asm-wrapper-29385848.is-open.asm-style-morph .asm-line-top-29385848 {
	transform: translateY(270%) rotate(45deg);
}
.asm-wrapper-29385848.is-open.asm-style-morph .asm-line-mid-29385848 {
	opacity: 0;
}
.asm-wrapper-29385848.is-open.asm-style-morph .asm-line-bot-29385848 {
	transform: translateY(-270%) rotate(-45deg);
}

/* Dots Style */
.asm-style-dots .asm-icon-inner-29385848 {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-template-rows: repeat(3, 1fr);
	gap: 2px;
}
.asm-dot-29385848 {
	background-color: var(--icon-color, #fff);
	border-radius: 50%;
	width: 100%;
	height: 100%;
	transition: all 0.3s ease;
}
.asm-wrapper-29385848.is-open.asm-style-dots .asm-dot-29385848 {
	transform: scale(0.5);
	opacity: 0.5;
}

/* Overlay */
.asm-overlay-29385848 {
	position: fixed;
	inset: 0;
	z-index: 9999;
	opacity: 0;
	visibility: hidden;
	transition: opacity var(--asm-speed) ease, visibility var(--asm-speed) ease;
}

.asm-wrapper-29385848.is-open .asm-overlay-29385848 {
	opacity: 1;
	visibility: visible;
}

/* Sidebar Panel */
.asm-panel-29385848 {
	position: fixed;
	top: 0;
	bottom: 0;
	z-index: 10000;
	transition: transform var(--asm-speed) ease;
	display: flex;
	flex-direction: column;
	overflow-y: auto;
}

.asm-dir-right .asm-panel-29385848 {
	right: 0;
	transform: translateX(100%);
}

.asm-dir-left .asm-panel-29385848 {
	left: 0;
	transform: translateX(-100%);
}

.asm-wrapper-29385848.is-open .asm-panel-29385848 {
	transform: translateX(0);
}

.asm-panel-inner-29385848 {
	padding: 100px 40px 40px;
	display: flex;
	flex-direction: column;
	height: 100%;
}

/* Menu */
.asm-nav-29385848 {
	flex-grow: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.asm-nav-29385848 ul {
	list-style: none;
	padding: 0;
	margin: 0;
	counter-reset: asm-counter;
}

.asm-nav-29385848 ul li {
	margin: 0;
	padding: 0;
	overflow: hidden;
}

.asm-nav-29385848 ul li a {
	display: inline-block;
	position: relative;
	text-decoration: none;
	opacity: 0;
	transform: translateY(20px);
	transition: transform var(--asm-speed) ease, opacity var(--asm-speed) ease, color 0.3s ease;
}

/* Animated Underline */
.asm-nav-29385848 ul li a::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 0;
	transition: width 0.3s ease;
}

.asm-nav-29385848 ul li a:hover::after,
.asm-nav-29385848 ul li.current-menu-item > a::after {
	width: 100%;
}

/* Item Numbers */
.asm-nav-29385848 ul li a::before {
	counter-increment: asm-counter;
	content: counter(asm-counter, decimal-leading-zero);
	position: absolute;
	top: 0;
	left: -25px;
	line-height: 1;
}

/* Open Animations for Menu Items */
.asm-wrapper-29385848.is-open .asm-nav-29385848 ul li a {
	opacity: 1;
	transform: translateY(0);
	transition-delay: var(--delay, 0ms);
}

/* Contact Block */
.asm-contact-29385848 {
	margin-top: 40px;
	padding-top: 30px;
	border-top-style: solid;
	opacity: 0;
	transform: translateY(20px);
	transition: transform var(--asm-speed) ease, opacity var(--asm-speed) ease;
	transition-delay: calc(var(--asm-speed) + 100ms);
}

.asm-wrapper-29385848.is-open .asm-contact-29385848 {
	opacity: 1;
	transform: translateY(0);
}

.asm-citem-29385848 {
	display: flex;
	align-items: center;
	margin-bottom: 15px;
}

.asm-citem-29385848 i {
	margin-right: 15px;
	width: 20px;
	text-align: center;
}
