/* --------------------------------------------------
	Breakpoints

	Desktop       >1320px
	Laptop        901–1320px
	Tablet        769–900px
	Mobile        401–768px
	Small Phone   ≤400px
-------------------------------------------------- */

/* --------------------------------------------------
   Variables / Tokens
-------------------------------------------------- */

:root {	

    /* Dynamic defaults
   	   These may be overridden by Theme Settings. */

	--container-width: 1280px;

	/* Colors */
	--color-background: #fff;
	
	--color-text: #000;
	--color-link: #666;
	--color-link-hover: #333;
	
	--color-primary: #000;
    --color-secondary: #000;
	--color-accent: #ff0000;
	
	/* Navigation */
	--nav-color: #666;
	--nav-hover-color: #333;
	--nav-active-color: #990000;
	
	/* Header */
	--logo-width: 180px;
	--shrink-logo-width: 140px;
	--shrink-header-height: 70px;
	
	/* Static design tokens */
	
	--container-padding: 1.25rem;
	
	/* Space */
	--space-2xs: 0.25rem;
	--space-xs: 0.5rem;
	--space-sm: 1rem;
	--space-md: 2rem;
	--space-lg: 4rem;
	--space-xl: 5rem;
	
	/* Font Families */
	--font-body: system-ui, sans-serif;
	--font-heading: system-ui, sans-serif;
	--font-bold: system-ui, sans-serif;
	
	/* Utility */
	--font-xs: clamp(0.8125rem, 0.78rem + 0.15vw, 0.9375rem);   /* 13–15px */
	--font-sm: clamp(0.9375rem, 0.9rem + 0.2vw, 1.125rem);      /* 15–18px */
	
	/* Body */
	--font-md: clamp(1rem, 0.95rem + 0.35vw, 1.25rem);          /* 16–20px */
	
	/* Lead / H4 / Buttons */
	--font-lg: clamp(1.125rem, 1.05rem + 0.4vw, 1.375rem);      /* 18–22px */
	
	/* H3 / H2 */
	--font-xl: clamp(1.375rem, 1.25rem + 0.6vw, 1.75rem);       /* 22–28px */
	
	/* H2 / H1 */
	--font-2xl: clamp(1.75rem, 1.55rem + 0.9vw, 2.25rem);       /* 28–36px */
	
	/* Hero */
	--font-3xl: clamp(2rem, 1.75rem + 1.2vw, 2.75rem);          /* 32–44px */
	
	/* Navigation */
	--font-nav: clamp(1.125rem, 1rem + 0.5vw, 1.5rem);          /* 18–24px */
	
	/* Letterspacing */
	--letter-spacing-body: 0;
	--letter-spacing-strong: 0.02em;
	
	/* Borders */
    --radius-sm: .25rem;
    --radius-md: .5rem;
    --radius-lg: 1rem;
	--color-border: #dddddd;
	
	 /* Shadows */
    --shadow-sm: 0 2px 8px rgb(0 0 0 / .08);
    --shadow-md: 0 8px 24px rgb(0 0 0 / .12);

    /* Animation */
    --transition: .25s ease;
    --transition-slow: .6s ease;
    --transition-story: .8s cubic-bezier(.22, 1, .36, 1);
    
	/* Section */
	--section-padding: clamp(2rem, 4vw, 4rem);
	
	/* Buttons */
	--button-bg: var(--color-primary);
    --button-color: #fff;

    --button-hover-bg: var(--color-accent);
    --button-hover-color: #fff;
    
    /* Image Story */
    --image-story-max-height: 50vh;

}

/* --------------------------------------------------
   Base
-------------------------------------------------- */

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

html {
	font-size: 16px;
	container-type: inline-size;
	background-color: var(--color-background);
	min-height: 100%;
}

body {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	margin: 0;
	font-size: var(--font-md);
	font-family: var(--font-body);
	color: var(--color-text);
	background: transparent;
	line-height: 1.6;
}

.content-layout > .entry-title,
.container--narrow,
.content-width {
	width: min(
		100% - (var(--container-padding) * 2),
		var(--content-width)
	);
	margin-inline: auto;
	box-sizing: border-box;
}

.image-story__item.is-expanded .image-story__media-inner {
	width: min(
		100% - (var(--container-padding) * 2),
		var(--container-width)
	);
	margin-inline: auto;
	box-sizing: border-box;
}

.image-story__item.is-expanded .image-story__media {
	display: block;
}

.image-story__item.is-expanded .image-story__img {
	margin-inline: 0;
}


/* --------------------------------------------------
   Typography
-------------------------------------------------- */

p,
ul,
ol,
li {
    line-height: 1.5;
    margin-block: 0 var(--space-md);
}

@media (max-width: 768px) {
	p,
	ul,
	ol,
	li {
		margin-block: 0 var(--space-sm);
	}
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin-block: 0 var(--space-md);
}

h1 a,
h2 a,
h3 a,
h4 a {
	text-decoration: none; 
}

h1,
.h1 {
	font-size: var(--font-2xl);
	font-family: var(--font-heading);
	line-height: 1.05;
	color: var(--color-primary);
}

.entry-title {
	margin-top: var(--space-xl);
}

h2,
.h2 {
	font-size: var(--font-xl);
	font-family: var(--font-heading);
	line-height: 1.2;
}

h3,
.h3 {
	font-size: var(--font-xl);
	font-family: var(--font-heading);
	line-height: 1.2;
	margin-block: 0 var(--space-xs);
}

h4, 
h5, 
h6 {
	font-size: var(--font-lg);
	font-family: var(--font-bold);
	letter-spacing: var(--letter-spacing-strong);
	margin-block: 0 var(--space-xs); 
}

h5 {
	font-size: var(--font-lg); 
	margin-block: 0; 
	color: var(--color-primary);
}


p {
	font-size: var(--font-md);
	font-family: var(--font-body);
}

.has-lead-font-size {
	line-height: 1.4;
}

strong,
b {
	font-family: var(--font-bold);
	letter-spacing: var(--letter-spacing-strong); 
}

ul,
ol {
	margin-left: 2.5rem;
}

.acf-innerblocks-container ul,
.acf-innerblocks-container ol {
	padding-left: 1.25em;
	margin-left: 0; 
}

li {
	margin-block: 0.25em;
}

a,
a:visited {
	color: var(--color-link);
}

a:hover {
	color: var(--color-link-hover);
}

/* Quotes */

blockquote {
	margin-block: 0 var(--space-md);
}

/* Figures */

figure {
	margin-block: 0 var(--space-md);
}

/* Preformatted */

pre {
	margin-block: 0 var(--space-md);
}

/* Tables */

table {
	margin-block: 0 var(--space-md);
}

.wp-block-separator {
	border: 0;
	border-top: 2px solid var(--color-primary);

	margin-block: var(--space-xl);
	margin-inline: auto;
}

.wp-block-separator:not(.is-style-wide) {
	max-width: var(--container-width);
}

.entry-content > .wp-block-separator {
	width: min(100% - (var(--container-padding) * 2), var(--container-width));
	max-width: none;
	margin-inline: auto;
	box-sizing: border-box;

	border: 0;
}

.entry-content > .wp-block-separator::before {
	content: "";
	display: block;
	border-top: 2px solid var(--color-primary);
}

/* --------------------------------------------------
   Layout
-------------------------------------------------- */
.site-main--default-top,
body:has(.hide-title) .site-main {
	padding-top: var(--space-xl);
}

.site-main--flush-top,
.site-main--default-top.site-main--flush-top {
	padding-top: 0;
}

.site-main {
	flex: 1 0 auto; 
}

.content-layout > .entry-content > *:not(.alignfull):not(.alignwide):not(.section) {
	width: min(
		100% - (var(--container-padding) * 2),
		var(--content-width)
	);
	margin-inline: auto;
	box-sizing: border-box;
}

.content-layout > .entry-content > .alignwide {
	width: min(
		100% - (var(--container-padding) * 2),
		var(--container-width)
	);
	margin-inline: auto;
	box-sizing: border-box;
}

.content-layout > .entry-content > .alignfull {
	width: 100%;
	max-width: none;
}

.entry-content > .image-story--width-full,
.entry-content > .background-section--width-full,
.site-main > .image-story--width-full,
.site-main > .background-section--width-full {
	width: 100%;
	max-width: none;
}

.container {
	width: min(100% - (var(--container-padding) * 2), var(--container-width));
	margin-inline: auto;
}

.is-layout-constrained > .container {
	width: min(
		100% - (var(--container-padding) * 2),
		var(--container-width)
	);
	max-width: none;
	margin-inline: auto !important;
	box-sizing: border-box;
}

.container-layout {
	width: min(
		100% - (var(--container-padding) * 2),
		var(--container-width)
	);
	margin-inline: auto;
	box-sizing: border-box;
}


.content-card__content > .background-section--width-full {
	width: 100cqw;
	max-width: none;

	margin-left: calc(50% - 50cqw);
	margin-right: calc(50% - 50cqw);

	transform: none;
	padding-left: 0;
}

.container--full {
    width: 100%;
}

.site-main > .section, 
.entry-content > .section { 
	margin-block: var(--section-spacing, var(--section-padding)); 
}

.site-main > .section.section--spacing-small,
.entry-content > .section.section--spacing-small {
	--section-spacing: var(--space-sm);
}

.site-main > .section.section--spacing-medium,
.entry-content > .section.section--spacing-medium {
	--section-spacing: var(--space-md);
}

.site-main > .section.section--spacing-large,
.entry-content > .section.section--spacing-large {
	--section-spacing: var(--space-lg);
}

.site-main > .section.section--flush-top,
.entry-content > .section.section--flush-top {
	margin-top: 0;
}

.site-main > .section.section--flush-bottom,
.entry-content > .section.section--flush-bottom {
	margin-bottom: 0;
}

.grid {
    display: grid;
    gap: var(--space-md);
}

.grid--2 {
    grid-template-columns: repeat(2, 1fr);
}

.grid--3 {
    grid-template-columns: repeat(3, 1fr);
}

@media (max-width: 768px) {
    .grid--2,
    .grid--3 {
        grid-template-columns: 1fr;
    }
}

.wp-block-group.has-background {
	padding-block: var(--section-padding);
}

/* --------------------------------------------------
   Header
-------------------------------------------------- */
.site-header {
	padding: 0; 
	min-height: var(--header-height, auto);
	position: relative;
	background: var(--header-background, transparent);

	transition:
		min-height var(--transition),
		background-color var(--transition);
}

.site-header.is-sticky {
	position: sticky;
	top: 0;
	z-index: 100;
	background: var(--header-background, transparent);
}

.site-header.has-shrink.is-shrunk {
	min-height: var(--shrink-header-height);
}

.site-header.has-shrink.is-shrunk .custom-logo,
.site-header.has-shrink.is-shrunk .site-branding img {
	width: var(--shrink-logo-width, var(--logo-width));
}

.site-header__inner {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	grid-template-rows: auto auto;
	column-gap: var(--space-md);
	align-items: center;
	padding-block: var(--space-md);
}

.site-header__inner:has(.site-header__utility-nav) {
	padding-block-start: 0;
	padding-block-end: var(--space-md);
}

.site-branding {
	grid-column: 1;
	grid-row: 2;
	align-self: center;
	padding-top: 0;
	text-decoration: none;

	transition:
		padding-top var(--transition);
}

.custom-logo,
.site-branding img {
	display: block;
	width: var(--logo-width);
	max-width: 100%;
	height: auto;
	transition:
		width var(--transition);
}

.site-branding__name {
	font-weight: 700;
	text-decoration: none;
}

@media (max-width: 768px) {
	.site-header {
		padding-top: var(--space-xs); 
	}
	
	.site-branding img {
		width: var(--mobile-logo-width, 150px);
	}
}

/* --------------------------------------------------
   Navigation
-------------------------------------------------- */
.site-nav {
	grid-column: 2;
	grid-row: 2;
	width: 100%;
	margin-top: 0;
}

.site-header.has-shrink.is-shrunk .site-nav {
	margin-top: 0;
}

.site-nav__menu,
.site-nav__menu ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.site-nav__menu {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-md);
	width: 100%;

	font-size: var(--font-nav);
	font-family: var(--font-heading);
}

.site-nav__menu li {
	position: relative;
}

.site-nav__menu a {
	display: block;
	padding: .5em 0 0;

	color: var(--nav-color);
	text-decoration: none;

	transition:
		color var(--transition),
		background-color var(--transition);
}

.site-nav__menu li > .menu-row > a:hover,
.site-nav__menu li > .menu-row > a:focus-visible,
.site-nav__menu li > .menu-row > .submenu-toggle:hover,
.site-nav__menu li > .menu-row > .submenu-toggle:focus-visible,
.site-nav__menu li.is-open > .menu-row > .submenu-toggle {
	color: var(--nav-hover-color);
}

/* Current page */

.site-nav__menu .current-menu-item > .menu-row > a,
.site-nav__menu .current_page_item > .menu-row > a,
.site-nav__menu .current-menu-parent > .menu-row > a,
.site-nav__menu .current-menu-ancestor > .menu-row > a {
	color: var(--nav-active-color);
}

/* Menu Row */

.menu-row {
	display: flex;
	align-items: center;
}

.menu-row > a {
	flex: 1;
}

/* Submenu Toggle */

.submenu-toggle {
	display: none;
	align-items: center;
	justify-content: center;

	width: 2.75rem;
	height: 2.75rem;

	padding: 0;
	border: 0;
	background: none;

	color: var(--color-text);
	cursor: pointer;
}

.submenu-toggle i {
	font-size: var(--font-sm);
	transition:
		transform var(--transition),
		color var(--transition);
}

.site-nav__menu li.is-open > .menu-row > .submenu-toggle i {
	transform: rotate(90deg);
}

/* Desktop Sub Navigation */

.site-nav__menu > li > .sub-menu,
.site-nav__menu .sub-menu .sub-menu {
	position: absolute;
	display: none;

	width: 18.75rem;
	min-width: 18.75rem;
	margin: 0;
	padding: 0 0 .75rem;

	background: var(--color-background);
	box-sizing: border-box;
	white-space: normal;
}

.site-nav__menu > li > .sub-menu {
	top: 100%;
	left: -1.25rem;
	z-index: 90;
	box-shadow: 0 20px 24px -5px rgb(0 0 0 / .12);
}

.site-nav__menu .sub-menu .sub-menu {
	top: -0.6rem;
	left: 100%;
	padding: .25rem 0 .75rem;
	box-shadow: 10px 20px 24px -5px rgb(0 0 0 / .12);
}

@media (min-width: 901px) {
	.site-nav__menu > li:hover > .sub-menu,
	.site-nav__menu > li:focus-within > .sub-menu,
	.site-nav__menu .sub-menu li:hover > .sub-menu,
	.site-nav__menu .sub-menu li:focus-within > .sub-menu {
		display: block;
	}
}

.site-nav__menu .sub-menu .submenu-toggle {
	display: flex;
}

.site-nav__menu > li > .menu-row > .submenu-toggle {
	display: none;
}

.site-nav__menu .sub-menu a {
	padding: .35rem 0 .35rem 1.25rem;
	font-size: var(--font-md);
	font-family: var(--font-heading);
	line-height: 1.25;
}

.site-nav__menu .sub-menu .sub-menu a {
	padding: .2rem 0 .2rem 1.25rem;
	font-family: var(--font-body);
}

/* Mobile Navigation */

@media (max-width: 900px) {		
	.site-nav {
		grid-column: 1 / -1;
		grid-row: 3;
		display: none;
		width: 100%;
		margin-top: 1rem;
	}

	.site-nav.is-open {
		display: block;
	}

	.site-nav__menu {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 0;

		font-size: var(--font-lg);
	}

	.site-nav__menu > li {
		width: 100%;
	}

	.site-nav__menu .menu-row {
		display: grid;
		grid-template-columns: 1fr auto;
		align-items: center;
		width: 100%;
	}

	.site-nav__menu .menu-row > a {
		min-width: 0;
		padding: var(--space-xs) 0;
	}

	.site-nav__menu > li > .menu-row > .submenu-toggle {
		display: flex;
		justify-self: end;
	}

	.site-nav__menu > li > .sub-menu,
	.site-nav__menu .sub-menu .sub-menu {
		position: static;
		display: none;

		width: 100%;
		min-width: 0;
		margin: 0;
		padding: 0 0 1rem 1rem;

		background: none;
		box-shadow: none;
		border: 0;
	}
	
	.site-nav__menu li.is-open > .sub-menu {
		display: block;
	}

	.site-nav__menu .menu-row > .submenu-toggle {
		display: flex;
	}
}

/* Utility Navigation */

.site-header__utility-nav {
	grid-column: 1 / -1;
	grid-row: 1;
	justify-self: end;

	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: var(--space-sm);

	padding-top: 0.4rem;

	font-size: var(--font-sm);
}

/* Top Menu */

.site-top-nav {
	font-size: inherit;
}

.site-top-nav__menu {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: var(--space-sm);

	list-style: none;
	margin: 0;
	padding: 0;
}

.site-top-nav__menu li {
	margin: 0;
	line-height: 1.4;
}

.site-top-nav__menu a {
	color: var(--nav-color);
	text-decoration: none;
}

.site-header__inner > * {
	min-width: 0;
}

/* Language Switcher */

.site-nav__language-switcher {
	display: none;
}

.site-language-switcher {
	display: flex;
	align-items: center;
	font-size: var(--font-md);
}

.site-language-switcher::before {
	content: "|";
	margin-inline: 0 var(--space-sm);
	opacity: .5;
}

.language-switcher {
	display: flex;
	align-items: center;
	gap: var(--space-sm);

	list-style: none;
	margin: 0;
	padding: 0;
}

.language-switcher li {
	margin: 0;
	line-height: 1.4;
}

.language-switcher a {
	color: var(--nav-color);
	text-decoration: none;
}

.site-top-nav__menu a:hover,
.site-top-nav__menu a:focus-visible,
.site-top-nav__menu .current-menu-ancestor a, 
.language-switcher a:hover,
.language-switcher a:focus-visible,
.language-switcher .is-active a {
	color: var(--color-primary);
}

.language-switcher .is-active a {
	font-family: var(--font-bold);
	color: var(--color-text);
}

.language-switcher li {
	display: flex;
	align-items: center;
	gap: var(--space-xs);
}

@media (max-width: 900px) {
	.site-header__utility-nav {
		grid-column: 1 / -1;
		grid-row: 1;

		display: grid;
		grid-template-columns: auto auto 1fr auto;
		align-items: center;
		gap: var(--space-sm);

		width: 100%;
		padding-top: 0;
	}

	.site-top-nav {
		grid-column: 1;
		grid-row: 1;
	}

	.site-top-nav__menu {
		flex-direction: row-reverse;
	}

	.site-search-link {
		grid-column: 2;
		grid-row: 1;
	}

	.site-language-switcher {
		grid-column: 4;
		grid-row: 1;
		justify-self: end;
	}

	.site-language-switcher::before {
		content: none;
	}
}

@media (max-width: 768px) {

	/* Hide the desktop utility switcher */
	.site-header__utility-nav {
		display: none;
	}

	/* Show languages at the bottom of the opened menu */
	.site-nav__language-switcher {
		display: block;
		padding-block: var(--space-xs);
		font-size: var(--font-lg);
	}

	.site-nav__language-switcher .language-switcher {
		justify-content: flex-start;
	}
}

/* Search Toggle */

.site-search-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	padding: 0;
	border: 0;
	background: transparent;

	color: var(--nav-color);
	font: inherit;
	line-height: 1;
	cursor: pointer;
}

.site-search-toggle:hover,
.site-search-toggle:focus-visible,
.site-search-toggle[aria-expanded="true"] {
	color: var(--color-primary);
}

/* Hamburger Menu */

.site-nav-toggle {
	display: none;
}

@media (max-width: 900px) {
	.site-nav-toggle {
		display: inline-flex;
		grid-column: 2;
		grid-row: 2;
		justify-self: end;
		align-self: end;
		z-index: 2;
		margin-bottom: .9rem;
	}
}

.hamburger {
	padding: 0.5rem;
	border: 0;
	background: transparent;
	cursor: pointer;
}

.hamburger-box {
	position: relative;
	display: inline-block;
	width: 40px;
	height: 41px;
}

.hamburger-inner,
.hamburger-inner::before,
.hamburger-inner::after {
	position: absolute;
	width: 40px;
	height: 3px;
	background: var(--color-text);
	transition: 
		transform 0.2s ease, 
		opacity 0.2s ease;
	content: "";
}

.hamburger-inner {
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}

.hamburger-inner::before {
	top: -16px;
	left: 0;
}

.hamburger-inner::after {
	top: 16px;
	left: 0;
}

.hamburger.is-active .hamburger-inner {
	transform: rotate(45deg);
}

.hamburger.is-active .hamburger-inner::before {
	transform: translateY(16px) rotate(90deg);
}

.hamburger.is-active .hamburger-inner::after {
	opacity: 0;
}

/* --------------------------------------------------
   Components
-------------------------------------------------- */

/* Empty Message */

.block-empty-message {
	padding: 1rem;
	border: 1px dashed var(--color-border);
	color: var(--color-text);
}

/* Buttons */

.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: .8em 1.6em;

    border: 2px solid transparent;
    border-radius: var(--radius-md);

	font-size: var(--font-lg);
	font-family: var(--font-heading);
    text-decoration: none;

    transition:
		background-color var(--transition),
		color var(--transition),
		border-color var(--transition);
}

.button--primary,
.button--primary:visited {
    background: var(--button-bg);
	color: var(--button-color);
}

.button--primary:hover,
.button--primary:focus-visible {
    background: var(--button-hover-bg);
	color: var(--button-hover-color);
}

.button--secondary,
.button--secondary:visited {
    background: transparent;
    color: var(--color-primary);
    border-color: var(--color-primary);
}

.button--secondary:hover,
.button--secondary:focus-visible {
    background: var(--color-primary);
    color: #fff;
}

.button--text,
.button--text:visited {
	padding: 0;

	border: 0;
	border-radius: 0;

	background: transparent;
	color: var(--color-primary);

	font-size: inherit;
	font-family: inherit;

	text-decoration: none;
}

.button--text:hover,
.button--text:focus-visible {
	background: transparent;
	color: var(--color-primary);
	text-decoration: underline;
}

/* Section Header */

.section-header {
	margin-bottom: var(--space-md);
}

.section-header__eyebrow {
	margin: 0 0 var(--space-xs);
	font-size: var(--font-xs);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color:var(--color-primary);
}

.section-header__heading {
	margin: 0 0 var(--space-sm);
	color: var(--overlay-text-color, var(--color-primary));
}

.section-header__text {
	max-width: 42rem;
	color: var(--overlay-text-color, inherit);
}

/* Search links */

.site-search-link,
.site-nav__search-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	border: 0;
	background: transparent;
	color: inherit;

	text-decoration: none;
	cursor: pointer;
}

.site-search-link:hover,
.site-search-link:focus-visible,
.site-nav__search-link:hover,
.site-nav__search-link:focus-visible {
	color: var(--color-primary);
}

.site-nav__search-link {
	display: none;
}

@media (max-width: 768px) {
	.site-nav__search-link {
		display: inline-flex;
		justify-content: flex-start;

		width: 100%;
		padding-block: var(--space-xs);

		color: var(--nav-color);
		font-size: var(--font-lg);
	}
}


/* Search form */

.search-form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: stretch;

	width: 100%;
	border-bottom: 2px solid var(--color-primary);
	margin-bottom: var(--space-lg);
}

.search-form__label {
	display: block;
	min-width: 0;
}

.search-form__field {
	width: 100%;
	min-width: 0;

	padding: var(--space-xs) 0;
	border: 0;
	border-radius: 0;
	outline: 0;

	background: transparent;
	color: var(--color-text);

	font: inherit;
}

.search-form__field::placeholder {
	color: currentColor;
	opacity: 0.6;
}

.search-form__submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	padding: var(--space-xs);
	border: 0;
	background: transparent;

	color: var(--color-text);
	font-size: var(--font-md);
	cursor: pointer;
}

.search-form__submit:hover,
.search-form__submit:focus-visible {
	color:var(--color-primary);
}

/* Search Results */

.search-result {
	padding: var(--space-md) 0;
	border-bottom: 1px solid var(--color-border);
}

.search-result__label {
	margin-bottom: .25rem;
	font-size: var(--font-md);
	color: var(--color-primary);
}

.search-result__title {
	margin-bottom: .5rem;
}

.search-result__title a {
	text-decoration: none;
}


.search-result__meta {
	margin-bottom: .5rem;
	font-size: var(--font-md);
}

.search-result__excerpt p:last-child {
	margin-bottom: 0;
}

/* Archive Pagination */

.navigation.pagination {
	margin-top: var(--space-lg);
}

.navigation.pagination .nav-links {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: var(--space-xs);
}

.navigation.pagination a,
.navigation.pagination span {
	display: flex;
	align-items: center;
	justify-content: center;

	min-width: 2.25rem;
	height: 2.25rem;

	text-decoration: none;
}

.navigation.pagination .current {
	font-family: var(--font-bold);
	color: var(--color-primary);
}

.navigation.pagination i {
	font-size: var(--font-sm);
}

/* Card */ 

.card {
    padding: var(--space-sm);
    border: 1px solid var(--color-border);
    background: var(--color-background);

    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    
    transition:
        transform var(--transition),
        box-shadow var(--transition);
}

.card:hover {
    box-shadow: var(--shadow-sm);
}

.card__image {
    margin: calc(var(--space-sm) * -1);
    margin-bottom: var(--space-xs);
}

.card__img {
	display: block;
	width: 100%;
	height: auto;
}

.card__title {
	font-size: var(--font-lg);
	margin-bottom: var(--space-xs);
}

.card__title a {
	color: inherit;
	text-decoration: none;
}

.card__title a:hover {
	color: var(--color-primary);
}

.card__text a {
	overflow-wrap: anywhere;
	word-break: break-word;
}

.card__text p {
	margin-bottom: var(--space-sm);
}

/* Content Card */

.content-card {
	display: grid;
	gap: var(--space-md);
	padding-block: var(--space-md);
	border-bottom: 1px solid currentColor;
}

.content-card__image {
	margin-block: var(--space-md) 0;
}

.content-card__image img {
	display: block;
	width: 100%;
	height: auto;
}

.content-card__meta {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0;
	font-size: var(--font-md);
}

.content-card__title {
	margin-block: var(--space-sm);
}

.content-card__title a {
	color: inherit;
	text-decoration: none;
}

.content-card__title a:hover {
	color: var(--color-primary);
}

.content-card__category,
.content-card__categories {
	color: var(--color-primary);
	font-weight: 600;
	line-height: 1.3; 
}

.content-card__venue {
	margin-block: 0;
}

.content-card__links {
	display: flex;
	flex-direction: column;
	gap: var(--space-xs);

	margin-block: 0 var(--space-sm);
	font-size: var(--font-md);
}

.content-card__links p {
	margin: 0;
}

.content-card__links a,
.content-card__links span {
	display: inline-flex;
	align-items: center;
	gap: 0.5em;
}

.content-card__excerpt {
	margin-block: var(--space-sm);
	font-size: var(--font-md);
}

.content-card__read-more {
	display: inline-block;
}

.archive-back-link {
	display: inline-flex;
	align-items: center;
	gap: var(--space-xs);

	font-size: var(--font-sm);
	text-decoration: none;
}

.single-news.content-card,
.single-agenda.content-card {
	border-bottom: 0;
}

/* Lightbox */

body.has-lightbox-open {
	overflow: hidden;
}

.lightbox {
	position: fixed;
	inset: 0;
	z-index: 9999;

	display: grid;
	place-items: center;

	padding: var(--space-md);

	background: rgb(0 0 0 / 0.9);
	color: #fff;
}

.lightbox[hidden] {
	display: none;
}

.lightbox__inner {
	width: min(100%, 1200px);
	max-height: 100%;

	display: grid;
	gap: var(--space-md);
}

.lightbox__image {
	display: block;
	width: 100%;
	max-height: 75vh;
	object-fit: contain;
}

.lightbox__caption {
	font-size: var(--font-sm);
}

.lightbox__title {
	font-size: var(--font-lg);
	margin-bottom: var(--space-xs);
}

.lightbox__photographer {
	font-size: var(--font-xs);
	opacity: 0.8;
}

.lightbox__close {
	position: absolute;
	top: var(--space-sm);
	right: var(--space-sm);

	border: 0;
	background: transparent;
	color: inherit;

	font-size: 3rem;
	line-height: 1;

	cursor: pointer;
}

/* general Block setting */

.acf-innerblocks-container > *:last-child, 
.background-section__content .wp-block-column > :last-child {
	margin-bottom: 0;
}

/* Info Cards*/

.info-cards {
	gap: var(--space-md);
	margin-block: var(--space-lg);
}

.info-cards .wp-block-cover {
	min-height: 15rem;
	padding: var(--space-md);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	text-align: right; 
	color: #fff; 
}

.info-cards .wp-block-heading {
	font-size: var(--font-3xl);
	margin-bottom: var(--space-sm); 
	color: #fff; 
}

.info-cards .wp-block-paragraph {
	margin-bottom: var(--space-sm);
	color: #fff; 
}

@media (max-width: 900px) {
	.info-cards {
		gap: var(--space-sm);
	}
}

@media (max-width: 768px) {
	.info-cards.wp-block-columns.is-not-stacked-on-mobile {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		margin-block: var(--space-md);
	}

	.info-cards.wp-block-columns.is-not-stacked-on-mobile > .wp-block-column {
		min-width: 0;
	}
}

@media (max-width: 400px) {
	.info-cards.wp-block-columns.is-not-stacked-on-mobile {
		grid-template-columns: 1fr;
	}
	.info-cards .wp-block-cover {
	  min-height: auto;
	}
}

/* --------------------------------------------------
   Forms
-------------------------------------------------- */
.entry-content > .frm_forms {
	box-sizing: border-box;
}


/* --------------------------------------------------
   Alignments Images
-------------------------------------------------- */

.wp-block-image img {
	display: block;
	max-width: 100%;
	height: auto;
}

.wp-block-image.aligncenter img {
	margin-inline: auto;
}

.wp-block-image.alignright img {
	margin-left: auto;
}

.wp-block-image.alignleft img {
	margin-right: auto;
}

/* --------------------------------------------------
   Blocks
-------------------------------------------------- */




/* --------------------------------------------------
   Footer
-------------------------------------------------- */
.site-main--flush-footer + .site-footer {
	margin-top: 0;
}

.site-footer {
	flex-shrink: 0;
	margin-top: var(--space-md);
	padding-block: var(--space-md);
	font-size: var(--font-sm);
	background: var(--footer-background, transparent);
}

.site-footer,
.site-footer p,
.site-footer h2,
.site-footer h3 {
	font-size: var(--font-sm);
	line-height: 1.4; 
}

.site-footer p {
	margin-block: 0 var(--space-sm); 
}

.site-footer h2,
.site-footer h3 {
	margin: 0; 
}

.site-footer a {
	text-decoration: none; 
	color: var(--color-link);
}

.site-footer a:hover {
	text-decoration: none; 
	color: var(--color-link-hover);
}

.site-footer__legal {
	margin-block: 0 var(--space-sm);
}

.site-footer__legal ul {
	list-style: none;
	margin: 0; 
	padding: 0;
}

.site-footer__legal li {
	line-height: 1.4; 
	margin: 0; 
}

.site-footer__columns {
	display: grid;
	gap: var(--space-md);
}

.site-footer__columns--2 {
	grid-template-columns: repeat(2, 1fr);
}

.site-footer__columns--3 {
	grid-template-columns: repeat(3, 1fr);
}

.site-footer__columns--4 {
	grid-template-columns: repeat(4, 1fr);
}	

@media (max-width: 768px) {
	.site-footer__columns {
	  gap: var(--space-xs);
	}

	.site-footer__columns--4 {
		grid-template-columns: 1fr 1fr;
	}

	.site-footer__columns--4 > * {
		width: 100%;
	}

	.site-footer__columns--4 > :nth-child(1) {
		grid-column: 1;
		grid-row: 1;
	}

	.site-footer__columns--4 > :nth-child(2) {
		grid-column: 1;
		grid-row: 2;
	}

	.site-footer__columns--4 > :nth-child(3) {
		grid-column: 2;
		grid-row: 1;
	}

	.site-footer__columns--4 > :nth-child(4) {
		grid-column: 2;
		grid-row: 2;
	}

	.site-footer__columns--4 > :last-child {
		text-align: left;
		align-items: flex-start;
	}
}

@media (max-width: 400px) {

	.site-footer__columns {
	  gap: 0;
	}

	.site-footer__columns--2,
	.site-footer__columns--3,
	.site-footer__columns--4 {
		grid-template-columns: 1fr;
	}

	.site-footer__columns--4 > :nth-child(n) {
		grid-column: 1;
		grid-row: auto;
		width: 100%;
	}

}

.site-footer__title {
	font-size: var(--font-sm);
	margin-bottom: var(--space-xs);
}

.site-social-links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-sm);

	list-style: none;
	margin: 0;
	padding: 0;
}

.site-social-links li {
	margin: 0;
}

.site-social-links a {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	color: var(--color-link);
	font-size: var(--font-lg);
	line-height: 1;
	text-decoration: none;
}

.site-social-links a:hover,
.site-social-links a:focus-visible {
	color: var(--color-link-hover);
}

/* --------------------------------------------------
   Utilities
-------------------------------------------------- */

.skip-link {
	position: absolute;
	left: -999px;
}

.skip-link:focus {
	left: 1rem;
	top: 1rem;
}






