html.is-loading,
html.is-loading body {
	overflow: hidden;
}

.p-loading {
	align-items: center;
	background: #FFFFFF;
	bottom: 0;
	display: none;
	justify-items: center;
	left: 0;
	overflow: hidden;
	place-items: center;
	position: fixed;
	right: 0;
	top: 0;
	z-index: 9999;
}

html.is-loading .p-loading {
	display: grid;
}

.p-loading.is-complete {
	pointer-events: none;
	visibility: hidden;
}

.p-loading__logo-wrap {
	animation: p-loading-jump 2400ms linear forwards;
	will-change: transform;
}

.p-loading__logo {
	animation: p-loading-scale 2400ms cubic-bezier(0.55, 0.05, 0.85, 0.45) forwards, p-loading-fade 500ms linear 2400ms forwards;
	backface-visibility: hidden;
	display: block;
	height: auto;
	max-width: none;
	transform: scale(1);
	transform-origin: 50% 50%;
	width: 100px;
	will-change: transform, opacity;
}

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

.p-loading__logo-wrap {
	animation: none;
	transform: translate3d(0, 60px, 0);
}

.p-loading__logo {
	animation-delay: 0ms, 3ms;
	animation-duration: 3ms, 3ms;
}

}

@keyframes p-loading-jump {

0% {
	transform: translate3d(0, 60px, 0);
}

10% {
	transform: translate3d(0, 20px, 0);
}

18% {
	transform: translate3d(0, 65px, 0);
}

24% {
	transform: translate3d(0, 60px, 0);
}

34% {
	transform: translate3d(0, 10px, 0);
}

43% {
	transform: translate3d(0, 65px, 0);
}

49% {
	transform: translate3d(0, 60px, 0);
}

59% {
	transform: translate3d(0, 0, 0);
}

68% {
	transform: translate3d(0, 65px, 0);
}

74% {
	transform: translate3d(0, 60px, 0);
}

84% {
	transform: translate3d(0, -10px, 0);
}

93% {
	transform: translate3d(0, 65px, 0);
}

100% {
	transform: translate3d(0, 60px, 0);
}

}

@keyframes p-loading-scale {

from {
	transform: scale(1);
}

to {
	transform: scale(14);
	transform: scale(var(--logo-scale, 14));
}

}

@keyframes p-loading-fade {

from {
	opacity: 1;
}

to {
	opacity: 0;
}

}

