/*# sourceMappingURL=style-index.css.map*/

/*!***************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/style.scss ***!
  \***************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";

/**
 * Global frontend styles for Ollie UI Helpers.
 */

/**
 * Column controls styles.
 */
@media (max-width: 781px) {
	.wp-block-column[style*="--order-mobile"] {
		order: var(--order-mobile, 0);
	}
	
	.wp-block-columns > .wp-block-column:not([style*="--order-mobile"]) {
		order: 999;
	}
}

.wp-block-group.is-linked, .wp-block-column.is-linked, .wp-block-cover.is-linked {
	position: relative;
	cursor: pointer !important;
}

.wp-block-group.is-linked:hover, .wp-block-column.is-linked:hover, .wp-block-cover.is-linked:hover {
	cursor: pointer;
}

.wp-block-group.is-linked .ollie-group-link, .wp-block-column.is-linked .ollie-group-link, .wp-block-cover.is-linked .ollie-group-link {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	border: 0;
	white-space: nowrap;
	pointer-events: none;
	text-decoration: none;
}

.wp-block-group[data-sticky-on-scroll-up=true] {
	transition: transform .3s cubic-bezier(.4, 0, .2, 1);
}

.wp-block-group[data-sticky-on-scroll-up=true].is-sticky-hidden {
	transform: translateY(calc(-100% - var(--sticky-full-offset, 0px)));
}

.wp-block-group[data-sticky-on-scroll-up=true].is-sticky-active {
	transform: translateY(0);
}

.wp-block-group[data-sticky-on-scroll-up=true]:has(.has-modal-open) {
	transform: none;
	transition: none;
}

@media (max-width: 600px) {
	.wp-block-group.ollie-row-stack {
		flex-direction: column !important;
	}
	
	.wp-block-group.ollie-row-stack > * {
		width: 100% !important;
		max-width: none !important;
	}
}

.has-hover__color:not(.wp-block-button) {
	transition: color var(--hover-transition-duration, 200ms) var(--hover-transition-timing, ease);
}

.has-hover__color:not(.wp-block-button):hover {
	color: var(--hover-color) !important;
}

.has-hover__background-color:not(.wp-block-button) {
	transition: background-color var(--hover-transition-duration, 200ms) var(--hover-transition-timing, ease);
}

.has-hover__background-color:not(.wp-block-button):hover {
	background-color: var(--hover-background-color) !important;
}

.has-hover__border-color:not(.wp-block-button) {
	transition: border-color var(--hover-transition-duration, 200ms) var(--hover-transition-timing, ease);
}

.has-hover__border-color:not(.wp-block-button):hover {
	border-color: var(--hover-border-color) !important;
}

.has-hover__color.has-hover__background-color:not(.wp-block-button) {
	transition: color var(--hover-transition-duration, 200ms) var(--hover-transition-timing, ease), background-color var(--hover-transition-duration, 200ms) var(--hover-transition-timing, ease);
}

.has-hover__color.has-hover__border-color:not(.wp-block-button) {
	transition: color var(--hover-transition-duration, 200ms) var(--hover-transition-timing, ease), border-color var(--hover-transition-duration, 200ms) var(--hover-transition-timing, ease);
}

.has-hover__background-color.has-hover__border-color:not(.wp-block-button) {
	transition: background-color var(--hover-transition-duration, 200ms) var(--hover-transition-timing, ease), border-color var(--hover-transition-duration, 200ms) var(--hover-transition-timing, ease);
}

.has-hover__color.has-hover__background-color.has-hover__border-color:not(.wp-block-button) {
	transition: color var(--hover-transition-duration, 200ms) var(--hover-transition-timing, ease), background-color var(--hover-transition-duration, 200ms) var(--hover-transition-timing, ease), border-color var(--hover-transition-duration, 200ms) var(--hover-transition-timing, ease);
}

.wp-block-button.has-hover__color .wp-element-button {
	transition: color var(--hover-transition-duration, 200ms) var(--hover-transition-timing, ease);
}

.wp-block-button.has-hover__color:hover .wp-element-button {
	color: var(--hover-color) !important;
}

.wp-block-button.has-hover__background-color .wp-element-button {
	transition: background-color var(--hover-transition-duration, 200ms) var(--hover-transition-timing, ease);
}

.wp-block-button.has-hover__background-color:hover .wp-element-button {
	background-color: var(--hover-background-color) !important;
}

.wp-block-button.has-hover__border-color .wp-element-button {
	transition: border-color var(--hover-transition-duration, 200ms) var(--hover-transition-timing, ease);
}

.wp-block-button.has-hover__border-color:hover .wp-element-button {
	border-color: var(--hover-border-color) !important;
}

.wp-block-button.has-hover__color.has-hover__background-color .wp-element-button {
	transition: color var(--hover-transition-duration, 200ms) var(--hover-transition-timing, ease), background-color var(--hover-transition-duration, 200ms) var(--hover-transition-timing, ease);
}

.wp-block-button.has-hover__color.has-hover__border-color .wp-element-button {
	transition: color var(--hover-transition-duration, 200ms) var(--hover-transition-timing, ease), border-color var(--hover-transition-duration, 200ms) var(--hover-transition-timing, ease);
}

.wp-block-button.has-hover__background-color.has-hover__border-color .wp-element-button {
	transition: background-color var(--hover-transition-duration, 200ms) var(--hover-transition-timing, ease), border-color var(--hover-transition-duration, 200ms) var(--hover-transition-timing, ease);
}

.wp-block-button.has-hover__color.has-hover__background-color.has-hover__border-color .wp-element-button {
	transition: color var(--hover-transition-duration, 200ms) var(--hover-transition-timing, ease), background-color var(--hover-transition-duration, 200ms) var(--hover-transition-timing, ease), border-color var(--hover-transition-duration, 200ms) var(--hover-transition-timing, ease);
}

.ollie-animate-scaleOnHover.has-hover__color:not(.wp-block-button) {
	transition: transform var(--hover-transition-duration, 200ms) var(--hover-transition-timing, ease), color var(--hover-transition-duration, 200ms) var(--hover-transition-timing, ease);
}

.ollie-animate-scaleOnHover.has-hover__background-color:not(.wp-block-button) {
	transition: transform var(--hover-transition-duration, 200ms) var(--hover-transition-timing, ease), background-color var(--hover-transition-duration, 200ms) var(--hover-transition-timing, ease);
}

.ollie-animate-scaleOnHover.has-hover__border-color:not(.wp-block-button) {
	transition: transform var(--hover-transition-duration, 200ms) var(--hover-transition-timing, ease), border-color var(--hover-transition-duration, 200ms) var(--hover-transition-timing, ease);
}

.ollie-animate-scaleOnHover.has-hover__color.has-hover__background-color:not(.wp-block-button) {
	transition: transform var(--hover-transition-duration, 200ms) var(--hover-transition-timing, ease), color var(--hover-transition-duration, 200ms) var(--hover-transition-timing, ease), background-color var(--hover-transition-duration, 200ms) var(--hover-transition-timing, ease);
}

.ollie-animate-scaleOnHover.has-hover__color.has-hover__border-color:not(.wp-block-button) {
	transition: transform var(--hover-transition-duration, 200ms) var(--hover-transition-timing, ease), color var(--hover-transition-duration, 200ms) var(--hover-transition-timing, ease), border-color var(--hover-transition-duration, 200ms) var(--hover-transition-timing, ease);
}

.ollie-animate-scaleOnHover.has-hover__background-color.has-hover__border-color:not(.wp-block-button) {
	transition: transform var(--hover-transition-duration, 200ms) var(--hover-transition-timing, ease), background-color var(--hover-transition-duration, 200ms) var(--hover-transition-timing, ease), border-color var(--hover-transition-duration, 200ms) var(--hover-transition-timing, ease);
}

.ollie-animate-scaleOnHover.has-hover__color.has-hover__background-color.has-hover__border-color:not(.wp-block-button) {
	transition: transform var(--hover-transition-duration, 200ms) var(--hover-transition-timing, ease), color var(--hover-transition-duration, 200ms) var(--hover-transition-timing, ease), background-color var(--hover-transition-duration, 200ms) var(--hover-transition-timing, ease), border-color var(--hover-transition-duration, 200ms) var(--hover-transition-timing, ease);
}

.wp-block-button.ollie-animate-scaleOnHover.has-hover__color .wp-element-button {
	transition: transform var(--hover-transition-duration, 200ms) var(--hover-transition-timing, ease), color var(--hover-transition-duration, 200ms) var(--hover-transition-timing, ease);
}

.wp-block-button.ollie-animate-scaleOnHover.has-hover__background-color .wp-element-button {
	transition: transform var(--hover-transition-duration, 200ms) var(--hover-transition-timing, ease), background-color var(--hover-transition-duration, 200ms) var(--hover-transition-timing, ease);
}

.wp-block-button.ollie-animate-scaleOnHover.has-hover__border-color .wp-element-button {
	transition: transform var(--hover-transition-duration, 200ms) var(--hover-transition-timing, ease), border-color var(--hover-transition-duration, 200ms) var(--hover-transition-timing, ease);
}

.wp-block-button.ollie-animate-scaleOnHover.has-hover__color.has-hover__background-color .wp-element-button {
	transition: transform var(--hover-transition-duration, 200ms) var(--hover-transition-timing, ease), color var(--hover-transition-duration, 200ms) var(--hover-transition-timing, ease), background-color var(--hover-transition-duration, 200ms) var(--hover-transition-timing, ease);
}

.wp-block-button.ollie-animate-scaleOnHover.has-hover__color.has-hover__border-color .wp-element-button {
	transition: transform var(--hover-transition-duration, 200ms) var(--hover-transition-timing, ease), color var(--hover-transition-duration, 200ms) var(--hover-transition-timing, ease), border-color var(--hover-transition-duration, 200ms) var(--hover-transition-timing, ease);
}

.wp-block-button.ollie-animate-scaleOnHover.has-hover__background-color.has-hover__border-color .wp-element-button {
	transition: transform var(--hover-transition-duration, 200ms) var(--hover-transition-timing, ease), background-color var(--hover-transition-duration, 200ms) var(--hover-transition-timing, ease), border-color var(--hover-transition-duration, 200ms) var(--hover-transition-timing, ease);
}

.wp-block-button.ollie-animate-scaleOnHover.has-hover__color.has-hover__background-color.has-hover__border-color .wp-element-button {
	transition: transform var(--hover-transition-duration, 200ms) var(--hover-transition-timing, ease), color var(--hover-transition-duration, 200ms) var(--hover-transition-timing, ease), background-color var(--hover-transition-duration, 200ms) var(--hover-transition-timing, ease), border-color var(--hover-transition-duration, 200ms) var(--hover-transition-timing, ease);
}

.wp-block-button[class*=has-icon__] .wp-block-button__link {
	display: flex;
	gap: .5em;
	align-items: center;
}

.wp-block-button[class*=has-icon__] .wp-block-button__link span {
	line-height: 0;
}

.wp-block-button[class*=has-icon__] .wp-block-button__link svg {
	color: currentColor;
	fill: currentColor;
	flex-shrink: 0;
}

.wp-block-buttons.is-content-justification-center .wp-block-button[class*=has-icon__] .wp-block-button__link {
	justify-content: center;
}

.wp-block-buttons.is-content-justification-right .wp-block-button[class*=has-icon__] .wp-block-button__link {
	justify-content: flex-end;
}

.wp-block-buttons.is-content-justification-left .wp-block-button[class*=has-icon__] .wp-block-button__link {
	justify-content: flex-start;
}

.wp-block-buttons.is-content-justification-space-between .wp-block-button[class*=has-icon__] .wp-block-button__link {
	justify-content: space-between;
}

.wp-block-button[class*=has-icon__][class*=has-icon__] svg {
	height: 1.2em;
	width: 1.2em;
}

.has-hover-decoration {
	transition: -webkit-text-decoration .2s ease;
	transition: text-decoration .2s ease;
	transition: text-decoration .2s ease, -webkit-text-decoration .2s ease;
}

.has-hover-decoration a {
	transition: -webkit-text-decoration .2s ease;
	transition: text-decoration .2s ease;
	transition: text-decoration .2s ease, -webkit-text-decoration .2s ease;
}

/**
 * Animation styles for frontend
 */
.ollie-animate {
	--animation-duration: 1s;
	--animation-delay: 0s;
	--animation-distance: 30px;
	--animation-scale: 1.05;
}

.ollie-animate:not(.ollie-animate-on-scroll) {
	will-change: transform, opacity;
	transform: translateZ(0);
	backface-visibility: hidden;
}

@keyframes ollieAnimateFadeIn {
	from {
		opacity: 0;
	}
	
	to {
		opacity: 1;
	}
}

@keyframes ollieAnimateFadeInUp {
	from {
		opacity: 0;
		transform: translateY(var(--animation-distance));
	}
	
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes ollieAnimateFadeInDown {
	from {
		opacity: 0;
		transform: translateY(calc(var(--animation-distance) * -1));
	}
	
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes ollieAnimateFadeInLeft {
	from {
		opacity: 0;
		transform: translateX(var(--animation-distance));
	}
	
	to {
		opacity: 1;
		transform: translateX(0);
	}
}

@keyframes ollieAnimateFadeInRight {
	from {
		opacity: 0;
		transform: translateX(calc(var(--animation-distance) * -1));
	}
	
	to {
		opacity: 1;
		transform: translateX(0);
	}
}

@keyframes ollieAnimateZoomIn {
	from {
		opacity: 0;
		transform: scale(calc(2 - var(--animation-scale)));
	}
	
	to {
		opacity: 1;
		transform: scale(1);
	}
}

@keyframes ollieAnimatePulse {
	from {
		transform: scale3d(1, 1, 1);
	}
	
	50% {
		transform: scale3d(var(--animation-scale), var(--animation-scale), var(--animation-scale));
	}
	
	to {
		transform: scale3d(1, 1, 1);
	}
}

.ollie-animate-scaleOnHover:not(.has-hover__color):not(.has-hover__background-color):not(.has-hover__border-color) {
	transition: transform var(--animation-duration) ease;
}

.ollie-animate-scaleOnHover {
	transform-origin: center center;
	transform: scale(1);
}

.ollie-animate-scaleOnHover:hover {
	transform: scale(var(--animation-scale, 1.05));
}

.wp-block-cover.ollie-animate-zoomBackgroundOnHover {
	overflow: hidden;
}

.wp-block-cover.ollie-animate-zoomBackgroundOnHover .wp-block-cover__image-background, .wp-block-cover.ollie-animate-zoomBackgroundOnHover .wp-block-cover__video-background {
	transition: transform var(--animation-duration, 1s) ease;
}

.wp-block-cover.ollie-animate-zoomBackgroundOnHover:hover .wp-block-cover__image-background, .wp-block-cover.ollie-animate-zoomBackgroundOnHover:hover .wp-block-cover__video-background {
	transform: scale(var(--animation-scale, 1.05));
}

.ollie-animate:not(.ollie-animate-on-scroll):not(.ollie-animate-scaleOnHover) {
	animation-fill-mode: both;
}

.ollie-animate:not(.ollie-animate-on-scroll):not(.ollie-animate-scaleOnHover).ollie-animate-fadeIn {
	animation: ollieAnimateFadeIn var(--animation-duration) ease-out var(--animation-delay) both;
}

.ollie-animate:not(.ollie-animate-on-scroll):not(.ollie-animate-scaleOnHover).ollie-animate-fadeInUp {
	animation: ollieAnimateFadeInUp var(--animation-duration) ease-out var(--animation-delay) both;
}

.ollie-animate:not(.ollie-animate-on-scroll):not(.ollie-animate-scaleOnHover).ollie-animate-fadeInDown {
	animation: ollieAnimateFadeInDown var(--animation-duration) ease-out var(--animation-delay) both;
}

.ollie-animate:not(.ollie-animate-on-scroll):not(.ollie-animate-scaleOnHover).ollie-animate-fadeInLeft {
	animation: ollieAnimateFadeInLeft var(--animation-duration) ease-out var(--animation-delay) both;
}

.ollie-animate:not(.ollie-animate-on-scroll):not(.ollie-animate-scaleOnHover).ollie-animate-fadeInRight {
	animation: ollieAnimateFadeInRight var(--animation-duration) ease-out var(--animation-delay) both;
}

.ollie-animate:not(.ollie-animate-on-scroll):not(.ollie-animate-scaleOnHover).ollie-animate-zoomIn {
	animation: ollieAnimateZoomIn var(--animation-duration) ease-out var(--animation-delay) both;
}

.ollie-animate:not(.ollie-animate-on-scroll):not(.ollie-animate-scaleOnHover).ollie-animate-pulse {
	animation: ollieAnimatePulse var(--animation-duration) ease-in-out var(--animation-delay) both;
}

.ollie-animate-on-scroll {
	opacity: 0;
}

.ollie-animate-on-scroll.ollie-animate-pulse {
	opacity: 1;
}

.ollie-animate-on-scroll.ollie-animate-ready {
	will-change: transform, opacity;
}

.ollie-animate-on-scroll.ollie-animated {
	opacity: 1;
	transition: opacity .1s ease-out;
}

.ollie-animate-on-scroll.ollie-animated.ollie-animation-done {
	will-change: auto;
}

.ollie-animate-on-scroll.ollie-animated.ollie-animate-fadeIn {
	animation: ollieAnimateFadeIn var(--animation-duration) ease-out var(--animation-delay) both;
}

.ollie-animate-on-scroll.ollie-animated.ollie-animate-fadeInUp {
	animation: ollieAnimateFadeInUp var(--animation-duration) ease-out var(--animation-delay) both;
}

.ollie-animate-on-scroll.ollie-animated.ollie-animate-fadeInDown {
	animation: ollieAnimateFadeInDown var(--animation-duration) ease-out var(--animation-delay) both;
}

.ollie-animate-on-scroll.ollie-animated.ollie-animate-fadeInLeft {
	animation: ollieAnimateFadeInLeft var(--animation-duration) ease-out var(--animation-delay) both;
}

.ollie-animate-on-scroll.ollie-animated.ollie-animate-fadeInRight {
	animation: ollieAnimateFadeInRight var(--animation-duration) ease-out var(--animation-delay) both;
}

.ollie-animate-on-scroll.ollie-animated.ollie-animate-zoomIn {
	animation: ollieAnimateZoomIn var(--animation-duration) ease-out var(--animation-delay) both;
}

.ollie-animate-on-scroll.ollie-animated.ollie-animate-pulse {
	animation: ollieAnimatePulse var(--animation-duration) ease-in-out var(--animation-delay) both;
}

.ollie-animate-sequentially.ollie-animate {
	animation: none !important;
}

.ollie-animate-sequentially.ollie-animate-on-scroll:not(.ollie-animated) {
	opacity: 1 !important;
	transform: none !important;
}

.ollie-animate-sequentially:not(.ollie-animate-on-scroll) {
	opacity: 1 !important;
	transform: none !important;
}

@media (prefers-reduced-motion: no-preference) {
	.ollie-animate-sequentially > *:not(.ollie-animate) {
		opacity: 0;
	}
}

.ollie-no-motion {
	opacity: 1 !important;
	transform: none !important;
	transition: none !important;
	animation: none !important;
}

/**
 * Cover Expand - Frontend Styles
 *
 * These styles are applied on both the frontend and in the editor.
 */
.wp-block-cover.has-expand-inside-contents {
	display: flex;
	flex-direction: column;
	height: 100%;
}

.wp-block-cover.has-expand-inside-contents .wp-block-cover__inner-container {
	height: 100%;
}

.wp-block-cover.has-expand-inside-contents.has-aspect-ratio {
	height: auto;
}

/**
 * Video Modal - Frontend Styles
 */
.ollie-video-modal-trigger {
	cursor: pointer;
	position: relative;
	container-type: inline-size;
}

.ollie-video-modal-trigger.wp-block-button, .ollie-video-modal-trigger.wp-element-button {
	container-type: normal;
}

.ollie-video-modal-trigger a, .ollie-video-modal-trigger button, .ollie-video-modal-trigger .wp-block-button__link {
	position: relative;
	z-index: 20;
	cursor: pointer;
}

.ollie-video-modal-trigger[data-play-icon=always]::after, .ollie-video-modal-trigger[data-play-icon=hover]::after {
	--play-icon-size: 48px;
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: var(--play-icon-size);
	height: var(--play-icon-size);
	background: rgba(0, 0, 0, .3);
	border-radius: 50%;
	opacity: 1;
	transition: opacity .2s ease;
	pointer-events: none;
	z-index: 10;
	backdrop-filter: blur(8px);
	background-image: url("data:image/svg+xml,%3Csvg width=%2724%27 height=%2724%27 viewBox=%270 0 24 24%27 fill=%27none%27 xmlns=%27http://www.w3.org/2000/svg%27%3E%3Cpath d=%27M9.53688 5.97801C8.87115 5.55437 8 6.03258 8 6.82167V17.1783C8 17.9674 8.87115 18.4456 9.53688 18.022L17.6742 12.8437C18.2917 12.4507 18.2917 11.5493 17.6742 11.1563L9.53688 5.97801Z%27 fill=%27white%27/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: calc(var(--play-icon-size) * .5);
}

@container (min-width: 400px) {}

@container (min-width: 600px) {}

.ollie-video-modal-trigger[data-play-icon=hover]::after {
	opacity: 0;
}

.ollie-video-modal-trigger[data-play-icon=hover]:hover::after {
	opacity: 1;
}

.ollie-video-modal-trigger[data-play-icon=hide]::after {
	display: none;
}

.ollie-video-modal-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, .8);
	z-index: 999999;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	visibility: hidden;
	transition: opacity .3s ease, visibility .3s ease;
}

.ollie-video-modal-overlay.is-open {
	opacity: 1;
	visibility: visible;
	backdrop-filter: blur(30px);
}

.ollie-video-modal {
	position: relative;
	width: 90%;
	max-width: 1200px;
	aspect-ratio: 16/9;
	background: #000;
	border-radius: 8px;
	overflow: hidden;
	transform: scale(.9);
	transition: transform .3s ease;
}

.ollie-video-modal-overlay.is-open .ollie-video-modal {
	transform: scale(1);
}

.ollie-video-modal__close {
	position: absolute;
	top: -50px;
	right: 0;
	width: 40px;
	height: 40px;
	background: transparent;
	border: none;
	cursor: pointer;
	color: #fff;
	font-size: 32px;
	line-height: 1;
	opacity: .8;
	transition: opacity .2s ease;
	z-index: 10;
}

.ollie-video-modal__close:hover {
	opacity: 1;
}

.ollie-video-modal__close::before {
	content: "×";
}

.ollie-video-modal__content {
	width: 100%;
	height: 100%;
}

.ollie-video-modal iframe, .ollie-video-modal video {
	width: 100%;
	height: 100%;
	border: none;
}

@media (max-width: 768px) {
	.ollie-video-modal {
		width: 95%;
		border-radius: 4px;
	}
	
	.ollie-video-modal__close {
		top: -45px;
		width: 36px;
		height: 36px;
		font-size: 28px;
	}
}

/**
 * Text Wrap - Frontend and Editor Styles
 *
 * These styles apply text-wrap CSS property to paragraphs and headings.
 */
.has-text-wrap-pretty {
	text-wrap: pretty;
}

.has-text-wrap-balance {
	text-wrap: balance;
}

/**
 * Scroll Resize - Frontend Styles
 *
 * Styles for the scroll-based scale effect on sticky elements.
 */
.has-scroll-resize {
	will-change: transform;
}
