/* Site-wide styles that used to be inline in templates */

/* Floating Global Recognition / Regenera badges (header.php) */
.sticky-wrapper {
    position: fixed !important;
    bottom: 80px !important;
    left: 20px !important;
    z-index: 9999;
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
    align-items: flex-start !important;
}

@media (min-width: 1024px) {
    .sticky-wrapper {
        top: 325px !important;
        bottom: auto !important;
    }
}


@media (max-width: 769px) {
    .sticky-wrapper {
        top: 500px !important;
        bottom: auto !important;
    }
}

	.sticky-side-box {
		position: relative;
		display: inline-block;
		margin-top: 20px;  /* space above for the button */
	}

	/* stale rule from when this box was fixed-positioned */
	#regenera-box {
		top: auto !important;
	}

	.sticky-side-box a {
		display: block;
		line-height: 0;
	}

	.sticky-side-box img {
		width: 100px;
		height: auto;
		display: block;
		object-fit: contain;
	}

	.close-btn {
		position: absolute;
		top: -10px;          /* corner of its OWN box */
		right: -10px;
		width: 26px;
		height: 26px;
		border-radius: 50%;
		background: #333;
		color: #fff;
		border: 2px solid #fff;
		font-size: 15px;
		font-weight: bold;
		line-height: 1;
		cursor: pointer;
		display: flex;
		align-items: center;
		justify-content: center;
		z-index: 10000;
		padding: 0;
		box-shadow: 0 2px 6px rgba(0,0,0,0.4);
	}

	.close-btn:hover {
		background: #cc0000;
	}

/* Location map tabs (template-parts/common/map-section.php) */
#map_icon{
   width: 25px !important;
}

/* Show the map for the selected location. Was printed inline once per location;
   covers up to 20 locations (add selectors here if there are ever more). */
#map1:checked ~ iframe:nth-of-type(1),
#map2:checked ~ iframe:nth-of-type(2),
#map3:checked ~ iframe:nth-of-type(3),
#map4:checked ~ iframe:nth-of-type(4),
#map5:checked ~ iframe:nth-of-type(5),
#map6:checked ~ iframe:nth-of-type(6),
#map7:checked ~ iframe:nth-of-type(7),
#map8:checked ~ iframe:nth-of-type(8),
#map9:checked ~ iframe:nth-of-type(9),
#map10:checked ~ iframe:nth-of-type(10),
#map11:checked ~ iframe:nth-of-type(11),
#map12:checked ~ iframe:nth-of-type(12),
#map13:checked ~ iframe:nth-of-type(13),
#map14:checked ~ iframe:nth-of-type(14),
#map15:checked ~ iframe:nth-of-type(15),
#map16:checked ~ iframe:nth-of-type(16),
#map17:checked ~ iframe:nth-of-type(17),
#map18:checked ~ iframe:nth-of-type(18),
#map19:checked ~ iframe:nth-of-type(19),
#map20:checked ~ iframe:nth-of-type(20) {
	display: block;
}

/* ---------- Reveal animations: quicker than the template defaults in main.css ----------
   Image reveals were 2.4s, slides 1s, and each delay-N step added 0.1s (up to 0.9s on the
   homepage), so content felt slow to appear. Same effects, shorter timings. */
[data-anim^='img-right']::after,
[data-anim-child^='img-right']::after,
[data-anim^='img-right'] > *,
[data-anim-child^='img-right'] > * {
	animation-duration: 1.4s;
}

[data-anim^='slide-'],
[data-anim-child^='slide-'] {
	transition-duration: 0.7s;
}

[data-anim^='fade'],
[data-anim-child^='fade'] {
	transition-duration: 0.6s;
}

/* delay-N: 0.05s per step instead of 0.1s (in order, so delay-1x still overrides delay-1) */

[data-anim*="delay-1"],
[data-anim-child*="delay-1"] {
	transition-delay: 0.05s;
	animation-delay: 0.05s;
}

[data-anim*="delay-1"]::after,
[data-anim-child*="delay-1"]::after,
[data-anim*="delay-1"] > *,
[data-anim-child*="delay-1"] > * {
	animation-delay: 0.05s;
}

[data-anim*="delay-2"],
[data-anim-child*="delay-2"] {
	transition-delay: 0.1s;
	animation-delay: 0.1s;
}

[data-anim*="delay-2"]::after,
[data-anim-child*="delay-2"]::after,
[data-anim*="delay-2"] > *,
[data-anim-child*="delay-2"] > * {
	animation-delay: 0.1s;
}

[data-anim*="delay-3"],
[data-anim-child*="delay-3"] {
	transition-delay: 0.15s;
	animation-delay: 0.15s;
}

[data-anim*="delay-3"]::after,
[data-anim-child*="delay-3"]::after,
[data-anim*="delay-3"] > *,
[data-anim-child*="delay-3"] > * {
	animation-delay: 0.15s;
}

[data-anim*="delay-4"],
[data-anim-child*="delay-4"] {
	transition-delay: 0.2s;
	animation-delay: 0.2s;
}

[data-anim*="delay-4"]::after,
[data-anim-child*="delay-4"]::after,
[data-anim*="delay-4"] > *,
[data-anim-child*="delay-4"] > * {
	animation-delay: 0.2s;
}

[data-anim*="delay-5"],
[data-anim-child*="delay-5"] {
	transition-delay: 0.25s;
	animation-delay: 0.25s;
}

[data-anim*="delay-5"]::after,
[data-anim-child*="delay-5"]::after,
[data-anim*="delay-5"] > *,
[data-anim-child*="delay-5"] > * {
	animation-delay: 0.25s;
}

[data-anim*="delay-6"],
[data-anim-child*="delay-6"] {
	transition-delay: 0.3s;
	animation-delay: 0.3s;
}

[data-anim*="delay-6"]::after,
[data-anim-child*="delay-6"]::after,
[data-anim*="delay-6"] > *,
[data-anim-child*="delay-6"] > * {
	animation-delay: 0.3s;
}

[data-anim*="delay-7"],
[data-anim-child*="delay-7"] {
	transition-delay: 0.35s;
	animation-delay: 0.35s;
}

[data-anim*="delay-7"]::after,
[data-anim-child*="delay-7"]::after,
[data-anim*="delay-7"] > *,
[data-anim-child*="delay-7"] > * {
	animation-delay: 0.35s;
}

[data-anim*="delay-8"],
[data-anim-child*="delay-8"] {
	transition-delay: 0.4s;
	animation-delay: 0.4s;
}

[data-anim*="delay-8"]::after,
[data-anim-child*="delay-8"]::after,
[data-anim*="delay-8"] > *,
[data-anim-child*="delay-8"] > * {
	animation-delay: 0.4s;
}

[data-anim*="delay-9"],
[data-anim-child*="delay-9"] {
	transition-delay: 0.45s;
	animation-delay: 0.45s;
}

[data-anim*="delay-9"]::after,
[data-anim-child*="delay-9"]::after,
[data-anim*="delay-9"] > *,
[data-anim-child*="delay-9"] > * {
	animation-delay: 0.45s;
}

[data-anim*="delay-10"],
[data-anim-child*="delay-10"] {
	transition-delay: 0.5s;
	animation-delay: 0.5s;
}

[data-anim*="delay-10"]::after,
[data-anim-child*="delay-10"]::after,
[data-anim*="delay-10"] > *,
[data-anim-child*="delay-10"] > * {
	animation-delay: 0.5s;
}

[data-anim*="delay-11"],
[data-anim-child*="delay-11"] {
	transition-delay: 0.55s;
	animation-delay: 0.55s;
}

[data-anim*="delay-11"]::after,
[data-anim-child*="delay-11"]::after,
[data-anim*="delay-11"] > *,
[data-anim-child*="delay-11"] > * {
	animation-delay: 0.55s;
}

[data-anim*="delay-12"],
[data-anim-child*="delay-12"] {
	transition-delay: 0.6s;
	animation-delay: 0.6s;
}

[data-anim*="delay-12"]::after,
[data-anim-child*="delay-12"]::after,
[data-anim*="delay-12"] > *,
[data-anim-child*="delay-12"] > * {
	animation-delay: 0.6s;
}

[data-anim*="delay-13"],
[data-anim-child*="delay-13"] {
	transition-delay: 0.65s;
	animation-delay: 0.65s;
}

[data-anim*="delay-13"]::after,
[data-anim-child*="delay-13"]::after,
[data-anim*="delay-13"] > *,
[data-anim-child*="delay-13"] > * {
	animation-delay: 0.65s;
}

[data-anim*="delay-14"],
[data-anim-child*="delay-14"] {
	transition-delay: 0.7s;
	animation-delay: 0.7s;
}

[data-anim*="delay-14"]::after,
[data-anim-child*="delay-14"]::after,
[data-anim*="delay-14"] > *,
[data-anim-child*="delay-14"] > * {
	animation-delay: 0.7s;
}

[data-anim*="delay-15"],
[data-anim-child*="delay-15"] {
	transition-delay: 0.75s;
	animation-delay: 0.75s;
}

[data-anim*="delay-15"]::after,
[data-anim-child*="delay-15"]::after,
[data-anim*="delay-15"] > *,
[data-anim-child*="delay-15"] > * {
	animation-delay: 0.75s;
}

[data-anim*="delay-16"],
[data-anim-child*="delay-16"] {
	transition-delay: 0.8s;
	animation-delay: 0.8s;
}

[data-anim*="delay-16"]::after,
[data-anim-child*="delay-16"]::after,
[data-anim*="delay-16"] > *,
[data-anim-child*="delay-16"] > * {
	animation-delay: 0.8s;
}

[data-anim*="delay-17"],
[data-anim-child*="delay-17"] {
	transition-delay: 0.85s;
	animation-delay: 0.85s;
}

[data-anim*="delay-17"]::after,
[data-anim-child*="delay-17"]::after,
[data-anim*="delay-17"] > *,
[data-anim-child*="delay-17"] > * {
	animation-delay: 0.85s;
}

[data-anim*="delay-18"],
[data-anim-child*="delay-18"] {
	transition-delay: 0.9s;
	animation-delay: 0.9s;
}

[data-anim*="delay-18"]::after,
[data-anim-child*="delay-18"]::after,
[data-anim*="delay-18"] > *,
[data-anim-child*="delay-18"] > * {
	animation-delay: 0.9s;
}

[data-anim*="delay-19"],
[data-anim-child*="delay-19"] {
	transition-delay: 0.95s;
	animation-delay: 0.95s;
}

[data-anim*="delay-19"]::after,
[data-anim-child*="delay-19"]::after,
[data-anim*="delay-19"] > *,
[data-anim-child*="delay-19"] > * {
	animation-delay: 0.95s;
}

[data-anim*="delay-20"],
[data-anim-child*="delay-20"] {
	transition-delay: 1s;
	animation-delay: 1s;
}

[data-anim*="delay-20"]::after,
[data-anim-child*="delay-20"]::after,
[data-anim*="delay-20"] > *,
[data-anim-child*="delay-20"] > * {
	animation-delay: 1s;
}

/* ---------- Swiper autoHeight ----------
   vendors.css is an older Swiper stylesheet: its autoHeight rules target .swiper-container-autoheight,
   but Swiper 8 adds .swiper-autoheight. Without these, slides are height: 100% of a wrapper Swiper has
   set from them, so a slider that starts before its photo loads measures 0px and stays collapsed
   (e.g. the homepage room cards). These are Swiper 8's own rules. */
.swiper-autoheight,
.swiper-autoheight .swiper-slide {
	height: auto;
}

.swiper-autoheight .swiper-wrapper {
	align-items: flex-start;
	transition-property: transform, height;
}

/* ---------- Fullscreen menu ---------- */
/* No browser focus box around a menu link after it's clicked; keyboard focus still gets one */
.menuFullScreen-links a:focus:not(:focus-visible) {
	outline: none;
}

.menuFullScreen-links a:focus-visible {
	outline: 2px solid #c5a253;
	outline-offset: 4px;
}

/* "All {parent}" submenu entry is only for phones and tablets, where tapping the parent expands
   it. With a mouse, hovering opens the submenu and clicking the parent goes to its page. */
@media (min-width: 992px) and (hover: hover) {
	.menuFullScreen-links-subnav__all {
		display: none;
	}
}
