/*!
Theme Name: Voksenåsen
Theme URI: http://underscores.me/
Author: Insite Media AS
Author URI: https://insitemedia.no
Description: Custom boilerplate for VoksenÅsen
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: im-voksenaasen
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

Voksenåsen is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

@font-face {
    font-family: 'BrandonText';
    src: url('fonts/BrandonText-Regular.otf') format('opentype');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'BrandonText';
    src: url('fonts/BrandonText-Medium.otf') format('opentype');
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: 'BrandonText';
    src: url('fonts/BrandonText-Bold.otf') format('opentype');
    font-weight: 700;
    font-style: normal;
}

@font-face {
    font-family: 'BrandonText';
    src: url('fonts/BrandonText-Light.otf') format('opentype');
    font-weight: 300;
    font-style: normal;
}

@font-face {
    font-family: 'BrandonText';
    src: url('fonts/BrandonText-Thin.otf') format('opentype');
    font-weight: 100;
    font-style: normal;
}

@font-face {
    font-family: 'BrandonText';
    src: url('fonts/BrandonText-RegularItalic.otf') format('opentype');
    font-weight: 400;
    font-style: italic;
}

:root {
	--red: #ab6358;
	--red-hover: #9a5850;
	--white: #ffffff;
	--text-white: #ffffffd9;
	--label-white: #ffffffb3;
	--black: #000000;
	--text-black: #000000cc;
	--green: #3d6e53;
	--green-blass: #93ada0;
	--teal: #8eabca;
	--blue: #3a59a4;
	--burgund: #8b3c48;
	--orange: #d66a3f;
	--background: #f5f1eb;
	--background-dark: #e9e7e24d;
	--border: #d4cfc4;
	--muted-foreground: #666666;
	--text-light: #000000b3;
	--font: "Cormorant Garamond", "Georgia", serif;
	--text-font: "BrandonText", system-ui, sans-serif;
	--sz-btn: "13px";
}

html, body {
	padding: 0;
	margin: 0;
	box-sizing: border-box;
	font-size: 100%;
}

*, *::after, *::before {
	box-sizing: inherit;
}

#page {
	background: var(--background);
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--font);
	line-height: 1;
}

h1 {
	font-size: 4.5rem;
}

h2,
h3 {
	font-size: 3rem;
}

p {
	font-family: var(--text-font);
	font-size: 1rem;
	color: var(--muted-foreground);
}

#masthead {
	height: 96px;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 99;
	background: var(--background);
	box-shadow: 0 0 #0000, 0 0 #0000, 0 1px 2px 0 rgb(0 0 0 / .05);
}

#masthead .container {
	max-width: 1600px;
	width: 100%;
	padding-left: 3rem;
	padding-right: 3rem;
}

.logged-in #masthead {
	top: 32px;
}

#prevHero,
#nextHero {
	position: absolute;
	top: 50%;
	z-index: 50;
	border-radius: 100%;
	height: unset;
	padding: unset;
	border: none;
	 /* glass */
	background: rgba(255, 255, 255, 0.12);          /* subtle milky layer */
	backdrop-filter: blur(10px) saturate(140%);
	-webkit-backdrop-filter: blur(10px) saturate(140%); /* Safari */

	width: 2.75rem;
	height: 2.75rem;

	/* depth */
	box-shadow:
		0 10px 25px rgba(0, 0, 0, 0.25),
		inset 0 1px 0 rgba(255, 255, 255, 0.14);

	color: rgba(255, 255, 255, 0.95);
	transition: all 0.25s;
}

#prevHero {
	left: 6rem;
}

#nextHero {
	right: 6rem;
}

#prevHero:hover,
#nextHero:hover {
	transform: scale(1.05);
	background: rgba(255, 255, 255, 0.2);          /* subtle milky layer */
}

button.scroll-down-hero {
	color: #ffffff80;
	display: flex;
	align-items: center;
	gap: .5rem;
	flex-direction: column;
	opacity: 1;
	transition-timing-function: cubic-bezier(.4, 0, .2, 1);
	transition-duration: .15s;
	transition: color 150ms cubic-bezier(0.4, 0, 0.2, 1); /* transition-colors */
	position: absolute;
	bottom: 2rem;
	left: 50%;
	transform: translateX(-50%);
	background: unset;
	border: unset;
	animation: bob 2s ease-in-out infinite;
	z-index: 50;
}

/* Important: include translateX in every keyframe */
@keyframes bob {
  0%, 100% {
    transform: translateX(-50%) translateY(0);
  }
  50% {
    transform: translateX(-50%) translateY(-8px);
  }
}

button.scroll-down-hero:hover,
button.scroll-down-hero:hover span {
	color: var(--white);
	cursor: pointer;
}

.scroll-down-hero  span {
	letter-spacing: .2em;
	text-transform: uppercase;
	font-weight: 500;
	color: #ffffff80;
	font-size: 11px;

}

.flex-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.custom-logo {
	height: 36px;
	width: auto;
}

section {
	background: var(--background);
}

section.testimonials {
	padding-top: 10rem;
	padding-bottom: 10rem;
	border-top: 1px solid var(--border);
	border-bottom: 1px solid var(--border);
}

.contact-page-header {
	padding-top: calc(8rem + 96px);
	padding-bottom: 6rem;
}

section.environment-intro,
section.book-areas {
	padding-top: 8rem;
	padding-bottom: 8rem;
}

section.navigation-section {
	padding-top: 3rem;
	padding-bottom: 4rem;
	border-bottom: 1px solid var(--border);
}

section.timeline-section,
section.news-section,
section.book-venue-section {
	padding-top: 8rem;
	padding-bottom: 8rem;
}

section.content-cards {
	padding-bottom: 8rem;
}

section.text-image {
	padding-top: 8rem;
	padding-bottom: 8rem;
}

section.event-block {
	padding-bottom: 8rem;
}

section.news-block {
	padding-top: 8rem;
	padding-bottom: 8rem;
}

.news-block-subtitle {
	margin-bottom: 2.25rem;
}

.btn,
button {
	transition: all 0.25s;
	letter-spacing: .05em;
	font-weight: 500;
	font-size: var(--sz-btn);
	border: 1px solid;
	border-radius: 0;
	padding-left: 2rem;
	padding-right: 2rem;
	height: 3rem;
	display: inline-flex;
    justify-content: center;
    align-items: center;
	font-family: var(--text-font);
}

.btn.main {
	background: var(--red);
	border-color: var(--red);
	color: var(--white);
}

.btn:hover,
button:hover {
	cursor: pointer;
}

.btn.main:hover {
	background: var(--red-hover);
	border-color: var(--red-hover);
}

.btn.secondary {
	background: transparent;
	border-color: var(--white);
	color: var(--white);
}

.btn.secondary:hover {
	background: var(--white);
	color: var(--black);
	border-color: var(--white);
}

#colophon {
	background: var(--background);
	border-top: 1px solid var(--border);
	padding-top: 5rem;
	padding-bottom: 5rem;
}

#colophon h3 {
	font-size: 1.5rem;
	line-height: 2rem;
	color: var(--black);
}

#colophon .nf-field-label label {
	display: none !important;
}

#colophon .nf-field-element input[type="email"] {
	outline: 2px solid transparent !important;
	transition: all 0.25s !important;
	outline-offset: 2px !important;
	font-size: .875rem !important;
	line-height: 1.25rem !important;
	padding-top: .5rem !important;
	padding-bottom: .5rem !important;
	padding-left: .75rem !important;
	padding-right: .75rem !important;
	background: transparent !important;;
	background-color: transparent !important;
	border: 1px solid var(--border) !important;
	height: unset !important;
}

.nf-after-field .nf-error-msg {
	text-align: left;
	font-size: 14px;
	opacity: .8;
	color: var(--red);
}

#colophon .nf-field-element input[type="email"]:focus-visible {
	outline: 2px solid var(--red) !important;
	border: 1px solid var(--red) !important;
}

#nf-field-4 {
	border: 2px solid var(--red);
	background: var(--red);
	color: var(--white);
	border-radius: 0;
	padding-left: 1.5rem;
	padding-right: 1.5rem;
	height: 38px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	font-size: .875rem;
    line-height: 1.25rem;
	font-weight: 500;
}

.footer-copy ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	gap: 1rem;
	justify-content: center;
}

.footer-copy ul li a,
.footer-copy ul li {
	color: var(--muted-foreground);
	text-decoration: none;
	font-size: .875rem;
    line-height: 1.25rem;
    font-weight: 300;
}

.footer-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	row-gap: .75rem;
	column-gap: 2.5rem;
	margin-top: calc(2.5rem * calc(1 - 0));
}


.footer-navigation ul li a {
    font-size: .75rem;
    line-height: 1rem;
    text-transform: uppercase;
    letter-spacing: .3em;
    color: var(--red);
	text-decoration: none;
}

.newsletter-privacy {
	margin-bottom: 4rem;
}

.cky-notice .cky-title {
	display: none !important;
}

.cky-banner-bottom {
	border-top: 1px solid var(--red);
}

.navigation-line {
	padding: unset;
	height: 3px;
	border-radius: 9999px;
	background: #fff;
	opacity: 0.4;
	width: 1.25rem;
	transition: all .25s;
	border: none;
}

.navigation-line.active {
	opacity: 1;
	width: 2rem;
}

#colophon a:hover {
	color: var(--red);
	opacity: 1;
}

.border-color {
	color: var(--border);
}

ul.contact-list,
ul.socials {
	display: flex;
	gap: 1.5rem;
	align-items: center;
	justify-content: center;
	list-style: none;
	margin: 0;
	padding: 0;
	margin-top: calc(2.5rem * calc(1 - 0));
}

ul.contact-list li a,
ul.socials li a {
	color: var(--muted-foreground);
	text-decoration: none;
}

#colophon p {
	color: var(--muted-foreground);
	font-weight: 300;
	line-height: 1.625;
}

span {
	font-size: .75rem;
	letter-spacing: .3em;
	text-transform: uppercase;
	color: var(--red);
	line-height: 1rem;
	font-family: var(--text-font);
}

.headline-small {
	font-size: 1.25rem;
	line-height: 1.25;
	color: var(--black);
}

#mobOverlay {
	position: fixed;
	top: 0;
	right: -200vw;
}

.logged-in #mobileMenu {
	top: 46px;
}

.center {
	text-align: center;
}

section.text-section-center {
	padding-top: 8rem;
	margin-bottom: 5rem;
}

#heroContainer {
	position: relative;
	overflow: hidden;
	padding-left: 3rem;
	padding-right: 3rem;
	padding-top: 96px;
	padding-bottom: 1rem;
}

.hero-navigation {
	position: absolute;
	z-index: 50;
	display: flex;
	gap: .5rem;
	left: 50%;
	bottom: 8rem;
	transform: translateX(-50%);
}

#heroContainer .hero-slide {
	height: 100%;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 550px;
	height: 78vh;
	flex: 1 0 100%;
	max-width: 100%;
	width: 100%;
}

.slide-wrapper {
  width: 100%;
  display: flex;
  flex-direction: row;
  overflow-x: auto;         /* keep scroll */
  overflow-y: hidden;
  height: 100%;
  scroll-snap-type: x mandatory;   /* ✅ correct */
  scroll-behavior: smooth;         /* ✅ smooth scrolling */
  -webkit-overflow-scrolling: touch;
}

/* ✅ snap belongs on each slide */
#heroContainer .hero-slide {
  scroll-snap-align: start;
  scroll-snap-stop: always; /* optional, makes snapping “stronger” */
}

/* hide scrollbar (you already do webkit) */
.slide-wrapper {
  scrollbar-width: none; /* Firefox */
}
.slide-wrapper::-webkit-scrollbar {
  display: none;
}

.slide-wrapper::-webkit-scrollbar {
	display: none;
}

#heroContainer .hero-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #000000;
	opacity: 0.4;
	z-index: 20;
}

#heroContainer .hero-content {
	width: 100%;
	max-width: 1600px;
	margin: 0 auto;
	padding-left: 3rem;
	padding-right: 3rem;
	z-index: 50;
}

#heroContainer .inner-hero {
	max-width: 48rem;
	margin: 0 auto;
}

.page-template-page-wedding #heroContainer .inner-hero,
.page-template-page-rooms #heroContainer .inner-hero {
	max-width: 56rem;
}

#heroContainer .inner-hero .hero-content-text p {
	font-size: 1.125rem;
	line-height: 1.75rem;
	font-weight: 300;
	max-width: 36rem;
	margin: 0 auto 2rem auto;
}

#heroContainer h1 {
	color: var(--white);
	margin-bottom: 1.5rem;
	font-weight: 300;
}

#heroContainer p {
	color: var(--text-white);
}

#heroContainer p.subtitle {
	color: var(--label-white);
	text-transform: uppercase;
	font-size: .875rem;
	line-height: 1.25rem;
	letter-spacing: .25em;
	font-weight: 500;
}

#discover {
	scroll-margin-top: 5rem;
}

.footer-ruler hr {
	margin-top: calc(2.5rem * calc(1 - 0));
	padding-bottom: 2rem;
}

.text-image ul {
	list-style: none;
	margin-bottom: 2rem;
	display: grid;
	gap: .75rem;
	padding: 0; 
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.text-image ul li {
	font-size: .875rem;
    line-height: 1.25rem;
	color: var(--muted-foreground);
	display: flex;
	gap: .5rem;
	align-items: center;
}

.text-image p {
	font-size: 1.125rem;
	line-height: 1.75rem;
	margin-bottom: 2rem;
	color: var(--muted-foreground);
}

.text-image h2 {
	font-size: 3rem;
	line-height: 1;
	margin-bottom: 1.5rem;
}

.text-image span {
	margin-bottom: 1rem;
	display: block;
	color: var(--muted-foreground);
}

.text-image ul li svg {
	color: var(--red);
}

.text-image .img-text-wrapper {
	height: 500px;
	width: 100%;
}

.text-image .img-text-wrapper img.img-fluid {
	object-fit: cover;
	height: 100%;
    width: 100%;
}

.text-image a.btn.main {
	font-size: 1rem;
	font-weight: 500;
    line-height: 1.5rem;
	display: inline-flex;
	align-self: flex-start;
	align-items: center;
	gap: .5rem;
}

.quote-nav {
	display: flex;
	gap: .5rem;
	align-items: center;
	justify-content: center;
	margin-top: 2rem;
}

.quote-nav .line-nav {
	width: .5rem;
	height: .5rem;
	padding: unset;
	transition: all 0.25s;
	background: var(--black);
	opacity: 0.2;
	border: unset;
}

.testimonials span {
	display: block;
	margin-bottom: 1rem;
}

.testimonials h2 {
	font-weight: 300;
	font-size: 2.75rem;
	margin-bottom: 2rem;
	color: var(--foreground);
}

.testimonials--dark {
	background: #2c2a26 !important;
}

.testimonials--dark span,
.testimonials--dark h2 {
	color: rgba(255, 255, 255, 0.6);
}

.testimonials--dark h2 {
	color: var(--white);
}

.testimonials .quote svg {
	color: var(--red);
	opacity: 0.3;
	margin-bottom: 1.5rem;
	margin-left: auto;
	margin-right: auto;
}

.testimonials .quote {
	text-align: center;
}

.testimonials blockquote p {
	font-size: 1.875rem;
	line-height: 2.25rem;
	color: var(--black);
	text-align: center;
	font-family: var(--font);
	font-style: italic;
	margin-bottom: 2rem;
	font-weight: 300;
}

.testimonials blockquote p::before {
	content: '"';
}

.testimonials blockquote p::after {
	content: '"';
}

.testimonials blockquote cite {
	font-family: var(--text-font);
    font-size: .75rem;
    line-height: 1rem;
    text-transform: uppercase;
    letter-spacing: .3em;
    color: var(--red);	
	font-style: normal;
}

button.quote-prev,
button.quote-next {
	color: var(--black);
	padding: unset;
	border-color: var(--border);
	width: 3rem;
	height: 3rem;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	background: transparent;
	opacity: 0.6;
	transition: all 0.25s;
}

button.quote-prev {
	margin-right: 1rem;
}

button.quote-next {
	margin-left: 1rem;
}

button.quote-prev:hover,
button.quote-next:hover {
	border: 1px solid var(--red);
}

.testimonials blockquote cite::before {
	content: "— ";
}

.quote-nav .line-nav:hover {
	background: var(--black);
	opacity: 0.4;
	cursor: pointer;
}

.quote-nav .line-nav.active {
	width: 1.5rem;
	opacity: 1;
	background-color: var(--red);
}

.quote-container {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
}

.quote-container .quote {
  flex: 0 0 100%;
  max-width: 100%;
  scroll-snap-align: start;
}

.quote-container::-webkit-scrollbar {
	display: none;
}

.custom-menu {
	display: flex;
	align-items: center;
	gap: 2rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.custom-menu li a {
	display: flex;
	text-decoration: none;
	color: var(--black);
	align-items: center;
	gap: .25rem;
	flex-wrap: wrap;
	position: relative;
}

.custom-menu li a span {
	letter-spacing: .1em;
	font-weight: 400;
	font-size: 14px;
	color: inherit;
	text-transform: unset;
	line-height: unset;
	transition: all 0.25s;
}

.custom-menu li a:hover span {
	color: var(--muted-foreground);
}

.custom-menu li a svg {
	width: 12px;
	height: 12px;
}

.custom-menu .sub-menu {
	visibility: hidden;
	position: absolute;
	top: 110%;
	left: 0;
	transition: all 0.25s;
	list-style: none;
	margin: 0;
	padding: .25rem;
	border: 1px solid var(--border);
	width: auto;
	min-width: 280px;
	z-index: 75;
	background: var(--white);
	opacity: 0;
}

.custom-menu .sub-menu li a {
	display: flex;
	align-items: center;
	gap: .75rem;
	padding-left: 1rem;
	padding-right: 1rem;
	padding-top: .75rem;
	padding-bottom: .75rem;
}

.custom-menu .sub-menu li a svg {
	opacity: 0.4;
}

.custom-menu .sub-menu li a:hover {
	background: #F6F2E950;
}

.custom-menu .sub-menu li a:hover span.title {
	color: var(--black);
	opacity: 1;
}

.custom-menu .sub-menu li .text-menu {
	display: flex;
	flex-direction: column;
}

.custom-menu .sub-menu li .text-menu span {
	letter-spacing: unset;
	font-weight: 400;
}

.custom-menu .sub-menu li .text-menu span.title {
	display: block;
	opacity: 0.8;
}

.custom-menu .sub-menu li .text-menu span.desc {
	color: var(--muted-foreground);
	font-size: .75rem;
	line-height: 1rem;
	display: block;
}

.custom-menu li.menu-has-children {
	position: relative;
	padding-top: 10px;
	padding-bottom: 10px;
}

.custom-menu li.menu-has-children:hover .sub-menu {
	visibility: visible;
	opacity: 1;
	top: 94%;
}

.custom-menu span.hover-line {
	width: 0;
	height: 1.5px;
	background: var(--black);
	display: block;
	transition: all 0.25s;
	position: absolute;
	bottom: -.25rem;
	left: 0;
}

.custom-menu li a:hover span.hover-line {
	width: 100%;
}

.content-cards__grid {
	display: grid;
	gap: 3rem;
}

.content-cards__grid.large {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	max-width: 64rem;
	margin-left: auto;
	margin-right: auto;
}

.content-cards__grid.small {
	grid-template-columns: repeat(4,minmax(0,1fr));
	gap: 1.5rem;

}

.content-cards__grid.large article.content-card {
	height: 100%;
}

.content-card__link {
	border: 1px solid #d4cfc430;
	display: flex;
	overflow: hidden;
	flex-direction: column;
	height: 100%;
	position: relative;	
	text-decoration: none;
}

.content-card__media {
	position: relative;
	aspect-ratio: 16/10;
	overflow: hidden;
	flex-shrink: 0;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}

.image-tag {
	position: absolute;
	bottom: 1rem;
	left: 1rem;
	color: var(--text-white);
	text-transform: uppercase;
	font-weight: 500;
	font-size: .75rem;
	line-height: 1rem;
	padding-top: .25rem;
	padding-bottom: .25rem;
	padding-left: .75rem;
	padding-right: .75rem;
	background: #0000004d;
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
	letter-spacing: .2em;
	z-index: 20;
}

.content-card__body {
	padding: 2rem;
	flex-direction: column;
	display: flex;
	flex-grow: 1;
	background: var(--white);
}

h3.content-card__title {
	font-size: 1.5rem;
	line-height: 2rem;
	color: var(--black);
	margin-bottom: .75rem;
	transition: all 0.3s;
}

.content-card__link {
	transition: all 0.25s;
}

.content-card__link:hover {
	box-shadow: 0 0 #0000, 0 0 #0000, 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);
}

.content-cards__grid.small .content-card__link {
	border: 1px solid var(--border);
}

.content-cards__grid.small .content-card__link:hover {
	box-shadow: unset;
}

.content-card__link:hover h3.content-card__title,
.content-card__link:hover .content-card__cta span,
.content-card__link:hover .content-card__cta svg {
	color: var(--red);
}

.content-card__link:hover .content-card__cta { 
	gap: 1rem;
}

ul.card-tags {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: .5rem;
	margin-bottom: 1.5rem;
}

ul.card-tags li {
	letter-spacing: .05em;
	font-size: .75rem;
	line-height: 1rem;
	padding-top: .25rem;
	padding-bottom: .25rem;
	color: var(--muted-foreground);
	padding-left: .75rem;
	padding-right: .75rem;
	border: 1px solid #d4cfc450;
	text-transform: uppercase;
}

.content-card__cta {
	display: flex;
	gap: .5rem;
	align-items: center;
	transition: all 0.25s;
	text-transform: unset;
	letter-spacing: unset;
}

.content-card__cta svg {
	color: var(--black);
	transition: all 0.25s;
}


.content-card__cta span {
	color: var(--black);
	font-weight: 500;
	font-size: .875rem;
	line-height: 1.25rem;
	text-transform: unset !important;
	letter-spacing: 0;
	transition: all 0.25s;
}

.image-icon {
	position: absolute;
	top: 1rem;
	left: 1rem;
	color: var(--white);
	padding: .75rem;
	border-radius: 0;
	background: #44403c;
	line-height: 1;
	z-index: 20;
}

.image-icon img {
	display: block;
	vertical-align: middle;
}

.content-card__media-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: 0.5s;
	z-index: 5;
	position: relative;
}

.content-card__link:hover .content-card__media-img {
	transform: scale(1.05);
}

.content-cards__grid.small .content-card__link:hover .content-card__media-img {
	transform: scale(1.03);
}

.content-card__excerpt {
	flex-grow: 1;
	margin-bottom: 1.25rem;
}

.content-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-image: linear-gradient(to top, rgb(0 0 0 /.6), rgb(0 0 0 / .2), transparent);
	z-index: 10;
}

.hover-line-full {
	position: absolute;
	bottom: -1px;
	left: 0;
	transition: all 0.5s;
	transition-timing-function: cubic-bezier(.4, 0, .2, 1);
	width: 0;
	background: #44403c;
	height: .25rem;
	border: none;
}

.content-card__link:hover .hover-line-full {
	width: 100%;
}

.content-cards__grid.small .image-tag {
	display: none;
}

.content-cards__grid.small .content-card__media {
	aspect-ratio: 4/3;
}

.content-cards__grid.small .image-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	background: var(--background);
	padding: unset;
}

.content-cards__grid.small .image-icon svg {
	color: var(--black);
	width: 18px;
	height: 18px;
}

.content-cards__grid.small ul.card-tags,
.content-cards__grid.small .hover-line-full,
.content-cards__grid.small .content-card__cta {
	display: none;
}

.content-cards__grid.small .content-card__body {
	background: var(--background);
}

.content-cards__grid.small .content-card__body {
	padding: 1.25rem;
}

.content-cards__grid.small h3.content-card__title {
	font-size: 1.125rem;
    line-height: 1.75rem;
	margin-bottom: .5rem;
}

.content-cards__grid.small p.content-card__excerpt {
	font-size: .875rem;
	line-height: 1.625;
	margin-bottom: 0;
}

.event-feature-grid {
	margin-bottom: 4rem;
	display: grid;
	gap: 4rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.inner-event-content {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.inner-event-content h3 {
	margin-bottom: 1.5rem;
	font-size: 2.25rem;
	line-height: 2.5rem;
}

ul.event-meta {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: 1.5rem;
	flex-wrap: wrap;
	margin-bottom: 1.5rem;
}

ul.event-meta li {
	display: flex;
	align-items: center;
	gap: .5rem;
	color: var(--muted-foreground);
}

ul.event-meta li svg {
	color: var(--red);
}

p.event-excerpt {
	font-weight: 300;
	font-size: 1.125rem;
	line-height: 1.625;
	color: var(--black);
	opacity: 0.8;
	margin-bottom: 2rem;
}

.inner-event-content .btn-wrapper {
	display: flex;
	align-items: center;
	gap: 1rem;
}

.inner-event-content .btn-wrapper a {
	display: flex;
	align-items: center;
	gap: .5rem;
}

.inner-event-content .btn-wrapper a span {
	color: var(--white);
	text-transform: unset;
	letter-spacing: unset;
	font-weight: 500;
	font-size: 1rem;
	line-height: 1.5rem;
}

.inner-event-content .btn-wrapper a svg {
	transition: all 0.25s;
	position: relative;
	right: 0;
}

.inner-event-content .btn-wrapper a:hover svg {
	right: -.25rem;
}

.inner-event-content .btn-wrapper a.btn.secondary {
	border: 1px solid var(--border);
	color: var(--black);
	font-size: 1rem;
    line-height: 1.5rem;
	font-weight: 500;
	transition: all 0.25s;
}

.inner-event-content .btn-wrapper a.btn.secondary:hover {
	background: #00000010;
	border: 1px solid #00000050;
}

.relative-img-group {
	position: relative;
	overflow: hidden;
	aspect-ratio: 4 / 3;
}

.relative-img-group .event-date-whitebox {
	position: absolute;
	top: 1rem;
	left: 1rem;
	box-shadow: 0 0 #0000, 0 0 #0000, 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);
	text-align: center;
	padding: 1rem;
	background: var(--white);
	z-index: 20;
}

.relative-img-group .event-img-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 5;
	background-image: linear-gradient(to top, rgb(0 0 0 /.6), rgb(0 0 0 / .2), transparent);
}

.event-date-whitebox span {
	display: block;
	text-transform: unset;
	letter-spacing: unset;
	color: var(--black);
}

.event-date-whitebox span.box-date {
	font-family: var(--font);
	font-size: 1.875rem;
    line-height: 2.25rem;
}

.event-date-whitebox span.box-month {
	letter-spacing: .05em;
	font-size: .75rem;
    line-height: 1rem;
	text-transform: uppercase;
}

.relative-img-group img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.event-cards {
	display: grid;
	gap: 2rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-bottom: 3rem;
}

.event-cards article {
	border: 1px solid var(--border);
	transition: all 0.25s;
}

.event-cards article:hover {
	box-shadow: 0 0 #0000, 0 0 #0000, 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);
}

.event-card-link {
	text-decoration: none;
}

.event-card-link .relative-img-group .event-date-whitebox span.box-date {
	font-size: 1.25rem;
    line-height: 1.75rem;
}

.event-card-link .relative-img-group .event-date-whitebox span.box-month {
	font-size: 10px;
}

.inner-event {
	padding: 1.5rem;
}

.inner-event h3 {
	font-size: 1.25rem;
	line-height: 1.25;
	color: var(--black);
	margin-bottom: .75rem;
}

.inner-event p {
	font-weight: 300;
	font-size: .875rem;
	line-height: 1.25rem;
	color: var(--muted-foreground);
}

.inner-event ul.event-meta {
	gap: 1rem;
	margin-bottom: 1rem;
	font-size: .875rem;
    line-height: 1.25rem;
}

.inner-event ul.event-meta li {
    font-size: .875rem;
    line-height: 1.25rem;
	gap: .375rem;
}

.cat-term {
	position: absolute;
	bottom: 1.5rem;
	left: 1.5rem;
	font-weight: 500;
	font-size: .75rem;
    line-height: 1rem;
	padding-top: .25rem;
    padding-bottom: .25rem;
	padding-left: .75rem;
    padding-right: .75rem;
	display: inline-block;
	color: var(--white);
	background: var(--pill-bg, #00000050); /* fallback */
	z-index: 20;
	letter-spacing: unset;
	text-transform: unset;
}

.event-cards .relative-img-group .cat-term {
	left: 1rem;
	bottom: 1rem;
	font-size: 10px;
	padding-left: .5rem;
    padding-right: .5rem;
}

.center-button {
	text-align: center;
}

a.btn.secondary.flex-sec {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	gap: .5rem;
	border: 1px solid var(--border);
}

a.btn.secondary.flex-sec:hover {
	background: #00000010;
    border: 1px solid #00000050;
}

a.btn.secondary.flex-sec span {
	color: var(--black);
	text-transform: unset;
	letter-spacing: unset;
	font-size: 1rem;
    line-height: 1.5rem;
	font-weight: 500;
}

a.btn.secondary.flex-sec svg {
	color: var(--black);
	position: relative;
	right: 0;
	transition: all .3s;
}

a.btn.secondary.flex-sec:hover svg {
	right: -.25rem;
}

section.booking-module {
	padding-top: 10rem;
	padding-bottom: 10rem;
	overflow: hidden;
	position: relative;
}

section.wedding-intro {
	padding-top: 8rem;
	padding-bottom: 8rem;
}

.flex-wedding-intro {
	display: grid;
	gap: 5rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: center;
}

.image-wedding-wrapper {
	aspect-ratio: 4 / 3;
}

.image-wedding-wrapper img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.text-wedding-wrapper h2 {
	font-size: 3rem;
	line-height: 1;
	font-weight: 300;
	margin-bottom: 1.5rem;
}

.text-wedding-wrapper p {
	margin-bottom: 2rem;
	font-size: 1.125rem;
	font-weight: 300;
	line-height: 1.625;
	color: var(--muted-foreground)
}

ul.wedding-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: .75rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

ul.wedding-list li {
	display: flex;
	align-items: center;
	gap: .75rem;
	font-size: .875rem;
    line-height: 1.25rem;
	color: #000000cc;
}

ul.wedding-list li svg {
	color: var(--red);
	flex-shrink: 0;
	width: 18px;
	height: 18px;
}

.booking-module .absolute-container {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}

.absolute-container img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 10;
}

.absolute-container .overlay {
	background-image: linear-gradient(to bottom, rgb(0 0 0 / .7), rgb(0 0 0 / .6), rgb(0 0 0 / .7));
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 20;
}

.booking-module .relative-container {
	position: relative;
	padding-left: 2rem;
	padding-right: 2rem;
	max-width: 72rem;
	margin-left: auto;
	margin-right: auto;
	z-index: 30;
	text-align: center;
}

.booking-module .relative-container span {
	color: #fff9;
	display: block;
	margin-bottom: 1rem;
}

.booking-module .relative-container h2 {
	color: var(--white);
	font-size: 3rem;
	line-height: 1;
	margin-bottom: 1rem;
}

.booking-module .relative-container p {
	max-width: 42rem;
	color: #fffc;
	margin-left: auto;
	margin-right: auto;
}

.relative-container .booking-container {
	margin-top: 2.5rem;
	padding: 1.25rem;
	opacity: 1;
	transform: none;
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	background-color: #ffffff1a;
	border: 1px solid #fff3;
	border-radius: 0;
	width: 100%;
}

.flex-booking {
	display: flex;
	gap: .5rem;
	align-items: center;
	flex-direction: row;
}

.flex-booking .flex-1 {
	flex: 1 1 0%;
	min-width: 0px;
}

.flex-booking .hidden-flex {
	display: block;
	background-color: #fff3;
	width: 1px;
	height: 2.5rem;
}

.flex-actions {
	padding-left: 1rem;
	display: flex;
	gap: 1rem;
	align-items: center;
}

.flex-1 button.booking {
	display: flex;
	padding-top: .75rem;
	padding-bottom: .75rem;
	text-align: left;
	padding-left: 1rem;
	padding-right: 1rem;
	gap: .75rem;
	height: auto;
	align-items: center;
	background: transparent;
	border: none;
	width: 100%;
	justify-content: flex-start;
	transition: all .3s;
}

.flex-1 .guests-booking {
	display: flex;
	padding-top: .75rem;
	padding-bottom: .75rem;
	text-align: left;
	padding-left: 1rem;
	padding-right: 1rem;
	gap: .75rem;
	height: auto;
	align-items: center;
	background: transparent;
	border: none;
	width: 100%;
	justify-content: flex-start;
	transition: all .3s;
}

section.booking-module + section.text-section-center {
	margin-bottom: 0;
	padding-bottom: 5rem;
}

section.booking-module + section.text-section-center,
section.booking-module + section.text-section-center + section.event-block {
	background: #e7e2da4d;
} 

section.book-conference {
	background: #e7e2da4d;
	padding-top: 8rem;
	padding-bottom: 8rem;
}

.flex-1 button.booking.start-date-booking:hover,
.flex-1 button.booking.end-date-booking:hover {
	background: #ffffff1a;
}

.flex-1 button.booking.guests-booking:hover {
	cursor: default;
}

.flex-1 .icon-wrapper {
	background: #ffffff1a;
	border-radius: 99999px;
	justify-content: center;
	align-items: center;
	display: flex;
	flex-shrink: 0;
	width: 2.25rem;
	height: 2.25rem;
}

.flex-1 .icon-wrapper svg {
	width: 1rem;
	height: 1rem;
}

.flex-1 .text-wrapper {
	display: flex;
	flex-direction: column;
}

.flex-1 .text-wrapper p.input-label {
	color: #ffffff80;
	text-transform: uppercase;
	margin: unset;
	letter-spacing: .15em;
	margin-bottom: .125rem;
	font-size: 10px;
	max-width: 100%;
}

.flex-1 .text-wrapper p.date-label {
	color: var(--white);
	font-size: 1rem;
	line-height: 1.5rem;
	font-family: var(--font);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	margin-bottom: 0;
}

.flex-1 .guest-wrapper {
	display: flex;
	gap: .75rem;
	align-items: center;
}

.flex-1 .guest-wrapper .qty {
	border: 1px solid #ffffff4d;
	border-radius: 99999px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 1.75rem;
	height: 1.75rem;
	background: transparent;
	transition: all .3s;
	padding: unset;
}

.flex-1 .guest-wrapper .qty:hover {
	background: #ffffff1a;
	cursor: pointer;
}

.flex-1 .guest-wrapper .qty svg {
	width: .875rem;
	height: .875rem;
}

.flex-1 .guest-wrapper span.final-qty {
	margin-bottom: 0;
	color: var(--white);
	font-size: 1rem;
	line-height: 1.5;
	font-family: var(--font);
	min-width: 2ch;
	text-align: center;
}

.flex-1 .guest-wrapper span.qty-details {
	margin-bottom: 0;
	font-size: .875rem;
    line-height: 1.25rem;
	color: #ffffff80;
	display: inline;
	text-transform: unset;
	letter-spacing: unset;
}

.flex-actions button.btn.book {
	color: var(--white);
	letter-spacing: .05em;
	font-weight: 500;
	font-size: 13px;
	padding-left: 1.5rem;
    padding-right: 1.5rem;
	background: transparent;
	transition: all 0.3s;
	border: 1px solid var(--white);
}

.flex-actions button.btn.book:hover {
	color: var(--black);
	background: var(--white);
}

a.inline-book {
	display: flex;
	color: #fff9;
	font-size: 13px;
	gap: .5rem;
	align-items: center;
	white-space: nowrap;
	text-decoration: none;
	transition: all 0.25s;
}

a.inline-book:hover {
	color: var(--white);
}

.booking-module .relative-container a.inline-book span {
	font-size: inherit;
	letter-spacing: unset;
	text-transform: unset;
	margin-bottom: 0;
	transition: all 0.25s;
}

.booking-module .relative-container a.inline-book:hover span {
	color: var(--white);
}

.booking-module .relative-container a.inline-book svg {
	width: 1rem;
	height: 1rem;
}



.dp-overlay{
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.35);
  z-index: 9998;
}

.dp-popup{
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 320px;
  background: #fff;
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 10px;
  box-shadow: 0 10px 30px rgba(0,0,0,.2);
  padding: 14px;
  z-index: 9999;
  color: #111;
}

.dp-header{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding-bottom: 10px;
}

.dp-title{
  font-weight: 600;
  font-size: 18px;
}

.dp-nav{
  border: 0;
  background: transparent;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
  padding: 6px 10px;
  border-radius: 8px;
}
.dp-nav:hover{ background: rgba(0,0,0,.06); }

.dp-weekdays{
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  font-size: 12px;
  color: rgba(0,0,0,.55);
  text-align: center;
  padding: 6px 0 10px;
}

.dp-grid{
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 6px;
}

.dp-day{
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 8px;            /* square-ish */
  cursor: pointer;
  user-select: none;
  border: 1px solid transparent;
}

.dp-day:hover{
  background: #ab635850;
}

.dp-day.is-out{
  color: rgba(0,0,0,.25);
}

.dp-day.is-disabled{
  color: rgba(0,0,0,.25);
  cursor: not-allowed;
  background: rgba(0,0,0,.03);
}

.dp-day.is-selected{
  background: var(--red);
  color: #fff;
  border-color: var(--red);
}

.dp-weekdays span {
	text-transform: unset;
	letter-spacing: unset;
	color: var(--black) !important;
	margin-bottom: 0;
}

.timeline-flex {
	display: grid;
	gap: 5rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: center;
}

.timeline-media {
	position: relative;
}

.timeline-media__main {
	position: relative;
	aspect-ratio: 4 / 5;
	overflow: hidden;
}

.timeline-media__main img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.timeline-media__overlay {
	position: absolute;
	right: -3rem;
	width: 14rem;
	border: 4px solid var(--white);
	aspect-ratio: 1 / 1;
	bottom: -2rem;
	overflow: hidden;
	box-shadow: 0 0 #0000, 0 0 #0000, 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);
}

.timeline-media__overlay img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.timeline-content__label span {
	color: var(--red);
	display: block;
	margin-bottom: 1rem;
	font-size: .75rem;
	line-height: 1rem;
	text-transform: uppercase;
	letter-spacing: .3em;
}

h2.timeline-content__title {
	font-size: 3rem;
	line-height: 1;
	color: var(--black);
	margin-bottom: 1.5rem;
	font-weight: 300;
}

.timeline-content__text p {
	margin-bottom: 1rem;
	font-weight: 300;
    line-height: 1.625;
	font-size: 1rem;
	color: #000000b3;
}

.timeline-content__text p:last-child {
	margin-bottom: 2rem;
}

.timeline-list {
	list-style: none;
	margin: 0;
	margin-bottom: 2rem;
	padding-left: 1.5rem;
	border-left: 2px solid #aa625a4d;
}

.timeline-list li {
	position: relative;
}

.timeline-list li:not(:first-child) {
	margin-top: 1rem;
}

.timeline-list__dot {
	position: absolute;
	background: var(--red);
	width: .75rem;
	height: .75rem;
	top: .25rem;
	left: -1.85rem;
	border-radius: 99999px;
}

.timeline-list__year {
	color: var(--red);
	font-weight: 600;
	font-size: .875rem;
    line-height: 1.25rem;
}

.timeline-list__desc {
	color: #000000cc;
	font-size: .875rem;
    line-height: 1.25rem;
}

a.btn.timeline-btn {
	border: 1px solid #00000033;
	display: inline-flex;
	gap: .5rem;
}

a.btn.timeline-btn:hover {
	border: 1px solid #00000066;
	background: #0000000d;
}

a.btn.timeline-btn span {
	font-size: 1rem;
    line-height: 1.5rem;
	color: var(--black);
	text-transform: unset;
	letter-spacing: unset;
}

a.btn.timeline-btn .timeline-btn__arrow {
	position: relative;
	right: 0;
	transition: all 0.3s;
}

a.btn.timeline-btn:hover .timeline-btn__arrow {
	right: -.25rem;
}

button#headerBook.btn.main {
	letter-spacing: .05em;
	font-weight: 500;
	font-size: 13px;
	padding-top: .5rem;
	padding-bottom: .5rem;
	padding-left: 1.5rem;
	padding-right: 1.5rem;
	display: flex;
	gap: .5rem;
	align-items: center;
	height: auto;
}

button#headerBook.btn.main svg {
	width: 1rem;
    height: 1rem;
}

.header-btn-wrapper {
	position: relative;
}

#headerBtnContent {
	visibility: hidden;
	top: 140%;
	opacity: 0;
	transition: all 0.25s;
	background: var(--white);
	position: absolute;
	z-index: 9999;
	right: 0;
	border: 1px solid var(--border);
	min-width: 220px;
	overflow: hidden;
	box-shadow: 0 0 #0000, 0 0 #0000, 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);
	padding: .25rem;
}

#headerBtnContent a {
	outline: 2px solid transparent;
    outline-offset: 2px;
	padding-top: .75rem;
    padding-bottom: .75rem;
	padding-left: 1rem;
    padding-right: 1rem;
	display: flex;
	align-items: center;
	gap: .75rem;
	text-decoration: none;
	transition: all .3s;
}

#headerBtnContent a:hover {
	background: #e9e7e280;
}

#headerBtnContent a svg {
	width: 1rem;
	height: 1rem;
	color: #00000080;
}

#headerBtnContent a span {
	font-size: .875rem;
    line-height: 1.25rem;
	letter-spacing: unset;
	color: var(--black);
	text-transform: unset;
}

#headerBtnContent.active {
	visibility: visible;
	opacity: 1;
	top: 120%;
}

#headerChev {
	transition: all 0.25s;
}

#headerChev.active {
	transform: rotate(180deg);
}

ul.news-filter {
	display: flex;
	gap: .75rem;
	justify-content: center;
	align-items: center;
	margin: 0;
	padding: 0;
	margin-bottom: 3rem;
	list-style: none;
}

ul.news-filter li a {
	font-size: .875rem;
    line-height: 1.25rem;
	color: var(--black);
	font-weight: 500;
	padding: .5rem 1rem;
	border: 1px solid var(--border);
	text-decoration: none;
	display: flex;
	align-items: center;
	gap: .5rem;
	transition: all 0.25s;
}

ul.news-filter li a.current {
	background: var(--black);
	color: var(--white);
}

ul.news-filter li a:hover {
	background: var(--black);
	color: var(--white);
}

.news-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 2.5rem;
}

.news-grid .image-wrapper {
	position: relative;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	margin-bottom: 1rem;
}

.news-grid a {
	text-decoration: none;
}

.news-grid .image-wrapper img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: all .3s;
}

.news-grid a:hover .image-wrapper img {
	transform: scale(1.05);
}

.news-grid .date {
	display: flex;
	align-items: center;
	gap: .5rem;
	margin-bottom: .5rem;
}

.news-grid .date time {
	font-size: .875rem;
    line-height: 1.25rem;
	color: var(--muted-foreground);
	letter-spacing: unset;
	text-transform: unset;
}

.news-grid .date svg {
	color: var(--muted-foreground);
	width: 14px;
	height: 14px;
}

.news-grid .content-wrapper h3 {
	font-size: 1.5rem;
	line-height: 2rem;
	color: var(--black);
	transition: all 0.25s;
	margin-bottom: .5rem;
}

.news-grid a:hover h3 {
	color: var(--red);
}

.news-grid span.inline-link-article {
	color: var(--black);
	text-transform: unset;
	letter-spacing: unset;
	display: flex;
	align-items: center;
	gap: .5rem;
	font-size: .875rem;
    line-height: 1.25rem;
	font-weight: 500;
	transition: all .25s;
}

.news-grid a:hover span.inline-link-article {
	color: var(--red);
}

.news-grid a span.inline-link-article svg {
	position: relative;
	right: 0;
	transition: all 0.25s;
}

.news-grid a:hover span.inline-link-article svg {
	right: -.25rem;
}

.news-grid .image-overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-image: linear-gradient(to top, rgb(0 0 0 /.6), rgb(0 0 0 / .2), transparent);
	z-index: 10;
}

.news-grid .category-pill {
	position: absolute;
	top: 1rem;
	left: 1rem;
	letter-spacing: .05em;
	font-weight: 500;
	text-transform: uppercase;
	color: var(--white);
	font-size: 0.75rem;
    line-height: 1rem;
	padding: .25rem .75rem;
	background: var(--pill-bg, #44403c); /* fallback */
}

.news-pagination .page-numbers {
	list-style: none;
	margin: 5rem 0 0 0;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .5rem;
}
.news-pagination .page-numbers .page-numbers.current { /* current */ }

.news-pagination .page-numbers li a.page-numbers,
.news-pagination .page-numbers li span.page-numbers {
	margin-top: 0;
	padding: .25rem .75rem;
	border: 1px solid var(--border);
	background: transparent;
	color: var(--black);
	text-decoration: none;
	font-size: .875rem;
	line-height: 1.5;
	font-weight: 500;
	transition: all 0.25s;
}

.news-pagination .page-numbers li a.page-numbers:hover,
.news-pagination .page-numbers li span.page-numbers:hover {
	background: var(--black);
	color: var(--white);
}

.news-pagination .page-numbers li span.page-numbers.current {
	background: var(--black);
	color: var(--white);
}

.venue-section {
	padding-top: 8rem;
	padding-bottom: 8rem;
	background: #e9e7e24d;
}

.venue-section .text-label,
.book-venue-section .text-label,
.book-conference .text-label,
.book-areas .text-label {
	margin-bottom: 1rem;
	display: block;
	color: var(--red);
	font-size: .75rem;
    line-height: 1rem;
    text-transform: uppercase;
    letter-spacing: .3em;
}

.venue-section h2,
.book-venue-section h2,
.book-conference h2,
.book-areas h2 {
	font-size: 2.25rem;
	line-height: 2.5rem;
	margin-bottom: 1rem;
	font-weight: 300;
}

.book-areas .title-wrapper {
	text-align: center;
}

.venue-section p,
.book-venue-section p,
.book-conference p,
.book-areas p {
	max-width: 42rem;
	margin-left: auto;
    margin-right: auto;
	font-weight: 300;
    line-height: 1.625;
	font-size: 1.125rem;
	color: #000000cc;
}

.book-areas .text-wedding-wrapper h2 {
	font-size: 3rem;
	line-height: 1;
}

.book-areas .text-wedding-wrapper span {
	display: block;
	margin-bottom: 1rem;
}

.book-venue-section p,
.book-conference p {
	max-width: 48rem;
}

.venues-grid {
	display: grid;
	gap: 2rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 4rem;
	max-width: 72rem;
	margin-left: auto;
	margin-right: auto;
}

.venues-grid article {
	background: #f7f6f2;
	border: 1px solid var(--border);
	transition: all 0.25s;
}

.venues-grid article:hover {
	border: 1px solid var(--red);
}

.venue-image-wrapper {
	aspect-ratio: 4 / 3;
	overflow: hidden;
}

.venue-image-wrapper img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: all 0.3s;
}

.venues-grid article:hover img {
	transform: scale(1.05);
}

.venue-title-wrapper {
	padding-bottom: .75rem;
	padding: 1.5rem;
	display: flex;
	flex-direction: column;
}

.venue-title-wrapper h3 {
	letter-spacing: -.025em;
	font-weight: 600;
	font-size: 1.125rem;
    line-height: 1.75rem;
	margin-bottom: 0;
}

.venue-info {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: 1rem;
	margin-top: .375rem;
}

.venue-info li {
	display: flex;
	gap: .375rem;
	align-items: center;
	color: var(--muted-foreground);
	font-size: .875rem;
    line-height: 1.25rem;
}

.venue-info li svg {
	color: var(--red);
	width: 1rem;
	height: 1rem;
}

.venue-desc-wrapper {
	padding: 1.5rem;
	padding-top: 0;
	color: var(--muted-foreground);
	font-size: .875rem;
    line-height: 1.25rem;
}

.wedding-excerpt-wrapper {
	margin-bottom: .75rem;
}

.venue-tags {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
}

.venue-tags li {
	font-size: .75rem;
    line-height: 1rem;
}

.venue-tags li:last-child .divider-dot {
	display: none;
}

.wedding-booker {
	margin-top: 4rem;
	margin-bottom: 4rem;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 3rem;
	align-items: flex-start;
	max-width: 56rem;
	margin-left: auto;
	margin-right: auto;
}

.wedding-booker-wrapper {
	grid-column: span 2 / span 2;
	align-items: center;
	flex-direction: column;
	display: flex;
}

.wedding-booker-title {
	display: flex;
	gap: .75rem;
	align-items: center;
}

.wedding-booker-title svg {
	width: 1.25rem;
	height: 1.25rem;
	color: var(--red);
}

.wedding-booker-title h3 {
	font-size: 1.5rem;
	line-height: 2rem;
	margin: 0;
}

.wedding-calendar {
	max-width: 56rem;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 1.5rem;
}

.calendar-wrapper {
	padding: 2rem;
	border: 1px solid var(--border);
	background: #f7f6f2;
}

.month-wrapper {
	display: flex;
	flex-direction: row;
	gap: 3rem;
}

.month {
	flex: 1 1 0%;
}

.month-title {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 2.5rem;
	padding-top: .25rem;
}

.month-header {
	text-transform: capitalize;
	font-weight: 600;
	font-size: 1.125rem;
    line-height: 1.75rem;
	font-family: var(--text-font);
}

.calendar-header,
.calendar-table {
	border-collapse: collapse;
	width: 100%;
}

.calendar-header thead tr,
.calendar-table thead tr {
	display: flex;
	justify-content: space-between;
}

.calendar-header thead tr th,
.calendar-table thead tr th {
	color: var(--muted-foreground);
	font-weight: 500;
	font-size: .875rem;
    line-height: 1.25rem;
	text-align: center;
	padding-top: .5rem;
    padding-bottom: .5rem;
	flex: 1 1 0%;
}

.calendar-header tbody tr,
.calendar-table tbody tr {
	display: flex;
	justify-content: space-between;
	margin-top: .25rem;
	width: 100%;
}

.calendar-header tbody tr td,
.calendar-table tbody tr td {
	font-size: .875rem;
    line-height: 1.25rem;
	text-align: center;
	padding: .125rem;
	flex: 1 1 0%;
	aspect-ratio: 1 / 1;
	position: relative;
}

.calendar-header tbody tr td button,
.calendar-table tbody tr td button {
	height: unset;
	padding: unset;
	text-transform: unset;
	border: unset;
}

.calendar-header tbody tr td span,
.calendar-header tbody tr td button,
.calendar-table tbody tr td span,
.calendar-table tbody tr td button {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
}

.cal-day.is-past { opacity: .35; }
.cal-day.is-selected .day-btn { background: var(--red); color: #fff; }
.day-btn { width: 100%; height: 40px; border: 0; background: transparent; border-radius: 6px; }
.is-empty { background: transparent; }

.day-btn {
	transition: all .3s;
}

.day-btn:hover {
	background: #ab635850;
}

p.chosen-date {
	padding-top: .5rem;
    padding-bottom: .5rem;
	text-align: center;
	margin-top: 1.5rem;
}

p.chosen-date span {
	font-weight: 500;
	letter-spacing: unset;
	color: var(--muted-foreground);
	text-transform: unset;
    line-height: 1.625;
	font-size: 1rem;
}

p.chosen-date span#chosenDate {
	font-weight: 300;
}

.month-wrapper { position: relative; }
.month.is-active { display: block; }

/* optional */
.calendar-nav { margin-left: auto; display:flex; gap:.5rem; }
.cal-nav[disabled] { opacity: .4; cursor: not-allowed; }

.calendar-wrapper {
	position: relative;
}

.cal-nav {
	position: absolute;
	top: 2rem;
	z-index: 20;
	background: var(--white);
	border: 1px solid var(--border);
	padding: .875rem;
	height: unset;
}

.cal-nav.prev {
	left: 0%;
	transform: translateX(-50%);

}

.cal-nav.next {
	right: 0%;
	transform: translate(50%);
}

.flex-options {
	display: flex;
	flex-direction: column;
	max-width: 36rem;
	margin-left: auto;
	margin-right: auto;
	gap: 15px;
	margin-top: 2rem;
}

.flex-options .option {
	background: #f7f6f2;
	border: 1px solid var(--border);
	padding: 1.25rem;
	display: flex;
	align-items: center;
	gap: .5rem;
}

.option svg {
	color: var(--red);
	width: 1.25rem;
	height: 1.25rem;
}

.option span {
	color: var(--black);
	text-transform: unset;
	letter-spacing: unset;
	font-size: 1.125rem;
    line-height: 1.75rem;
	font-weight: 500;
}

.chosen-square {
	width: 1rem;
	height: 1rem;
	border: 1px solid var(--red);
	margin-left: auto;
}

.option.fake-checkbox {
	transition: all 0.25s;
}

.option.fake-checkbox.active {
	border: 1px solid var(--red);
}

.option.fake-checkbox.active .chosen-square {
	background: var(--red);
	outline: 2px solid var(--red);
	outline-offset: 2px;
}

.option.fake-checkbox .chosen-square svg {
	display: none;
	color: var(--white);
	width: .9rem;
    height: .9rem;
}

.option.fake-checkbox.active .chosen-square svg {
	display: block;
}

.option.fake-checkbox:hover {
	border: 1px solid #ab635850;
	cursor: pointer;
	box-shadow: 0 0 #0000, 0 0 #0000, 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);
}

.wedding-calendar .action-btn {
	margin-top: 4rem;
	text-align: center;	
}

.option .title-area {
	display: flex;
	align-items: center;
	gap: .5rem;
	width: 100%;
}

.dropdown-wrapper {
	margin-left: auto;
	position: relative;
}

#fakeOptions,
.fake-dropdown-options {
	position: absolute;
	top: 130%;
	transition: all .25s;
	padding: .25rem;
	background: var(--white);
	border: 1px solid var(--border);
	right: 0;
	opacity: 0;
	visibility: hidden;
	height: 0;
	overflow: hidden;
}

.fake-dropdown-options.topside {
	top: 30%;
	transform: translateY(-110%);
}

.fake-dropdown-options.active.topside {
	top: 20%;
}

#fakeOptions.active,
.fake-dropdown-options.active {
	top: 120%;
	opacity: 1;
	visibility: visible;
	height: auto;
	overflow: auto;
}

.dropdown-sidebar .fake-dropdown-options.active {
	overflow: auto;
    max-height: 214px;
	z-index: 20;
}

.dropdown-sidebar .fake-dropdown-options {
	width: 100%;
}

.dropdown-sidebar .fake-dropdown-options span {
	letter-spacing: unset;
	text-transform: unset;
	color: var(--black);
}

.fake-dropdown {
	outline: 2px transparent;
	outline-offset: 2px;
	transition: all 0.25s;
	font-size: .875rem;
    line-height: 1.25rem;
	padding: .5rem .75rem;
	background: #e9e7e280;
	display: flex;
	align-items: center;
	width: auto;
	gap: .5rem;
	font-family: var(--text-font);
	border: 1px solid var(--border);
}

.fake-dropdown:hover {
	cursor: pointer;
}

.fake-dropdown svg {
	color: var(--black);
	transition: all 0.25s;
}

.fake-dropdown.active svg {
	transform: rotate(180deg);
}

.fake-dropdown.active {
	outline: 2px solid var(--red);
}

.option-drop {
    padding-right: .5rem;
	padding-left: 2rem;
	padding-top: .375rem;
    padding-bottom: .375rem;
	display: flex;
	align-items: center;
	width: 100%;
	position: relative;
	transition: all .25s;
	white-space: nowrap;
}

.option-drop span {
	font-size: .875rem;
    line-height: 1.25rem;
	transition: all .25s;
	white-space: nowrap;
}

.checkmark-holder {
	display: flex;
	position: absolute;
	justify-content: center;
	align-items: center;
	width: .875rem;
	height: .875rem;
	left: .5rem;
}

.checkmark-holder svg {
	color: var(--white);
	display: none;
}

.option-drop.selected .checkmark-holder svg {
	display: block;
}

.option-drop:hover {
	background: var(--red);
	color: var(--white);
	cursor: pointer;
}

.option-drop.selected {
	background: var(--red);
	color: var(--white);
}

.option-drop.selected span {
	color: var(--white);
}

.option-drop:hover span {
	color: var(--white);
}

.book-venue-section p.booking-warning{
  margin: 4rem auto 0 auto;
  padding: 1rem 2rem;
  border: 1px solid var(--red);
  background: #ab635835;
  border-radius: 0;
  max-width: 36rem;
}

.wedding-booker-form {
	max-width: 42rem;
	margin-left: auto;
	margin-right: auto;
	width: 100%;
    grid-column: span 2 / span 2;
    align-items: center;
}

#nf-form-2-cont .nf-field-label label,
#nf-form-3-cont .nf-field-label label,
#nf-form-4-cont .nf-field-label label {
	line-height: 1;
	font-weight: 500;
	font-size: .875rem;
	color: var(--black);
	letter-spacing: unset;
	font-family: var(--text-font);
}

#nf-form-3-cont {
	margin-top: 1.5rem;
}

#nf-form-2-cont input[type="email"],
#nf-form-2-cont input[type="tel"],
#nf-form-2-cont input[type="text"],
#nf-form-3-cont input[type="email"],
#nf-form-3-cont input[type="tel"],
#nf-form-3-cont input[type="text"],
#nf-form-4-cont input[type="email"],
#nf-form-4-cont input[type="tel"],
#nf-form-4-cont input[type="text"] {
	margin-top: .5rem !important;
	margin-bottom: .5rem !important;
	font-size: .875rem !important;
	line-height: 1.25rem !important;
	padding-top: .5rem !important;
    padding-bottom: .5rem !important;
	padding-left: .75rem !important;
    padding-right: .75rem !important;
	background: #e9e7e280 !important;
	border: 1px solid var(--border) !important;
	color: var(--black);
	font-family: var(--text-font);
}

#nf-form-2-cont input[type="email"]::placeholder,
#nf-form-2-cont input[type="tel"]::placeholder,
#nf-form-2-cont input[type="text"]::placeholder,
#nf-form-3-cont input[type="email"]::placeholder,
#nf-form-3-cont input[type="tel"]::placeholder,
#nf-form-3-cont input[type="text"]::placeholder,
#nf-form-4-cont input[type="email"]::placeholder,
#nf-form-4-cont input[type="tel"]::placeholder,
#nf-form-4-cont input[type="text"]::placeholder  {
	color: var(--muted-foreground) !important;
}

#nf-form-2-cont .nf-field-label,
#nf-form-3-cont .nf-field-label,
#nf-form-4-cont .nf-field-label {
	margin-bottom: 0 !important;
}

#nf-form-2-cont textarea,
#nf-form-3-cont textarea,
#nf-form-4-cont textarea  {
	margin-top: .5rem !important;
	margin-bottom: .5rem !important;
	font-size: .875rem !important;
	line-height: 1.25rem !important;
	padding-top: .5rem !important;
    padding-bottom: .5rem !important;
	padding-left: .75rem !important;
    padding-right: .75rem !important;
	background: #e9e7e280 !important;
	border: 1px solid var(--border) !important;
	color: var(--black);
	font-family: var(--text-font);
	height: 120px !important;
}

#nf-form-2-cont textarea::placeholder,
#nf-form-3-cont textarea::placeholder,
#nf-form-4-cont textarea::placeholder {
	color: var(--muted-foreground) !important;
}

#nf-field-11,
#nf-field-38 {
	display: block !important;
	width: 100% !important;
	background: var(--red) !important;
	color: var(--white) !important;
	font-weight: 500 !important;
	font-size: 1rem !important;
    line-height: 1.5rem !important;
	padding-left: 2rem !important;
    padding-right: 2rem !important;
	height: 3rem !important;
	border: 1px solid var(--red) !important;
	transition: all .25s !important;
}

#nf-field-11:hover,
#nf-field-38:hover {
	cursor: pointer !important;
	background: #9a5850 !important;
	border: 1px solid #9a5850 !important;
}

.book-venue-section p.form-copy,
.book-conference p.form-copy {
	font-size: .875rem;
    line-height: 1.25rem;
    font-weight: 300;
	color: var(--muted-foreground);
	text-align: center;
}

button#backToForm {
	color: var(--muted-foreground);
	font-weight: 500;
	font-size: .875rem;
    line-height: 1.25rem;
	font-family: var(--muted-foreground);
	padding-top: .5rem;
    padding-bottom: .5rem;
	padding-left: 1rem;
    padding-right: 1rem;
	display: flex;
	gap: .5rem;
	justify-content: center;
	align-items: center;
	height: 2.5rem;
	margin-bottom: 2rem;
	background: transparent;
	border: none;
	transition: all .25s;
	letter-spacing: 0;
}

button#backToForm:hover {
	background: #0000000d;
	color: var(--black);
}

.your-request {
	background: #e9e7e24d;
	border: 1px solid var(--border);
	margin-bottom: 2rem;
	box-shadow: 0 0 #0000, 0 0 #0000, 0 1px 2px 0 rgb(0 0 0 / .05);
}

.request-title {
	padding: 1.5rem;
	display: flex;
	flex-direction: column;	
}

.request-title h3 {
	letter-spacing: -.025em;
	line-height: 1;
	font-weight: 600;
	font-size: 1.5rem;
	margin-bottom: 0;
}

.request-content {
	padding: 1.5rem;
	padding-top: 0;
}

.book-venue-section .request-content p {
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.625;
	color: var(--muted-foreground);
	margin-bottom: 0;
}

.book-venue-section .request-content p:not(:first-child) {
	margin-top: .5rem;
}

.book-venue-section .request-content p span,
.book-conference .request-content p span {
	color: var(--muted-foreground);
	letter-spacing: unset;
	font-size: inherit;
	text-transform: unset;
	font-weight: 300;
}

#nf-form-2-cont .nf-response-msg,
#nf-form-4-cont .nf-response-msg {
	text-align: center;
}

.conference-booking-wrapper,
.accommodation-booking-wrapper {
	max-width: 56rem;
	margin-left: auto;
	margin-right: auto;
}

.accommodation-booking-wrapper {
	max-width: 1400px;
}

.button-conference-wrapper,
.button-accommodation-wrapper {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
	margin-bottom: 3rem;
	position: relative;
}

.button-accommodation-wrapper {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-bottom: 0;
}

.button-conference-wrapper button.custom-booking-btn,
.button-accommodation-wrapper button.custom-booking-btn {
	text-align: left;
	padding: 1.5rem;
	border: 1px solid var(--border);
	background: var(--white);
	position: relative;
	text-transform: unset;
	letter-spacing: unset;
	height: unset;
	top: 0;
	transition: all .5s;
	transition-timing-function: cubic-bezier(.4, 0, .2, 1);
}

.button-accommodation-wrapper button.custom-booking-btn {
	background: transparent;
}

.button-conference-wrapper button.custom-booking-btn:hover,
.button-accommodation-wrapper button.custom-booking-btn:hover {
	top: -2px;
}

.button-conference-wrapper button.custom-booking-btn .btn-flexgroup,
.button-accommodation-wrapper button.custom-booking-btn .btn-flexgroup {
	display: flex;
	gap: 1rem;
	align-items: flex-start;
}

.button-accommodation-wrapper button.custom-booking-btn .btn-flexgroup {
	width: 100%;
}

.button-conference-wrapper button.custom-booking-btn .btn-flexgroup .svg-round-holder,
.button-accommodation-wrapper button.custom-booking-btn .btn-flexgroup .svg-round-holder {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 3rem;
	height: 3rem;
	border-radius: 9999px;
	flex-shrink: 0;
	background:#0000000d;
	transition: all .25s;
}

.button-conference-wrapper button.custom-booking-btn:hover .btn-flexgroup .svg-round-holder,
.button-accommodation-wrapper button.custom-booking-btn:hover .btn-flexgroup .svg-round-holder {
	background: #0000001a;
}

.btn-text-holder {
	flex: 1 1 0%;
	min-width: 0px;
}

.btn-text-holder h3 {
	font-size: 1.125rem;
    line-height: 1.75rem;
	margin-bottom: .25rem;
}

.btn-text-holder p {
	font-size: .875rem;
    line-height: 1.25rem;
	margin: 0;
	font-weight: 300;
	color: var(--muted-foreground)
}

.arrow-wrapper svg {
	transition: all 0.25s;
	position: relative;
	right: 0;
	opacity: 0.5;
	width: 1rem;
	height: 1rem;
}

.button-conference-wrapper button.custom-booking-btn:hover .arrow-wrapper svg,
.button-accommodation-wrapper button.custom-booking-btn:hover .arrow-wrapper svg {
	opacity: 1;
	right: -.25rem;
}

.button-conference-wrapper button.custom-booking-btn.active-custom-btn,
.button-accommodation-wrapper button.custom-booking-btn.active-custom-btn {
	border: 1px solid var(--red);
	background: #aa625a0d;
}

.button-conference-wrapper button.custom-booking-btn.active-custom-btn .arrow-wrapper svg,
.button-accommodation-wrapper button.custom-booking-btn.active-custom-btn .arrow-wrapper svg {
	color: var(--red);
}

.button-conference-wrapper button.custom-booking-btn.active-custom-btn .btn-flexgroup .svg-round-holder,
.button-accommodation-wrapper button.custom-booking-btn.active-custom-btn .btn-flexgroup .svg-round-holder {
	background: var(--red);
}

.button-conference-wrapper button.custom-booking-btn.active-custom-btn .btn-flexgroup .svg-round-holder svg,
.button-accommodation-wrapper button.custom-booking-btn.active-custom-btn .btn-flexgroup .svg-round-holder svg {
	color: var(--white);
}

.button-line-transformer {
	position: absolute;
	height: .2rem;
	background: var(--red);
	width: calc(50% - .5rem);
	bottom: 0;
	transition: all 0.25s;
}

.button-line-transformer.live-line {
	width: calc(33.3333% - .7rem);
}

.button-line-transformer {
	left: 0;
}

.button-line-transformer.right {
	left: calc(50% + .5rem);
}

.button-line-transformer.live-line.left {
	left: 0;
}

.button-line-transformer.live-line.mid {
	left: 50%;
	transform: translateX(-50%);
}

.button-line-transformer.live-line.right {
	left: 100%;
	transform: translatex(-100%);
}

#conferenceBookWrapper,
#meetingRoomBookWrapper,
#hotelBookWrapper,
#tableBookWrapper,
#menuBookWrapper {
	transition: top .3s;
	position: relative;
	top: 0;
	visibility: visible;
	opacity: 1;
	height: auto;
}

#conferenceBookWrapper.hidden,
#meetingRoomBookWrapper.hidden,
#hotelBookWrapper.hidden,
#tableBookWrapper.hidden,
#menuBookWrapper.hidden {
	top: .75rem;
	opacity: 0;
	visibility: hidden;
	height: 0;
	overflow: hidden;
}

.meeting-grid {
	margin-top: 4rem;
	margin-bottom: 4rem;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.5rem;
	max-width: 57rem;
	margin-left: auto;
	margin-right: auto;
}

.meeting-grid article.room {
	background: #f7f6f2;
	border: 1px solid var(--border);
	display: flex;
	flex-direction: column;
	height: 100%;
	box-shadow: 0 0 #0000, 0 0 #0000, 0 1px 2px 0 rgb(0 0 0 / .05);
	text-align: left;
}

.room-header {
	padding: 1.5rem;
	padding-bottom: .75rem;
	display: flex;
	flex-direction: column;
}

.room-header h3 {
	color: var(--black);
	letter-spacing: -.025em;
	font-weight: 600;
	font-size: 1.125rem;
    line-height: 1.75rem;
	margin: 0;
}

ul.room-info {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 1rem;
	margin: 0;
	padding: 0;
}

ul.room-info li {
	font-size: .875rem;
    line-height: 1.25rem;
	color: var(--muted-foreground);
	display: flex;
	align-items: center;
	gap: .375rem;
}

ul.room-info li svg {
	color: var(--red);
	width: 1rem;
	height: 1rem;
}

.room-content {
	padding: 1.5rem;
	padding-top: 0;
	display: flex;
	flex-direction: column;
	flex: 1 1 0%;
}

.room-content p {
	color: var(--muted-foreground);
	font-size: .875rem;
    line-height: 1.25rem;
	overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
	margin-bottom: 1rem;
}

ul.room-tags {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	color: var(--muted-foreground);
	font-size: .75rem;
    line-height: 1rem;
	margin-bottom: 1rem;
	gap: .375rem;
}

ul.room-tags li {
	display: flex;
	gap: .375rem;
	align-items: center;
}

ul.room-tags li:last-child .hidden-dot {
	display: none;
}

button.start-room-booking {
	height: unset;
	font-size: .875rem;
    line-height: 1.25rem;
	color: var(--black);
	display: flex;
	padding-left: .75rem;
    padding-right: .75rem;
	font-weight: 500;
	background: transparent;
	gap: .5rem;
	height: 2.25rem;
	margin-top: auto;
	border: 1px solid var(--border);
}

button.start-room-booking svg {
	transition: all .3s;
	position: relative;
	right: 0;
	width: 1rem;
	height: 1rem;
}

button.start-room-booking:hover svg {
	right: -.25rem;
}

button.start-room-booking:hover {
	background: var(--red);
	border: 1px solid var(--red);
	color: var(--white);
}

#meetingModal {
	display: none;
	position: fixed;
	top: 96px;
	left: 0;
	width: 100%;
	height: calc(100vh - 96px);
	z-index: 75;
}

#meetingModal .overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #f5f1ebcc;
	opacity: 0.8;
	z-index: 10;
}

#meetingModal .meeting-modal-content {
	max-width: 48rem;
	background: #f7f6f2;
	border: 1px solid var(--border);
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	max-height: 80vh;
	overflow-y: auto;
	z-index: 20;
	width: 100%;
}

.meeting-modal-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	border-bottom: 1px solid var(--border);
	padding: 1.5rem;
	position: sticky;
	top: 0;
	background: #f7f6f2;
	z-index: 10;
}

.meeting-modal-header h3 {
	margin: 0;
	font-size: 1.5rem;
	line-height: 2rem;
}

#closeModal,
.close-footer-btn {
	height: unset;
	background: transparent;
	border: unset;
	transition: all .25s;
	padding: .5rem;
}

#closeModal svg {
	width: 1.25rem;
	height: 1.25rem;
	color: var(--black);
}

#closeModal:hover,
.close-footer-btn:hover {
	cursor: pointer;
	background: #e9e7e280;
}

.close-footer-btn {
	font-size: .875rem;
    line-height: 1.25rem;
}

.meeting-modal-steps {
	padding-left: 1.5rem;
    padding-right: 1.5rem;
	padding-top: 1rem;
    padding-bottom: 1rem;
	border-bottom: 1px solid var(--border);
	display: flex;
	align-items: center;
	gap: 1rem;
}

.meeting-modal-steps .step {
	display: flex;
	align-items: center;
	gap: .5rem;
}

.step-circle {
	color: var(--muted-foreground);
	font-weight: 500;
	font-size: .875rem;
    line-height: 1.25rem;
	border-radius: 9999px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	background: #e9e7e280;
}

.step span {
	color: var(--black);
	opacity: .8;
	text-transform: unset;
	letter-spacing: unset;
	font-size: .875rem;
    line-height: 1.25rem;
}

.step.active .step-circle {
	background: var(--red);
	color: var(--white);
}

.step.active span {
	opacity: 1;
}

.step-line {
	width: 2rem;
	height: 1px;
	background: var(--border);
}

.meeting-modal-footer {
	position: sticky;
	bottom: 0;
	left: 0;
	padding: 1.5rem;
	border-top: 1px solid var(--border);
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: #f7f6f2;
}

.meeting-modal-options {
	padding: 1.5rem;
}

.modal-option-header {
	display: flex;
	align-items: center;
	gap: .75rem;
	margin-bottom: 1.5rem;
}

.modal-option-header svg {
	color: var(--red);
	width: 1.25rem;
	height: 1.25rem;
}

.modal-option-header h3 {
	font-size: 1.5rem;
	line-height: 2rem;
	font-weight: 300;
	margin: 0;
}

button.btn.main.footer-btn {
	font-size: .875rem;
    line-height: 1.25rem;
	font-weight: 500;
	padding-top: .5rem;
    padding-bottom: .5rem;
	padding-left: 1rem;
    padding-right: 1rem;
	height: unset;
}

.modal-option-content {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 2rem;
	margin-top: 1.5rem;
	margin-bottom: 1.5rem;
}

.modal-option-content.flex-base {
	display: flex;
	flex-direction: column;
	margin-top: 1.5rem;
	margin-bottom: 0;
	gap: 0;
}

.dropdown-sidebar label {
	line-height: 1;
	font-weight: 500;
	font-size: .875rem;
	display: block;
	margin-bottom: .75rem;
	color: var(--muted-foreground);
}

.dropdown-sidebar .fake-dropdown {
	justify-content: space-between;
}

.dropdown-sidebar .dropdown-wrapper {
	margin-bottom: 1.5rem;
}

.option-drop.is-disabled{
  opacity: .4;
  pointer-events: none;
}

.calendar-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: .25rem;
}

.calendar-head button {
	height: unset;
	padding: .5rem;
	color: var(--black);
	border:none;
	background: transparent;
}

.calendar-head button svg {
	width: 1rem;
	height: 1rem;
	color: var(--black);
	opacity: 0.8;
}

.calendar-head button:hover {
	opacity: 1;
	cursor: pointer;
	background: #e9e7e280;;
}

.cal-month-title {
	font-weight: 500;
	letter-spacing: -.05em;
	font-family: var(--text-font);
}

#meetingCalendar {
	padding: .75rem;
	background: #e9e7e24d;
}

.selected-area {
	margin-top: 1.5rem;
	margin-bottom: 0;
	padding: 1rem;
	background: #aa625a1a;
}

.warning-area {
	margin-top: 1.5rem;
	margin-bottom: 0;
	padding: 1rem;
	background: var(--red);
}

.warning-area.hidden {
	display: none;
}

.warning-area p {
	margin: 0;
	font-size: .875rem;
	font-weight: 500;
    line-height: 1.25rem;
	color: var(--white);
}

.selected-area p {
	margin: 0;
	font-size: .875rem;
	font-weight: 500;
    line-height: 1.25rem;
	color: var(--black);
}

.selected-area p:last-child {
	font-weight: 400;
	color: var(--muted-foreground);
}

.selected-area p span {
	text-transform: unset;
	letter-spacing: unset;
	font-size: inherit;
	color: inherit;
}

.meeting-step-content.hidden {
	display: none;
}

.addition-options label {
	line-height: 1;
	font-weight: 500;
	font-size: .875rem;
	display: block;
	margin-bottom: 1rem;
}

.add-opt-group {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	align-items: center;
	gap: .75rem;
	margin-top: 1rem;
	margin-bottom: 2rem;
}

.add-opt-group.grid-3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.add-opt {
	display: flex;
	align-items: center;
	gap: .75rem;
	border: 1px solid var(--border);
	outline-offset: 2px;
	transition: all .25s;
	padding: 1rem;
}

.add-opt.active {
	border: 1px solid var(--red);
	background: #aa625a1a;
}

.add-opt:hover {
	cursor: pointer;
	background: #aa625a1a;
}

.add-opt.active .chosen-square {
	background: var(--red);
}

.add-opt .chosen-square svg {
	display: none;
	width: .875rem;
	height: .875rem;
}

.add-opt.active .chosen-square svg {
	display: block;
	color: var(--white);
}

.add-opt span {
	color: var(--black);
	text-transform: unset;
	letter-spacing: unset;
	font-size: .875rem;
    line-height: 1.25rem;
}

.add-opt svg {
	width: 1rem;
	height: 1rem;
	color: var(--red);
}

p.addition-desc {
	font-size: .875rem;
    line-height: 1.25rem;
    font-weight: 300;
	color: var(--muted-foreground);
}

.your-meeting-request {
	padding: 1.5rem;
	background: #e9e7e24d;
}

.request-table {
	width: 100%;
	font-family: var(--text-font);
	border-bottom: 1px solid var(--border);
}

.request-table tr td {
	padding-bottom: .75rem;
}

.request-table tr td:first-child {
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 300;
	color: var(--muted-foreground);
}

.request-table tr td:last-child {
	text-align: right;
	font-weight: 500;
}

.flex-chosen-meeting-options {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	gap: .2rem;
	margin-top: .5rem;
}

.flex-chosen-meeting-options li {
	color: var(--black);
	font-weight: 600;
	font-size: 0.75rem;
    line-height: 1rem;
	padding-top: 0.125rem;
    padding-bottom: 0.125rem;
	padding-left: 0.625rem;
    padding-right: 0.625rem;
	background: #e9e7e2;
}

#nf-field-23 {
	display: none;
}

.nf_meeting_summary { display:none !important; }

#nf-form-3-cont .nf-response-msg,
#nf-form-4-cont .nf-response-msg {
	text-align: center;
}

#nf-form-3-cont .nf-response-msg p,
#nf-form-4-cont .nf-response-msg p {
	text-align: center;
	margin-bottom: .25rem;
}

#meetingNextStep {
	margin-left: auto;
}

#nf-form-3-cont .nf-error-msg {
	padding: .25rem .75rem;
    background: var(--red);
    color: var(--white);
    font-weight: 500;
    font-size: .75rem;
    width: 100%;
}

.conference-room-card-wrapper {
	margin-top: 2.5rem;
	box-shadow: 0 0 #0000, 0 0 #0000, 0 1px 2px 0 rgb(0 0 0 / .05);
	background: #f7f6f2;
	border: 1px solid var(--border);
}

.conference-room-title-wrapper {

	padding: 1.5rem;
	padding-bottom: 1rem;
}

.conference-room-title-wrapper h3 {
	display: flex;
	gap: .75rem;
	align-items: center;
	letter-spacing: -.025em;
	font-weight: 600;
	font-size: 1.125rem;
    line-height: 1.75rem;
	margin-bottom: 0;
}

.conference-room-title-wrapper svg {
	color: var(--red);
	width: 1rem;
	height: 1rem;
}

.conference-room-wrapper {
	padding: 1.5rem;
	padding-top: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: .5rem;
}

.conference-room {
	border: 1px solid var(--border);
	padding: 1rem;
	display: flex;
	gap: .75rem;
	align-items: flex-start;
	transition: all .3s;
}

.conference-room:hover {
	border: 1px solid var(--red);
	cursor: pointer;
}

.conference-room.active {
	background: #aa625a0d;
	border: 1px solid var(--red);
}

.conference-room .chosen-square {
	transition: all .25s;
}

.conference-room.active .chosen-square {
	background: var(--red);
}

.conference-room .chosen-square svg {
	display: none;
	width: .875rem;
	height: .875rem;
	color: var(--white);
}

.conference-room.active .chosen-square svg {
	display: block;
}

.room-text-area {
	flex: 1 1 0%;
	min-width: 0%;
}

.room-text-area h3 {
	font-size: 1rem;
	color: var(--black);
    line-height: 1.5rem;
	margin: 0;
}

.room-meta {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	gap: .5rem;
	margin-top: .25rem;
}

.room-meta li {
	display: flex;
	align-items: center;
	gap: .25rem;
	font-size: .75rem;
    line-height: 1rem;
	color: var(--muted-foreground)

}

p.room-excerpt {
	font-size: .75rem;
    line-height: 1rem;
	overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
	margin-top: .5rem;
	margin-bottom: 0;
}

.room-meta li svg {
	width: .75rem;
	height: .75rem;
	color: var(--muted-foreground);
}

.room-text-area .tags {
	list-style: none;
	margin: 0;
	padding: 0;
	margin-top: .25rem;
	display: flex;
	gap: .5rem;
	align-items: center;
}

.room-text-area .tags li {
	font-size: .75rem;
    line-height: 1rem;
	color: var(--muted-foreground);
	display: flex;
	gap: .5rem;
	align-items: center;
}

.room-text-area .tags li:last-child .hidden-dot {
	display: none;
}

.chosen-rooms-request {
	border-top: 1px solid var(--border);
	padding-top: .5rem;
}

.chosen-rooms-request ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	gap: .25rem;
}

.chosen-rooms-request p {
	margin-bottom: .5rem;
}

.chosen-rooms-request ul li {
	font-weight: 500;
	font-size: .875rem;
	line-height: 1;
	padding: .5rem .75rem;
	background: #e9e7e2;
	letter-spacing: -.05em;
}

.hero-content .booking-module {
	padding-top: 0;
	padding-bottom: 0;
}

.hero-content .booking-container {
	margin-top: unset;
	width: 100%;
	max-width: 100%;
}

.hero-content .booking-module {
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	background: transparent;
}

.hero-content .overlay {
	display: none;
}

.hero-content .relative-container {
	padding-left: 0;
	padding-right: 0;
	margin-left: 0;
	margin-right: 0;
	margin-top: 4rem;
	max-width: 100%;
	background-color: #ffffff00;
}

.menu-grid {
	display: grid;
	gap: 4rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 4rem;
}

.menu-items h3 {
	color: var(--red);
	font-size: 1.5rem;
    line-height: 2rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid var(--border);
	margin-bottom: 2rem;
}

.menu-items-list .menu-item {
	display: flex;
	flex-direction: column;
	gap: 0;
	margin-bottom: 1.5rem;
}

.action-btn-wrapper {
	text-align: center;
	display: flex;
    align-items: center;
    justify-content: center;
	margin-top: 4rem;
}

.action-btn-wrapper button.btn.main,
.table-text a.btn.main {
	display: flex;
	align-items: center;
	gap: .5rem;
}

.table-text a.btn.main {
	display: inline-flex;
	align-self: flex-start;
}

.action-btn-wrapper button.btn.main svg,
.table-text a.btn.main svg {
	position: relative;
	right: 0;
	transition: all .3s;
}

.action-btn-wrapper button.btn.main:hover svg,
.table-text a.btn.main:hover svg {
	right: -.25rem;
}

.menu-item h4 {
	color: var(--black);
	font-size: 1.125rem;
    line-height: 1.75rem;
	margin-bottom: .25rem;
}

.menu-item p {
	max-width: unset;
	text-align: left;
	font-size: .875rem;
    line-height: 1.25rem;
	color: var(--muted-foreground);
	font-weight: 300;
	margin-left: unset;
	margin-right: unset;
}

.table-grid {
	display: grid;
	gap: 5rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: center;
}

.table-text span {
	font-size: .75rem;
    line-height: 1rem;
	text-transform: uppercase;
	color: var(--red);
	letter-spacing: .3rem;
	display: block;
	margin-bottom: 1rem;
}

.table-text h2 {
	font-size: 3rem;
	line-height: 1;
	font-weight: 300;
	margin-bottom: 1.5rem;
	color: var(--black);
}

.table-text p {
	line-height: 1.625;
	color: var(--muted-foreground);
	font-weight: 300;
	font-size: 1.125rem;
}

.table-info {
	margin-bottom: 2rem;
}

.table-info-item {
	display: flex;
	gap: 1rem;
	align-items: center;
	margin-bottom: 1rem;
}

.table-info-item svg {
	color: var(--red);
	width: 20px;
	height: 20px;
}

.table-info-item p {
	font-size: .875rem;
    line-height: 1.25rem;
	color: var(--muted-foreground);
	margin-bottom: 0;
}

.table-info-item p.info-header {
	color: var(--black);
	font-family: var(--font);
	font-size: 1rem;
	font-weight: 300;
}

.table-gallery .selected-wrapper {
	overflow: hidden;
	aspect-ratio: 4 / 5;
	position: relative;
}

.table-gallery .selected-wrapper img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.table-gallery .selected-wrapper button.arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
	background:	#f5f1ebcc;
	border-radius: 99999px;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 3rem;
	height: 3rem;
	z-index: 10;
	padding: 0;
	padding-left: 0;
	padding-right: 0;
	color: var(--black);
	border: none;
}

.table-gallery .selected-wrapper button.arrow svg {
	width: 24px;
	height: 24px;
	color: var(--black);
}

.table-gallery .selected-wrapper button.arrow.arrow-left {
	left: 1rem;
}

.table-gallery .selected-wrapper button.arrow.arrow-right {
	right: 1rem;
}

.gallery-navigation-thumbnails {
	display: flex;
	align-items: center;
	gap: .5rem;
	overflow-x: auto;
	padding-bottom: .5rem;
	margin-top: 1rem;	
}

.gallery-navigation-thumbnails button {
	opacity: .5;
	overflow: hidden;
	position: relative;
	width: 4rem;
	height: 3rem;
	border: none;
	padding: 0;
	transition: all .25s;
}

.gallery-navigation-thumbnails button.gal-thumb-btn.active {
	opacity: 1;
	outline: 1px solid var(--red);
}

.gallery-navigation-thumbnails button.gal-thumb-btn:hover {
	cursor: pointer;
	opacity: 1;
}

.gallery-navigation-thumbnails button img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.gallery-index {
	display: none;
}

.rooms-section {
	padding-top: 10rem;
}

.rooms-section .room-title-area {
	max-width: 42rem;
	margin-bottom: 5rem;
}

.rooms-section p {
	text-align: left;
	margin-left: unset;
	margin-right: unset;
	max-width: unset;
	font-weight: 300;
    line-height: 1.625;
	font-size: 1.125rem;
	color: var(--muted-foreground)
}

.rooms-section span {
	display: block;
	margin-bottom: 1rem;
}

.rooms-section h2 {
	margin-bottom: 1.5rem;
	font-size: 3.75rem;
	line-height: 1;
}

.featured-room {
	margin-bottom: 5rem;	
}

a.feature-wrapper {
	display: block;
	position: relative;
	text-decoration: none;
	aspect-ratio: 21 / 9;
	overflow: hidden;
	transition: all .3s;
}

a.feature-wrapper img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: all .3s;
}

a.feature-wrapper .overlay {
	background-image: linear-gradient(to top, rgb(0 0 0 / .6) , rgb(0 0 0 / .2) , transparent);
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 5;
}

.bottom-information {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 3rem;
	z-index: 10;
}

.flex-info-bottom {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 1.5rem;
	align-items: flex-end;
}

.tax-features {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	gap: .75rem;
	margin-bottom: 1rem;
}

.tax-features li {
	padding-left: .75rem;
    padding-right: .75rem;
	padding-top: .375rem;
    padding-bottom: .375rem;
	border: 1px solid #ffffff4d;
	font-size: 10px;
	text-transform: uppercase;
	letter-spacing: .2em;
	color: #fffc;
}

.flex-info-bottom h3 {
	margin-bottom: .5rem;
	color: var(--white);
	font-size: 2.25rem;
	line-height: 2.5rem;
}

a.feature-wrapper:hover img {
	transform: scale(1.05);
}

p.from-price {
	font-size: .875rem;
    line-height: 1.25rem;
    font-weight: 300;
	color: #fff9;
	margin: 0;
}

.link-arrow-btn {
	display: inline-flex;
    align-items: center;
    gap: .5rem;
    font-size: .875rem;
    line-height: 1.25rem;
    text-transform: uppercase;
    letter-spacing: .15em;
	font-family: var(--text-font);
	color: #fffc;
	transition: all .3s;
	position: relative;
	right: 0;
}

a.feature-wrapper:hover .link-arrow-btn {
	right: -.25rem;
}

.grid-rooms {
	display: grid;
	gap: 3rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.grid-room .image-relative {
	position: relative;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	margin-bottom: 1.5rem;
}

.grid-room .image-relative img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.grid-room a.block {
	position: relative;
	text-decoration: none;
}

.grid-room a.block img {
	transition: all .3s;
} 

.grid-room a.block:hover img {
	transform: scale(1.05);
}

.grid-room a.block .overlay {
	background-image: linear-gradient(to top, rgb(0 0 0 / .6) , rgb(0 0 0 / .2) , transparent);
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 5;
}

.image-relative .tax-features {
	position: absolute;
	bottom: 1rem;
	left: 1rem;
	z-index: 10;
	margin-bottom: 0;
}

.grid-rooms .text-flex {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}

.grid-rooms .text-flex h3 {
	margin-bottom: .5rem;
	font-size: 1.5rem;
	line-height: 2rem;
	color: var(--black);
	font-weight: 300;
	transition: all .3s;
}

.grid-rooms a:hover .text-flex h3 {
	color: var(--red);
}

.grid-rooms .text-flex p {
	font-size: .875rem;
    line-height: 1.25rem;
    font-weight: 300;
    color: var(--muted-foreground);
	margin: 0;
}

.text-flex .link-arrow-btn svg {
	color: var(--muted-foreground);
	position: relative;
	right: 0;
	transition: all .25s;
}

a:hover .link-arrow-btn svg { 
	right: -.25rem;
}

.all-btn-wrapper {
	text-align: center;
	margin-top: 5rem;
	display: inline-flex;
    align-items: center;
    gap: .5rem;
    font-size: .875rem;
    line-height: 1.25rem;
    text-transform: uppercase;
    letter-spacing: .15em;
    color: var(--black);
	opacity: .6;
	justify-content: center;
    align-self: center;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
}

.all-btn-wrapper svg {
	position: relative;
	right: 0;
	transition: all .25s;
}


.all-btn-wrapper a:hover svg {
	right: -.25rem;
}

.all-btn-wrapper a {
	color: inherit;
	text-decoration: none;
}

.all-btn-wrapper a:hover {
	color: var(--red);
	opacity: 1;
}

.hero-content-text .btn.secondary {
	display: inline-flex;
	align-self: center;
	gap: .5rem;
	align-items: center;
}

.hero-content-text .btn.secondary svg {
	position: relative;
	right: 0;
	transition: all .25s;
}

.hero-content-text .btn.secondary:hover svg {
	right: -.25rem;
}

.room-filters {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

section.room-filters-section {
	border-bottom: 1px solid var(--border);
	padding-top: 1rem;
	padding-bottom: 2rem;
}

.room-filter-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	gap: .5rem;
}

.room-filter-list li a {
	font-size: .875rem;
    line-height: 1.25rem;
	padding-top: .5rem;
	padding-bottom: .5rem;
	padding-left: 1rem;
    padding-right: 1rem;
	background: transparent;
	border: 1px solid var(--border);
	transition: all .25s;
	text-decoration: none;
	color: var(--black);
}

.room-filter-list li a.active {
	color: var(--white);
	background: var(--red);
	border: 1px solid var(--red);
}

.room-filter-list li a:hover {
	background: var(--red);
	color: var(--white);
	border: 1px solid var(--red);
}

.room-template-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 2.5rem;
	padding-top: 8rem;
	padding-bottom: 8rem;
}

.single-room .relative-img {
	position: relative;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	margin-bottom: 1.5rem;
}

.single-room .relative-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.single-room-title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}

.single-room-title h3 {
	font-size: 1.5rem;
	line-height: 2rem;
	color: var(--black);
	font-weight: 300;
	margin-bottom: 0;
}

.single-room-title p.from-price {
	font-size: .875rem;
    line-height: 1.25rem;
    font-weight: 300;
	color: var(--muted-foreground);
	margin: 0;
}

.single-room-text-wrapper p {
	margin-top: .75rem;
	overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
	font-weight: 300;
    line-height: 1.625;
	font-size: 1rem;
	color: var(--black);
	opacity: 0.7;
}

.single-room-text .room-meta {
	margin-top: .75rem;
	padding-top: .5rem;
	gap: 1rem;
}

.room-action-wrapper {
	display: flex;
	align-items: center;
	gap: 1rem;
	padding-top: 1rem;
}

.room-action-wrapper a.btn.main {
	flex: 1 1 0%;
	height: 2.25rem;
	display: inline-flex;
	gap: .5rem;
}

a.inline-span-link {
	display: inline-flex;
    align-items: center;
    gap: .5rem;
    font-size: .875rem;
    line-height: 1.25rem;
    text-transform: uppercase;
    letter-spacing: .15em;
    color: var(--black);
	opacity: 0.7;
	font-size: .875rem;
    line-height: 1.25rem;
	text-decoration: none;
	transition: all .25s;
}

a.inline-span-link:hover {
	color: var(--red);
}

a.inline-span-link svg {
	position: relative;
	right: 0;
	transition: all .25s;
}

a.inline-span-link:hover svg {
	right: -.25rem;
}

.tax-type-pill {
	position: absolute;
	top: 1rem;
	left: 1rem;
	padding-top: .375rem;
    padding-bottom: .375rem;
	padding-left: .75rem;
    padding-right: .75rem;
	background: #f5f1ebe6;
	color: var(--black);
	font-size: 10px;
	line-height: 1;
	font-weight: 500;
	letter-spacing: .2em;
	text-transform: uppercase;
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
}

.filter-dropdowns {
	display: flex;
	align-items: center;
	gap: 1rem;
	justify-content: flex-end;
}

.filter-dropdowns .fake-dropdown svg {
	width: 1rem;
	height: 1rem;
	transition: all .25s;
}

.filter-dropdowns .fake-dropdown-options {
	z-index: 20;
	min-width: 8rem;
}

.filter-dropdowns .fake-dropdown-options span {
	color: var(--black);
	letter-spacing: unset;
	font-size: .875rem;
    line-height: 1.25rem;
	text-transform: unset;
}

.filter-dropdowns .fake-dropdown-options .option-drop:hover span,
.filter-dropdowns .fake-dropdown-options .option-drop.selected span {
	color: var(--white);
}

section.include-features {
	padding-top: 8rem;
	padding-bottom: 8rem;
	background: #e9e7e24d;
}

.text-include {
	max-width: 42rem;
	text-align: left;
	margin-bottom: 5rem;
}

.text-include span {
	display: block;
	margin-bottom: 1rem;
}

.text-include h2 {
	font-size: 3.75rem;
	line-height: 1;
	margin-bottom: 1.5rem;
	font-weight: 300;
}

.text-include p {
	max-width: unset;
	margin: 0;
	font-weight: 300;
    line-height: 1.625;
	color: var(--black);
	opacity: 0.8;
	font-size: 1.125rem;
}

.include-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 2.5rem;
}

.include-item {
	display: flex;
	padding: 1.5rem;
	background: #f5f1eb;
	border: 1px solid var(--border);
	gap: 1rem;
	align-items: flex-start;
}

.circle-svg-holder {
	height: 2.5rem;
	width: 2.5rem;
	background: #aa625a1a;
	border-radius: 9999px;
	display: flex;
	align-items: center;
	flex-shrink: 0;
	justify-content: center;
}

.circle-svg-holder svg {
	color: var(--red);
	width: 20px;
	height: 20px;
}

.include-item-text h4 {
	font-size: 1.125rem;
    line-height: 1.75rem;
	color: var(--black);
	margin-bottom: .25rem;
}

.include-item-text p {
	margin: 0;
	font-size: .875rem;
    line-height: 1.25rem;
    font-weight: 300;
}

section.room-booking {
	padding-top: 8rem;
	padding-bottom: 8rem;
	background: var(--black);
}

section.room-booking h2 {
	color: var(--background);
	margin-bottom: 1.5rem;
	font-size: 3.75rem;
	line-height: 1;
	font-weight: 300;
}

section.room-booking p {
	font-size: 1.125rem;
	color: var(--background);
	opacity: .7;
    line-height: 1.75rem;
	margin-bottom: 2.5rem;
}

.room-booking-text {
	text-align: center;
	max-width: 42rem;
	margin-left: auto;
	margin-right: auto;
}

.booking-btn-wrapper {
	display: flex;
	align-items: center;
	gap: 1rem;
	justify-content: center;
}

.booking-btn-wrapper a.btn.secondary {
	background: var(--white);
	border: 1px solid var(--white);
	color: var(--black);
}

.booking-btn-wrapper a.btn.secondary:hover {
	background: transparent;
	color: var(--white);
}

.booking-btn-wrapper a.btn.secondary.transparent {
	background: transparent;
	color: var(--white);
}

.booking-btn-wrapper a.btn.secondary.transparent:hover {
	background: var(--white);
	color: var(--black);
}

.intro-grid {
	display: grid;
	gap: 5rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: center;
}

section.double-intro {
	padding-top: 8rem;
	padding-bottom: 8rem;
}

.intro-grid .grid-images {
	display: grid;
	align-items: center;
	gap: 1rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.asp-34 {
	aspect-ratio: 3 / 4;
	overflow: hidden;
}

.asp-34.mt {
	margin-top: 2rem;
}

.asp-34 img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.intro-grid span {
	display: block;
	margin-bottom: 1rem;
}

.intro-grid h2 {
	font-size: 3rem;
	line-height: 1;
	margin-bottom: 2rem;
}

.intro-grid p {
	line-height: 1.625;
	font-weight: 300;
	font-size: 1.125rem;
}

section.link-cards,
section.event-block-culture {
	padding-top: 7rem;
	padding-bottom: 7rem;
	background-color: #e9e7e24d;
	text-align: center;
}

section.event-block-culture section.event-block {
	padding: unset;
	margin: unset;
	background: unset;
	background-color: transparent;
	margin-top: 4rem;
	text-align: left;
}

.link-card-grid {
	text-align: left;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1.5rem;
	margin-top: 4rem;
}

.link-card-grid a.card-link {
	text-decoration: none;
	padding: 2rem;
	background: var(--background);
	border: 1px solid var(--border);
	transition: all .25s;
}

.link-card-wrapper span {
	display: block;
	margin-bottom: 1rem;
}

.link-card-wrapper h2 {
	font-weight: 300;
}

.link-card-grid a.card-link:hover {
	border: 1px solid var(--red);
	box-shadow: 0 0 #0000, 0 0 #0000, 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);
}

.link-card-grid a.card-link h3 {
	color: var(--black);
	font-size: 1.25rem;
    line-height: 1.75rem;
	margin-bottom: .75rem;
}

.link-card-grid a.card-link p {
	line-height: 1.625;
	color: var(--muted-foreground);
	font-size: .875rem;
	margin-bottom: 1rem;
}

.link-card-grid a.card-link span {
	display: flex;
	gap: .5rem;
	font-weight: 500;
	font-size: .875rem;
	line-height: 1.25rem;
	align-items: center;
	text-transform: unset;
	letter-spacing: unset;
}

.link-card-grid a.card-link span svg {
	transition: all .25s;
	right: 0;
	position: relative;
}

.link-card-grid a.card-link:hover span svg {
	right: -.25rem;
}


a.card-link .round-svg-holder {
	border-radius: 9999px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 3.5rem;
	height: 3.5rem;
	margin-bottom: 1.5rem;
	background: #aa625a1a;
	transition: all .25s;
}

.link-card-grid a.card-link:hover .round-svg-holder {
	background: #aa625a33;
}

a.card-link .round-svg-holder svg {
	color: var(--red);
	width: 1.5rem;
	height: 1.5rem;
}

/* Card with sub-links */
.link-card-grid div.card-link {
	text-decoration: none;
	padding: 2rem;
	background: var(--background);
	border: 1px solid var(--border);
}
.link-card-grid div.card-link h3 {
	color: var(--black);
	font-size: 1.25rem;
	line-height: 1.75rem;
	margin-bottom: .75rem;
}
.link-card-grid div.card-link p {
	line-height: 1.625;
	color: var(--muted-foreground);
	font-size: .875rem;
	margin-bottom: 1rem;
}
.link-card-grid div.card-link .round-svg-holder {
	border-radius: 9999px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 3.5rem;
	height: 3.5rem;
	margin-bottom: 1.5rem;
	background: #aa625a1a;
}
.link-card-grid div.card-link .round-svg-holder svg {
	color: var(--red);
	width: 1.5rem;
	height: 1.5rem;
}

.card-sub-links {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: .5rem;
}
.card-sub-links li a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: .625rem 1rem;
	border: 1px solid var(--red);
	font-size: .875rem;
    line-height: 1.25rem;
	font-family: var(--text-font);
	font-weight: 500;
	color: var(--red);
	text-decoration: none;
	transition: border-color .2s, color .2s;
}
.card-sub-links li a:hover {
	border-color: var(--red);
	color: var(--red);
}
.card-sub-links li a svg {
	flex-shrink: 0;
	transition: transform .2s;
}
.card-sub-links li a:hover svg {
	transform: translateX(3px);
}

section.list-section-items {
	padding-top: 8rem;
	padding-bottom: 8rem;
}

.page-template-page-culture section.list-section-items,
.page-template-page-culture #instagram {
	background: #2c2a26;
}

.page-template-page-culture .list-section-items span,
.page-template-page-culture #instagram span {
	color: #fff9;
}

.page-template-page-culture .list-section-items h2,
.page-template-page-culture #instagram h2 {
	color: var(--white);
}

.page-template-page-culture .list-section-items p,
.page-template-page-culture #instagram p {
	color: #fffc;
}

.page-template-page-culture .insta a.btn.main.black {
	background: var(--white);
	color: var(--black);
}

.page-template-page-culture .insta a.btn.main.black:hover {
	background: var(--border);
}

.page-template-page-culture .list-section-items ul li {
	color: #fffc;
}

.grid-image-template {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 5rem;
	align-items: center;
}

.grid-image-wrapper {
	aspect-ratio: 4 / 3;
	overflow: hidden;
}

.grid-image-wrapper img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.list-section-items span {
	display: block;
	margin-bottom: 1rem;
}

.list-section-items h2 {
	font-weight: 300;
	margin-bottom: 1.5rem;
	font-size: 3rem;
	line-height: 1;
}

.list-section-items p {
	line-height: 1.625;
	font-weight: 300;
	font-size: 1.125rem;
	margin-bottom: 2rem;
}

.list-section-items ul {
	list-style: none;
	margin: 0;
	padding: 0;
	margin-bottom: 2.5rem;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.list-section-items ul li {
	display: flex;
	align-items: center;
	gap: .75rem;
	font-family: var(--text-font);
}

.list-section-items ul li svg {
	color: var(--red);
}

.list-section-items a.btn.main {
	display: inline-flex;
	align-self: flex-start;
	gap: 1rem;
	align-items: center;
}

.list-section-items a.btn.main svg {
	transition: all .25s;
	right: 0;
	position: relative;
}

.list-section-items a.btn.main:hover svg {
	right: -.25rem;
}

/* ── Culture split section ── */
.culture-split-section {
	padding-top: 8rem;
	padding-bottom: 8rem;
	background: #ede8dc;
}

.culture-split-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 6rem;
	align-items: center;
}

.culture-split-img {
	background: var(--white);
	padding: 2.5rem;
	border-radius: 4px;
}

.culture-split-img img {
	width: 100%;
	height: auto;
	display: block;
}

span.personell-card-title {
	letter-spacing: unset;
	text-transform: unset;
}

.culture-split-text span {
	display: block;
	font-size: .75rem;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: var(--red);
	margin-bottom: 1.25rem;
}

.culture-split-text p {
	font-size: 1.125rem;
	line-height: 1.7;
	font-weight: 300;
	color: var(--foreground);
	margin: 0;
}

@media (max-width: 768px) {
	.culture-split-grid {
		grid-template-columns: 1fr;
		gap: 2.5rem;
	}
}

/* ── Conference highlight section ── */
.conf-highlight {
	padding-top: 8rem;
	padding-bottom: 8rem;
}

.conf-highlight-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 5rem;
	align-items: center;
}

.conf-highlight-imgs {
	display: flex;
	flex-direction: column;
	gap: .75rem;
}

.conf-highlight-img--main img {
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	display: block;
}

.conf-highlight-img-row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: .75rem;
}

.conf-highlight-img-row .conf-highlight-img img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	display: block;
}

.conf-highlight-text span {
	display: block;
	font-size: .75rem;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: var(--red);
}

.conf-highlight-text h2 {
	font-weight: 300;
	font-size: 2.5rem;
	margin-bottom: 1.25rem;
	line-height: 1.1;
}

.conf-highlight-body p {
	font-size: 1rem;
	line-height: 1.75;
	font-weight: 300;
	color: var(--foreground);
	margin-bottom: 1rem;
}

.conf-highlight-list {
	list-style: none;
	padding: 0;
	margin: 1.5rem 0 2rem;
	display: flex;
	flex-direction: column;
	gap: .75rem;
}

.conf-highlight-list li {
	display: flex;
	align-items: center;
	gap: .625rem;
	font-size: .9375rem;
	font-weight: 300;
	color: var(--foreground);
}

.conf-highlight-list li svg {
	color: var(--red);
	flex-shrink: 0;
}

@media (max-width: 992px) {
	.conf-highlight-grid {
		grid-template-columns: 1fr;
		gap: 3rem;
	}
}

/* ── Hågkomstresor page ── */
.hag-quote-box {
	background: var(--black) !important;
	padding: 1.5rem !important;
	max-width: 300px;
}

.hag-quote-text {
	font-family: var(--font);
	font-style: italic;
	font-size: 1rem;
	line-height: 1.6;
	color: var(--white);
	margin: 0 0 .75rem;
}

.hag-quote-attr {
	display: block;
	font-family: var(--text-font);
	font-size: .8125rem;
	font-style: normal;
	color: var(--muted-foreground);
	letter-spacing: .05em;
}

/* Program section */
.hag-program {
	padding-top: 8rem;
	padding-bottom: 8rem;
	background: var(--background-dark);
}

.hag-program > .container > .row:first-child {
	margin-bottom: 4rem;
}

.hag-program span {
	display: block;
	font-size: .75rem;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: var(--red);
	margin-bottom: 1rem;
}

.hag-program h2 {
	font-weight: 300;
	font-size: 2.75rem;
	margin-bottom: 0;
}

.hag-program-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.5rem;
}

.hag-program-card {
	background: var(--white);
	padding: 2rem;
	border-radius: 2px;
}

.hag-program-rule {
	width: 2rem;
	height: 2px;
	background: var(--red);
	margin-bottom: 1.5rem;
}

.hag-program-card h3 {
	font-size: 1.125rem;
	font-weight: 400;
	color: var(--black);
	margin-bottom: .875rem;
}

.hag-program-card p {
	font-size: .9375rem;
	line-height: 1.7;
	font-weight: 300;
	color: var(--foreground);
	margin: 0;
}

/* Perspective section */
.hag-perspective {
	padding-top: 8rem;
	padding-bottom: 8rem;
}

.hag-perspective-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 5rem;
	align-items: center;
}

.hag-perspective-text span {
	display: block;
	font-size: .75rem;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: var(--red);
	margin-bottom: 1rem;
}

.hag-perspective-text h2 {
	font-weight: 300;
	font-size: 2.5rem;
	margin-bottom: 1.25rem;
}

.hag-perspective-text .text-content p {
	font-size: 1rem;
	line-height: 1.7;
	font-weight: 300;
	margin-bottom: 1.5rem;
}

.hag-perspective-list {
	list-style: disc;
	padding-left: 1.25rem;
	margin: 0;
}

.hag-perspective-list li {
	font-size: 1rem;
	line-height: 1.7;
	font-weight: 300;
	color: var(--foreground);
	margin-bottom: .5rem;
}

.hag-perspective-list li::marker {
	color: var(--red);
}

.hag-perspective-imgs {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
	align-items: start;
}

.hag-perspective-img img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
}

.hag-perspective-img {
	aspect-ratio: 3 / 4;
}

.hag-perspective-imgs .hag-perspective-img:last-child {
	margin-top: 3rem;
}

/* CTA section */
.hag-cta {
	padding-top: 8rem;
	padding-bottom: 8rem;
	background: var(--background-dark);
}

.hag-cta span {
	display: block;
	font-size: .75rem;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: var(--red);
	margin-bottom: 1rem;
}

.hag-cta h2 {
	font-weight: 300;
	font-size: 3rem;
	margin-bottom: 1.25rem;
}

.hag-cta p {
	font-size: 1rem;
	line-height: 1.7;
	font-weight: 300;
	color: var(--foreground);
	margin-bottom: 2rem;
}

.hag-cta-buttons {
	display: flex;
	gap: 1rem;
	justify-content: center;
	flex-wrap: wrap;
}

.hag-cta .btn.secondary {
	background: transparent;
	color: var(--black);
	border-color: var(--black);
}

.hag-cta .btn.secondary:hover {
	background: var(--black);
	color: var(--white);
	border-color: var(--black);
}

.hag-cta-external {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
}

@media (max-width: 768px) {
	.hag-program-grid {
		grid-template-columns: 1fr;
	}

	.hag-perspective-grid {
		grid-template-columns: 1fr;
		gap: 2.5rem;
	}

	.hag-perspective-imgs .hag-perspective-img:last-child {
		margin-top: 2rem;
	}
}

/* ── Personell page ── */
.personell-areas {
	padding-top: 8rem;
	padding-bottom: 8rem;
}

.personell-areas > .container > .row:first-child {
	margin-bottom: 4rem;
}

.personell-areas span {
	display: block;
	font-size: .75rem;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: var(--red);
	margin-bottom: 1rem;
}

.personell-areas h2 {
	font-weight: 300;
	font-size: 2.75rem;
	margin-bottom: 0;
}

.personell-areas-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 3rem;
}

.personell-area-item {
	text-align: center;
}

.personell-area-rule {
	width: 2.5rem;
	height: 2px;
	background: var(--red);
	margin: 0 auto 1.5rem;
}

.personell-area-item h3 {
	font-size: 1.25rem;
	font-weight: 400;
	color: var(--red);
	margin-bottom: 1rem;
}

.personell-area-item p {
	font-size: 1rem;
	line-height: 1.7;
	font-weight: 300;
	color: var(--foreground);
	margin: 0;
}

/* Team section */
.personell-team {
	padding-top: 6rem;
	padding-bottom: 8rem;
	background: var(--background-dark);
}

.personell-team-header {
	margin-bottom: 3.5rem;
}

.personell-team-header span {
	display: block;
	font-size: .75rem;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: var(--red);
	margin-bottom: 1rem;
}

.personell-team-header h2 {
	font-weight: 300;
	font-size: 2.75rem;
	margin-bottom: 1.25rem;
}

.personell-team-intro {
	max-width: 56rem;
}

.personell-team-intro p {
	font-size: 1.0625rem;
	line-height: 1.7;
	font-weight: 300;
	color: var(--foreground);
	margin: 0;
}

.personell-group {
	margin-bottom: 4rem;
}

.personell-group-label {
	font-size: 1.0625rem;
	font-weight: 400;
	color: var(--black);
	font-family: var(--font);
	text-align: center;
	margin-bottom: 2rem;
}

.personell-grid {
	display: grid;
	gap: 2rem;
}

.personell-grid--3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.personell-grid--4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.personell-card-img {
	aspect-ratio: 3 / 4;
	background: #e8e4de;
	margin-bottom: 1rem;
	overflow: hidden;
}

.personell-card-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.personell-card-placeholder {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #b0a99e;
}

.personell-card-body {
	display: flex;
	flex-direction: column;
	gap: .25rem;
}

.personell-card-name {
	font-size: 1rem;
	font-weight: 600;
	color: var(--foreground);
}

.personell-card-title {
	font-size: .875rem;
	font-weight: 300;
	color: var(--muted-foreground);
}

.personell-card-email {
	font-size: .875rem;
	color: var(--red);
	text-decoration: none;
}

.personell-card-email:hover {
	text-decoration: underline;
}

@media (max-width: 992px) {
	.personell-grid--4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 768px) {
	.personell-areas-grid {
		grid-template-columns: 1fr;
		gap: 2.5rem;
	}

	.personell-grid--3,
	.personell-grid--4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 480px) {
	.personell-grid--3,
	.personell-grid--4 {
		grid-template-columns: 1fr;
	}
}

section.hag {
	padding-top: 8rem;
	padding-bottom: 8rem;
	background: #f6f2e9;
}

.hag-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 5rem;
	align-items: center;
}

.hag-img {
	position: relative;
}

.hag-aspect {
	aspect-ratio: 4 / 3;
	overflow: hidden;
}

.hag-aspect img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.hag-box {
	background: var(--black);
	padding: 1.5rem;
	position: absolute;
	bottom: -1.5rem;
	right: -1.5rem;
	max-width: 200px;
}

.hag-box span.img-title {
	font-size: 1.875rem;
    line-height: 2.25rem;
	color: var(--white);
	margin-bottom: .25rem;
	display: block;
	font-family: var(--font);
}

.hag-box span.img-desc {
	display: block;
	font-family: var(--text-font);
	font-size: .875rem;
    line-height: 1.25rem;
	color: #f5f1ebb3;
}

.hag-box span {
	letter-spacing: unset;
	text-transform: unset;
}

.hag-text span {
	display: block;
	margin-bottom: 1rem;
}

.hag-text h2 {
	font-weight: 300;
	margin-bottom: 2rem;
}

.hag-text p {
	line-height: 1.625;
	font-size: 1.125rem;
	margin-bottom: 1.5rem;
}

.hag-points {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	list-style: none;
	margin: 0;
	padding: 0;
	margin-bottom: 2rem;
}

.hag-points li {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
}

.hag-svg-holder {
	width: 2.5rem;
	height: 2.5rem;
	background: #0000001a;
	border-radius: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}

.hag-svg-holder svg {
	display: block;
    vertical-align: middle;
	width: 18px;
	height: 18px;
}

.hag-points h4 {
	margin-bottom: .25rem;
	font-weight: 500;
	font-size: 1rem;
}

.hag-points p {
	margin-bottom: 0;
	font-size: .875rem;
    line-height: 1.25rem;
}

p.quote {
	font-style: italic;
	font-size: .875rem;
    line-height: 1.25rem;
	margin-bottom: 2rem;
}

.hag-text a.btn.main {
	display: inline-flex;
	gap: 1rem;
	align-items: center;
}

.hag-text a.btn.main svg {
	position: relative;
	right: 0;
	transition: all .25s;
}

.hag-text a.btn.main:hover svg {
	right: -.25rem;
}

.insta-grid{
	display: grid;
	grid-template-columns: repeat(4,minmax(0,1fr));
	gap: .75rem;
	max-width: 56rem;
	margin-left: auto;
	margin-right: auto;
	margin-top: 3rem;
}

.insta-item{
  display:block;
  overflow:hidden;
  aspect-ratio: 1 / 1;
  position: relative;
}

.insta-item svg {
	color: var(--white);
}

.insta-item img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* Mosaic placement */
.insta-item:nth-child(1){
  grid-row: span 2 / span 2;
  grid-column: span 2 / span 2;
}

/* Responsive */
@media (max-width: 992px){
  .insta-grid{
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
  }

  .insta-item:nth-child(1){
    grid-column: 1 / -1;
    grid-row: auto;
    height: clamp(240px, 45vw, 380px);
  }
}

section.insta {
	padding-top: 8rem;
	padding-bottom: 8rem;
}

.insta-text span {
	display: block;
	margin-bottom: 1rem;
}

.insta-text h2 {
	font-weight: 300;
	margin-bottom: .75rem;
	font-size: 2.25rem;
	line-height: 2.5rem;
}

.insta-item .overlay-img {
	background-color: #0000004d;
	transition: all .25s;
	opacity: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	position: absolute;
}

.insta-item:hover .overlay-img {
	opacity: 1;
}

.insta a.btn.main.black {
	background: var(--black);
	display: inline-flex;
	align-items: center;
	justify-self: center;
	align-self: center;
	margin-top: 4rem;
	margin-left: auto;
	margin-right: auto;
	gap: 1rem;
	border: 1px solid var(--black);
}

.insta a.btn.main.black:hover {
	background: #00000090;
}

.center-btn {
	width: 100%;
	text-align: center;
}

.intro-stats-black .container {
	max-width: calc(100% - 6rem);
	width: calc(100% - 6rem);
	margin-left: auto;
	margin-right: auto;
	background: var(--black);
	padding-top: 4rem;
	padding-bottom: 4rem;
}

.page-template-page-music #heroContainer,
.page-template-page-nordic-youth #heroContainer {
	padding-bottom: 0;
}

.page-template-page-nordic-youth .intro-stats-black .container {
	background: #c2a6f9;
}

.stat-grid {
	max-width: 1400px;
	padding-left: 3rem;
	padding-right: 3rem;
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 3rem;
	margin-left: auto;
	margin-right: auto;
}

.page-template-page-music .stat-grid { 
	grid-template-columns: repeat(4, minmax(0, 1fr));
}



.stat-grid .stat {
	text-align: center;
}

.stat span.big-num {
	color: var(--white);
	font-family: var(--font);
	font-size: 3rem;
	line-height: 1;
	letter-spacing: unset;
	text-transform: unset;
	display: block;
	margin-bottom: .5rem;
}

.stat span.stat-desc {
	color: #ffffffb3;
	text-transform: uppercase;
	letter-spacing: .05em;
	font-size: .875rem;
    line-height: 1.25rem;
}

.repeat-img-icon-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 5rem;
	align-items: center;
}

.asp-45 {
	aspect-ratio: 4 / 5;
	overflow: hidden;
}

.asp-45 img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.repeat-img-wrapper {
	position: relative;
}

.img-box-red {
	position: absolute;
	bottom: -2rem;
	right: -2rem;
	background: var(--red);
	padding: 2rem;
	display: block;
	max-width: 280px;
}

.img-box-red svg {
	color: var(--white);
	margin-bottom: 1rem;
	display: block;
}

section.icon-text-section {
	padding-top: 8rem;
	padding-bottom: 8rem;
}

p.img-box-text {
	line-height: 1.625;
	font-size: .875rem;
	color: var(--white);
	margin: 0;
}

.repeat-text-section span {
	display: block;
	margin-bottom: 1rem;
}

.repeat-text-section h2 {
	margin-bottom: 2rem;
	font-weight: 300;
}

.repeat-icons {
	list-style: none;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: center;
	gap: 1rem;
	padding: 0;
	margin: 0;
	margin-top: 2.5rem;
}

.repeat-icons li {
	display: flex;
	align-items: center;
	gap: .75rem;
	font-size: .875rem;
    line-height: 1.25rem;
	color: var(--black);
	font-family: var(--text-font);
}

.svg-list-holder {
	background: var(--background);
	border: 1px solid var(--border);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
}

.svg-list-holder svg {
	color: var(--red);
	width: 18px;
	height: 18px;
}

section.program-section {
	padding-top: 8rem;
	padding-bottom: 8rem;
	background: #e7e2da4d;
}

section.program-section span {
	display: block;
	margin-bottom: 1rem;
}

section.program-section h2 {
	font-weight: 300;
}

.program-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 2.5rem;
	margin-top: 4rem;
}

.program-article {
	background: var(--white);
}

.program-head {
	aspect-ratio: 16 / 9;
	overflow: hidden;
	position: relative;
}

.program-head img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.program-head .img-overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 10;
	background-image: linear-gradient(to top, rgb(0 0 0 /.6), rgb(0 0 0 / .2), transparent);
}

.program-content {
	padding: 2rem;
}

.program-content h3 {
	font-size: 1.875rem;
	line-height: 2.25rem;
	margin-bottom: 1rem;
}

ul.features {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: .5rem;
	flex-wrap: wrap;
	margin-bottom: 1.5rem;
}

ul.features li {
	color: var(--muted-foreground);
	text-transform: uppercase;
	letter-spacing: .05em;
	font-size: .75rem;
    line-height: 1rem;
	padding-top: .25rem;
    padding-bottom: .25rem;
	padding-left: .75rem;
    padding-right: .75rem;
	border: 1px solid var(--border);
}

.program-content p {
	margin-bottom: 1.5rem;
	line-height: 1.625;
}

.program-content a.btn.secondary.transparent {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	padding-top: .5rem;
    padding-bottom: .5rem;
	padding-left: 1rem;
    padding-right: 1rem;
	font-size: .875rem;
    line-height: 1.25rem;
	font-weight: 500;
	border: 1px solid var(--border);
	color: var(--black);
	height: unset;
}

.program-content a.btn.secondary.transparent svg {
	position: relative;
	right: 0;
	transition: all .25s;
}

.program-content a.btn.secondary.transparent:hover svg {
	right: -.25rem;
}

.program-content a.btn.secondary.transparent:hover {
	background: #0000000d;
}

.period-block {
	position: absolute;
	left: 1rem;
	bottom: 1rem;
	color: #ffffffe6;
	letter-spacing: .2em;
	text-transform: uppercase;
	font-weight: 500;
	font-size: .75rem;
    line-height: 1rem;
	padding-top: .25rem;
    padding-bottom: .25rem;
	padding-left: .75rem;
    padding-right: .75rem;
	background: #0000004d;
	z-index: 20;
}

.icon-block {
	position: absolute;
	top: 1rem;
	left: 1rem;
	z-index: 20;
	padding: .75rem;
	line-height: 1;
}

.icon-block svg {
	color: var(--white);
	width: 22px;
	height: 22px;
	line-height: 1;
}

.page-template-page-nordic-youth #heroContainer p.subtitle {
	color: #c2a6f9;
}

.page-template-page-nordic-youth #heroContainer a.btn.main {
	background: #c2a6f9;
	border: 1px solid #c2a6f9;
}

.page-template-page-nordic-youth #heroContainer a.btn.main:hover {
	background: #1d4ed8;
	border: 1px solid #1d4ed8;
}

.page-template-page-nordic-youth .repeat-text-section span {
	color: #c2a6f9;
}

.page-template-page-nordic-youth .img-box-red {
	background: #c2a6f9;
}

.page-template-page-nordic-youth .svg-list-holder {
	background: #c2a6f91a;
}

.page-template-page-nordic-youth .svg-list-holder svg {
	color: #c2a6f9;
}

section.themes {
	padding-top: 8rem;
	padding-bottom: 8rem;
	background: #e7e2da4d;
}

section.themes span,
section.programs span {
	color: #c2a6f9;
	display: block;
	margin-bottom: 1rem;
}

section.themes h2,
section.programs h2 {
	margin-bottom: 4rem;
	font-weight: 300;
}

.theme-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1.5rem;
}

.theme-grid .theme {
	background: var(--white);
	padding: 2rem;
}

.theme .svg-holder {
	display: inline-flex;
	text-align: center;
	align-items: center;
	justify-content: center;
	width: 3rem;
	height: 3rem;
	margin-bottom: 1rem;
}

.theme .svg-holder svg {
	color: var(--white);
}

.theme h3 {
	font-size: 1.25rem;
    line-height: 1.75rem;
	margin-bottom: .75rem;
}

.theme p.excerpt {
	line-height: 1.625;
	font-size: .875rem;
	margin: 0;
}

section.programs {
	padding-top: 8rem;
	padding-bottom: 8rem;

}

.program-repeater-youth {
	display: grid;
	gap: 1.5rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.program-repeater-youth .program-box {
	background: var(--white);
	padding: 2rem;
}

.label-time {
	display: flex;
	align-items: center;
	gap: .5rem;
	margin-bottom: .75rem;
	color: #c2a6f9;
	font-weight: 500;
	font-family: var(--text-font);
	font-size: .875rem;
    line-height: 1.25rem;
}

.label-time svg {
	color: #c2a6f9;
	width: 14px;
	height: 14px;
}

.program-box h3 {
	font-size: 1.25rem;
    line-height: 1.75rem;
	margin-bottom: .5rem;
}

p.program-text {
	font-size: .875rem;
	line-height: 1.625;
	margin: 0;
}

section.text-image-side-points {
	padding-top: 8rem;
	padding-bottom: 8rem;
	background: #e7e2da4d;
}

.grid-text-img {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 5rem;
	align-items: center;
}

.image-rel.asp-43 {
	position: relative;
	aspect-ratio:  4 / 3;
	overflow: hidden;
}

.image-rel.asp-43 img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.grid-text-img span {
	color: #c2a6f9;
	display: block;
	margin-bottom: 1rem;
}

.grid-text-img h2 {
	font-weight: 300;
	margin-bottom: 2rem;
}

.text-area ul.points {
	list-style: none;
	margin: 2rem 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.text-area ul.points li {
	display: flex;
	gap: .75rem;
	align-items: center;
	color: var(--black);
	font-family: var(--text-font);
}

.text-area ul.points li svg {
	color: #c2a6f9;
	width: 20px;
	height: 20px;
}

a.btn.blue {
	background: #c2a6f9;
	display: inline-flex;
	gap: .75rem;
	align-items: center;
	align-self: flex-start;
	border: 1px solid #c2a6f9;
	color: var(--white);
	font-size: 1rem;
    line-height: 1.5rem;
	padding-left: 2rem;
    padding-right: 2rem;
}

a.btn.blue svg {
	transition: all .25s;
	position: relative;
	right: 0;
}

a.btn.blue:hover svg {
	right: -.25rem;
}

a.btn.blue:hover {
	background: #1d4ed8;
	border: 1px solid #1d4ed8;
}

section.room-booking.blue {
	background: #c2a6f9;
}

section.room-booking.blue .room-booking-text {
	max-width: 48rem;
}

section#historyHero {
	background: var(--black);
	height: 100vh;
	position: relative;	
	overflow: hidden;
}

.abs-inner {
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}

.text-center-history {
	text-align: center;
	padding-left: 1.5rem;
	padding-right: 1.5rem;
}

.text-center-history span {
	color: var(--background);
	opacity: .5;
	letter-spacing: .4em;
	font-size: .75rem;
    line-height: 1rem;
	display: block;
	margin-bottom: 1.5rem;
}

.text-center-history h1 {
	font-size: 6rem;
	line-height: 1;
	color: var(--background);
	margin-bottom: 2rem;
}

.text-center-history span.intruction {
	font-size: .875rem;
	line-height: 1.25rem;
	text-transform: unset;
	letter-spacing: .05em;
	margin-bottom: 0;
}

.transformer-line-updown {
	width: 1px;
	height: 4rem;
	background-image: linear-gradient(to bottom, hsl(40 33% 94% / .5), transparent);
	animation: bobdown 2s ease-in-out infinite;
}

/* Important: include translateX in every keyframe */
@keyframes bobdown {
  0%, 100% {
    transform: translateX(-50%) translateY(0);
  }
  50% {
    transform: translateX(-50%) translateY(8px);
  }
}

.flex-scroll-info {
	display: flex;
	align-items: center;
	flex-direction: column;
	gap: 1rem;
}

section.chapter {
	position: relative;
	height: 100vh;
	overflow: hidden;
}

.abs-img-wrap {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}

.abs-img-wrap img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.abs-overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: #0009;
}

.relative-story {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
}

.relative-story .flex-titles {
	display: flex;
	flex-direction: column;
	gap: 0;
	margin-bottom: 2rem;
}

.flex-titles span.story-label {
	display: block;
	margin-bottom: .5rem;
}

.flex-titles span.big-number-story {
	color: #fff9;
	font-size: 8rem;
	font-family: var(--font);
	letter-spacing: unset;
	text-transform: unset;
	line-height: 1;
	filter: drop-shadow(0 10px 8px rgb(0 0 0 / .04)) drop-shadow(0 4px 3px rgb(0 0 0 / .1))
}

.relative-story h2 {
	font-size: 4.5rem;
	line-height: 1;
	color: var(--white);
	margin-bottom: 2rem;
}

p.chap-text {
	color: #ffffffe6;
	font-style: italic;
	font-weight: 300;
	margin-bottom: 1.5rem;
	font-size: 1.5rem;
	line-height: 2rem;
}

section.part.part-1 {
	background: var(--black);
	padding-top: 8rem;
	padding-bottom: 8rem;
}

section.chapter-3 {
	background: #aa625a1a;
}

.chapter-3 .relative-story h2 {
	color: var(--black);
}

.chapter-3 p.chap-text {
	color: var(--red);
}

.chapter-3 .chap-desc p {
	font-size: 1.5rem;
	line-height: 2rem;
	color: var(--black);
	opacity: .8;
	max-width: 48rem;
	margin: 0;
	margin-left: auto;
	margin-right: auto;
}

.part-1-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 5rem;
	align-items: center;
}

.rel-img-wrap {
	position: relative;
	overflow: hidden;
	aspect-ratio: 4 / 3;
}

.rel-img-wrap img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.part-text-wrap p {
	font-size: 1.5rem;
	line-height: 2rem;
	color: var(--background);
	font-weight: 300;
	margin: 0;
}

.part-2-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.rel-img-wrap-custom {
	height: 80vh;
	position: relative;
}

.rel-img-wrap-custom img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.flex-center-text {
	padding: 5rem;
	display: flex;
	align-items: center;
	justify-content: center;
}

.max-w-d {
	max-width: 28rem;
	text-align: left;
}

.max-w-d span {
	letter-spacing: .3em;
	font-size: .875rem;
    line-height: 1.25rem;
	display: block;
	margin-bottom: 1rem;
}

.max-w-d p.part-text {
	color: var(--black);
	font-family: var(--font);
	font-size: 2.25rem;
	line-height: 2.5rem;
	margin: 0;
}

section.story-text-section {
	padding-top: 10rem;
	padding-bottom: 10rem;
}

.text-mid-center {
	text-align: center;
	max-width: 48rem;
	margin-left: auto;
	margin-right: auto;
}

.text-mid-center p {
	font-size: 3rem;
	line-height: 1;
	margin: 0;
	font-family: var(--font);
	color: var(--black);
}

section.part-3 {
	padding-top: 8rem;
	padding-bottom: 8rem;
}

.part-3-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 5rem;
	align-items: center;
}

p.part-text-wrap {
	font-size: 1.5rem;
	line-height: 2rem;
	color: var(--black);
	margin: 0;
}

.part-img-wrap {
	position: relative;
	aspect-ratio: 4 / 3;
	overflow: hidden;
}

.part-img-wrap img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.abs-caption {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 1.5rem;
	background-image: linear-gradient(to top, rgb(0 0 0 /.8), transparent);
	font-size: .875rem;
    line-height: 1.25rem;
	color: #fffc;
	font-family: var(--text-font);
}

section.part-4 {
	position: relative;
	height: 70vh;
}

.part-4 img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.part-4 .abs-overlay-wrap {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: #0000004d;
	z-index: 10;
}

.part-4 .abs-text-wrap {
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 20;
}

.part-4 .abs-text-wrap p {
	font-size: 3.75rem;
	line-height: 1;
	margin: 0;
	color: var(--white);
	font-family: var(--font);
	text-align: center;
	padding-left: 1.5rem;
    padding-right: 1.5rem;
}

section.part-5 {
	background: var(--black);
	padding-top: 8rem;
	padding-bottom: 8rem;
}

.part-5-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 5rem;
	align-items: center;
}

.img-5-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.img-5-grid img {
	aspect-ratio: 1 / 1;
	object-fit: cover;
	width: 100%;
	height: auto;
}

.text-5-wrap p {
	font-size: 1.5rem;
	line-height: 2rem;
	color: var(--background);
	margin-bottom: 2rem;
}

.flex-accent {
	display: flex;
	align-items: center;
	gap: 1rem;
}

.flex-accent .accent {
	background: var(--red);
	height: .25rem;
	width: 3rem;
}

section.red-quote {
	background: var(--red);
	padding-top: 8rem;
	padding-bottom: 8rem;
}

.red-quote blockquote {
	margin-left: auto;
    margin-right: auto;
	max-width: 56rem;
	text-align: center;
}

.red-quote blockquote p {
	color: var(--background);
	font-family: var(--font);
	font-size: 3rem;
	line-height: 1;
	font-style: italic;
	margin-bottom: 2rem;
}

.red-quote blockquote cite {
	font-size: .875rem;
    line-height: 1.25rem;
	font-style: normal;
	letter-spacing: .05em;
	color: #fffc;
	text-transform: uppercase;
}

.story-text-section span.center-label {
	display: block;
	font-size: 1.5rem;
	line-height: 2rem;
	margin-bottom: 2rem;
	color: var(--muted-foreground);
	letter-spacing: unset;
	text-transform: unset;
	opacity: .6;
}

section.room-booking.w-img {
	position: relative;
}

section.room-booking.w-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 10;
}

section.room-booking.w-img .c2a-overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: #00000080;
	z-index: 20;
}

section.room-booking.w-img .container {
	z-index: 30;
	position: relative;
}

section.about-intro {
	padding-top: 8rem;
	padding-bottom: 8rem;
}

.about-mandate {
	padding-top: 8rem;
	padding-bottom: 8rem;
	background: var(--background-dark);
}

.about-mandate > .container > .row:first-child {
	margin-bottom: 4rem;
}

.about-mandate span {
	display: block;
	font-size: .75rem;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: var(--red);
	margin-bottom: 1rem;
}

.about-mandate h2 {
	font-weight: 300;
	font-size: 2.75rem;
	margin-bottom: 0;
}

.about-mandate-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 4rem;
}

.about-mandate-col h3 {
	font-size: 1.25rem;
	font-weight: 400;
	margin-bottom: 1.25rem;
	color: var(--foreground);
}

.about-mandate-col p {
	font-size: 1rem;
	line-height: 1.75;
	font-weight: 300;
	color: var(--foreground);
	margin-bottom: 1rem;
}

@media (max-width: 768px) {
	.about-mandate-grid {
		grid-template-columns: 1fr;
		gap: 2.5rem;
	}
}

.about-intro .hag-box span.img-title {
	color: #ffffffe6;
	line-height: 1.625;
	font-weight: 300;
	font-size: .875rem;
	font-family: var(--text-font);
}

.about-intro .hag-box {
	max-width: 260px;
}

section.vision {
	padding-top: 8rem;
	padding-bottom: 8rem;
	background: #e7e2da4d;
}

section.vision span {
	display: block;
	margin-bottom: 1rem;
}

section.vision h2 {
	font-weight: 300;
}

.vision-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 3rem;
	margin-top: 4rem;
}

.vision-box {
	background: var(--white);
	padding: 2rem;
}

.vision-title {
	text-align: center;
}

.vision-box h3 {
	font-size: 1.25rem;
    line-height: 1.75rem;
	margin-bottom: 1rem;
}

.vision-box .accent {
	background: var(--red);
	width: 2.5rem;
	height: .25rem;
	margin-bottom: 1.5rem;
}

.vision-box p {
	line-height: 1.625;
	font-size: .875rem;
	margin: 0;
}

section.text-img-1,
section.text-img-2 {
	padding-top: 8rem;
	padding-bottom: 8rem;
}

.text-img-grid,
.img-text-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 5rem;
	align-items: center;
}

.text-img-grid span,
.text-wrap-grid span {
	display: block;
	margin-bottom: 1rem;
}

.text-img-grid h2,
.text-wrap-grid h2 {
	margin-bottom: 2rem;
	font-weight: 300;
}

.text-wrap-grid a,
.text-img-grid a {
	margin-top: 1rem;
	display: inline-flex;
	align-items: center;
	gap: .75rem;
}


.text-wrap-grid a svg,
.text-img-grid a svg {
	position: relative;
	right: 0;
	transition: all .25s;
}

.text-wrap-grid a:hover svg,
.text-img-grid a:hover svg {
	right: -.25rem;
}

.asp-1610 {
	position: relative;
	overflow: hidden;
	aspect-ratio: 16 / 10;
}

.asp-1610 img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.news-title-flex {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	margin-bottom: 4rem;
}

.news-title-flex p {
	margin: 0;
	line-height: 1.625;
	font-size: .875rem;
	max-width: 24rem;
}

.page-template-page-hagkomstresor .quote-prev,
.page-template-page-hagkomstresor .quote-next {
	display: none;
}

.page-template-page-hagkomstresor .quote-nav .line-nav {
	background: var(--white);
}

.page-template-page-hagkomstresor .testimonials blockquote p {
	color: #fffc;
}

.excerpt-wrapper {
	font-size: 1rem;
	line-height: 1.5rem;
	color: var(--muted-foreground);
	text-decoration: none;
	margin-bottom: 1rem;
	overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.page-template-page-hagkomstresor .quote-nav .line-nav.active {
	background: var(--red);
}

.news-title-flex span {
	display: block;
	margin-bottom: 1rem;
}

.news-title-flex h2 {
	margin-bottom: 0;
	font-weight: 300;
}

section.news-inline {
	padding-top: 8rem;
	padding-bottom: 8rem;
	background: #e7e2da33;
}

.all-news-wrapper {
	margin-top: 4rem;
	text-align: center;
}

section.report {
	padding-top: 8rem;
	padding-bottom: 8rem;
	background: #e7e2da33;
}

.report svg {
	color: var(--red);
	margin-bottom: 1rem;
	width: 28px;
	height: 28px;
}

.report h2 {
	font-weight: 300;
	font-size: 2.25rem;
	line-height: 2.5rem;
}

.report p {
	font-size: .875rem;
    line-height: 1.25rem;
	max-width: 28rem;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 0;
}

.raport-flex-grid {
	max-width: 42rem;
	margin-top: 3.5rem;
	margin-left: auto;
	margin-right: auto;
}

.raport-flex-grid .report {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-top: 1rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid var(--border);
}

.raport-flex-grid .report h4 {
	font-size: 1.125rem;
    line-height: 1.75rem;
	margin: 0;
}

.raport-flex-grid .report a {
	color: var(--red);
	text-decoration: none;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: .5rem;
	font-size: .875rem;
    line-height: 1.25rem;
	font-weight: 500;
	font-family: var(--text-font);
	white-space: nowrap;
}

.raport-flex-grid .report:nth-child(n+4) {
	display: none;
}

.active .raport-flex-grid .report:nth-child(n+4) {
	display: flex;
}

.show-reports {
	font-size: .875rem;
    line-height: 1.25rem;
	color: var(--muted-foreground);
	display: flex;
	gap: .5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-left: auto;
	margin-right: auto;
	margin-top: 1.5rem;
	font-weight: 400;
	font-family: var(--text-font);
	transition: all .25s;
}

.show-reports svg {
	margin-bottom: 0;
	color: var(--muted-foreground);
	transition: all .25s;
}

.active .show-reports svg {
	transform: rotate(180deg);
}

.show-reports:hover {
	cursor: pointer;
	color: var(--black);
}

a.download svg {
	margin: 0;
	width: 13px;
	height: 13px;
}

a.download:hover {
	text-decoration: underline;
}

#showReportText.hidden,
#hideReportText.hidden {
	display: none;
}

section.contact-section {
	padding-top: 8rem;
	padding-bottom: 8rem;
}

.contact-text h2 {
	margin-bottom: 1rem;
	font-size: 2.25rem;
	line-height: 2.5rem;
	font-weight: 300;
}

.contact-text svg {
	color: var(--red);
	margin-bottom: 1.5rem;
	margin-left: auto;
    margin-right: auto;
	width: 28px;
	height: 28px;
}

.contact-text p {
	margin-bottom: 1rem;
}

section.error-404 {
	padding-top: 20rem;
	padding-bottom: 20rem;
}

#masthead .action-wrapper {
	display: flex;
    align-items: center;
    gap: 1.5rem;
}

.lang-btn-wrapper {
	position: relative;
}

button#headerLang.btn.transparent {
	border: none;
	height: unset;
	display: flex;
	gap: .25rem;
	align-items: center;
	padding-left: .5rem;
    padding-right: 0.5rem;
}

button#headerLang.btn.transparent span {
	color: var(--black);
}

#headerLangContent {
	position: absolute;
	top: 120%;
	right: 0;
	max-width: 200px;
	background: var(--background);
	border: 1px solid var(--border);
	z-index: 25;
	transition: all .25s;
	opacity: 0;
	visibility: hidden;
	display: flex;
    flex-direction: column;
    min-width: 140px;
}

#headerLangContent.active {
	top: 105%;
	opacity: 1;
	visibility: visible;
}

#headerLangContent a {
	display: flex;
	align-items: center;
    font-size: .875rem;
    line-height: 1.25rem;
	padding-top: .75rem;
    padding-bottom: .75rem;
	padding-left: 1rem;
    padding-right: 1rem;
	transition: all .25s;
	gap: .75rem;
	text-decoration: none;
	transition: all .25s;
}


#headerLangContent a.current span {
	color: var(--red);

}

#headerLangContent a.current {
	background: #aa625a1a;
}


#headerLangContent a:hover {
	background: #e9e7e280;
}

span.lang-abb {
	letter-spacing: unset;
	text-transform: uppercase;
	color: var(--black);
}

span.lang-name {
	color: var(--black);
	letter-spacing: unset;
	text-transform: unset;
}

#openMenu {
	display: none;
}

#openMenu .line {
	width: 24px;
	height: 4px;
	border-radius: 0;
	background: var(--black);
	opacity: .8;
	margin: 2px 0;
}

@media screen and (max-width: 1200px) {
	#masthead .container {
		padding-left: 1.5rem;
		padding-right: 1.5rem;
	}

	.scroll-down-hero span {
		font-size: 9px;

	}

	.hero-navigation {
		bottom: 2rem;
	}

	button.scroll-down-hero {
		gap: 0;
		bottom: 2.5rem;
	}

	.flex-header .menu-wrapper {
		display: none;
	}

	.flex-header .logo-wrapper {
		max-width: 190px;
	}

	.flex-header .logo-wrapper img {
		width: 100%;
		height: auto;
	}
	
	.flex-header .header-btn-wrapper {
		display: none;
	}

	#openMenu {
		display: block;
	}

	#heroContainer {
		padding-top: 5rem;
		padding-bottom: 1rem;
		padding-left: 1rem;
    	padding-right: 1rem;
	}

	#heroContainer h1 {
		font-size: 2rem;
		line-height: 1.1;
		margin-bottom: 1rem;
	}

	#heroContainer .inner-hero .hero-content-text p {
		font-size: 1rem;
		line-height: 1.5;
	}

	#prevHero, #nextHero {
		width: 2rem;
		height: 2rem;
	}

	#heroContainer .inner-hero {
		display: flex;
		flex-direction: column;
	}

	#prevHero {
		left: 1.5rem;
	}

	#nextHero {
		right: 1.5rem;
	}

	.hero-content a.btn.secondary {
		margin-top: 1rem;
	}

	section.text-section-center {
		padding-top: 5rem;
	}

	.col-1,
	.col-2,
	.col-3,
	.col-4,
	.col-5,
	.col-6,
	.col-7,
	.col-8,
	.col-9,
	.col-10,
	.col-11,
	.col-12 {
		width: 100%;
		flex: 1 0 100%;
		max-width: 100%;
	}

	h2 {
		font-size: 1.875rem;
		line-height: 2.25rem;
		font-weight: 300;
	}

	span.text-label {
		display: block;
		margin-bottom: 1rem;
	}

	.container {
		padding-left: 1rem;
		padding-right: 1rem;
	}

	.content-cards__grid.large,
	.content-cards__grid.small,
	.timeline-flex,
	.event-feature-grid,
	.event-cards,
	.intro-grid,
	.link-card-grid,
	.grid-image-template,
	.hag-grid,
	.repeat-img-icon-grid,
	.program-grid,
	.theme-grid,
	.program-repeater-youth,
	.grid-text-img,
	.button-accommodation-wrapper,
	.flex-wedding-intro,
	.grid-rooms,
	.table-grid,
	.menu-grid,
	.button-conference-wrapper, .button-accommodation-wrapper,
	.conference-room-wrapper,
	.meeting-grid,
	.modal-option-content,
	.add-opt-group.grid-3,
	.venues-grid,
	.vision-grid,
	.text-img-grid, .img-text-grid,
	.news-grid,
	.part-1-grid,
	.part-2-grid,
	.part-3-grid,
	.part-5-grid {
		grid-template-columns: repeat(1, minmax(0, 1fr));
	}

	.part-1-grid,
	.part-3-grid,
	.part-5-grid {
		gap: 2rem;
	}

	.red-quote blockquote p {
		font-size: 1.875rem;
		line-height: 1.625;
	}

	.part-4 .abs-text-wrap p {
		font-size: 2.25rem;
    	line-height: 2.5rem;
	}

	.text-mid-center p {
		font-size: 1.875rem;
		line-height: 1.625;
	}

	.text-center-history h1 {
		font-size: 3rem;
    	line-height: 1;
	}

	.flex-titles span.big-number-story {
		    font-size: 3.75rem;
    line-height: 1;
	}

	.relative-story h2 {
		    font-size: 2.25rem;
    line-height: 2.5rem;
	}

	.add-opt-group {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.menu-grid {
		gap: 3rem;
	}

	.img-box-red,
	.month-wrapper .month-end {
		display: none;
	}

	.cal-nav {
		top: 1rem;
	}

	.cal-nav.next {
		right: 10%;
	}

	.cal-nav.prev {
		left: 10%;
	}

	section.content-cards {
		padding-bottom: 6rem;
	}

	section.text-image,
	section.text-image-side-points {
		padding-top: 6rem;
		padding-bottom: 6rem;
	}

	.event-cta-banner {
		text-align: center;
	}

	section.timeline-section {
		padding-top: 0;
	}

	.event-cta-actions {
		margin-top: 15px;
		justify-content: center !important;
	}

	.text-image .row {
		gap: 3rem;
	}

	.text-image .img-text-wrapper {
		height: 400px;
	}

	.timeline-media__overlay {
		width: 10rem;
		right: 1rem;
	}

	.flex-booking {
		flex-wrap: wrap;
	}

	.flex-booking .flex-1 {
		flex: 1 0 100%;
		max-width: 100%;
		width: 100%;
	}

	.flex-booking .hidden-flex,
	#transformLine {
		display: none;
	}

	.flex-actions {
		padding-left: 0;
		width: 100%;
	}

	.flex-actions button.btn.book {
		width: 100%;
	}

	.flex-actions a.inline-book {
		display: none;
	}

	.testimonials blockquote p {
		font-size: 1.25rem;
		line-height: 1.625;
	}

	.footer-copy ul {
		flex-wrap: wrap;
	}

	.footer-copy ul .border-color {
		display: none;
	}

	.footer-copy ul li:first-child {
		flex: 1 0 100%;
		max-width: 100%;
		width: 100%;
	}

	.logged-in #masthead {
		top: 46px;
	}

	.hag-box {
		right: 1.5rem;
	}

	.insta-item:nth-child(1) {
		height: auto;
	}

	.intro-stats-black .container {
		max-width: calc(100% - 2rem);
		width: calc(100% - 2rem);
	}

	.stat-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 2rem;
	}

	section.room-booking h2 {
		font-size: 1.875rem;
    	line-height: 2.25rem;
		margin-bottom: 1.5rem;
	}

	.booking-btn-wrapper {
		flex-wrap: wrap;
	}

	.booking-btn-wrapper a {
		flex: 1 0 100%;
		max-width: 100%;
		width: 100%;
	}

	.hero-content .relative-container {
		margin-top: 0;
	}

	.button-accommodation-wrapper button.custom-booking-btn.active-custom-btn {
		border-bottom-width: 3px;
	}

	a.feature-wrapper {
		aspect-ratio: 16 / 10;
	}

	.flex-info-bottom {
		flex-wrap: wrap;
	}

	.bottom-information {
		padding: 2rem;
	}
}

/* =============================================
   Pressroom sections
   ============================================= */

.pressroom-contact-section {
  padding: 5rem 0;
  background: var(--background, #f5f1ec);
}

.pressroom-contact-section .center {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 1.25rem;
}

.pressroom-contact-icon {
  color: var(--red, #8b3a3a);
  flex-shrink: 0;
}

.pressroom-contact-text {
  font-size: 1rem;
  color: var(--muted-foreground, #666);
  line-height: 1.7;
  max-width: 52ch;
  margin: 0;
}

.pressroom-ntb-section {
  padding: 5rem 0;
  background: var(--muted, #e8e3dd);
}

.pressroom-ntb-section .center {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 1.25rem;
}

.pressroom-ntb-title {
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 700;
  color: var(--foreground, #1a1a1a);
  margin: 0;
}

.pressroom-ntb-text {
  font-size: 1rem;
  color: var(--muted-foreground, #666);
  line-height: 1.7;
  max-width: 52ch;
  margin: 0;
}

/* =============================================
   Mobile menu
   ============================================= */

#mobileMenu {
  position: fixed;
  inset: 0;
  background: var(--background, #f5f1ec);
  z-index: 9998;
  display: flex;
  flex-direction: column;
  transform: translateX(100%);
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
#mobileMenu.is-open {
  transform: translateX(0);
}

.mob-menu-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid var(--border, #e5e2db);
  flex-shrink: 0;
}
.mob-menu-head .mob-menu-logo img,
.mob-menu-head .mob-menu-logo svg {
  height: 36px;
  width: auto;
}
.mob-close-btn {
  background: none;
  border: none;
  padding: 0.5rem;
  cursor: pointer;
  color: var(--foreground, #1a1a1a);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  transition: background 0.15s;
}
.mob-close-btn:hover {
  background: rgba(0,0,0,0.06);
}

/* Panels viewport */
.mob-panels-viewport {
  position: relative;
  flex: 1;
  overflow: hidden;
}

.mob-panel {
  position: absolute;
  inset: 0;
  overflow-y: auto;
  padding: 0.5rem 0 2rem;
  transform: translateX(100%);
  transition: transform 0.28s cubic-bezier(0.4, 0, 0.2, 1);
  display: flex;
  flex-direction: column;
}
.mob-panel.is-active {
  transform: translateX(0);
}
.mob-panel.is-behind {
  transform: translateX(-100%);
}

/* Root nav list */
.mob-nav-list {
  list-style: none;
  padding: 0.5rem 0;
  margin: 0;
  flex: 1;
}
.mob-item-row {
  display: flex;
  align-items: center;
  border-bottom: 1px solid var(--border, #e5e2db);
}
.mob-nav-list > li:not(:has(.mob-item-row)) {
  border-bottom: 1px solid var(--border, #e5e2db);
}
.mob-item-link {
  flex: 1;
  display: block;
  padding: 1rem 1.25rem;
  font-size: 1.1rem;
  font-weight: 500;
  color: var(--foreground, #1a1a1a);
  text-decoration: none;
}
.mob-item-link.mob-item-full {
  /* no chevron — link takes full row */
  width: 100%;
}
.mob-chevron-btn {
  flex-shrink: 0;
  background: none;
  border: none;
  padding: 1rem 1.25rem 1rem 0.5rem;
  cursor: pointer;
  color: var(--muted-foreground, #888);
  display: flex;
  align-items: center;
  transition: color 0.15s;
}
.mob-chevron-btn:hover {
  color: var(--foreground, #1a1a1a);
}

/* Root footer */
.mob-root-footer {
  padding: 1.5rem 1.25rem 1rem;
  flex-shrink: 0;
}
.mob-book-btn {
  width: 100%;
  justify-content: center;
}

/* Subpanel header */
.mob-subpanel-header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 1.25rem;
  border-bottom: 1px solid var(--border, #e5e2db);
  margin-bottom: 0.5rem;
  flex-shrink: 0;
}
.mob-back-btn {
  background: none;
  border: none;
  padding: 0.4rem 0.5rem 0.4rem 0;
  cursor: pointer;
  color: var(--muted-foreground, #888);
  display: flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.85rem;
  transition: color 0.15s;
}
.mob-back-btn:hover {
  color: var(--foreground, #1a1a1a);
}
.mob-subpanel-title {
  font-size: 1rem;
  font-weight: 600;
  color: var(--foreground, #1a1a1a);
  text-transform: none;
  letter-spacing: 0;
  line-height: 1.4;
  margin-bottom: 0;
}

/* Sub list */
.mob-sub-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.mob-sub-list li {
  border-bottom: 1px solid var(--border, #e5e2db);
}
.mob-sub-list li a {
  display: block;
  padding: 0.9rem 1.25rem;
  font-size: 1rem;
  color: var(--foreground, #1a1a1a);
  text-decoration: none;
  transition: color 0.15s;
}
.mob-sub-list li a:hover {
  color: var(--red, #8b3a3a);
}

/* Show hamburger only on mobile */
#openMenu {
  display: none;
  flex-direction: column;
  cursor: pointer;
}

@media (max-width: 991px) {
  #openMenu { display: flex; }
  .menu-wrapper { display: none; }
}

/* ── Footer main ── */
.footer-main {
	padding: 4rem 0;
	border-top: 1px solid var(--border, #e5e2db);
}

.footer-col-brand .custom-logo-link img {
	max-height: 40px;
	width: auto;
	margin-bottom: 1rem;
}

.footer-tagline {
	font-size: .9rem;
	color: var(--muted-foreground);
	margin-bottom: 1.5rem;
}

.footer-contact-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: .6rem;
}

.footer-contact-list li {
	display: flex;
	align-items: center;
	gap: .5rem;
	font-size: .875rem;
	color: var(--muted-foreground);
}

.footer-contact-list li a {
	color: var(--muted-foreground);
	text-decoration: none;
	transition: color .2s;
}

.footer-contact-list li a:hover {
	color: var(--foreground);
}

.footer-col-heading {
	text-transform: uppercase;
	font-size: .7rem;
	letter-spacing: .12em;
	color: var(--muted-foreground);
	margin-bottom: 1.25rem;
}

.footer-nav-list,
.footer-social-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: .75rem;
}

.footer-nav-list li a {
	font-size: .9rem;
	color: var(--foreground);
	text-decoration: none;
	transition: color .2s;
}

.footer-nav-list li a:hover {
	color: var(--red, #8b1a1a);
}

.footer-social-list li a {
	display: flex;
	align-items: center;
	gap: .5rem;
	font-size: .9rem;
	color: var(--foreground);
	text-decoration: none;
	transition: color .2s;
}

.footer-social-list li a:hover {
	color: var(--red, #8b1a1a);
}

/* ── Footer bottom ── */
.footer-bottom {
	border-top: 1px solid var(--border, #e5e2db);
	padding: 1.25rem 0;
}

.footer-bottom-inner {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: .25rem 1.5rem;
	font-size: .8rem;
	color: var(--muted-foreground);
}

.footer-copyright {
	color: var(--muted-foreground);
}

.footer-legal-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: .25rem .75rem;
}

.footer-legal-list li a {
	color: var(--muted-foreground);
	text-decoration: none;
	font-size: .8rem;
	transition: color .2s;
}

.footer-legal-list li a:hover {
	color: var(--foreground);
}

/* ── Single event — CTA banner ── */
.event-cta-banner {
	background: var(--black);
	padding: 4rem 0;
}

.event-cta-subtitle {
	color: var(--label-white);
	text-transform: uppercase;
	font-size: .75rem;
	letter-spacing: .1em;
	margin-bottom: .5rem;
}

.event-cta-title {
	color: var(--white);
	font-weight: 300;
	margin-bottom: 0;
}

.event-cta-actions {
	display: flex;
	gap: 1rem;
	justify-content: flex-end;
	flex-wrap: wrap;
}

.btn.outline-white {
	background: transparent;
	border: 1px solid var(--white);
	color: var(--white);
	padding: .65rem 1.5rem;
	font-size: .875rem;
	transition: background .2s, color .2s;
}

.btn.outline-white:hover {
	background: var(--white);
	color: var(--black);
}

/* ── Single event — related events ── */
.related-events-section {
	padding: 5rem 0;
}

.related-subtitle {
	text-transform: uppercase;
	font-size: .75rem;
	color: var(--burgund);
	display: block;
	margin-bottom: .35rem;
	letter-spacing: 0.3em;
}

.related-title {
	font-size: 1.875rem;
	line-height: 2.25rem;
}

.related-divider {
	width: 2.5rem;
	height: 2px;
	background: var(--burgund);
	margin-bottom: 2.5rem;
}

.related-grid {
	gap: 2rem 0;
}

a.related-card {
	display: block;
	text-decoration: none;
	color: inherit;
	height: 100%;
}

.related-card-body .date {
	display: flex;
	align-items: center;
	gap: .5rem;
	font-size: 0.75rem;
	line-height: 1rem;
	margin-bottom: .5rem;
}

span.inline-link-article {
	font-size: 0.875rem;
    line-height: 1.25rem;
	letter-spacing: unset;
	display: flex;
	gap: .375rem;
	align-items: center;
	color: var(--black);
	text-transform: unset;
	transition: all .25s;
}

span.inline-link-article:hover {
	color: var(--burgund);
}

.related-card-image {
	position: relative;
	overflow: hidden;
	aspect-ratio: 3 / 2;
	margin-bottom: 1.25rem;
}

.related-card-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform .4s ease;
}

a.related-card:hover .related-card-image img {
	transform: scale(1.04);
}

.related-card-body h3 {
	font-size: 1.2rem;
	font-weight: 400;
	margin-bottom: .5rem;
}

.contact-breadcrumb {
	display: flex;
	align-items: center;
	gap: .5rem;
	font-size: .75rem;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: var(--muted-foreground);
	margin-bottom: 1.5rem;
}

.contact-breadcrumb a {
	color: var(--muted-foreground);
	text-decoration: none;
}

.contact-breadcrumb a:hover {
	color: var(--foreground);
}

.contact-breadcrumb span[aria-current] {
	color: var(--foreground);
	font-weight: 500;
}

.contact-page-header h1 {
	font-size: clamp(2.5rem, 5vw, 4rem);
	font-weight: 300;
	margin-bottom: 1rem;
}

.contact-intro {
	max-width: 42rem;
	color: var(--muted-foreground);
	font-size: 1rem;
	line-height: 1.7;
}

.contact-cards-section {
	padding: 0 0 8rem;
}

span.contact-card-link {
	letter-spacing: unset;
	text-transform: unset;
}

#nf-form-5-cont .field-wrap:not(.checkbox-wrap) label {
    font-weight: 500;
	font-size: .875rem;
    line-height: 1.25rem;
	display: block;
	margin-bottom: .5rem;
	color: var(--black);
}

#nf-form-5-cont input[type="text"],
#nf-form-5-cont input[type="email"],
#nf-form-5-cont input[type="phone"],
#nf-form-5-cont input[type="tel"],
#nf-form-5-cont select,
#nf-form-5-cont textarea {
	background: transparent !important;
	outline-offset: 2px !important;
	outline: 2px solid transparent !important;
	font-size: .875rem !important;
	line-height: 1.25rem !important;
	padding-top: .5rem !important;
    padding-bottom: .5rem !important;
	padding-left: .75rem !important;
    padding-right: .75rem !important;
	border: 1px solid var(--border) !important;
}

#nf-label-field-50 {
	line-height: 1.625;
	font-size: .875rem;
	color: var(--muted-foreground);
	font-weight: 400;
	padding-left: 0 !important;
}

#nf-field-51 {
	font-weight: 500 !important;
	font-size: 1rem !important;
    line-height: 1.5rem !important;
	padding-left: 2rem !important;
    padding-right: 2rem !important;
	font-family: var(--text-font) !important;
	background: var(--red) !important;
	white-space: nowrap !important;
	display: flex !important;
	gap: .5rem !important;
	justify-content: center !important;
	height: 3rem !important;
	align-items: center !important;
	color: var(--white) !important;
	border: 2px solid var(--red) !important;
}

.contact-info-row span,
.contact-hours-row span {
	text-transform: unset;
	letter-spacing: unset;
	color: var(--muted-foreground);
}

.contact-info-block h3 {
	font-size: 1.25rem;
    line-height: 1.75rem;
	color: var(--black);
}

#nf-field-50-wrap .nf-field-label {
	padding-left: 0 !important;
}

#nf-label-field-50 a {
	color: var(--black);
	font-size: inherit;
	line-height: inherit;
}

#nf-form-5-cont .nf-field-label {
	margin-bottom: 0 !important;
}

a.contact-card {
	border: 1px solid var(--border, #e5e2db);
	border-radius: 0;
	padding: 2rem;
	height: 100%;
	display: flex;
	flex-direction: column;
	gap: .75rem;
	text-decoration: none;
	color: inherit;
	transition: border-color .2s, box-shadow .2s;
}

a.contact-card:hover {
	border-color: var(--red, #8b1a1a);
	box-shadow: 0 4px 24px rgba(0, 0, 0, .08);
}

a.contact-card:hover .contact-card-link {
	color: var(--red, #8b1a1a);
	gap: .7rem;
}

.contact-card-icon {
	color: var(--red, #8b1a1a);
	margin-bottom: .25rem;
}


.contact-card h3 {
	font-size: 1.1rem;
	font-weight: 400;
	margin: 0;
}

.contact-card p {
	font-size: .875rem;
	color: var(--muted-foreground);
	margin: 0;
	flex: 1;
}

.contact-card-link {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	font-size: .875rem;
	font-weight: 600;
	color: var(--foreground);
	text-decoration: none;
	margin-top: .5rem;
	transition: gap .2s;
}


/* ── Team page ── */
.team-header {
	padding-top: calc(6rem + 96px);
	padding-bottom: 5rem;
}

.team-header span {
	display: block;
	font-size: .75rem;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: var(--red);
	margin-bottom: 1.25rem;
}

.team-header h1 {
	font-weight: 300;
	font-size: clamp(2.5rem, 6vw, 4.5rem);
	margin-bottom: 1.5rem;
	line-height: 1.05;
}

.team-header-text p {
	font-size: 1.0625rem;
	line-height: 1.7;
	font-weight: 300;
	color: var(--foreground);
	margin: 0;
}

.team-header-rule {
	width: 6rem;
	border: none;
	border-top: 1px solid var(--border);
	margin: 3rem auto 0;
}

/* Grid */
.team-grid-section {
	padding-bottom: 6rem;
}

.team-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1.5rem;
}

.team-card {
	display: flex;
	flex-direction: column;
}

.team-card-img {
	aspect-ratio: 3 / 4;
	background: #e2ddd7;
	overflow: hidden;
	margin-bottom: 0;
}

.team-card-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.team-card-placeholder {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #b5ada4;
}

.team-card-body {
	background: var(--white);
	padding: 1.25rem 1.25rem 1.5rem;
	display: flex;
	flex-direction: column;
	gap: .25rem;
}

.team-card-name {
	font-size: 1rem;
	font-weight: 600;
	color: var(--foreground);
	font-style: normal;
}

.team-card-title {
	font-size: .875rem;
	font-weight: 300;
	color: var(--muted-foreground);
	font-style: italic;
	font-family: var(--text-font);
}

.team-card-email {
	font-size: .8125rem;
	color: var(--red);
	text-decoration: none;
	font-family: var(--text-font);
	margin-top: .25rem;
}

.team-card-email:hover {
	text-decoration: underline;
}

/* Bottom CTA */
.team-cta {
	padding-top: 5rem;
	padding-bottom: 7rem;
	border-top: 1px solid var(--border);
}

.team-cta span {
	display: block;
	font-size: .75rem;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: var(--red);
	margin-bottom: 1.25rem;
}

.team-cta h2 {
	font-weight: 300;
	font-size: clamp(2.5rem, 6vw, 4rem);
	margin-bottom: 1.75rem;
	line-height: 1.05;
}

.team-cta-link {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	font-size: .75rem;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--red);
	text-decoration: none;
	font-family: var(--text-font);
	transition: gap .2s;
}

.team-cta-link:hover {
	gap: .75rem;
}

@media (max-width: 992px) {
	.team-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 480px) {
	.team-grid {
		grid-template-columns: 1fr;
	}
}

/* ── Search page ── */
.search-page-header {
	padding-top: calc(8rem + 96px);
	padding-bottom: 4rem;
	border-bottom: 1px solid var(--border);
}

.search-page-header .text-label {
	display: block;
	font-size: .75rem;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: var(--red);
	margin-bottom: 1rem;
}

.search-page-title {
	font-weight: 300;
	font-size: clamp(2rem, 5vw, 3.5rem);
	margin-bottom: .5rem;
}

.search-page-count {
	font-size: .9375rem;
	font-weight: 300;
	color: var(--muted-foreground);
	margin-bottom: 2rem;
}

.search-page-form {
	margin-top: 2rem;
}

.search-page-input-wrap {
	display: flex;
	align-items: center;
	gap: .75rem;
	background: var(--white);
	border: 1px solid var(--border);
	padding: .625rem 1rem;
	max-width: 560px;
}

.search-page-input-wrap svg {
	color: var(--muted-foreground);
	flex-shrink: 0;
}

.search-page-input {
	flex: 1;
	border: none;
	outline: none;
	background: transparent;
	font-family: var(--text-font);
	font-size: 1rem;
	color: var(--foreground);
}

.search-page-input::placeholder {
	color: var(--muted-foreground);
}

.search-page-submit {
	flex-shrink: 0;
	padding: .5rem 1.25rem !important;
	font-size: .875rem !important;
}

/* Results */
.search-results-section {
	padding-top: 5rem;
	padding-bottom: 8rem;
}

.search-results-list {
	display: flex;
	flex-direction: column;
}

.search-result-item {
	display: grid;
	grid-template-columns: 200px 1fr;
	gap: 2rem;
	padding: 2rem 0;
	border-bottom: 1px solid var(--border);
	align-items: start;
}

.search-result-item:first-child {
	border-top: 1px solid var(--border);
}

.search-result-img {
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
}

.search-result-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform .4s ease;
}

.search-result-item:hover .search-result-img img {
	transform: scale(1.03);
}

.search-result-meta {
	display: flex;
	align-items: center;
	gap: .75rem;
	margin-bottom: .75rem;
	flex-wrap: wrap;
}

.search-result-tag {
	font-size: .75rem;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--red);
	font-family: var(--text-font);
}

.search-result-date {
	display: flex;
	align-items: center;
	gap: .35rem;
	font-size: .8125rem;
	color: var(--muted-foreground);
	font-family: var(--text-font);
	font-weight: 300;
}

.search-result-title {
	font-size: 1.375rem;
	font-weight: 400;
	margin-bottom: .75rem;
	line-height: 1.3;
}

.search-result-title a {
	color: var(--foreground);
	text-decoration: none;
}

.search-result-title a:hover {
	color: var(--red);
}

.search-result-excerpt {
	font-size: .9375rem;
	line-height: 1.65;
	font-weight: 300;
	color: var(--muted-foreground);
	margin-bottom: 1rem;
}

.search-result-link {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	font-size: .875rem;
	color: var(--foreground);
	text-decoration: none;
	font-family: var(--text-font);
	transition: gap .2s;
}

.search-result-link:hover {
	gap: .65rem;
	color: var(--red);
}

/* No results */
.search-no-results {
	text-align: center;
	padding: 5rem 0;
	color: var(--muted-foreground);
}

.search-no-results svg {
	margin-bottom: 1.5rem;
	opacity: .3;
}

.search-no-results h2 {
	font-weight: 300;
	font-size: 1.75rem;
	color: var(--foreground);
	margin-bottom: .75rem;
}

.search-no-results p {
	font-size: 1rem;
	font-weight: 300;
}

/* Pagination */
.search-pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1.5rem;
	margin-top: 4rem;
}

.search-page-btn {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	font-size: .9375rem;
	color: var(--foreground);
	text-decoration: none;
	font-family: var(--text-font);
	transition: color .2s;
}

.search-page-btn:hover {
	color: var(--red);
}

.search-page-indicator {
	font-size: .875rem;
	color: var(--muted-foreground);
	font-family: var(--text-font);
}

@media (max-width: 640px) {
	.search-result-item {
		grid-template-columns: 1fr;
		gap: 1rem;
	}

	.search-result-img {
		aspect-ratio: 16 / 9;
	}

	.search-page-input-wrap {
		flex-wrap: wrap;
	}

	.search-page-submit {
		width: 100%;
	}
}

/* ── Legal / default page template ── */
.legal-page-header {
	padding-top: calc(8rem + 96px);
	padding-bottom: 3rem;
}

.legal-page-title {
	font-size: clamp(2.25rem, 5vw, 3.5rem);
	font-weight: 300;
	margin-bottom: .75rem;
}

.contact-breadcrumb span {
	color: var(--black);
	letter-spacing: unset;
}

.legal-last-updated {
	font-size: .875rem;
	color: var(--muted-foreground);
	margin: 0;
}


.legal-divider {
	margin-bottom: 2rem;
}

.legal-toc-label {
	text-transform: uppercase;
	font-size: .7rem;
	letter-spacing: .12em;
	color: var(--muted-foreground);
	margin-bottom: 1rem;
}

.legal-toc-section {
	border-top: 1px solid var(--border);
	border-bottom: 1px solid var(--border);
	padding-top: 2rem;
	padding-bottom: 2rem;
}

.legal-toc-grid {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: .5rem 2rem;
}

.legal-toc-grid li a {
	display: flex;
	align-items: baseline;
	gap: .5rem;
	font-size: .9rem;
	color: var(--muted-foreground);
	text-decoration: none;
	transition: 1;
	transition: all .25s;
}

.legal-toc-grid li a span {
	color: var(--red);
}

.legal-toc-grid li a:hover {
	color: var(--black);
}

.toc-num {
	font-size: .8rem;
	flex-shrink: 0;
}

.legal-content-section {
	padding: 2rem 0 6rem;
}

.legal-content h2 {
	font-size: 1.75rem;
	font-weight: 300;
	margin-top: 3rem;
	margin-bottom: 1rem;
	scroll-margin-top: 6rem;
}

.legal-content h2 .toc-num,
.legal-content h2::before {
	color: var(--red, #8b1a1a);
	font-size: 1rem;
	vertical-align: middle;
	margin-right: .5rem;
}

.legal-content p,
.legal-content li {
	font-size: .9375rem;
	line-height: 1.8;
	color: var(--foreground);
}

.legal-content ul,
.legal-content ol {
	padding-left: 1.25rem;
	margin-bottom: 1rem;
}

.legal-content ul li {
	list-style: none;
	padding-left: .75rem;
	position: relative;
}

.legal-content ul li::before {
	content: '—';
	position: absolute;
	left: -1rem;
	color: var(--muted-foreground);
}

.legal-content a {
	color: var(--red, #8b1a1a);
}

/* ── Contact travel section ── */
.contact-travel-section {
	padding: 5rem 0 6rem;
	border-top: 1px solid var(--border, #e5e2db);
}

.contact-travel-title {
	font-size: clamp(1.75rem, 3vw, 2.5rem);
	font-weight: 300;
	margin-bottom: .75rem;
}

.section-divider {
	width: 2rem;
	height: 2px;
	background: var(--red, #8b1a1a);
	margin: .75rem auto 1.5rem;
}

.contact-travel-intro {
	font-size: .95rem;
	color: var(--muted-foreground);
	line-height: 1.7;
	margin-bottom: 3rem;
}

.contact-travel-grid {
	gap: 1.5rem 0;
	margin-top: 1rem;
}

.contact-travel-card {
	position: relative;
	overflow: hidden;
	background: #fff;
	border: 1px solid rgba(0, 0, 0, 0.12);
	padding: 2.5rem;
	height: 100%;
	transition: border-color 0.5s ease;
}

.contact-travel-card::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	height: 1px;
	width: 0;
	background: var(--red, #8b1a1a);
	transition: width 0.5s ease;
}

.contact-travel-card:hover {
	border-color: rgba(139, 26, 26, 0.35);
}

.contact-travel-card:hover::before {
	width: 100%;
}

.contact-travel-badge {
	position: absolute;
	top: 1.25rem;
	right: 1.25rem;
	font-size: .6rem;
	font-weight: 500;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--red, #8b1a1a);
	border: 1px solid var(--red, #8b1a1a);
	padding: .2rem .5rem;
	white-space: nowrap;
}

.contact-travel-icon {
	width: 3.5rem;
	height: 3.5rem;
	border: 1px solid rgba(0, 0, 0, 0.18);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 2rem;
	transition: border-color 0.5s ease;
}

.contact-travel-card:hover .contact-travel-icon {
	border-color: rgba(139, 26, 26, 0.5);
}

.contact-travel-icon img {
	width: 24px;
	height: 24px;
	object-fit: contain;
}

.contact-travel-meta {
	font-size: 11px;
	letter-spacing: 0.25em;
	text-transform: uppercase;
	color: var(--muted-foreground);
	margin-bottom: .75rem;
}

.contact-travel-item-title {
	font-size: 1.5rem;
	font-weight: 300;
	font-family: var(--font, Georgia, serif);
	color: var(--black, #1a1a1a);
	margin-bottom: 1rem;
	line-height: 1.2;
}

.card-divider {
	width: 2rem;
	height: 1px;
	background: rgba(139, 26, 26, 0.6);
	margin-bottom: 1.25rem;
}

span.subtitle {
	margin-bottom: 1.25rem;
	display: block;
}

.contact-travel-item-text {
	font-size: 15px;
	color: var(--muted-foreground);
	line-height: 1.65;
	margin: 0;
}

.contact-travel-footer {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1.5rem;
	margin-top: 3rem;
	flex-wrap: wrap;
}

.contact-travel-address {
	display: flex;
	align-items: center;
	gap: .5rem;
	font-size: .875rem;
	color: var(--foreground);
}

.contact-travel-map-link {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	font-size: .8rem;
	font-weight: 500;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--red, #8b1a1a);
	text-decoration: none;
	transition: opacity .2s;
}

.contact-travel-map-link:hover {
	opacity: .75;
}

/* ── Contact form section ── */
.contact-form-section {
	padding: 8rem 0 8rem;
	border-top: 1px solid var(--border, #e5e2db);
	background: var(--background-dark);
}

.contact-form-title {
	font-size: clamp(1.5rem, 3vw, 2rem);
	font-weight: 300;
	margin-bottom: 2rem;
}

.contact-info-col {
	display: flex;
	flex-direction: column;
	gap: 2.5rem;
}

.contact-info-block {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.contact-info-heading {
	font-size: 1rem;
	font-weight: 500;
	color: var(--red, #8b1a1a);
	margin-bottom: .25rem;
}

.contact-info-row,
.contact-hours-row {
	display: flex;
	align-items: flex-start;
	gap: .75rem;
	color: var(--foreground);
}

.contact-info-row svg,
.contact-hours-row svg {
	color: var(--red, #8b1a1a);
	flex-shrink: 0;
	margin-top: .15rem;
}

.contact-info-row div,
.contact-hours-row div {
	display: flex;
	flex-direction: column;
	gap: .1rem;
	font-size: .875rem;
}

.pressroom-contact-section,
.pressroom-ntb-section {
	padding-top: 8rem;
	padding-bottom: 8rem;
}

.pressroom-ntb-section {
	background: var(--background-dark);
}



.contact-info-row strong,
.contact-hours-row strong {
	font-weight: 600;
}

.contact-info-row a {
	color: var(--foreground);
	text-decoration: none;
}

.contact-info-row a:hover {
	color: var(--red, #8b1a1a);
}

.contact-hours-row span {
	color: var(--muted-foreground);
	line-height: 1.6;
}

.contact-map {
	overflow: hidden;
}

.contact-directions-link {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	font-size: .875rem;
	font-weight: 600;
	color: var(--foreground);
	text-decoration: none;
	margin-top: .75rem;
	transition: gap .2s, color .2s;
}

.contact-directions-link:hover {
	color: var(--red, #8b1a1a);
	gap: .7rem;
}

/* ── Hero stat block (Hågkomstresor) ── */
.hero-stat {
	display: inline-flex;
	align-items: center;
	gap: 1rem;
	margin-top: 2rem;
	font-family: var(--font);
}

button.inline-span-link {
	height: unset;
    background: transparent;
    border: none;
    display: flex;
    align-items: center;
    gap: .35rem;
	transition: all .25s;
}

button.inline-span-link:hover {
	color: var(--red);
}

.hero-stat-number {
	font-size: clamp(2.5rem, 6vw, 4rem);
	font-weight: 300;
	color: var(--white);
	line-height: 1;
}

.hero-stat-labels {
	display: flex;
	flex-direction: column;
	text-align: left;
}

.hero-stat-label {
	font-size: .7rem;
	text-transform: uppercase;
	letter-spacing: .12em;
	color: var(--text-white);
	line-height: 1.3;
}

.hero-stat-sub {
	font-size: .7rem;
	text-transform: uppercase;
	letter-spacing: .12em;
	color: var(--label-white);
	line-height: 1.3;
}

/* ── Single post / single event — shorter hero ── */
.single-post #heroContainer .hero-slide,
.single-events #heroContainer .hero-slide {
	height: 55vh;
	min-height: 400px;
}

.single-post-nav {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

time span.event-time {
	font-size: .875rem;
    line-height: 1.25rem;
    color: var(--muted-foreground);
    letter-spacing: unset;
    text-transform: unset;
	margin-left: 5px;
}

span.share-label {
	font-size: .75rem;
    line-height: 1rem;	
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: .2em;
	color: var(--muted-foreground)	
}

.share-wrapper {
	display: flex;
	align-items: center;
	gap: .75rem;
}

.share-wrapper a {
	color: var(--muted-foreground);
	text-decoration: none;
	padding: .5rem;
	border: 1px solid var(--border);
}

.single-post-nav a.back-link {
	font-size: .875rem;
	line-height: 1.25rem;
	display: flex;
	align-items: center;
	text-decoration: none;
	gap: .5rem;
	color: var(--muted-foreground);
}

.share-wrapper button {
	border: 1px solid var(--border);
	background: transparent;
	padding: .5rem;
	height: unset;
}

.event-content blockquote {
	font-size: 1.5rem;
	line-height: 2rem;
	color: var(--black);
	border-color: var(--burgund);
	border-left: 2px solid var(--burgund);
	margin-bottom: 2rem;
	padding-left: 1.5rem;
	font-family: var(--font);
}

span.footer-copyright {
	letter-spacing: unset;
	text-transform: unset;
}

.pressroom-ntb-section a.btn.main,
.pressroom-contact-section a.btn.outline {
	display: flex;
	align-items: center;
	gap: .35rem;
}

.single-post-meta span.meta-date,
.single-post-meta span.meta-reading-time {
	align-items: center;
	gap: .375rem;
	display: inline-flex;
	color: var(--border);
	letter-spacing: unset;
	font-size: .875rem;
    line-height: 1.25rem;
}

.single-post-meta {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1rem;
}

section#postmeta {
	padding-left: calc(3rem - .75rem);
	padding-right: calc(3rem - .75rem);
}

.event-content p {
	font-size: 1.125rem;
	line-height: 1.75rem;
	color: var(--muted-foreground);
}

.event-content blockquote p {
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
	color: inherit;
}

.event-content {
	padding-top: 6rem;
	padding-bottom: 6rem;
}

.share-wrapper button,
.share-wrapper a {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.single-post-nav a {
	color: var(--black);
}

@media screen and (max-width: 1200px) {
	.footer-main .row > div {
		margin-top: 35px;
	}
}
/* ── CookieYes overrides ─────────────────────────────────────────────────── */
.cky-consent-bar,
.cky-modal,
.cky-preference-center {
  background: var(--white) !important;
  border-color: var(--border) !important;
  color: var(--black) !important;
}

.cky-title,
.cky-notice-des,
.cky-preference-title,
.cky-preference-des,
.cky-preference-content-wrapper,
.cky-tab-label-des {
  color: var(--black) !important;
}

/* Accept / Save button → red */
.cky-btn-accept,
.cky-btn-preferences-save {
  background: var(--red) !important;
  border-color: var(--red) !important;
  color: var(--white) !important;
}
.cky-btn-accept:hover,
.cky-btn-preferences-save:hover {
  background: var(--red-hover, #9a5850) !important;
  border-color: var(--red-hover, #9a5850) !important;
}

/* Reject / Customize / Preferences → outlined */
.cky-btn-reject,
.cky-btn-customize,
.cky-btn-close,
.cky-btn-preferences {
  background: transparent !important;
  border-color: var(--red) !important;
  color: var(--red) !important;
}
.cky-btn-reject:hover,
.cky-btn-customize:hover,
.cky-btn-preferences:hover {
  background: var(--background) !important;
}

/* Revisit floating button */
.cky-btn-revisit-wrapper.cky-revisit-bottom-left,
.cky-btn-revisit-wrapper.cky-revisit-bottom-right {
  background-color: var(--red) !important;
  border-color: var(--red) !important;
}
.cky-btn-revisit-wrapper.cky-revisit-bottom-left:hover,
.cky-btn-revisit-wrapper.cky-revisit-bottom-right:hover {
  background-color: var(--red-hover, #9a5850) !important;
  border-color: var(--red-hover, #9a5850) !important;
}

.cky-modal span {
	letter-spacing: unset !important;
	transform: unset !important;
}

button.cky-accordion-btn {
	height: unset !important;
}

/* Toggle (active) → red */
.cky-switch input:checked + .cky-slider {
  background: var(--red) !important;
}

/* Tab active state */
.cky-preference-center .cky-tab.cky-tab-active .cky-tab-label,
.cky-preference-center .cky-tab.cky-tab-active .cky-tab-label * {
  color: var(--red) !important;
  border-color: var(--red) !important;
}

/* Preference center body */
.cky-preference-center .cky-preference-body-wrapper,
.cky-accordion-wrapper {
  background: var(--background) !important;
}
/* ── End CookieYes overrides ──────────────────────────────────────────────── */

.videosuite-section {
  padding: 3rem 0;
}

.videosuite-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
}

.videosuite-iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: none;
  display: block;
}
