/**
 * Animations
 */

 .celebrate-animation-fade {
	opacity: 0;
}

.celebrate-animation-slide {
	opacity: 0;
}

.celebrate-slide-direction-left {
	transform: translateX(-3em);
}

.celebrate-slide-direction-right {
	transform: translateX(3em);
}

.celebrate-slide-direction-top {
	transform: translateY(-3em);
}

.celebrate-slide-direction-bottom {
	transform: translateY(3em);
}

.celebrate-animation-fade.celebrate-set-transition {
	opacity: 1;
}

.celebrate-animation-slide.celebrate-set-transition {
	opacity: 1;
}

.celebrate-slide-direction-left.celebrate-set-transition,
.celebrate-slide-direction-right.celebrate-set-transition {
	transform: translateX(0);
}

.celebrate-slide-direction-top.celebrate-set-transition,
.celebrate-slide-direction-bottom.celebrate-set-transition {
	transform: translateY(0);
}

@media (prefers-reduced-motion: no-preference) {
	.celebrate-animation-fade {
		transition: opacity 1.5s ease;
	}

	.celebrate-animation-slide {
		transition: transform 0.5s ease-out, opacity 0.5s ease-out;
	}
}

@media (prefers-reduced-motion) {
	.celebrate-animation-fade {
		opacity: 1;
	}

	.celebrate-animation-slide {
		opacity: 1;
	}
}

/**
 * Visibility
 */

 @media (min-width: 1281px) {
 .celebrate-hide-desktop {
	display: none !important;
 }
}

@media (max-width: 1280px) and (min-width: 768px) {
	.celebrate-hide-tablet {
	   display: none !important;
	}
}

@media (max-width: 767px) {
	.celebrate-hide-mobile {
		display: none !important;
	 }
}

/**
 * Lightbox
 */
.glightbox-celebrate .goverlay, .glightbox-mobile .goverlay {
    background-color: var(--wp--preset--color--base) !important;
	opacity: .9;
}

.glightbox-celebrate .gclose {
	width: 35px;
    height: 35px;
    top: 45px;
    right: 40px;
    position: absolute;
	background: none;
}

.glightbox-celebrate .gprev {
	position: absolute;
    top: 50%;
    left: 40px;
    width: 40px;
    height: 50px;
	background: none;
}

.glightbox-celebrate .gnext {
	position: absolute;
    top: 50%;
    right: 40px;
    width: 40px;
    height: 50px;
    background: none;
}

.glightbox-celebrate .gclose path, .glightbox-celebrate .gnext path, .glightbox-celebrate .gprev path {
	fill: var(--wp--preset--color--contrast);
}

.glightbox-celebrate .gclose:hover path, .glightbox-celebrate .gnext:hover path, .glightbox-celebrate .gprev:hover path {
	fill: #000;
}

/**
 * Flickity
 */
.flickity-button, .flickity-button:hover {
	background: none;
}

.flickity-enabled .flickity-slider {
  display: block;
}

.flickity-loading .flickity-slider {
  visibility: hidden;
}

.flickity-button:focus {
	box-shadow: none;
}

.flickity-button {
	color: var(--wp--preset--color--contrast);
}

.flickity-page-dots .dot {
	background: var(--wp--preset--color--contrast);
}

/**
 * Layers
 */

.is-block-celebrate-group-layers {
	position: relative;
	display: grid !important;
}

.is-block-celebrate-group-layers > :has(.celebrate-position-background),
.is-block-celebrate-group-layers > .celebrate-position-background {
	grid-area: 1 / 1 / 2 / 2;
	z-index: 1;
}

.is-block-celebrate-group-layers > :has(.celebrate-position-flex-start),
.is-block-celebrate-group-layers > :.celebrate-position-flex-start {
	align-self: flex-start;
}

.is-block-celebrate-group-layers > :has(.celebrate-position-center),
.is-block-celebrate-group-layers > .celebrate-position-center {
	align-self: center;
}

.is-block-celebrate-group-layers > :has(.celebrate-position-flex-end),
.is-block-celebrate-group-layers > .celebrate-position-flex-end {
	align-self: flex-end;
}

.is-block-celebrate-group-layers > *:not(:has(.celebrate-position-background)),
.is-block-celebrate-group-layers > *:not(.celebrate-position-background) {
	grid-area: 1 / -1;
	z-index: 1;
}