.elephanta-template-trigger {
	position: relative;
	display: inline-flex;
	max-width: 100%;
	vertical-align: middle;
}

.elephanta-template-trigger *,
.elephanta-template-trigger *::before,
.elephanta-template-trigger *::after {
	box-sizing: border-box;
}

.elephanta-template-trigger__control {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	max-width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
	color: inherit;
	font: inherit;
	text-align: inherit;
	text-decoration: none;
	cursor: pointer;
	transition-property: color, background-color, border-color, box-shadow, transform;
	transition-timing-function: ease;
}

.elementor-widget-elephanta-template-trigger.elephanta-trigger-display-full .elephanta-template-trigger,
.elementor-widget-elephanta-template-trigger.elephanta-trigger-display-full .elephanta-template-trigger__control {
	width: 100%;
}

.elephanta-template-trigger--link .elephanta-template-trigger__control {
	appearance: none;
}

.elephanta-template-trigger__icon {
	--elephanta-icon-x: 0px;
	--elephanta-icon-y: 0px;
	--elephanta-icon-rotation: 0deg;
	--elephanta-icon-active-rotation: var(--elephanta-icon-rotation);
	--elephanta-icon-scale: 1;
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	transform: translate(var(--elephanta-icon-x), var(--elephanta-icon-y)) rotate(var(--elephanta-icon-rotation)) scale(var(--elephanta-icon-scale));
	transition-property: color, background-color, border-color, box-shadow, transform;
	transition-timing-function: ease;
}

.elephanta-template-trigger.is-open .elephanta-template-trigger__icon {
	transform: translate(var(--elephanta-icon-x), var(--elephanta-icon-y)) rotate(var(--elephanta-icon-active-rotation)) scale(var(--elephanta-icon-scale));
}

.elephanta-template-trigger__icon:empty {
	display: none;
}

.elephanta-template-trigger__icon svg {
	width: 1em;
	height: 1em;
	fill: currentColor;
}

.elephanta-template-trigger__panel {
	position: absolute;
	z-index: var(--elephanta-trigger-panel-z, 100000);
	top: calc(100% + var(--elephanta-trigger-panel-offset, 8px));
	left: 50%;
	display: block;
	visibility: hidden;
	width: min(var(--elephanta-trigger-panel-width, 720px), calc(100vw - var(--elephanta-trigger-panel-gutter, 8px) - var(--elephanta-trigger-panel-gutter, 8px)));
	min-width: min(var(--elephanta-trigger-panel-min-width, 0px), calc(100vw - var(--elephanta-trigger-panel-gutter, 8px) - var(--elephanta-trigger-panel-gutter, 8px)));
	max-width: min(var(--elephanta-trigger-panel-max-width, calc(100vw - 16px)), calc(100vw - var(--elephanta-trigger-panel-gutter, 8px) - var(--elephanta-trigger-panel-gutter, 8px)));
	max-height: min(var(--elephanta-trigger-panel-max-height, 90vh), calc(100vh - 24px));
	max-height: min(var(--elephanta-trigger-panel-max-height, 90vh), calc(100dvh - 24px));
	margin: 0;
	padding: 0;
	overflow: auto;
	opacity: 0;
	pointer-events: none;
	transform: translate(-50%, var(--elephanta-trigger-panel-motion, 8px));
	transition: opacity var(--elephanta-trigger-panel-duration, .18s) var(--elephanta-trigger-panel-easing, ease), visibility var(--elephanta-trigger-panel-duration, .18s) var(--elephanta-trigger-panel-easing, ease), transform var(--elephanta-trigger-panel-duration, .18s) var(--elephanta-trigger-panel-easing, ease);
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
}

.elephanta-template-trigger__panel.is-portaled {
	transform: translateY(var(--elephanta-trigger-panel-motion, 8px));
}

.elephanta-template-trigger__panel.is-open {
	visibility: visible;
	opacity: 1;
	pointer-events: auto;
	transform: translate(-50%, 0);
}

.elephanta-template-trigger__panel.is-portaled.is-open {
	transform: translateY(0);
}

.elephanta-trigger-animation-scale .elephanta-template-trigger__panel {
	transform: translate(-50%, 0) scale(.96);
	transform-origin: top center;
}

.elephanta-trigger-animation-scale .elephanta-template-trigger__panel.is-portaled {
	transform: scale(.96);
}

.elephanta-trigger-animation-scale .elephanta-template-trigger__panel.is-open {
	transform: translate(-50%, 0) scale(1);
}

.elephanta-trigger-animation-scale .elephanta-template-trigger__panel.is-portaled.is-open {
	transform: scale(1);
}

.elephanta-trigger-animation-fade .elephanta-template-trigger__panel {
	transform: translate(-50%, 0);
}

.elephanta-trigger-animation-fade .elephanta-template-trigger__panel.is-portaled,
.elephanta-trigger-animation-fade .elephanta-template-trigger__panel.is-portaled.is-open {
	transform: none;
}

.elephanta-trigger-animation-none .elephanta-template-trigger__panel {
	transition: none;
}

.elephanta-template-trigger__panel-inner {
	width: 100%;
	min-width: 0;
}

.elephanta-template-trigger--source-external {
	position: absolute !important;
	display: block !important;
	width: 0 !important;
	height: 0 !important;
	min-width: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

.elephanta-template-trigger--source-external > .elephanta-template-trigger__control {
	display: none !important;
}

.elementor-widget-elephanta-template-trigger.elephanta-template-trigger-external-host {
	position: absolute !important;
	z-index: auto !important;
	width: 0 !important;
	height: 0 !important;
	min-width: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	pointer-events: none !important;
}

.elephanta-template-trigger-portal {
	position: fixed !important;
	z-index: var(--elephanta-trigger-panel-z, 100000);
	inset: 0 auto auto 0 !important;
	width: 0 !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: visible !important;
	pointer-events: none !important;
}

.elephanta-template-trigger-portal__page,
.elephanta-template-trigger-portal__widget,
.elephanta-template-trigger-portal__container,
.elephanta-template-trigger-portal__state {
	position: static !important;
	width: 0 !important;
	height: 0 !important;
	min-width: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	transform: none !important;
	filter: none !important;
	perspective: none !important;
	contain: none !important;
	overflow: visible !important;
	pointer-events: none !important;
}

.elephanta-template-trigger-portal .elephanta-template-trigger__panel {
	pointer-events: none;
}

.elephanta-template-trigger-portal .elephanta-template-trigger__panel.is-open {
	pointer-events: auto;
}

.elephanta-template-trigger.is-responsive {
	display: flex;
	width: 100%;
}

.elephanta-template-trigger.is-responsive > .elephanta-template-trigger__control {
	width: 100%;
}

.elephanta-template-trigger.is-responsive > .elephanta-template-trigger__panel {
	position: static !important;
	inset: auto !important;
	display: none;
	visibility: visible;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	max-height: none;
	margin-top: var(--elephanta-trigger-panel-offset, 8px);
	overflow-x: clip !important;
	overflow-y: visible;
	opacity: 1;
	pointer-events: auto;
	transform: none !important;
	transition: none;
}

.elephanta-template-trigger.is-responsive > .elephanta-template-trigger__panel > .elephanta-template-trigger__panel-inner,
.elephanta-template-trigger.is-responsive > .elephanta-template-trigger__panel .elephanta-template-trigger__panel-inner > .elementor,
.elephanta-template-trigger.is-responsive > .elephanta-template-trigger__panel .elephanta-template-trigger__panel-inner > .elementor > .e-con,
.elephanta-template-trigger.is-responsive > .elephanta-template-trigger__panel .elephanta-template-trigger__panel-inner > .elementor > .elementor-element,
.elephanta-template-trigger.is-responsive > .elephanta-template-trigger__panel .elementor-section-wrap > .elementor-section {
	position: relative !important;
	inset: auto !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	box-sizing: border-box;
}

.elephanta-template-trigger.is-responsive > .elephanta-template-trigger__panel .elementor-section.elementor-section-stretched {
	right: auto !important;
	left: auto !important;
	width: 100% !important;
	max-width: 100% !important;
	transform: none !important;
}

.elephanta-template-trigger.is-responsive.is-open {
	flex-wrap: wrap;
}

.elephanta-template-trigger.is-responsive.is-open > .elephanta-template-trigger__panel {
	display: block;
	flex: 0 0 100%;
}

@media (prefers-reduced-motion: reduce) {
	.elephanta-template-trigger__panel {
		transition-duration: .01ms !important;
	}
}
