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

   Desktop      >1320
   Large Tablet 1200–1320
   Tablet       768–1200
   Mobile       <768
   Small Phone	<400

-------------------------------------------------- */

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

/* montserrat-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/montserrat-v31-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* montserrat-italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 400;
  src: url('../fonts/montserrat-v31-latin-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* montserrat-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  src: url('../fonts/montserrat-v31-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* montserrat-600italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 600;
  src: url('../fonts/montserrat-v31-latin-600italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* montserrat-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/montserrat-v31-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}


: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;
	
	/* Brand */
	--gradient-brand: linear-gradient(
		45deg,
		#f6ca45 0%,
		#ea3d53 50%,
		#c128bf 100%
	);

	/* Navigation */
	--nav-color: #666;
	--nav-hover-color: #333;
	--nav-active-color: #970000;
	
	/* Header */
	--logo-width: 180px;
	--shrink-logo-width: 140px;
	--shrink-header-height: 70px;
	
	/* Static design tokens */
	
	--container-padding: 1.25rem;
	
	/* Space */
	--space-xs: 0.5rem;
	--space-sm: 1rem;
	--space-md: 2rem;
	--space-lg: 4rem;
	--space-xl: 5rem;
	--space-2xl: 8rem;
	
	/* Font Families */
	--font-body: Montserrat, helvetica, sans-serif;
	--font-heading: Montserrat, helvetica, sans-serif;
	--font-bold: Montserrat, helvetica, sans-serif;
	
	--font-xs: clamp(0.875rem, 0.8rem + 0.2vw, 1rem);        /* max 16px */
	--font-sm: clamp(1rem, 0.95rem + 0.3vw, 1.25rem);        /* max 20px */

	--font-md: clamp(1.125rem, 1rem + 0.6vw, 1.5rem);        /* max 24px */
	--font-lg: clamp(1.375rem, 1.15rem + 0.9vw, 1.875rem);   /* max 30px */

	--font-xl: clamp(1.75rem, 1.55rem + 0.8vw, 2.125rem);    /* max 34px */
	--font-2xl: clamp(2rem, 1.7rem + 1.2vw, 2.5rem);		 /* max 40px */
	--font-3xl: clamp(2.25rem, 1.8rem + 2vw, 3rem);			 /* max 44px */	
	
	--font-nav: clamp(1.25rem, 1rem + 1.2vw, 2.2rem);
	
	/* Letterspacing */
	--letter-spacing-body: 0;
	--letter-spacing-strong: 0.05em;
	
	/* 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 6px 18px rgb(0 0 0 / .5);

    /* Animation */
    --transition: .25s ease;
    --transition-slow: .6s ease;
    --transition-story: .8s cubic-bezier(.22, 1, .36, 1);
    
	/* Section */
	--section-padding: clamp(3rem, 6vw, 6rem);
	
	/* 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;

}

@media (max-width: 768px) {
	:root {	
		--space-lg: 3rem;
		--space-xl: 3rem;
	}
}

/* --------------------------------------------------
   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);
	font-weight: 400;
	color: var(--color-text);
	background: transparent;
	line-height: 1.6;
}

.entry-title,
.container--narrow,
.entry-content > .content-width,
.entry-content > ul,
.entry-content > ol,
.entry-content > :where(
	p,
	h1,
	h2,
	h3,
	h4,
	h5,
	h6,
	.wp-block-image,
	.wp-block-quote,
	.wp-block-table,
	.wp-block-buttons,
	.wp-block-columns,
	.wp-block-separator
) {
	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-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,
.h1 {
	font-size: var(--font-xl);
	font-family: var(--font-heading);
	line-height: 1.25;
	color: var(--color-primary);
	font-weight: 600; 
	text-align: center; 
	letter-spacing: var(--letter-spacing-strong);
}

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

h2,
.h2 {
	font-size: var(--font-xl);
	font-family: var(--font-heading);
	line-height: 1.15;
	font-weight: 600; 
	letter-spacing: var(--letter-spacing-strong);
}

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

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

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-weight: 600;
	letter-spacing: var(--letter-spacing-strong); 
}

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

.entry-content > ul, .entry-content > ol {
  padding-left: 1.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;
	padding-left: calc(var(--sidebar-width) + var(--space-md));
	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; 
}

.entry-content > :where(:not(.alignfull):not(.alignwide)), 
.entry-content #sb_instagram {
	width: min(100% - (var(--container-padding) * 2), var(--container-width));
	margin-inline: auto;
}

@media (max-width: 640px) {
	.entry-content #sb_instagram {
	padding-inline: var(--container-padding);
	}

}

.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;
}

.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;
    }
}

/* --------------------------------------------------
   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 {
	max-width: var(--shrink-logo-width);
}

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

.site-header.has-shrink.is-shrunk .site-header__inner {
	padding-block: var(--space-sm);
	row-gap: var(--space-xs);
}

.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;
	justify-self: center;
	align-self: center;
	padding-top: 0;
	text-decoration: none;
}

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

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

.site-branding img {
	display: block;
	max-width: var(--logo-width);
	height: auto;
}	

@media (max-width:768px) {
	.site-branding img {
		max-width: var(--shrink-logo-width);
	}
}

/* --------------------------------------------------
   Navigation
-------------------------------------------------- */
.site-nav {
	grid-column: 1;
	grid-row: 3;
	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: center;
	gap: var(--space-md);
	width: 100%;

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

.site-nav__menu li {
	position: relative;
	margin: 0; 
}

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

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

	transition:
		color var(--transition),
		background-color var(--transition);
		
	font-weight: 600; 
	letter-spacing: var(--letter-spacing-strong); 	
}

.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 {
	background: var(--gradient-brand);

	-webkit-background-clip: text;
	background-clip: text;

	-webkit-text-fill-color: transparent;
	color: transparent;
}

/* 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: 1201px) {
	.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-header__inner {
		grid-template-columns: 1fr auto 1fr;
		grid-template-rows: auto auto auto;
		padding-block: var(--space-sm);
		row-gap: 0;
	}
	
	.site-header.has-shrink.is-shrunk .site-header__inner {
		row-gap: 0;
	}

	.site-branding {
		grid-column: 2;
		grid-row: 2;
		justify-self: center;
	}

	.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;
	grid-row: 1;
	justify-self: end;
}

/* 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;
		justify-content: space-between;
		padding-top: 0;
	}
	
	
	.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: 3;
		grid-row: 2;
		justify-self: end;
		align-self: center;
		margin-bottom: 0;
	}
}

.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;
}

@media (max-width: 400px) {
	.site-nav-toggle {
		margin-right: calc(var(--container-padding) * -0.5);
	}
}


/* --------------------------------------------------
   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;
    background: none;
    color: var(--color-primary);
}

.button--text:hover,
.button--text:focus-visible {
    text-decoration: underline;
}

.wp-element-button.wp-block-button__link {
	background: var(--gradient-brand);
	color: var(--nav-color); 
	margin-block: var(--space-md); 
	transition:
		color 0.2s ease,
		box-shadow 0.2s ease,
		transform 0.2s ease;
 } 
 
.wp-element-button.wp-block-button__link:hover {
	color: var(--color-text); 
	box-shadow: var(--shadow-md); 
	transform: translateY(-2px);
 }  

/* 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;
}


/* 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);
}


@media (max-width: 1200px) {

	.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;
	}
}


@media (max-width: 768px) {

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

	.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);
	}

	.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 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 */

.news-archive__items {
	display: grid;
	gap: var(--space-xs);
}

.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;
}

/* News Archive Layout */

/* Content Card Archive Layout */

.news-archive,
.agenda-archive {
	--content-card-image-width: var(--sidebar-width);
	--content-card-image-gap: var(--space-md);
	--content-card-image-offset: calc(
		var(--content-card-image-width) + var(--content-card-image-gap)
	);
}

.news-archive .content-card.has-post-thumbnail,
.agenda-archive .content-card.has-post-thumbnail {
	display: grid;
	grid-template-columns:
		var(--content-card-image-width)
		minmax(0, 1fr);
	gap: var(--content-card-image-gap);
	align-items: start;

	margin-left: calc(-1 * var(--content-card-image-offset));
}

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

.news-archive .content-card__content,
.agenda-archive .content-card__content {
	padding-bottom: var(--space-md);
	border-bottom: 1px solid currentColor;
}

.news-archive .content-card__image,
.agenda-archive .content-card__image {
	margin: 0; 
	width: 100%;
}

@media (max-width: 1320px) and (min-width: 1201px) {
	.news-archive,
	.agenda-archive {
		--content-card-image-width: 220px;
	}
}

@media (max-width: 1200px) and (min-width: 767px) {
	.news-archive .content-card__image,
	.agenda-archive .content-card__image {
		width: 50%;
		justify-self: start;
	}
}

@media (max-width: 1200px) {
	.news-archive .content-card.has-post-thumbnail,
	.agenda-archive .content-card.has-post-thumbnail {
		grid-template-columns: 1fr;
		margin-left: 0;
	}

	.news-archive .content-card__image,
	.agenda-archive .content-card__image {
		width: 50%;
		justify-self: start;
	}
}

@media (max-width: 768px) {
	.news-archive .content-card__image,
	.agenda-archive .content-card__image {
		width: 100%;
	}
}

/* Agenda */

.agenda-archive__section + .agenda-archive__section {
	margin-top: var(--space-xl);
}

.agenda-archive__section-title {
	margin-bottom: var(--space-md);
}

.agenda-archive__items {
	display: grid;
	gap: var(--space-xs);
}

.agenda-registration {
	margin-block: 0;
}

.agenda-registration__information {
	margin-bottom: var(--space-sm);
}
.agenda-registration__information p:last-of-type {
	margin-bottom: 0; 
}

.agenda-registration__actions {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 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;
}

/* Gutenberg Image */

.wp-block-image {
	margin-block: var(--space-lg);
}

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

.wp-block-image.aligncenter {
	text-align: center;
}

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

.wp-block-image.alignright {
	text-align: right;
}

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

.wp-block-image.alignleft {
	text-align: left;
}

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

.wp-block-image figcaption {
	margin-top: var(--space-xs);
	font-size: var(--font-sm);
	text-align: center;
}

/* Info Cards*/

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

.info-cards .wp-block-cover {
	min-height: 14rem;
	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: 1200px) {
	.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;
}

.frm_forms { 
	padding-inline: var(--space-2xl); 
	margin-block: var(--space-xl); 
}

@media (max-width: 1200px) {
	.frm_forms { 
		padding-inline: 0; 
	}
}

/* --------------------------------------------------
   Brand
-------------------------------------------------- */

.button--gradient {
	background: var(--gradient-brand);
}

.hero__title {
	background: var(--gradient-brand);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}

.section-title--gradient {
	background: var(--gradient-brand);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}

.card:hover {
	border-image: var(--gradient-brand) 1;
}


/* --------------------------------------------------
   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 {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--space-sm);
	flex-wrap: wrap;
}

.site-footer__legal ul {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--space-sm);

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


.site-footer__legal li {
	margin: 0;
}

.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 i {
	font-size: var(--font-3xl);
}

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

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

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

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

.site-footer__columns {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-md);
	text-align: center;
}

.site-footer__column {
	width: 100%;
}

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

.site-footer__columns--4 > :last-child {
	text-align: center;
	justify-self: center;
}

@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-3xl);
	line-height: 1;
	text-decoration: none;
	transition:
		color 0.2s ease,
		box-shadow 0.2s ease,
		transform 0.2s ease;
 } 
  

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

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

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

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






