.WID_backgroud {
	position: fixed;
	inset: 0;
	width: 100%;
	height: 100%;
	background: #f7d3df;
	z-index: 1900;
}

.WID_backgroud--has-image {
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}

.WID_content {
	position: fixed;
	inset: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
	cursor: pointer;
	z-index: 9999;
}

#WID_ {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

#WID_catanis-loader {
	position: fixed;
	inset: 0;
	width: 100%;
	height: 100%;
	background-color: #fff;
	z-index: 10000;
}

.catanis-loader-wraper.cata-style2 {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 50px;
	height: 50px;
	transform: translate(-50%, -50%);
}

.catanis-loader-wraper.cata-style2 .heart {
	position: absolute;
	width: 50px;
	height: 45px;
	opacity: 0.6;
	animation: loader_beat 3s infinite ease-in-out;
}

.catanis-loader-wraper.cata-style2 .heart::before,
.catanis-loader-wraper.cata-style2 .heart::after {
	content: "";
	position: absolute;
	top: 0;
	width: 25px;
	height: 40px;
	background: #f99;
	border-radius: 50px 50px 0 0;
}

.catanis-loader-wraper.cata-style2 .heart::before {
	left: 25px;
	transform: rotate(-45deg);
	transform-origin: 0 100%;
}

.catanis-loader-wraper.cata-style2 .heart::after {
	left: 0;
	transform: rotate(45deg);
	transform-origin: 100% 100%;
}

.catanis-loader-wraper.cata-style2 .heart2 {
	animation-delay: -1s;
}

.catanis-loader-wraper.cata-style2 .heart3 {
	animation-delay: -1.5s;
}

.catanis-loader-wraper.cata-style2 .heart4 {
	animation-delay: -2s;
}

.catanis-loader-wraper.cata-style2 .heart5 {
	animation-delay: -2.5s;
}

@keyframes loader_beat {
	0%,
	100% {
		transform: scale(0);
	}

	50% {
		transform: scale(1);
	}
}

.WID_img_left,
.WID_img_right {
	position: absolute;
	top: 0;
	height: 100%;
}

.WID_img_left {
	left: 0;
	z-index: 1100;
}

.WID_img_right {
	right: 0;
	z-index: 1101;
}

.WID_img_btn {
	position: absolute;
	z-index: 1102;
	width: 108px;
	height: 108px;
	cursor: pointer;
}

.WID_animate,
.WID_inner_bg {
	width: 100%;
	height: 100%;
}

.WID_inner_bg {
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}

@keyframes ani-42861 {
	0% {
		transform: scale3d(1, 1, 1);
	}

	50% {
		transform: scale3d(0.9, 0.9, 0.9);
	}

	100% {
		transform: scale3d(1, 1, 1);
	}
}

@keyframes ani-81472 {
	0% {
		transform: translate3d(0, 0, 0) scale3d(1, 1, 1);
	}

	100% {
		transform: translate3d(-110%, 0, 0) scale3d(1.1, 1.1, 1);
	}
}

@keyframes ani-87204 {
	0% {
		transform: rotateY(0);
	}

	100% {
		transform: rotateY(90deg);
	}
}

#bgAudio {
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	font-weight: 400;
	vertical-align: baseline;
}

.wid_run {
	animation-play-state: running;
}

.WID_start {
	overflow: hidden;
}

.WID_preset--2 {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	padding: 18px;
	background: transparent;
	color: #28314a;
	font-family: Georgia, "Times New Roman", serif;
}

.WID_preset--2 #WID_ {
	position: relative;
	inset: auto;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 480px;
	min-height: 100vh;
	height: auto;
	margin: 0 auto;
	padding: 56px 18px 64px;
	box-sizing: border-box;
}

.WID_preset_2_inner {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
}

.WID_preset--2 .WID_preset_2_title {
	margin: 0 0 20px;
	color: #a66a55;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(20px, 4.8vw, 26px);
	font-weight: 500;
	letter-spacing: 0.24em;
	line-height: 1.2;
	text-align: center;
	text-transform: uppercase;
}

.WID_preset_2_names {
	display: block;
	width: 92%;
	max-width: 420px;
	height: auto;
	margin: 0 auto 18px;
}

.WID_preset_2_envelope_wrap {
	position: relative;
	width: 100%;
	max-width: 430px;
	margin: 0 auto;
}

.WID_preset_2_envelope {
	display: block;
	width: 100%;
	height: auto;
	filter: drop-shadow(0 10px 12px rgba(44, 31, 24, 0.28));
	transform-origin: center;
}

.WID_preset--2 .WID_img_btn {
	position: absolute;
	top: 64%;
	left: 50%;
	z-index: 4;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 92px;
	height: 92px;
	margin: 0;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0;
	outline: none;
	appearance: none;
	-webkit-appearance: none;
	background: transparent !important;
	box-shadow: none !important;
	color: transparent !important;
	cursor: pointer;
	line-height: 0;
	text-decoration: none;
	transform: translate(-50%, -50%) !important;
	transform-origin: center;
	transition: opacity 420ms ease, transform 420ms ease;
}

.WID_preset--2 .WID_img_btn:hover,
.WID_preset--2 .WID_img_btn:focus,
.WID_preset--2 .WID_img_btn:active {
	margin: 0;
	padding: 0 !important;
	border: 0 !important;
	outline: none;
	background: transparent !important;
	box-shadow: none !important;
	color: transparent !important;
	transform: translate(-50%, -50%) !important;
}

.WID_preset--2 .WID_img_btn:focus-visible {
	outline: 2px solid rgba(155, 96, 72, 0.45);
	outline-offset: 4px;
	border-radius: 50%;
}

.WID_preset--2 .WID_img_btn img {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	object-fit: contain;
	transform: none !important;
	pointer-events: none;
}

.WID_preset--2 .WID_img_btn:hover img,
.WID_preset--2 .WID_img_btn:focus img,
.WID_preset--2 .WID_img_btn:active img {
	background: transparent !important;
	box-shadow: none !important;
	transform: none !important;
}

.WID_preset--2 .WID_preset_2_open_text {
	margin: 18px 0 0;
	color: #a66a55;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(26px, 6vw, 34px);
	font-style: italic;
	line-height: 1.2;
	text-align: center;
}

.WID_preset_2_flower,
.WID_preset_2_cursor {
	display: block;
	height: auto;
	pointer-events: none;
	user-select: none;
}

.WID_preset_2_flower {
	position: fixed;
	z-index: 1;
}

.WID_preset_2_flower--top-left {
	top: 0;
	left: 0;
	width: clamp(210px, 17vw, 320px);
}

.WID_preset_2_flower--bottom-right {
	right: 0;
	bottom: 0;
	width: clamp(210px, 16vw, 300px);
}

.WID_preset_2_cursor {
	position: absolute;
	top: 70%;
	left: 50%;
	z-index: 5;
	width: 68px;
	animation: wid_preset_2_cursor_hint 1.4s ease-in-out infinite;
}

.WID_preset--2.WID_preset_2_opening .WID_img_btn {
	opacity: 0;
}

.WID_preset--2.WID_preset_2_opening .WID_preset_2_cursor {
	opacity: 0;
	animation-play-state: paused;
	transform: translate(14px, 10px) scale(0.8);
}

.WID_preset--2.WID_preset_2_opening .WID_preset_2_envelope {
	animation: wid_preset_2_envelope_open 1.6s ease forwards;
}

.WID_preset--2.WID_preset_2_opening .WID_preset_2_title,
.WID_preset--2.WID_preset_2_opening .WID_preset_2_names,
.WID_preset--2.WID_preset_2_opening .WID_preset_2_open_text,
.WID_preset--2.WID_preset_2_opening .WID_preset_2_flower {
	animation: wid_preset_2_fade_away 1.2s ease forwards;
}

@keyframes wid_preset_2_cursor_hint {
	0%,
	100% {
		transform: translate(0, 0);
	}

	50% {
		transform: translate(-8px, -8px);
	}
}

@keyframes wid_preset_2_envelope_open {
	0% {
		opacity: 1;
		transform: translate3d(0, 0, 0) scale(1);
	}

	100% {
		opacity: 0;
		transform: translate3d(0, -22px, 0) scale(0.92);
	}
}

@keyframes wid_preset_2_fade_away {
	0% {
		opacity: 1;
	}

	100% {
		opacity: 0;
	}
}

@media (max-width: 768px) {
	.WID_img_btn {
		max-width: 32vw;
		max-height: 32vw;
	}

	.WID_preset--2 {
		padding: 0;
	}

	.WID_preset--2 #WID_ {
		padding: 84px 24px 82px;
	}

	.WID_preset--2 .WID_preset_2_title {
		margin-bottom: 18px;
	}

	.WID_preset_2_names {
		width: 94%;
		margin-bottom: 16px;
	}

	.WID_preset_2_envelope_wrap {
		max-width: 420px;
	}

	.WID_preset--2 .WID_img_btn {
		width: 84px;
		height: 84px;
	}

	.WID_preset--2 .WID_preset_2_open_text {
		margin-top: 16px;
	}

	.WID_preset_2_flower--top-left {
		top: 0;
		left: -26px;
		width: clamp(132px, 38vw, 174px);
	}

	.WID_preset_2_flower--bottom-right {
		right: -24px;
		bottom: 0;
		width: clamp(130px, 37vw, 168px);
	}

	.WID_preset_2_cursor {
		left: 50%;
		width: 48px;
	}
}

@media (max-width: 390px) {
	.WID_preset--2 #WID_ {
		padding-right: 18px;
		padding-left: 18px;
	}

	.WID_preset--2 .WID_img_btn {
		width: 76px;
		height: 76px;
	}
}
