/* @override 
	https://kijubb.de/wp/wp-content/themes/kijubb/style.css?* */


/*
Theme Name: KIJUBB
Description: 
Version: 1.02
Author: PD
*/


/*	IMPORTS
-------------------------------------------------------------------------------*/




/* @group WEBFONTS */

/*	WEBFONTS
-------------------------------------------------------------------------------*/



/* roboto-condensed-700 - latin */
@font-face {
  font-display: swap; 
  font-family: 'Roboto Condensed';
  font-style: normal;
  font-weight: 700;
  src: url('assets/fonts/roboto-condensed-v31-latin-700.woff2') format('woff2'); 
}

/* roboto-condensed-700italic - latin */
@font-face {
  font-display: swap; 
  font-family: 'Roboto Condensed';
  font-style: italic;
  font-weight: 700;
  src: url('assets/fonts/roboto-condensed-v31-latin-700italic.woff2') format('woff2'); 
}



/* atkinson-hyperlegible-next-regular - latin */
@font-face {
  font-display: swap; 
  font-family: 'Atkinson Hyperlegible Next';
  font-style: normal;
  font-weight: 400;
  src: url('assets/fonts/atkinson-hyperlegible-next-v7-latin-regular.woff2') format('woff2'); 
}

/* atkinson-hyperlegible-next-italic - latin */
@font-face {
  font-display: swap; 
  font-family: 'Atkinson Hyperlegible Next';
  font-style: italic;
  font-weight: 400;
  src: url('assets/fonts/atkinson-hyperlegible-next-v7-latin-italic.woff2') format('woff2'); 
}

/* atkinson-hyperlegible-next-700 - latin */
@font-face {
  font-display: swap; 
  font-family: 'Atkinson Hyperlegible Next';
  font-style: normal;
  font-weight: 700;
  src: url('assets/fonts/atkinson-hyperlegible-next-v7-latin-700.woff2') format('woff2'); 
}

/* atkinson-hyperlegible-next-700italic - latin */
@font-face {
  font-display: swap; 
  font-family: 'Atkinson Hyperlegible Next';
  font-style: italic;
  font-weight: 700;
  src: url('assets/fonts/atkinson-hyperlegible-next-v7-latin-700italic.woff2') format('woff2'); 
}



/* Icon Font – extra here for iframe views in WP Editor and TinyMCE */
@font-face { 
  font-family: 'icons';
  font-style: normal;
  font-weight: normal;
  src: url('assets/icons/fonts/icons.woff') format('woff');
}



/* @end */

/* @group RESET */

/*	RESET
-------------------------------------------------------------------------------*/


article, aside, figure, footer, header, hgroup, nav, section {display: block;}
img, picture, video, canvas, svg {display: block; max-width: 100%; height:auto;}

/* force a vertical scrollbar to prevent a jumpy page */
html {overflow-y: scroll;}

/* we use a lot of ULs that aren't bulleted. 
   don't forget to restore the bullets within content. */
ul {list-style: none;}

blockquote, q {quotes: none;}

blockquote:before,
blockquote:after,
q:before,
q:after {content: ''; content: none;}

a {margin: 0; padding: 0; vertical-align: baseline;}
del {text-decoration: line-through;}
abbr[title], dfn[title] {border-bottom: 1px dotted #000; cursor: help;}

/* tables still need cellspacing="0" in the markup */
table {border-collapse: collapse; border-spacing: 0;}
th {font-weight: 700; vertical-align: bottom;}
td {font-weight: normal; vertical-align: top;}

input, button, textarea, select { font: inherit; margin: 0; border-radius: 0;}
input:focus, textarea:focus, select:focus { }

input { /* remove top input shadow */
-webkit-appearance: none;
-moz-appearance: none;
}

*:focus:not(:focus-visible) { outline: none }

table {font-size: inherit; font: 100%;}

a:hover, a:active {outline: none;}

/* standardize any monospaced elements */
pre, code, kbd, samp {font-family: monospace, sans-serif;}

/* hand cursor on clickable elements */
.clickable,
label,
input[type=button],
input[type=submit],
button {cursor: pointer;}


/* prevent flickering on touch */
* {
	-webkit-tap-highlight-color:transparent;
}

/* natural box layout model to all elements */
*, *:before, *:after {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
 }

 /* subscript and superscript */
sub { vertical-align: sub; font-size: 70%; line-height: 0; }
sup { vertical-align: super; font-size: 70%; line-height: 0; }

/* fine-grained control over hyphenation in text */
* { hyphenate-limit-chars: 10 4 4; }

/* @end */


/* @group VARS */


/*	VARS
-------------------------------------------------------------------------------*/


/* Color Info

blue		#0062A6
red		#D70C46

petrol	#00B1B2
orange	#F7A500
green	#75B835

*/

:root {
	--font-size-base: calc((19/16) * 1rem);
	--line-height-base: 1.6;

	--body-bg: #FFF;
	
	/* Brand Colors */
	--color-primary: #0062A6;
	--color-secondary: #D70C46;
	
	--color-petrol: #00B1B2;
	--color-orange: #F7A500;
	--color-green: #75B835;
	
	--color-scheme: var(--color-primary);

	/* UI Colors */
	--color-text: #333;
	--color-border: #DDD;

	--color-neutral-bg: #F3F3F3;

	--color-neutral-100: #F3F3F3;
	--color-neutral-200: #E8E8E8;
	--color-neutral-300: #DDD;

	/* Color Scales */

	--primary-50: color-mix(in srgb, var(--color-primary) 5%, white);
	--primary-100: color-mix(in srgb, var(--color-primary) 10%, white);
	--primary-300: color-mix(in srgb, var(--color-primary) 30%, white);
	--primary-500: var(--color-primary);
			
	--color-primary-bg: color-mix(in srgb, var(--color-primary) 10%, white);
	--color-secondary-bg:  color-mix(in srgb, var(--color-secondary) 10%, white);
		
	--color-petrol-bg: color-mix(in srgb, var(--color-petrol) 10%, white);
	--color-orange-bg: color-mix(in srgb, var(--color-orange) 15%, white);
	--color-green-bg: color-mix(in srgb, var(--color-green) 10%, white);
	
	/* Scheme */
	--color-scheme-50: color-mix(in srgb, var(--color-scheme) 5%, white);
	--color-scheme-100: color-mix(in srgb, var(--color-scheme) 10%, white);
	--color-scheme-300: color-mix(in srgb, var(--color-scheme) 50%, white);
	--color-scheme-500: var(--color-scheme);	



	--color-text-muted: #757575;
	--color-link: var(--color-text);
	--color-link-hover: var(--color-primary);


	--font-sans: 'Atkinson Hyperlegible Next', sans-serif;
	--font-heading: 'Roboto Condensed', sans-serif;
	
	--text-xs: calc(var(--font-size-base) * 0.65);
	--text-sm: calc(var(--font-size-base) * 0.85);
	--text-md: calc(var(--font-size-base) * 1.0); /*base*/
	--text-lg: calc(var(--font-size-base) * 1.25);
	
	--display-md: calc(var(--font-size-base) * 1.5);
	--display-lg: calc(var(--font-size-base) * 2.5);
	--display-xl: calc(var(--font-size-base) * 3.5);
	
	--default-width: calc((820/16) * 1rem);
	--wide-width: calc((1440/16) * 1rem);
	--semiwide-width: calc((1080/16) * 1rem);
	--full-width: 100%;
	
	--page-padding: 40px;

	--main-padding-top: clamp(80px, 12vw, 120px);
	--main-padding-bottom: clamp(100px, 15vw, 140px); 
		
 	--space-xs: 10px;
	--space-sm: 20px;
	--space-md: 30px; 	/* base (1.5rem, 4vw, 2rem)*/
	--space-lg: clamp(44px, 5vw, 50px);  /*2.5rem*/
	--space-xl: clamp(60px, 7vw, 80px); 	/*4rem */
	--space-xxl: clamp(80px, 11vw, 116px);  /* (5rem, 9vw, 7rem)*/
	--space-xxxl: clamp(100px, 14vw, 156px); /*(7rem, 12vw, 9rem)*/


	--block-gap: var(--space-md, 2rem);
	--block-gap-text: 1.5rem;

	--columns-gap: clamp(30px, 5vw, 50px);
	
	--box-padding: clamp(25px, 5vw, 40px);
	
	--box-padding-sm: clamp(20px, 5vw, 30px);
	--box-padding-md: var(--box-padding);
	--box-padding-lg: clamp(25px, 5vw, 40px);
	--box-padding-xl: clamp(25px, 5vw, 60px);
	--box-padding-xxl: clamp(40px, 5vw, 80px);

	--radius: 20px;
	--radius-xl: 70px;
	--field-radius: 5px;
	--media-radius: var(--radius);

	--header-height: 220px;
 }
 
 
 @media screen and (max-width: 840px) {
	 :root {
		--font-size-base: 18px;
	}
}

  
 @media screen and (max-width: 600px) {
	 :root {
		--page-padding: 20px;
		--block-gap: 1.5rem;
		--header-height: 130px;
		--radius-xl: 40px;
	}
}


/* @end */



/* @group GENERAL */


/* GENERAL
---------------------------------------------------------------------------------*/


html {
	height: 100%;
	scroll-behavior: smooth;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	 -webkit-text-size-adjust: 100%;
}

body {
	height: 100%;
	font-family: var(--font-sans);
	font-size: var(--font-size-base);
	line-height: var(--line-height-base);
	color: var(--color-text);
	background: var(--body-bg);
}


a {
	position: relative;
	color: var(--color-link);
	text-decoration: none;
	text-underline-offset: .1em;
}

a, input {
	transition: all 200ms ease;
}

a:visited {
}

a:active {
}

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




/* TYPOGRAPHY
---------------------------------------------------------------------------------*/


h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
	margin-bottom: 0;
	text-wrap: balance;
	word-break: break-word;
	overflow-wrap: break-word;
	font-family: var(--font-heading);
}


h1, .h1, .is-style-display-xl {
	font-size: clamp(48px, 5vw, 62px);
	line-height: 1.2;
}


:is(.is-layout-flow, .is-layout-constrained) h1 {
	margin-block: 4rem;
}

h2, .h2, .is-style-display-lg  {
	font-size: clamp(38px, 4vw, 42px);
	line-height: 1.3;
	--block-gap: 3rem;
}

h3, .h3, .is-style-display-md {
	font-size: 32px;
	line-height: 1.4;
}

h4, .h4 {
	font-size: 22px;
	line-height: 1.4;
}


:where(p,ul,ol) {
	margin: var(--block-gap-text) 0 0 0;
	--block-gap: var(--block-gap-text);
}

hr {
	position: relative;
	display: block;
	clear: both;
	height: 1px;
	border: 0;
	background: transparent;
	border-bottom: 1px solid var(--color-border);
	margin: 3rem 0;
}


@media screen and (max-width: 1024px) {

}


@media screen and (max-width: 840px) {

}


@media screen and (max-width: 600px) {
	:where(h1,h2,h3) {
		hyphens: auto;
	}
}


@media screen and (max-width: 360px) {

}

/* @end */


/* @group ELEMENTS */

/* === Lists */
ul, ol {
}

ul {
	padding-left: 2.5ch;
	list-style-type: revert;
}

li {
	position: relative;
	margin: 0 0 5px 0;
}

ul li::marker {
}


li ul {
	margin-top: 5px;
}

ol {
	padding-left: 2.5ch;
}

ol li {
	list-style: revert;
}

.list-unstyled,
.list-unstyled li {
	padding: 0;
	margin: 0;
	list-style: none;
}

.list-unstyled li:before {
	display: none;
}

/* list style: icon */

ul[class*="is-style-icon"],
ul[class*="is-style-icon"] ul {
	--list-icon-width: 2.4rem;
	list-style: none;
	padding-left: 0;
}

ul[class*="is-style-icon"] li {
	position: relative;
	padding-left: calc(var(--list-icon-width));
	padding-bottom: .1em;
}

ul[class*="is-style-icon"] li::before {
  content: '✓'; 
  position: absolute;
  left: 0;
  top: 0.0em;
  font-family: 'icons';
  font-size: 1.5em;
  display: inline-flex;
  width: var(--list-icon-width);
  align-items: center;
  line-height: 1;
 }
 
ul.is-style-icon-check li::before {
	content: '\e90c';
}

ul.is-style-icon-download li::before {
	content: '\e904'; 
}

ul.is-style-icon-arrow li::before {
 content: '\e910';
}


/* === Caption */


figcaption {
	font-size: var(--text-sm);
	line-height: 1.4;
	margin: 10px 0 10px 0;
	text-align: left;
	word-break: break-word;
	overflow-wrap: break-word;
	margin: 1rem 0; 
	color: var(--color-text-muted)
}


/* WP Edit Link */

a.post-edit-link {
	position: fixed;
	bottom: 0;
	left: 0;
	z-index: 10;
	font-size: 11px;
	padding: 8px 12px;
	text-transform: uppercase;
	text-decoration: none;
	background: #0073AA;
	color: #FFF;
}



/* === Embeds, iFrames  */

.embed-responsive {
  position: relative;
  padding-bottom: 56.25%; /* 16:9 */
  height: 0;
}

.embed-responsive iframe,
.embed-responsive object,
.embed-responsive embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0;
}


/* === Icons */


i[class^="icon-"] {
	font-family: 'icons';
}

i.icon {
	font-weight: normal!important;
}

.icon.download {
	font-size: 1.9rem;
	color: var(--color-link);
	margin: 0 5px 5px 0;
	vertical-align: middle;
	display: inline-block;
}

.icon.download:before {
	margin: 0;
}

.icon.bullet {
	font-size: 85%;
}


/* === WP Styles */

/* default padding for has-background + override WP default */
:is(p,ul,ol,*).has-background,
.has-background { 
	padding: var(--box-padding);
	border-radius: var(--radius);
}


.alignfull.has-background {
	border-radius: 0;
}

.has-global-padding.alignfull {
	border-radius: 0;
	padding-inline: 0;
	padding-inline: var(--page-padding);
}

.alignfull:not(.has-global-padding) {
	AUS_padding: inherit;
}

.alignfull > .has-background {
	padding: var(--box-padding);
}

.alignfull > .has-background > * { /*BE*/
       padding-inline: 0;
}

.is-root-container :where(.has-global-padding:not(.has-background)) { /*BE*/
	padding-inline: 0;
}


:is(ul,ol).has-background { /*add space for bullets*/
	padding-left: calc(var(--box-padding) + 1rem);
}

.has-small-font-size {
	font-size: var(--text-sm);
}

.has-large-font-size {
	font-size: var(--text-lg);
}


/* === Highlight Anchor Links */


.entry-content :target {
    animation: highlight 500ms ease-in;
}

@keyframes highlight {
    from {
        background-color: rgb(253 224 71);
    }
    to {
        background-color: #fff;
    }
}



/* @end */




/* @group LAYOUT */

/* LAYOUT
----------------------------------------------------------------------------------*/


/* # Container */


.page-wrap {
}


.container,
.container-fluid {
	position: relative;
	max-width: calc(var(--wide-width) + 2 * var(--page-padding));
	margin: 0 auto;
	padding: 0 var(--page-padding);
}

.content-width { /*add to container class*/
	max-width: calc(var(--default-width) + 2 * var(--page-padding));
}


.entry-content {
}

:where(.entry-content) a,
.is-root-container :is(p, li) a:not(.wp-block-button__link) {
	text-decoration: underline;
}

.stack > *:first-child {
	margin-top: 0;
}


/*
.wp-block-post-content is root container for all content blocks
in backend editor AND frontend
*/

.wp-block-post-content {
	padding-left: var(--page-padding);
	padding-right: var(--page-padding);
}

.wp-block-post-content.is-root-container { /*backend editor*/
	padding-inline: var(--page-padding)!important;
}


.wp-block-post-content > *:first-child {
	margin-top: 0;
}

.wp-block-post-content > *:last-child {
  margin-bottom: 0!important;
}


/* alignment */
  

.is-layout-flow > .alignwide {
	max-width: var(--wide-width);
}

.is-layout-constrained .alignsemiwide {
	max-width: var(--semiwide-width);
}

.is-layout-flow > .alignfull {
	margin-right: calc(var(--wp--style--root--padding-right) * -1);
	margin-left: calc(var(--wp--style--root--padding-left) * -1);
}


/* @end */

/* @group HEADER */

/* HEADER
--------------------------------------------------------------------------------- */


#header {
	position: relative;
	z-index: 1;
	padding: 20px 0;
	height: var(--header-height);
	display: flex;
	align-items: center;
	border-radius: 0 0 var(--radius-xl) var(--radius-xl);
	border: 0px solid #333;
	
	background: var(--color-primary-bg);
	background: radial-gradient(ellipse at left top, rgba(255,255,255,.8) 0%,  var(--color-scheme-300) 100%);
}

#header::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	border-radius: 0 0 var(--radius-xl) var(--radius-xl);
	
	margin-top: -20vw;
	margin-left: -10vw;
	background: transparent url(assets/images/circle-gradient-white.svg) no-repeat top center;
	background-position: top left;
	background-size: 200vw;
	opacity: .6;	
}


/* transparent header if banner or hero block exists */
:has(.entry-content > .banner:first-child) #header,
:has(.entry-content > .hero:first-child) #header {
	background: transparent;
}

:has(.entry-content > .banner:first-child) #header::before,
:has(.entry-content > .hero:first-child) #header::before {
	display: none;
}



#header > .container {
	flex: 1 1 auto;
	display: flex;
	align-items: center;
}

.header-top {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}

.header-top > .container {
	display: flex;
	justify-content: flex-end;
}


@media screen and (max-width: 1024px) {
}

@media screen and (max-width: 600px) {
}

/* Logo */


.logo {
	margin-top: -4px; /*balance*/
    transition: all 0.3s ease;
}

.logo a {
	display: block;
	padding: 30px;
	padding-right: clamp(120px, 10vw, 120px);
	background: #FFF;
	border-radius: 100rem;
	box-shadow: 0px 5px 30px -10px rgba(0,0,0, .03);
}

.logo img {
	display: block;
	width: 100%;
	width: clamp(220px, 20vw, 220px);
	height: auto;
	transform: translateY(-3%); /*balance*/
}

@media screen and (max-width: 1200px) {
	.logo a {
		padding: 25px;
		padding-right: 100px;
	}
	
	.logo img {
		width: 200px;
	}
}


@media screen and (max-width: 600px) {
	.logo a {
		width: 100%;
		padding: 15px;
		padding-right: clamp(15px, 15vw, 60px);
	}
	
	.logo img {
		width: 180px;
	}
}

/* @end */



/* @group SEARCH */

/* Search */

button.search-trigger {
	border: none;
}

.has-hero button.search-trigger {
	--color-link: #FFF;
	--color-link-hover: rgba(255,255,255, .7);
	text-shadow: 0px 1px 9px rgba(0,0,0, .2);

}

button.search-trigger.open {
	color: var(--color-link-hover);
}

.site-search  {
	position: absolute;
	top: 100%;
	right: var(--page-padding);
	right: 22px;
	margin-top: 0px;
	padding: 15px;
	background: #FFF;
	visibility: hidden;
	opacity: 0;
	transition: all 250ms;
	box-shadow: 0px 3px 40px -10px rgba(0,0,0, .15);
	z-index: 1;
	border-radius: 50rem;
}

.search-open .site-search {
	visibility: visible;
	opacity: 1;
	margin-top: -22px;
}

.site-search::after { /*triangle*/
	content: "";
	position: absolute;
	top: 0;
	right: 30px;
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
    border-width: 0px 15px 16px 15px;
    border-color: transparent transparent #FFF transparent;
	transform: translateY(-5%);
	transition: all 300ms ease;
}

.search-open .site-search::after {
	transform: translateY(-70%);
}


.searchform {
	position: relative;
	width: 100%;
	border: 1px solid var(--color-border);
	border-radius: 50rem;
}


#nav ul li:hover > ul::after {
	transform: translateY(-70%);
}


.searchform input.s {
	width: 100%;
	height: auto;
	padding: 15px;
	padding-right: 3rem;
	background: #FFF;
	font-size: var(--font-size-base);
	line-height: 1;
	color: var(--color-text);
	border:  none;
	border-radius: inherit;
	box-shadow: none /*remove red border */;
}

.searchform input.s:focus {
}


.searchform .searchsubmit {
	position: absolute;
	top: 0;
	right: 0;
	border: none;
	padding: 0;
	aspect-ratio: 1;
	overflow: hidden;
	display: flex;
	justify-content: center;
	align-items: center;
	width: auto;
	height: 100%;
	z-index: 1;
	border-radius: 100%;
	background: transparent;
}

.searchsubmit span {	
}

.searchform i {
	font-size: 1.6rem;
	line-height: 1;
	color: var(--color-text);
}


/* @end */



/* @group MENU */

/* MENU
--------------------------------------------------------------------------------- */



#meta-nav {
	margin-top: 18px;
}

#meta-nav ul {
	display: flex;
	gap: 28px;
	font-size: var(--text-sm);
}

#meta-nav a {
	display: block;
	text-decoration: none;
}


@media screen and (max-width: 1024px) {
	#meta-nav {
		display: none;
	}
}


#nav {
	margin-left: 30px;
	padding: 0 0;
	display: flex;
	flex: 1;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: nowrap;
	gap: 8px
}


#nav ul {
	display: flex;
	gap: 0 0px;
	flex-wrap: wrap;
	margin-right: 5px;
}

#nav ul li {
	position: relative;
	border-bottom: none;
}

#nav > ul li:last-child {
	margin-right: 0;
	padding-right: 0;
}


#nav ul li a {
	position: relative;
	margin: 0;
	color: var(--color-text);
	display: block;
	text-decoration: none;
	background: rgba(255,255,255, 0);
	padding: 12px 24px;
	border-radius: 10rem;
}

.menu-btn-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 24px;
	line-height: 1;
	color: var(--color-text);
	margin: 0;
	height: 3.25rem;
	aspect-ratio: 1;
	background: rgba(255,255,255, .4);
	border-radius: 100%;
	text-decoration: none;
	transform: all 250ms ease;
}

.menu-btn-icon:hover {
	background: rgba(255,255,255, .6);
	text-decoration: none;
	color: var(--color-primary);
}

.menu-btn-icon i {
	line-height: 1;
	padding: 0;
}


#nav > ul li.menu-item-has-children {
	position: relative;
}

#nav ul li:hover > a {
		color: var(--color-primary);
		background: rgba(255,255,255, .2);
}


#nav ul li.current-menu-item > a {
}

#nav ul li a:hover {
	color: var(--color-primary);
	text-decoration: none;
}

#nav ul li.menu-item-has-children:hover > a {
}

#nav ul li.current_page_parent a:hover,
#nav ul li.current_page_parent:hover a,
#nav ul li.current_page_item:hover a {
}

#nav ul ul {
	display: flex;
	gap: 0px;
	position: absolute;
	top: 100%;
	margin-top: 40px;
	left: -20px;
	padding: 20px;

	z-index: 20;
	background: #FFF;
	border-radius: var(--radius);
	box-shadow: 1px 5px 30px 0px rgba(0,0,0, .09);

	min-width: 17rem;

	opacity: 0;
	visibility: hidden;
	transition: all 300ms ease;
}

#nav ul li:hover > ul,
#nav ul li:focus-within > ul {
	opacity: 1;
	visibility: visible;
	margin-top: 20px;
}

#nav ul ul::before { /*hover area*/
	content: "";
	position: absolute;
	top: -20px;
	left: 0;
	width: 100%;
	height: 20px;
	opacity: .5;
	background: transparent;
}

/* align last menu item to the right to avoid off screen position*/

#nav ul li:last-child ul {
	left: auto;
	right: 0;
}

#nav ul ul li {
	width: 100%;
}

#nav ul ul li:not(:first-child) {
	margin-top: -2px;
}


#nav ul ul li a {
	height: auto;
	padding: 8px 20px;
	background: transparent;
}

#nav ul ul li a:hover {
	AUS_text-decoration: underline;
	background: var(--primary-50);
}

#nav ul ul li:last-child a {
}

#nav ul ul li.menu-item-has-children > a {
}

#nav ul ul li.menu-item-has-children > a:hover {

}

/* 3rd level */

#nav ul ul ul {
	display: none;
}

@media screen and (max-width: 1024px) {
	#nav {
		display: none;
	}
}


/* Mobile Menu
--------------------------------------------------------------------------------- */


.mob-menu {
	display: none; /*js trigger*/
	position: absolute;
   	top: 0;
   	left: 0;
	width: 100%;
	z-index: 10;
	opacity: 0;
	background: #FFF;
	animation: navfadeIn 400ms ease-in-out 1 forwards;
	box-shadow: 0px -10px 50px 0px rgba(0,0,0, .7);
	padding-block: 100px;
	
	border-radius: 0 0 var(--radius-xl) var(--radius-xl);
	background: linear-gradient(148.05deg, #FFF 23%, var(--primary-300) 83%);
}

@media screen and (max-width: 1024px) {
	.mob-menu-open .mob-menu {
		display: flex;
		flex-direction: column;
		justify-content: center;
		text-align: center;
	}

}



.mob-menu .container {
	position: relative;
	width: 100%;
	max-width: 40rem;
	margin: 0 auto;
}


.mob-menu nav {
	display: flex;
	flex-direction: column;
	gap: 36px;
	margin: 0 0 0 0;
}

.mob-menu nav ul {
	display: flex;
	justify-content: flex-start;
	flex-direction: column;
	gap: 12px;
}

.mob-menu nav li {
	text-align: left;
}

.mob-menu nav li a {
	display: inline-flex;
	gap: 6px;
	font-size: var(--font-size-base);
	padding: 10px 20px;
	color: var(--color-text);
	text-decoration: none;
	border-radius: 10rem;
	border: 1px solid;
}

.mob-menu nav li a:hover {
	color: var(--color-primary);
}

.mob-menu nav li a:active {
	color: var(--color-primary);
	background: #FFF;
}

.mob-menu nav li a br {
	display: none;
}


.mob-menu nav li a:hover {
}

.mob-menu nav li.current-menu-item > a {
}

.mob-menu nav li.menu-item-has-children.active > a {
}

.mob-menu nav li.menu-item-has-children > a::after {
	content: "\e913";
	display: flex;
	align-items: center;
	font-family: 'icons';
	font-weight: normal;
	font-size: 1.3rem;
	line-height: 1;
	margin-right: -5px;
	transition: all 300ms ease;
}

.mob-menu nav li.menu-item-has-children.active > a::after {
	transform: rotate(180deg);
}

.mob-menu nav li.active > a {
	color: var(--color-text);
}

.mob-menu nav li ul {
	position: relative;
	gap: 0px;
	padding: 0 0 0 0px;
	margin-top: 12px;
}

.mob-menu nav li li {
	opacity: 1;
	animation: none;
	transform: none;
}

.mob-menu nav li li a {
	text-transform: none;
	letter-spacing: 0;
	font-weight: normal;
	padding-block: 8px;
	border: none;
}

.mob-menu nav li li a:hover {
}

/* Mob Meta Menu */


#mob-meta-menu {
	gap: 4px
}

#mob-meta-menu li a {
	font-size: var(--text-sm);
	border: none;
	padding-block: 8px
}

/* Mob Menu Bottom */


.mob-menu-bottom {
	display: grid;
	gap: 16px;
	margin-top: var(--space-xl);
}

.mob-menu-bottom > * {
}


/* Mob Featured Button */

.mob-menu-featured-btn {
	display: flex;
	gap: 8px;
	align-items: center;
	justify-content: center;
	text-align: center;
	text-decoration: none;
	border: 1px solid;
	padding: 10px 20px;
	border-radius: 10rem;
}

.mob-menu-featured-btn i {
	
}

/* Mob Search */


.mob-search {
	position: relative;
}

.mob-search .searchform {
	border: 1px solid #FFF;
	box-shadow: none;
	border-radius: 10rem;
}

.mob-search .searchform  input.s {
	font-size: var(--font-size-base);
	padding: 10px 20px;
	line-height: var(--line-height-base);
}

.mob-search .searchform button {
	position: absolute;
	top: 0;
	right: 0;
	height: 100%;
	width: auto;
	aspect-ratio: 1;
	display: flex;
	justify-content: center;
	align-content: center;
	border: none;
	line-height: 1;
	overflow: hidden;
	padding: 0;
	background: transparent;
	font-size: 24px;
	color: var(--color-link);
}

.mob-search .searchform i {
	position: relative;
	line-height: 1;
	display: flex;
	justify-content: center;
	align-items: center;
	height: auto;
	width: auto;
}

.mob-search .searchform button {

}

.mob-search input::placeholder {

}

.mob-search input:focus {
}






/* Mobile List Animation */

.mob-menu li {
	opacity: 0;
	transform: translate(0,-20px);
	animation: list-slide-in 400ms ease-in-out forwards;	
	animation-delay: calc((sibling-index() - 1) * 100ms);
 }
 
 @keyframes list-slide-in {
  to {
    opacity: 1;
    transform: translate(0,0);
 }
}


/* Mobile Menu Animation */

@keyframes navfadeIn {
0% {
	opacity: 0.0;
	transform: translate(0px,-50px);
}

100% {
	opacity: 1.0;
	transform: translate(0,0);
	}
}

@keyframes navfadeOut {
0% {
	opacity: 1.0;
	transform: translate(0px,0);
}

100% {
	opacity: 0.0;
	transform: translate(0px,-50px);
	}
}


/* Mobile Menu Trigger */

.mob-menu-trigger {
	--size: 52px;
	--hamburger-stroke-color: var(--color-primary);
	--hamburger-stroke-width: clamp(24px, 5vw, 32px);
	--hamburger-stroke-height: 2px;
	--hamburger-stroke-gap: 7px;
	--hamburger-stroke-radius: 5px;

	display: none;
	position: absolute;
	top: 50%;
	right: var(--page-padding);
	transform: translateY(-50%);

	border: none;
	width: var(--size);
	height: var(--size);
	margin: 0;
	z-index: 999;
	background: transparent;
	border-radius: 100%;
}

.mob-menu-trigger.open {
}


@media screen and (max-width: 1024px) {

.mob-menu-trigger {
	display: block;
}

.mob-menu-open .mob-menu {
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: center;
}


}


/* Hamburger Icon ani*/


.mob-menu-trigger span {
	margin: 0 auto;
	position: relative;
}
.mob-menu-trigger span:before,
.mob-menu-trigger span:after {
	position: absolute;
	content: '';
}
.mob-menu-trigger span,
.mob-menu-trigger span:before,
.mob-menu-trigger span:after {
	width: var(--hamburger-stroke-width);
	height: var(--hamburger-stroke-height);
	background-color: var(--hamburger-stroke-color);
	border-radius: var(--hamburger-stroke-radius);
	display: block;
}

.mob-menu-trigger span:before {
	margin-top: calc(var(--hamburger-stroke-gap) * -1);
}
.mob-menu-trigger span:after {
	margin-top: calc(var(--hamburger-stroke-gap) * 1);
}

.mob-menu-trigger span {
	transition-duration: 0s;
	transition-delay: 0.15s;
}
.mob-menu-trigger.open span {
	background-color: rgba(0,0,0,0.0);
	transition-delay: 0.15s;
}
.mob-menu-trigger span:before {
	transition-property: margin, transform;
	transition-duration: 0.15s;
	transition-delay: 0.15s, 0s;
}
.mob-menu-trigger.open span:before {
	margin-top: 0;
	transform: rotate(45deg);
	transition-delay: 0s, 0.15s;
}
.mob-menu-trigger span:after {
	transition-property: margin, transform;
	transition-duration: 0.15s;
	transition-delay: 0.15s, 0s;
}
.mob-menu-trigger.open span:after {
	margin-top: 0;
	transform: rotate(-45deg);
	transition-delay: 0s, 0.15s;
}

/* end Hambuger Icon ani*/


 

/* @end */



/* @group CONTENT */

/* CONTENT
--------------------------------------------------------------------------------- */

#content {
	position: relative;
	overflow-x: clip;
}


main {
	padding-top: 0;
	padding-top: var(--main-padding-top);
	padding-bottom: var(--main-padding-bottom);
	min-height: 50vh;
}


/* @end */



/* @group WP BLOCK EDITOR  */

/* WP BLOCK EDITOR
--------------------------------------------------------------------------------- */


.editor-styles-wrapper { 
	overflow-y: auto; 
}

.is-root-container {
	overflow: hidden; /*fix for swiper js is-overflow*/
}

.is-root-container.wp-block-post-content {
	padding: var(--main-padding-top) 0 var(--main-padding-bottom) 0; 
}


.wp-block {
	box-sizing: border-box;
}


.wp-block.components-placeholder {
	margin-top: var(--block-gap); /*e.g. for Shortcode block*/
}


.wp-block[class*="wp-block-acf-"].is-selected { /* for selected custom ACF blocks */
}


.wp-block[data-align] {
	float: none!important;
	max-width: var(--default-width);
}

.wp-block[data-align="wide"] {
	
}

.wp-block input { /* unset */
	-webkit-appearance: auto;
	-moz-appearance: auto;
}


.wp-block.acf-block-preview a { /*disable link clickability*/
	pointer-events: none; 
}

/*fix double root padding in BE (bc has-global-padding is missing on is-root-container on PHP templates)*/
:where(.is-root-container) :where(.has-global-padding:not(.wp-block-block)) {
	padding-right: 0;
	padding-left: 0;
}

/* disable drop cap in block preview */
.has-drop-cap:not(:focus):first-letter {
	all: unset;
}

/*remove underlinded links on pattern edit mode */
.block-editor-block-list__layout a:where(:not(.wp-element-button)) {
    text-decoration: unset;
}

/* ACF fields */

.block-editor-block-list__block.acf-block-component.is-selected {
	display: block;
}

.acf-field {
	-moz-osx-font-smoothing: auto;
}

.acf-field ul, 
.acf-field ol {
	padding: 0;
	margin: 0;
}

.editor-styles-wrapper .acf-fields :where(th,tr,td) {
	box-sizing: initial;
}

.acf-field a,
.acf-field a:hover {
	color: #0783BE;
	text-decoration: none;
}

a.acf-icon {
	color: #0783BE;
}

.acf-fields table { 
	border-collapse: inherit;
}

/*ACF block in editing mode */
.block-editor-block-list__block.acf-block-component.is-selected {
  display: block;
}

/*ACF block - when empty add some height*/
.block-editor-block-list__block.acf-block-component {
	min-height: 30px;
}

/* Placeholder for ACF block empty state */
.block-placeholder {
	margin: 0;
	padding: 20px; 
	color: #999; 
	font-style: italic;
}

 /* Helper - Block Outline */	
 
.block-editor-block-list__block.acf-block-preview:not(.block-visibility__has-visibility).wp-block,
.block-editor-block-list__block.acf-block-preview:not(.block-visibility__has-visibility) .wp-block,
.block-editor-block-list__block:not([data-type*="acf"]):not(.is-reusable):not(.block-visibility__has-visibility),
.block-editor-block-list__block.block-visibility__has-visibility.is-selected.wp-block {
	outline: 1px solid rgba(0,0,0, .13);
}

.block-editor-block-preview__content-iframe .block-editor-block-list__block {
	outline: none!important; /*no block outlines in block previews*/
}

.edit-site-style-book__examples .block-editor-block-list__block {
	outline: none!important; /*no block outlines in style book examples*/
}

.block-editor-block-list__block:not([data-type*="acf"]):not(.is-reusable) .wp-block {
	outline-offset: -1px; /*prevent overlapping outline of nested blocks*/
}

/* Helper - Missing Blocks */

.wp-block.wp-block-missing {
	border: 2px solid RED;
}

/* TinyMCE - fix CSS conflicts, halbwegs */

.mce-tinymce .mce-btn button {
	font-size: 20px;
}

/* reset editor-styles in ACF fields with TinyMCE */

#tinymce {
	background: #FFF;
}

#tinymce * {
	margin: revert;
	padding: revert;
	font-size: .938rem;
	line-height: 1.4;
	color: #000;
	font-family: sans-serif;
	list-style: inside;
}

#tinymce::before,
#tinymce::after {
	display: none;
}

#tinymce :where(strong, b) {
	font-weight: bold;
}

#tinymce a {
	color: #2171b1;
	text-decoration: underline;
}

#tinymce h1 { font-size: 2rem; }
#tinymce h2 { font-size: 1.5rem; }
#tinymce h3 { font-size: 1.25rem; }

#tinymce :where(p,h1,h2,h3,h4,h5,hr,ul,ol) { /*helper border*/
	position: relative;
	border: 1px dashed #CCC;
	border-color: #CCC;
	border-color: rgba(1,1,1, 0.25);
	padding: 2px;	
}


/*spacing helper - visualize spaces*/

.spacing-helper {
	display: flex;
	align-items: flex-end;
	gap: 20px;
}

.spacing-helper :where(.space) {
	position: relative;
	flex: 1 1 auto;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #CCC;
	height: var(--space);
}

.space[data-size="xs"]   { --space: var(--space-xs); }
.space[data-size="sm"]   { --space: var(--space-sm); }
.space[data-size="md"]   { --space: var(--space-md); }
.space[data-size="lg"]   { --space: var(--space-lg); }
.space[data-size="xl"]   { --space: var(--space-xl); }
.space[data-size="xxl"]  { --space: var(--space-xxl); }
.space[data-size="xxxl"] { --space: var(--space-xxxl); }

.space::after {
	content: attr(data-size);
	font-size: 14px;
	text-transform: uppercase;
}

.space[data-size="md"] { /*default space*/
	background: lightblue;
}




/* @end */



/* @group WP BLOCKS  */





/* WP BLOCKS
--------------------------------------------------------------------------------- */


/* @group WP HEADING  */


/* WP HEADING
--------------------------------------------------------------------------------- */


/* @end */




/* @group WP PARAGRAPH  */


/* WP PARAGRAPH
--------------------------------------------------------------------------------- */


/* @end */



/* @group WP IMAGE  */


/* WP IMAGE
--------------------------------------------------------------------------------- */


.wp-block-image {
}

.wp-block-image img {
	width: 100%;
	display: inline-block;
}

.wp-block-image:not(.alignfull) img {
	border-radius: var(--media-radius);
}

.wp-block-image.alignwide img,
.wp-block-image.alignfull img {
	width: 100%;
}

.wp-block-image .aligncenter, 
.wp-block-image .alignleft, 
.wp-block-image .alignright {
    display: table;
}

.wp-block-image .aligncenter > figcaption, 
.wp-block-image .alignleft > figcaption, 
.wp-block-image .alignright > figcaption {
    display: table-caption;
    caption-side: bottom; 
}


figcaption,
.wp-block-image figcaption,
.wp-block-embed figcaption {
	font-size: var(--text-sm);
	line-height: 1.4;
	font-style: italic;
	margin: var(--space-xs) 0;
	text-align: left;
	padding-inline: 4px;
	word-break: break-word;
	overflow-wrap: break-word;
}

/*custom image styles*/


.wp-block-image.is-style-image-radius-none,
.wp-block-image.is-style-image-radius-none img {
	border-radius: 0;
}

.wp-block-image:not(.alignfull).is-style-image-radius-xl img {
	border-radius: var(--radius-xl);
}



/* wp lightbox*/

.wp-lightbox-overlay .scrim {
	/*add custom bg color here*/
}


/* for Block Editor */

.wp-block[data-align] > .wp-block-image {
}


.wp-block[data-align="left"] > .wp-block-image {
	float: left;
}

.wp-block[data-align="right"] > .wp-block-image {
	float: right;
}


.wp-block-image .components-resizable-box__container { /*remove small space below images*/
    vertical-align: top; 
}

/* @end */


/* @group WP MEDIA-TEXT  */


/* WP MEDIA-TEXT
--------------------------------------------------------------------------------- */


.wp-block-media-text {
	gap: clamp(30px, 5vw, 60px);
}

.wp-block-media-text .wp-block-media-text__media {
}

.wp-block-media-text .wp-block-media-text__media img{
	  border-radius: var(--media-radius);
}

.wp-block-media-text .wp-block-media-text__content {
	padding: 0;
}

.wp-block-media-text__content > :first-child {
	margin-top: 0;
}

.wp-block-media-text__content > :last-child {
	margin-bottom: 0;
}

:where(.wp-block-media-text__content) > * { /*WP missed this*/
	margin-top: var(--block-gap);
}

@media screen and (max-width: 600px) {
	.wp-block-media-text__content {
		
	}

}



/* @end */


/* @group WP GALLERY  */


/* WP GALLERY
--------------------------------------------------------------------------------- */


.wp-block-gallery {
	/*default gap is block-gap*/
}

.wp-block-gallery > :where(.wp-block-image) {
	border-radius: var(--media-radius);
	overflow: hidden;
}

.wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
  font-size: var(--text-sm);
  text-shadow: 0 0 10px #000;
  padding: 10px 10px;
}

.wp-block-gallery.has-nested-images figure.wp-block-image:has(figcaption):before {
	/*WP defaults*/
}


/* @end */

/* @group WP EMBED  */

/* WP EMBED
--------------------------------------------------------------------------------- */

.wp-block-embed {
}

.wp-block-embed__wrapper > * {
	margin: 0 auto!important;
}

.wp-block-embed__wrapper iframe {
	width: 100%;
	border-radius: var(--media-radius);
}

/* @end */


/* @group WP VIDEO  */


/* WP VIDEO (self hosted)
--------------------------------------------------------------------------------- */


.wp-block-video {
}

.wp-block-video video {
	display: block;
	width: 100%;
	border-radius: var(--media-radius);
}

/* @end */


/* @group WP COVER  */

/* WP COVER
--------------------------------------------------------------------------------- */

.wp-block-cover {
}

.wp-block-cover.alignfull {
	padding: var(--page-padding);
}


/* @end */



/* @group WP QUOTE  */

/* WP QUOTE
--------------------------------------------------------------------------------- */

blockquote.wp-block-quote {
	margin-block: var(--space-lg);
	max-width: 40rem;
}


blockquote.wp-block-quote > * {
	font-weight: bold;
	color: var(--color-primary);
}

.wp-block-quote p + p {
}

.wp-block-quote cite {
	display: block;
	font-style: normal;
	font-weight: normal;
	font-size: var(--text-sm);
	color: var(--color-text-muted);
	margin: 10px 0 0 0;
}

/* @end */


/* @group WP PULLQUOTE  */

/* WP PULLQUOTE
--------------------------------------------------------------------------------- */

.wp-block-pullquote,
.wp-block-pullquote.has-background {
	padding-block: var(--space-xl);
}


.wp-block-pullquote blockquote {
	  font-weight: bold;
	  font-size: clamp(36px, 8vw, 40px);
	  line-height: 1.2;
	  max-width: 30ch;
	  margin-inline: auto;
}

.wp-block-pullquote cite {
	display: block;
	font-style: normal;
	font-weight: normal;
	font-size: var(--text-sm);
	color: var(--color-text);
	margin: 20px 0 0 0;
}


.wp-block-quote p + p {
}

.wp-block-quote cite {

}

/* @end */

/* @group WP COLUMNS  */


/* WP COLUMNS
--------------------------------------------------------------------------------- */

.wp-block-columns {
}

.wp-block-column {
	
}


/* custom style: breakpoint 1024 */

@media screen and (max-width: 1024px) {
	.is-style-breakpoint-1024 {
		flex-wrap: wrap!important;
	}	
	.is-style-breakpoint-1024> .wp-block-column {
		flex-basis: 100%!important;
	}
}

/* custom style: breakpoint 840 */

@media screen and (max-width: 840px) {
	.is-style-breakpoint-840 {
		flex-wrap: wrap!important;
	}	
	.is-style-breakpoint-840 > .wp-block-column {
		flex-basis: 100%!important;
	}
}


/* @end */




/* @group WP SPACER  */


/* WP SPACER
--------------------------------------------------------------------------------- */

.wp-block-spacer {
}


/* @end */


/* @group WP FILE  */


/* WP FILE
--------------------------------------------------------------------------------- */


.wp-block-file {
	position: relative;
	background: var(--color-primary-bg);
	background: transparent;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1ch 2ch;
	padding: 0 0 0 2.2rem;
	
	/*bigger
	padding: 0 0 0 2.8rem;
	*/
}


.wp-block-file + .wp-block-file {
	margin-top: 0.75em;
	border-top: 0px solid var(--color-border);


	margin-top: 0.9em;
}

.wp-block-file__embed {
	border: 1px solid var(--color-border);
}

.wp-block-file a:not(.wp-block-file__button) {
	font-size: var(--font-size-base);
	display: inline-block;
	word-break: break-all;
}

.wp-block-file a:not(.wp-block-file__button)::before {
	position: absolute;
	top: 0.00em;
	content: "\e904";
	font-family: 'icons';
	font-size: 1.5em;
	font-weight: normal;
	line-height: 1;
	margin-left: -2.4rem;
	color: inherit;
	
	/*bigger
	top: -0.1em;
	font-size: 2.0em;
	margin-left: -2.9rem;
*/
}


.wp-block-file__button.wp-element-button {
	font-size: var(--text-xs);
	border-radius: 0;
	padding: 6px 16px;
	margin: 0;
	border-radius: 10rem;
	background: var(--color-neutral-bg);
	color: var(--color-link);
	text-decoration: none;
	border: 0px solid;
}

.wp-block-file__button:hover {
	text-decoration: none;
	background: var(--color-neutral-200);
}


/* @end */


/* @group WP TABLE  */


/* WP TABLE
--------------------------------------------------------------------------------- */


.wp-block-table {
}

/* for editor */
.wp-block[data-align] table {
	width: 100%;
}

.wp-block-table table {
	width: 100%;
	max-width: 100%;
}

.wp-block-table table thead {
	text-align: left;
	border-bottom: 3px solid var(--color-border);
}

table thead td {
	font-weight: bold;
}

.wp-block-table  tfoot {
	border-top: 1px solid var(--color-border);
}


.wp-block-table tr {
	background: transparent;
	border-bottom: 1px solid var(--color-border);
}

.wp-block-table tr:last-child {
	border-bottom: none;
}

.wp-block-table tr th {
}

.wp-block-table :is(th,td) {
	border-color: var(--color-border);
	padding: 0.75rem 0.5rem;
}


.wp-block-table p {
	margin: 0;
}

.wp-block-table figcaption {
}


/* custom style: stripes */

.wp-block-table.is-style-stripes {
	border-bottom: none;
}

.wp-block-table.is-style-stripes tbody tr:nth-child(odd){
	background: rgba(0,0,0, .04);
}

.wp-block-table.is-style-stripes :is(th,td) {
	padding-left: 15px;
}

.wp-block-table.is-style-stripes :is(tr,thead,tfoot) {
	border: none;
}


/* custom style: lines */

.wp-block-table.is-style-lines {
	border-bottom: none;
}

.wp-block-table.is-style-lines :is(th,td) {
	padding-inline: 0px 15px;
}

.wp-block-table.is-style-lines td:last-child {
	padding-right: 0;
}

.wp-block-table.is-style-lines :is(thead,tfoot, tr, th, td){
	border: none;
}

.wp-block-table.is-style-lines thead tr {
	border-bottom: 2px solid var(--color-border);
}

.wp-block-table.is-style-lines tr {
	border-bottom: 1px solid var(--color-border);
}

.wp-block-table.is-style-lines :not(thead) > tr:last-child {
	border-bottom: none;
}

.wp-block-table.is-style-lines tfoot tr {
	border-bottom: none;
	border-top: 1px solid var(--color-border);

}


/* custom style: blank */

.wp-block-table.is-style-blank {
	line-height: inherit;
}

.wp-block-table.is-style-blank :is(thead, tfoot, tr) {
	border: none;
}

.wp-block-table.is-style-blank :is(th,td) {
	padding-block: 0;
	padding-left: 0;
	border: none;
}


/*for editor - show borders on select*/

.wp-block-table.is-selected table :is(thead,tfoot,th,tr,td) {
	border: 1px dashed #999;
}


/* @end */


/* @group WP GROUP  */

/* WP GROUP
--------------------------------------------------------------------------------- */

.wp-block-group {
}

.wp-block-group.has-background {
	
}

.wp-block-group > .wp-block-group {
	margin-bottom: 0;
}

.wp-block-group > :first-child {
	margin-top: 0;
}

.wp-block-group > :last-child {
	margin-bottom: 0;
}


/* @end */


/* @group WP BUTTONS  */


/* WP BUTTONS
--------------------------------------------------------------------------------- */

.wp-block-buttons { 
	gap: 15px; /*override WP inline default*/
}

.wp-block-button { 
}

div.wp-block-button__link,
.wp-block-button__link  { /*the div is for fse editor */
	width: auto;
	height: auto;
	padding: 14px 30px;
	padding: 12px 28px;
	font-weight: normal;
	font-size: var(--font-size-base);
	display: inline-flex;
	gap: 4px;
	justify-content: center;
	align-items: center;
	text-align: center;
	color: #FFF;
	letter-spacing: .1px;
	text-decoration: none;
	background: var(--color-primary);
	border: 1px solid transparent;
	border-radius: 10rem;
	

}

.wp-block-button__link:hover {
	color: #FFF;
	background: var(--color-text);
	background: color-mix(in srgb, var(--color-primary) 75%, black);
	background: color-mix(in srgb, var(--color-primary) 85%, white);
	border-color: color-mix(in srgb, var(--color-primary) 85%, white);
	text-decoration: none;
}

.wp-block-button__link:hover {
}

.wp-block-button__link:focus-visible {
	outline-offset: 3px;
}

.wp-block-button__link::after {
	content: "\e910";
	display: inline-block;
	font-family: 'icons';
	font-weight: normal;
	font-size: 32px;
	font-size: 1.6em;
	line-height: 1;
	margin-right: -5px;
	transition: transform 250ms ease;
	transform-origin: bottom right;
	will-change: transform; 
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.wp-block-button__link:hover::after {
	transform: translateX(4px);
}


/*custom style: btn-small*/

.wp-block-button.is-style-btn-small .wp-block-button__link {
	padding: 8px 20px;
	font-size: var(--text-sm);
}


/*custom style: btn-outline*/

.wp-block-button.is-style-btn-outline .wp-block-button__link {
	color: var(--color-text);
	background: transparent;
	border-color: currentColor;

}

.wp-block-button.is-style-btn-outline .wp-block-button__link:hover {
	color: var(--color-text-muted);
}

/*custom style: btn-outline-small*/

.wp-block-button.is-style-btn-outline-small .wp-block-button__link {
	color: var(--color-text);
	background: transparent;
	border-color: currentColor;	
	padding: 8px 20px;
	font-size: var(--text-sm);
}

.wp-block-button.is-style-btn-outline-small .wp-block-button__link:hover {
	color: var(--color-text-muted);
}



/*custom style: btn-outline-white*/

.wp-block-button.is-style-btn-outline-white .wp-block-button__link {
	color: #FFF;
	background: transparent;
	border-color: currentColor;
}

.wp-block-button.is-style-btn-outline-white .wp-block-button__link:hover {
	color: rgba(255,255,255, .8);
}

/* variant: no-icon */
.wp-block-button.no-icon .wp-block-button__link::after {
	display: none;
}

/* variant: icon-reverse */
.wp-block-button.reverse-icon .wp-block-button__link::after {
	order: -1;
	transform: scaleX(-1);
	margin-right: auto;
	margin-left: -5px;
	transform-origin: inherit;
}



/* @end */



/* @group WP SHORTCODE  */

/* WP SHORTCODE
--------------------------------------------------------------------------------- */

.wp-block-shortcode { /* class only in editor */
}

/* @end */


/* @group WP HTML  */

/* WP HTML
--------------------------------------------------------------------------------- */

.wp-block-html { /* class only in editor */
}

/* @end */


/* @group WP VIDEO  */

/* WP VIDEO
--------------------------------------------------------------------------------- */

.wp-block-video {
}

/* @end */


/* @group WP AUDIO  */

/* WP AUDIO
--------------------------------------------------------------------------------- */

.wp-block-audio {
}

/* @end */


/* @group WP CODE  */


/* WP CODE
--------------------------------------------------------------------------------- */

.wp-block-code {
	border-radius: var(--radius);
	background: #F1F1F1;
}

.wp-block-code code {
	background: none;
	padding: var(--box-padding);
	font-size: 1rem;
}

code {
	margin: 0;
}

/* @end */


/* @group WP DETAILS  */


/* WP DETAILS
--------------------------------------------------------------------------------- */

.wp-block-details {
	--block-gap: 1.4em;
}

.wp-block-details[open] {
}

.wp-block-details summary {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: .9em 1.6rem;
	font-size: var(--text-sm);
	font-weight: bold;
	line-height: 1;
	background: transparent;
	border-radius: 10rem;
	border: 1px solid var(--color-text);
	transition: all 300ms ease;
}

.wp-block-details summary:hover {
	color: var(--color-link);
}

.wp-block-details summary::marker,
.wp-block-details summary::-webkit-details-marker  {
	/*::marker has no safari support*/
	display: none;
}

.wp-block-details summary::before {
	content: "\e913";
	display: inline-block;
	margin-left: -.2em;
	font-family: 'icons';
	font-size: 1.3em;
	line-height: 1;
	font-weight: normal;
	transform: translateY(0%);
}

.wp-block-details[open] > summary::before {
	transform: rotate(180deg) translateY(5%);
}


.wp-block-details summary + * {
}

.wp-block-details + .wp-block-details {
	margin-top: 3px;
}


.wp-block-details .wp-block-details { /*details within details*/
	margin-left: 30px;
}



/* @end */


/* @group WP FOOTNOTES  */


/* WP FOOTNOTES
--------------------------------------------------------------------------------- */

.wp-block-footnotes {
	font-size: var(--text-xs);
	padding-top: var(--space-sm);
	border-top: 1px solid var(--color-border);
}




/* @end */


/* @group WP SEPARATOR  */


/* WP SEPARATOR
--------------------------------------------------------------------------------- */

hr.wp-block-separator {
	position: relative;
	display: block;
	clear: both;
	height: 1px;
	border: 0;
	background: transparent;
	border-bottom: 2px solid var(--color-border);
	margin: var(--space-lg) 0;
}


/* @end */

/* @group WP ACCORDION  */


/* WP ACCORDION
--------------------------------------------------------------------------------- */

.wp-block-accordion {
}

.wp-block-accordion-item { 
	border-top: 1px solid var(--color-border);
	border-bottom: 1px solid var(--color-border);
	
	border: 1px solid #333;
}

.wp-block-accordion-item + .wp-block-accordion-item {
	margin-top: -1px;
	
}

.wp-block-accordion-heading {
	padding: 0;
	font-size: var(--font-size-base); /*override h2,h3,h4 etc.*/
	line-height: var(--line-height-base);
}

.wp-block-accordion-heading .wp-block-accordion-heading__toggle {
	display: flex;
	gap: 12px;
	padding: 20px 0;
}

.wp-block-accordion-heading__toggle:focus { /*the button*/
}

.wp-block-accordion-heading__toggle:focus {
	border-radius: var(--radius);
	outline-offset: 1px;
}

.wp-block-accordion-heading__toggle:hover .wp-block-accordion-heading__toggle-title {
	text-decoration: none;
	color: var(--color-link-hover);
}

.wp-block-accordion-heading__toggle-title {
}

.wp-block-accordion-heading__toggle-icon { 
}

.wp-block-accordion-panel {
	position: relative;
	margin-top: 0;
}

.wp-block-accordion-panel > *:last-child:not(.wp-block-accordion) {
	margin-bottom: var(--block-gap);
}

.wp-block-accordion-panel > .wp-block-accordion { /*warning nested accordion*/
	border: 1px solid red;
}

.wp-block-accordion-panel > .wp-block-accordion::after {
	content: "⚠️ Kein Akkordion im Akkordion verwenden!";
	position: absolute;
	top: 0;
	left: 0;
	background: red;
	color: #FFF;
	padding: 5px;
	font-weight: bold;
	font-size: .75rem;
}


/* @end */







/* @end */


/* @group CUSTOM BLOCKS  */

/* CUSTOM BLOCKS
--------------------------------------------------------------------------------- */

/* @group HERO */

/* Hero
--------------------------------------------------------------------------------- */


.hero {
	position: relative;
	z-index: 0;
	container-type: inline-size;
	margin-bottom: var(--main-padding-top);
	margin-bottom: var(--space-xxxl);
	border-radius: 0 0 var(--radius-xl) var(--radius-xl);

	background: var(--color-primary-bg);	
	background: radial-gradient(ellipse at left top, rgba(255,255,255,.8) 0%,  var(--color-scheme-300) 100%);	

}

.hero::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	border-radius: 0 0 var(--radius-xl) var(--radius-xl);
	
	margin-top: -20vw;
	margin-left: -10vw;
	background: transparent url(assets/images/circle-gradient-white.svg) no-repeat top center;
	background-position: top left;
	background-size: 200vw;
	opacity: .6;
}

AUS_.hero::after { /*2nd circle*/
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	border-radius: 0 0 var(--radius-xl) var(--radius-xl);
	
	margin-top: vw;
	margin-left: 0vw;
	background: transparent url(assets/images/circle-gradient-white.svg) no-repeat top center;
	background-position: -6vw 20vw;
	background-size: 40vw;
	opacity: .5;
}



.entry-content > .hero:first-child {
	margin-top: calc(( var(--main-padding-top) + var(--header-height) ) * -1); /*to page top*/
	padding-top: var(--header-height);
}

.is-root-container > .wp-block-acf-hero:first-child { /*for editor*/
	margin-top: calc(var(--main-padding-top) * -1);
}

.is-root-container :is(.hero__grid) { /*for editor*/
		padding-block: var(--space-xxl) var(--space-xxl);
}

.hero .container {
	max-width: calc(var(--wide-width) - 4rem);
}

/* Banner Layout default */

.hero__grid {
	display: grid;
	position: relative;
	z-index: 1;
	grid-template-columns: repeat(2,minmax(0,1fr)); 
	gap: clamp(40px, 4vw, 80px);
	min-height: 600px;
	padding-block: 0 var(--space-xxl);
	max-width: var(--wide-width);
	padding-block: var(--space-lg) var(--space-xxxl) ;
	align-items: center;
}

.hero__image {
	order: 1;
	position: relative;
	height: clamp(540px, 40vw, 680px);
}

.hero__image-inner {
  position: absolute;
  left: 0;
  width: 50vw;
  max-width: 1200px;
  height: 100%;
  border-radius: 100rem 0 0 100rem;
  overflow: hidden;
  background: rgba(0,0,0, .04);
}


.hero__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	margin: 0 auto;
	opacity: 1;
}

.hero__content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	margin-inline: auto;
	width: 100%;
	height: 100%;
	max-width: var(--default-width);
	color: var(--color-primary);
}

.hero .hero__title {
	margin: 0;
}

.hero__intro {
	font-size: var(--text-lg);
	line-height: 1.5;
}



@media screen and (max-width: 1024px) {	
	.hero__grid {
		grid-template-columns: 1fr; 
		min-height: auto;
		gap: clamp(50px, 5vw, 60px);
		padding-block: var(--space-xl) var(--space-xxxl);
	}
	
	.hero__image {
		order: 0;
		height: clamp(360px, 80vw, 580px);
	}
	
	.hero__image-inner {
		left: auto;
		right: calc(var(--page-padding) * -1);
		width: calc(100% + var(--page-padding) );
		max-width: min(800px, 100vw);
		max-width: ;
	}
	
	.hero__content {
		padding-inline: 20px;
	}

	
}



/* @end */



/* @group BANNER */

/* Banner
--------------------------------------------------------------------------------- */


.banner {
	position: relative;
	z-index: 0;
	margin-bottom: var(--main-padding-top);
	margin-bottom: var(--space-xxl);
	border-radius: 0 0 var(--radius-xl) var(--radius-xl);

	background: var(--color-primary-bg);	
	background: radial-gradient(ellipse at left top, rgba(255,255,255,.8) 0%,  var(--color-scheme-300) 100%);	

}

.banner::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	border-radius: 0 0 var(--radius-xl) var(--radius-xl);
	
	margin-top: -20vw;
	margin-left: -10vw;
	background: transparent url(assets/images/circle-gradient-white.svg) no-repeat top center;
	background-position: top left;
	background-size: 200vw;
	opacity: .6;
}


.entry-content > .banner:first-child {
	margin-top: calc(( var(--main-padding-top) + var(--header-height) ) * -1); /*to page top*/
	padding-top: var(--header-height);
}

.is-root-container > .wp-block-acf-banner:first-child { /*for editor*/
	margin-top: calc(var(--main-padding-top) * -1);
}

.is-root-container :is(.banner-grid, .banner-grid.is-layout-extended) { /*for editor*/
		padding-block: var(--space-xxl) var(--space-xxl);
}

.banner .container {
	max-width: calc(var(--wide-width) - 4rem);
}

/* Banner Layout default */

.banner-grid {
	display: grid;
	position: relative;
	width: 100%;
	height: 100%;
	margin: 0 auto;
	max-width: var(--wide-width);
	padding-block: var(--space-md) var(--space-xxxl) ;
	align-items: center;
}

.banner__content {
	margin-inline: auto;
	width: 100%;
	max-width: var(--default-width);
	color: var(--color-primary);
}


.banner .banner__title {
	width: 100%;
	text-align: center;
	margin: 0;
	margin-top: -.2em; /*balance*/
}



/* Banner Layout extended */

.banner-grid.is-layout-extended {
	grid-template-columns: repeat(2,minmax(0,1fr)); 
	gap: clamp(40px, 4vw, 80px);
	padding-block: var(--space-lg) var(--space-xxxl);
}

.banner-grid.is-layout-extended:not(.has-image) {
	grid-template-columns: 1fr;
}


.banner-grid.is-layout-extended .banner__content {
	margin-inline: 0;
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	text-align: left;
}

.banner-grid.is-layout-extended .banner__title {
	text-align: left;
}

.banner__intro {
	font-size: var(--text-lg);
	line-height: 1.5;
}



.banner__image {
	position: relative;
	height: clamp(500px, 40vw, 600px);
}

.banner__image-inner {
  position: absolute;
  left: 0;
  width: 50vw;
  max-width: 1200px;
  height: 100%;
  border-radius: 100rem 0 0 100rem;
  overflow: hidden;
  background: rgba(0,0,0, .04);
}

.banner__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	margin: 0 auto;
	opacity: 1;
}


@media screen and (max-width: 1024px) {	
	
	.banner-grid.is-layout-extended {
		grid-template-columns: 1fr; 
		min-height: auto;
		gap: clamp(50px, 5vw, 60px);
		padding-block: var(--space-lg) var(--space-xxxl);
	}
	
	.banner__content {
		padding-inline: 20px;
	}
	
	.banner__image {
		height: clamp(260px, 80vw, 480px);
	}
	
	.banner__image-inner {
		width: calc(100vw - var(--page-padding) / 2);
	}

	
}

@media screen and (max-width: 600px) {
		.banner-grid {
			padding-block: var(--space-lg) var(--space-xxxl);
		}
	
}


/* @end */



/* @group IMAGE-SLIDER */

/* Image-Slider
--------------------------------------------------------------------------------- */

.image-slider {
     border-radius: var(--radius);
}

.image-slider.alignwide {
}

.image-slider.alignfull {
}

.image-slider .swiper {
}

.image-slider .swiper-wrapper {
}

.image-slider .swiper-slide {
  max-width: var(--default-width); /*default*/
}

/*size small */
.image-slider .swiper-slide.size-sm {
  max-width: 26rem;
}

/*size large*/
.image-slider .swiper-slide.size-lg {
  max-width: 980px;
}


.image-slider__image {
  position: relative;
  background: rgba(0,0,0, .05);
}

.image-slider.alignwide .image-slider__image,
.image-slider.alignfull .image-slider__image {
}

.image-slider:not(.alignfull) {
  border-radius: var(--media-radius);
}

.image-slider__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: var(--media-radius);
}


.image-slider__caption {
  position: absolute;
  width: 100%;
  bottom: 0;
  left: 0;
  margin: 0;
  color: #FFF;
  font-size: var(--text-sm);
  padding: clamp(15px, 4vw, 30px);
  text-shadow: 0 2px 5px rgba(0,0,0, .5);
  background: rgba(0,0,0, .4);
  background: linear-gradient(to bottom,  rgba(0,0,0,0) 0%,rgba(0,0,0, .6) 90%);
}



/* style: is-contain */

.image-slider__image.is-contain img {
  object-fit: contain;
}


/* style: is-overflow */

.swiper.is-overflow {
  overflow: visible;
}


/* @end */





/* @group GALLERY */

/* Gallery v1.02
--------------------------------------------------------------------------------- */


.gallery {
}

.gallery__grid {
	--columns: 3;
	--gap: clamp(10px, 2vw, 20px);
	display: flex;
	flex-wrap: wrap;
	gap: var(--gap);
}

.gallery__grid.gap-none {
	--gap: 0px;
}

.gallery__grid.columns-align-center {
	justify-content: center;

}
.gallery__grid.columns-align-right {
	justify-content: flex-end;
}

.gallery__item {
	position: relative;
	/* Calculate width minus the gap */	
	flex: 0 1 calc((100% / var(--columns)) - (((var(--columns) - 1) / var(--columns)) * var(--gap)));
	width: 100%;
	display: flex;
	flex-direction: column;
	margin: 0;
	aspect-ratio: unset!important;
}

.gallery__grid.gallery-columns-1 { --columns: 1 }
.gallery__grid.gallery-columns-2 { --columns: 2 }
.gallery__grid.gallery-columns-3 { --columns: 3 }
.gallery__grid.gallery-columns-4 { --columns: 4 }
.gallery__grid.gallery-columns-5 { --columns: 5 }
.gallery__grid.gallery-columns-6 { --columns: 6 }


@media screen and (max-width: 1024px) {

.gallery__grid.gallery-columns-3 { --columns: 2 }
.gallery__grid.gallery-columns-4 { --columns: 2 }
.gallery__grid.gallery-columns-5 { --columns: 3 }
.gallery__grid.gallery-columns-6 { --columns: 3 }
}

@media screen and (max-width: 600px) {

.gallery__grid.gallery-columns-3 { --columns: 2 }
.gallery__grid.gallery-columns-4 { --columns: 2 }
.gallery__grid.gallery-columns-5 { --columns: 2 }
.gallery__grid.gallery-columns-6 { --columns: 2 }
}


.gallery .gap-zero .gallery__grid {
	--gallery-gap: 0;
}

.gallery__image {
	overflow: hidden;
	border-radius: var(--media-radius);
}

.gallery__image a {
	display: block;
	width: 100%;
	height: 100%;
	overflow: hidden;
	border-radius: var(--media-radius);
	outline-offset: 2px;
}

.gallery__image img {
	display: block;
	margin: 0;
	width: 100%;
	transition: all 600ms ease!important;
	border-radius: var(--media-radius);
}

.gallery__image a:hover img {
	transform: scale(1.08);
	opacity: .8;
}


/* gallery flex grow */
.gallery__item.is-grow  {
	flex-grow: 1; /* items in last row fill remaining space*/
}

.gallery__item.is-grow img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	margin: 0 auto;
}

/* gallery has custom aspect ratio */
.gallery__item.has-ratio .ratio-wrap {
	position: relative;
}

.gallery__item.ratio-1-1 .gallery__image { aspect-ratio: 1 }
.gallery__item.ratio-4-3 .gallery__image { aspect-ratio: 4/3 }
.gallery__item.ratio-3-2 .gallery__image { aspect-ratio: 3/2 }
.gallery__item.ratio-16-9 .gallery__image { aspect-ratio: 16/9 }


.gallery__item.has-ratio .gallery__image {
	position: relative;
}

.gallery__item.has-ratio img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	margin: 0 auto;
}

.gallery__item figcaption {
	margin: var(--space-xs) 0 0 0;
}


/* -- Gallery Masonry (JS) */

.gallery__grid.is-masonry {
	display: grid;
	grid-template-columns: repeat(var(--columns),minmax(0,1fr)); 
	grid-template-rows: masonry;
	grid-auto-flow: dense;
 }
  
.gallery__grid.is-masonry > * {
    align-self: start;
    grid-column-end: span var(--span, 1);
}

.gallery__grid.is-masonry .gallery__item  {
	width: 100%;
	padding: 0;
}



/* -- Gallery Staggered (asymetric/pseudo masonry) */

.gallery__grid.is-staggered {
	container-type: inline-size;
}

.gallery__grid.is-staggered :where(.gallery__item) {
	flex: 1 0 auto;
	max-width: calc(55% - (var(--gap) / 2) );
	height: clamp(200px, 35vw, 500px); /*the height*/
	height: 34cqw; /*query container’s width*/
}

.gallery__grid.is-staggered :where(.gallery__item:nth-child(4n)),
.gallery__grid.is-staggered :where(.gallery__item:nth-child(4n + 1)) {
	max-width: calc(45% - (var(--gap) / 2) );
}

.gallery__grid.is-staggered .gallery__item:nth-child(4n) .gallery__image,
.gallery__grid.is-staggered .gallery__item:nth-child(4n + 1) .gallery__image {

} 

.gallery__grid.is-staggered .gallery__image {
	height: 100%;
	aspect-ratio: initial!important;
}

.gallery__grid.is-staggered :where(.gallery__item.is-grow:last-child) {
	flex-grow: 1;
	max-width: 100%;
}


@media screen and (max-width: 600px) {
	.gallery__grid.is-staggered  { 
		--columns: 1; 
	}
	
	.gallery__grid.is-staggered .gallery__item {
		width: 100%;
		height: auto;
	}
	
	.gallery__grid.is-staggered .gallery__image {
		aspect-ratio: 4/3!important;
	}

}






/* @end */


/* @group ACCORDION  */

/* ACCORDION
--------------------------------------------------------------------------------- */


.accordion {
	position: relative;
	border: none;
	width: 100%;
	outline-offset: 1px;
}

.accordion + .accordion {
	margin-top: 12px;
}

.accordion-heading {
	margin: 0;
	padding: 0;
	border: none;
	text-transform: none;
}

.accordion-trigger {
	display: block;
	position: relative;
	border: none;
	text-align: left;
	width: 100%;
	padding: 32px var(--box-padding);
	padding-right: 60px;
	font-family: var(--font-sans);
	font-size: var(--font-size-base);
	line-height: var(--line-height-base);
	color: var(--color-link);
	background: var(--color-primary-bg);
	background: var(--color-scheme-100);
	border-radius: var(--radius);
	font-weight: bold;
	transition: all 300ms ease;
}

.accordion-trigger:hover {
	text-decoration: none;
	color: var(--color-text);
}

.accordion-trigger.active {
	AUS_border-bottom: 4px solid var(--primary-300);
}

.accordion-trigger:hover,
.accordion-trigger:hover i {
}

.accordion-trigger:hover i {
	text-decoration: none;
}

.accordion-trigger span {
	display: flex;
}

.accordion-trigger i:after {
	position: absolute;
	top: 1.1em;
	right: 20px;
	margin: 0;
	content: "\e913";
	display: block;
	line-height: 1;
	border-radius:0;
	font-family: 'icons';
	font-size: 1.6em;
	font-weight: normal;
	font-style: normal;
	color: var(--color-link);
	text-decoration: none;
	transition: all 250ms ease-in-out;
}

.accordion-trigger:hover i:after {
	color: inherit;
}

 .accordion-trigger.active i:after {
	transform: rotate(180deg);
}

.accordion-content {
	position: relative;
	padding: var(--block-gap) 0 var(--space-md) 0;
}

.accordion-content > *:first-child,
.accordion-content .acf-innerblocks-container > *:first-child  {
	margin-top: 0;
}


.wp-block-acf-accordion .accordion-content {
	display: none; /*WP preview: collapse item*/
}

.wp-block-acf-accordion.is-selected .accordion-content,
.wp-block-acf-accordion.has-child-selected .accordion-content {
	display: block; /*WP preview: expand item on select*/
}

.wp-block-acf-accordion.is-selected  .accordion-trigger i:after {
	transform: rotate(180deg); /*WP editor*/
}

@media screen and (max-width: 600px) {
}

/* @end */


/* @group FORM */

/* Form
--------------------------------------------------------------------------------- */


.form {
}

/* @end */



/* @group IFRAME EMBED */

/* iframe embed
--------------------------------------------------------------------------------- */


.iframe-embed {
}

.iframe-embed iframe {
	display: block;
	width: 100%;
	height: auto;
	margin: 0;
	background: rgba(0,0,0, .05);
}

.iframe-embed:not(.alignfull) iframe {
	border-radius: var(--media-radius);
}

.wp-block.iframe-embed iframe {
	pointer-events: none; /*WP*/
}

.iframe-embed iframe {
	min-height: 320px; /*for mobile when ratio is to small*/
}

.ratio-1 { aspect-ratio: 1;}
.ratio-3-2 { aspect-ratio: 3/2;}
.ratio-4-3 { aspect-ratio: 4/3;}
.ratio-16-9 { aspect-ratio: 16/9;}
.ratio-2-1 { aspect-ratio: 2/1;}


/* @end */


/* @group LOGO GRID */

/* Logo Grid v1.0
--------------------------------------------------------------------------------- */


.logo-grid {	
}


.is-root-container .logo-grid__grid {
	padding: 1px;
}

.logo-grid__grid {
	/*vars*/
	--gap: clamp(20px, 3vw, 30px);
	 /*custom*/
	--columns: 4;
	--align: center; 
	--image-max-size: 80%;
	--image-ratio: 4/3;
	
    container-type: inline-size;
	display: flex;
	flex-wrap: wrap;
	gap: var(--gap);
	justify-content: var(--align);
}

.logo-grid__item {
	/* Calculate width minus the gap */	
	flex: 0 1 calc((100% / var(--columns)) - (((var(--columns) - 1) / var(--columns)) * var(--gap)));
    container-type: inline-size;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	aspect-ratio: var(--image-ratio);	
}

.logo-grid__item a {
	display: inherit;
	width: 100%;
	height: 100%;
}

.logo-grid__item img {
	width: 100%;
	height: 100%;
	max-width: var(--image-max-size);
	max-height: var(--image-max-size);
	object-fit: contain;
	margin: auto;
}

/*option: bg */

.logo-grid__item.style-bg {
	background: #FFF;
}


/*option: border*/

.logo-grid__item.style-border {
	background: #FFF;
	border: 1px solid rgba(0,0,0, .08);
}

/*option: shadow*/

.logo-grid__item.style-shadow {
		background: #FFF;
		box-shadow: 0px 3px 25px -5px rgba(0,0,0, .15);
}

/*option: grayscale*/

.logo-grid__item.grayscale img {
	filter: grayscale(1);
	mix-blend-mode: multiply;
}


@media (max-width: 840px) {
	.logo-grid__grid {
		--columns: var(--columns-tab)!important;
	}
}

@media (max-width: 600px) {
	.logo-grid__grid {
		--columns: var(--columns-mob)!important;
	}
}


/* @end */



/* @group POST GRID */

/* Post Grid
--------------------------------------------------------------------------------- */


.post-grid {
	container-type: inline-size;
	margin-top: var(--space-lg);
}

.post-grid__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0,1fr));
	gap: 30px;
}

.post-grid__grid .post-card {
	/* see .post-card*/
}

AUS_.post-grid .post-card__title a {
	font-size: 26px;
	font-family: var(--font-heading);
	line-height: 1.4
}


@media screen and (max-width: 1024px) {
	.post-grid__grid {
		grid-template-columns: 1fr 1fr;
	}	
	
	.post-card__content {
		padding-inline: 4px;
	}
}

@media screen and (max-width: 600px) {
	.post-grid__grid {
		grid-template-columns: 1fr;
	}
}



/* @end */



/* @group FEATURE SECTION */

/* Feature Section
--------------------------------------------------------------------------------- */


.feature-section {
	container-type: inline-size;
	border: 0px solid #333;
}

.feature-section + :where(.feature-section ) {
	margin-top: var(--space-xl);
}

.feature-section.alignwide {
}

.feature-section__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 clamp(30px, 5vw, 80px);
	overflow: hidden;	
	margin: 0 auto;
	overflow: visible;
}

:where(.feature-section__grid).order-text-first {
}

.feature-section__image {
	overflow: hidden;
	border-radius: var(--radius-xl);
}

.feature-section.alignwide .feature-section__grid { 
	
}

.feature-section.alignwide .feature-section__image {
}

.feature-section.alignwide .order-text-first .feature-section__image {
	margin-left: 0;
}

.feature-section__image img {
	aspect-ratio: 4/3;
	height: 100%;
	width: 100%;
	object-fit: cover;
	display: block;
	margin: 0;
}

.feature-section__content {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-self: center;
	
	margin-block: auto;
	padding-block: clamp(var(--space-xl), 8vw, var(--space-xxl));
	padding-inline: clamp(var(--space-md), 3vw, var(--space-xl));

	z-index: 1;
}

.feature-section__content * {
	max-width: 50ch;
}

.feature-section__content > * {
	margin-bottom: 0;
}


/* option: order */

.feature-section__grid.order-text-first .feature-section__image {
	order:  2;
}

/* option: image ratio */

.feature-section__image.image-ratio-3-2 img { aspect-ratio: 3/2; }
.feature-section__image.image-ratio-1-1 img { aspect-ratio: 1; }


@container (max-width: 840px) {
	.feature-section__grid {
		grid-template-columns: 1fr;
	}

	.feature-section__image {
		order: 0!important;
	}
	
	.feature-section {
	}
	
	.feature-section__content {
		padding-inline: 10px;
		margin-inline: auto;
		padding-block: clamp(var(--space-md), 5vw, var(--space-lg));
	}
	
}


/* @end */

/* @group LINK CARDS */

/* Link Cards
--------------------------------------------------------------------------------- */

.link-cards {
	position: relative;
	container-type: inline-size;
	margin-block: var(--space-xl);
}

.link-cards__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0,1fr));
	gap: 30px;
}

.link-card {
	container-type: inline-size;
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	aspect-ratio: 4/3;
	padding: var(--box-padding);
	border-radius: var(--radius);
	overflow: hidden;
	background: var(--color-scheme-100, --color-primary-bg);
	box-shadow: 0px 10px 30px -10px rgba(0,0,0, .0);
	transition: 300ms ease;
}

.link-card:hover {
	box-shadow: 0px 10px 30px -10px rgba(0,0,0, .1);
}

.link-card::before { /* effect*/
	--glow-size: 50px;
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	width: 0px;
	aspect-ratio: 1;
	border-radius: 100%;
	background: transparent;
	box-shadow: 0px 0 var(--glow-size) var(--glow-size) var(--color-scheme, --color-primary);
	opacity: 0;
	transition: 400ms ease;
}

.link-card:hover::before,
.link-card:focus-within::before {
	--glow-size: 150px;
	opacity: .2;
} 


.link-card__title {
	z-index: 1;
	text-align: center;
	margin: 0;
	font-size: clamp(22px, 10cqi, 26px);
}

.link-card a {
	position: unset;
	display: flex;
	align-items: center;
	justify-content: space-around;
	text-decoration: none;
}


.link-card a::before { /*arrow icon*/
	content: "\e910";
	position: absolute;
	bottom: var(--space-sm);
	right:  var(--space-sm);
	font-family: 'icons';
	font-weight: normal;
	font-size: 32px;
	font-size: 2rem;
	line-height: 1;
	transition: inherit;
	opacity: 0;
	transform: translate(-10px,0px);
	z-index: 1;
}

.link-card a:hover::before,
.link-card a:focus::before {
	opacity: 1;
	transform: translate(0,0);
}


.link-card a::after { /*link area*/
	content: "";
	position: absolute;
	inset: 0;
}

@container (width < 980px) {
	.link-cards__grid {
		grid-template-columns: repeat(2, minmax(0,1fr));
	}	
}

@container (width < 500px) {
	.link-cards__grid {
		grid-template-columns: 1fr;
	}
}





/* @end */


/* @group RELATED LINKS */

/* Related Links
--------------------------------------------------------------------------------- */

.related-links {
	margin-top: var(--space-xxl);
}

.related-links__inner {
	
}


.related-links__list {
	margin-top: var(--space-md);
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: flex-start;
}

.related-links__list a {
	display: inline-flex;
}


/* @end */


/* @group FEATURE PANEL */

/* Feature Panel
--------------------------------------------------------------------------------- */


.feature-panel {
    container-type: inline-size;
	position: relative;
	color: #FFF;
}

.feature-panel + .feature-panel {
	margin-top: var(--space-xl);
}

.feature-panel__grid {
	position: relative;
	display: grid;
	grid-template-columns: repeat(2, minmax(0,1fr));
	gap: 0 0;
	padding-block: var(--space-xl);
	border-radius: var(--radius-xl);
	overflow: hidden;
}

.feature-panel__grid > * {
	position: relative;
}


.feature-panel__grid::before { /*bg color w offset effect*/
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	height: 100%;
	width: 100%;
	max-width: 65%;
	background: var(--bg, --color-primary);
	border-radius: var(--radius-xl);
}


.feature-panel__image {
	overflow: hidden;
	border-radius: var(--radius-xl);
	background: rgba(0,0,0, .05);
}


.feature-panel__image img {
	aspect-ratio: 1;
	height: 100%;
	width: 100%;
	object-fit: cover;
	display: block;
	margin: 0;
}

.feature-panel__content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: var(--space-xl) var(--box-padding-xxl);
}

.feature-panel__content .wp-block-button {
	display: flex;
}


/* option: order */
.feature-panel__grid.order-text-first {
}

.feature-panel__grid.order-text-first .feature-panel__image {
	order: 2;
}

.feature-panel__grid.order-text-first::before{ 
	right: auto;
	left: 0;
}


/* option: image ratio */

.feature-panel__image.image-ratio-3-2 img { aspect-ratio: 3/2; }
.feature-panel__image.image-ratio-4-3 img { aspect-ratio: 4/3; }


@container (max-width: 840px) {
	.feature-panel__grid,
	.feature-panel__grid.order-text-first {
		grid-template-columns: 1fr;
		margin: 0;
		padding: 0;
	}
	
	.feature-panel__grid::before {
		max-width: 100%;
		top: 20%;
	}
		
	.feature-panel__image {
		margin-inline: var(--box-padding-xl);
	}
	
	.feature-panel__content {
		order: 2;
	}	
}


@container screen and (max-width: 600px) {
	.feature-panel__content {
    	padding: var(--space-lg) var(--box-padding);
		padding-bottom: var(--space-xl);
	}	
}


/* @end */


/* @group CONTACT CARD */

/* Contact Card
--------------------------------------------------------------------------------- */

.contact-card {
	container-type: inline-size;
	padding: var(--box-padding);
	background: var(--color-primary-bg);
	border-radius: var(--radius);
}


.contact-card__grid.has-image {
	display: grid;
	grid-template-columns: minmax(100px,180px) 1fr;
	gap: 24px 30px;	
}

.contact-card__grid > *{
}

.contact-card__image {
	aspect-ratio: 1;
	border-radius: 100%;
	overflow: hidden;
	max-width: min(50cqi, 180px);
}

.contact-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.contact-card__content {
}

.contact-card__content > :not(.contact-card__name) {
	hyphens: auto;
}

.contact-card__content-section {
	margin-top: var(--space-sm);
}

		@container (width < 650px) {
		  .contact-card__grid.has-image {
		  grid-template-columns: 1fr;
		  }
	}


/* @end */


/* @group RESOURCES */

/* Resources
--------------------------------------------------------------------------------- */


.resources {
	position: relative;
	container-type: inline-size;
	margin-block: var(--space-xl);
}

/* -> uses .link-cards__grid > .link-cards */


article.resources {
	margin: 0;
}


.single-post__section {
	
}


/*related resources */

.related-resources {
	container-type: inline-size;
	margin-top: var(--space-xxl);
}

.related-resources .link-cards {
	margin: 0;
	margin-top: var(--space-lg);
}


/* -> uses .link-cards__grid > .link-cards */

/* @end */


/* @group [FILTER] */

/* Filter
--------------------------------------------------------------------------------- */

.filters {
  display: flex; 
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: var(--space-lg);
}

.filter-btn {
	color: var(--color-text);
	background: transparent;
	border-color: currentColor;	
	padding: 8px 20px;
	font-size: var(--text-sm);
	border: 1px solid;
	border-radius: 10rem;
	transition: 300ms ease;
}

.is-root-container .filter-btn {
	pointer-events: none;
}

.filter-btn:hover {
	color: var(--color-text-muted);
}


.filter-btn.is-active {
	color: #FFF;
	border-color: var(--color-text);
	background: var(--color-text);
	pointer-events: none;
}

.filter-container {
}

.filter-item {
	transition: all 300ms ease;

}

.filter-item.is-removing {
  opacity: .5;
  transform: scale(.9);
}

.filter-item.hide {
  display: none;
}

/* @end */

/* @group ANCHOR NAV */

/* Anchor Nav
--------------------------------------------------------------------------------- */

.anchor-nav {
	margin-block: var(--space-xl);
}

.anchor-nav__grid {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}

/* @end */


/* @group PUBLICATIONS */

/* Publications
--------------------------------------------------------------------------------- */


.publications {
	position: relative;
	container-type: inline-size;
	margin-block: var(--space-xl);
}


article.publications {
	margin: 0;
}

.publications__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0,1fr));
	gap: 30px;
}

.publication-card {
	container-type: inline-size;
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 30px;
	padding: var(--box-padding);
	border-radius: var(--radius);
	overflow: hidden;
	background: var(--color-neutral-bg);
}


.publication-card__image {
	container-type: inline-size;
}

.publication-card__image a {
	display: flex;
	align-items: center;
	aspect-ratio: 4/3;
}

.publication-card__image img {
	max-width: 150px;
	max-width: 60cqi;
	max-height: 250px;
	margin: 0 auto;
	border-radius: 1px;
	box-shadow: 2px 3px 20px -2px rgba(0,0,0,.2), 2px 3px 5px -2px rgba(0,0,0,.05);
}


.publication-card__content {
}

.publication-card__content > * + * {
	margin-top: .5rem;
}

.publication-card__title,
.publication-card__title a {
	display: block;
	font-weight: bold;
	font-size: var(--font-size-base);
	text-decoration: none;
}

.publication-card__date {
	font-size: var(--text-sm);
	color: var(--color-text-muted);
}

.publication-card__subtitle {
	font-size: var(--text-sm);
}

@container (width < 1200px) {
	.publications__grid {
		grid-template-columns: repeat(3, minmax(0,1fr));
	}	
}


@container (width < 980px) {
	.publications__grid {
		grid-template-columns: repeat(2, minmax(0,1fr));
	}	
}

@container (width < 500px) {
	.publications__grid {
		grid-template-columns: 1fr;
	}
}


/* @end */



/* @group EVENTS */


/* Events
--------------------------------------------------------------------------------- */


.events-listing {
	margin-inline: auto;
}

/* em list */

.em-events-list__group-title {
	font-weight: bold;
	margin-block: var(--space-xl) var(--space-md);
}

.em-list > .em-events-list__group-title:first-child {
	margin-top: 0;
}

.em-group {
	container-type: inline-size;
}

/* em item */


.em-item {
	position: relative;
	display: grid;
	grid-template-columns: auto 1fr;
	gap: clamp(20px, 5vw, 30px);
	padding: var(--box-padding);
	background: var(--color-scheme-100, --color-primary-bg);
	border-radius: var(--radius);
	overflow: hidden;
	transition: 300ms ease;
	box-shadow: 0px 10px 30px -10px rgba(0,0,0, .0);
}

.em-item:hover {
	box-shadow: 0px 10px 30px -10px rgba(0,0,0, .1);
}

.em-item::before { /* effect*/
	--glow-size: 50px;
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	width: 0px;
	aspect-ratio: 1;
	border-radius: 100%;
	background: transparent;
	box-shadow: 0px 0 var(--glow-size) var(--glow-size) var(--color-scheme, --color-primary);
	opacity: 0;
	transition: 400ms ease;
}

.em-item:hover::before,
.em-item:focus-within::before {
	--glow-size: 150px;
	opacity: .2;
} 

.em-item + .em-item {
	margin-top: var(--space-md);
}

.em-item-date {
	display: grid;
	justify-content: center;
	text-align: center;
	gap: 0px;
	margin-top: -13px;
	padding: 24px 12px;
	color: #FFF;
	background: var(--color-text);
	border-radius: 100rem;
	text-transform: uppercase;
	margin-bottom: auto;
}

.em-item-date__date-start,
.em-item-date__date-end {
	display: grid;
	line-height: 1.2;
}

.em-item-date__date-end {
}

.em-item-date__date-divider {
	line-height: .5;
	margin-block: 6px;
}


.em-item-date a:hover .em-item-date__date {
	background: rgba(0,0,0, .25);
}

.em-item-date__day {
	font-family: var(--font-heading);
	font-weight: bold;
	font-size: 1.8rem;
	font-size: clamp(1.5rem, 7cqi, 1.8rem); /*same as title*/
	line-height: 1;
}

.em-item-date__month {
	font-weight: bold;
	line-height: 1;
	font-size: 16px;
	font-family: var(--font-heading);
	font-size: clamp(14px, 4cqi, 18px);
}

.em-item-content {
	--block-gap: .2rem;
	padding-block: 4px;
	
	@container (width < 600px) {
	padding-block: 8px;
	}

}


.em-item-title {
	margin: 0;
	margin-bottom: 16px;
	line-height: 1.3;
	font-size: clamp(24px, 5cqi, 30px);
}

.em-item-title a {
	position: unset;
	display: block;
	text-decoration: none;
}

.em-item-title a:hover {
	color: var(--color-primary);
}

.em-item-title a::before { /*link area*/
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: transparent;
}


.em-item-cancelled {
	color: red;
	text-transform: uppercase;
	font-weight: bold;
	font-size: var(--text-sm);
}

.em-item-time,
.em-item-location {
	display: flex;
	gap: 8px
}

.em-item-time i,
.em-item-location i {
	display: ;
	margin-top: .08em;
	margin-left: -.05em;
	font-size: 1.6rem;
}

.em-item-time {
}

.em-item-location {
}


@container (width < 600px) {
	.em-item {
		padding-left: 0;
		margin-left: 30px;
		overflow: visible;
	}
	
	.em-item::before {
		display: none;
	}
	
	.em-item-date {
		margin-left: -30px;
	}
}

/* em pagination */

.em-pagination {
	margin-top: var(--space-xl);
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: center;
}

.em-pagination .page-numbers {
	--size: 3.45rem;
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	padding: 8px;
	font-size: var(--text-sm);
	font-weight: bold;
	line-height: 1;
	width: var(--size);
	height: var(--size);
	border-radius: 100%;
	border: 1px solid;
	text-decoration: none;
	
}

.em-pagination .page-numbers:hover {
}

.em-pagination .page-numbers.current,
.em-pagination .page-numbers.current:hover {
	text-decoration: none;
	color: #FFF;
	border-color: var(--color-primary);
	background: var(--color-primary);
}

.em-pagination .prev.page-numbers,
.em-pagination .next.page-numbers {
}


.em-pagination .prev.first.page-numbers,
.em-pagination .next.last.page-numbers {
}

.em-pagination .first-half,
.em-pagination .second-half {
	display: contents;
}

.em-pagination .first-half > *,
.em-pagination .second-half > * {
}


.em-pagination .page-numbers {
	AUS_display: none; /* show/hide number buttons*/
}

.em-pagination .prev.first.page-numbers,
.em-pagination .next.last.page-numbers {
	display: none;
}

.em-pagination .prev.page-numbers,
.em-pagination .next.page-numbers {
	display: inline-flex;
	text-indent: -5rem;
	overflow: hidden;
}


.em-pagination .next.page-numbers::after,
.em-pagination .prev.page-numbers::after  {
	font-family: 'icons';
	font-size: 1.5rem;
	text-indent: 0;
	font-weight: normal;
}

.em-pagination .next.page-numbers::after {
	content: "\e915";
}

.em-pagination .prev.page-numbers::after {
	content: "\e914";
}

.em-pagination .page-numbers:hover {
	background: var(--primary-bg);
}

.em-edit-link {
	position: absolute;
	bottom: 0;
	right: 0;
	z-index: 10;
	font-size: 11px;
	padding: 8px 12px;
	text-transform: uppercase;
	text-decoration: none;
	background: #0073AA;
	color: #FFF;
}


@media screen and (max-width: 980px) {

}

@media screen and (max-width: 600px) {
}



/* === em single */


.em-header {
}

.em-archive-title {
	text-align: center;
	font-weight: bold;
	text-transform: uppercase;
	font-size: var(--text-small);
	margin-bottom: var(--space-lg);
	background: var(--primary-bg);
	padding: 20px;
}

.em-cancelled {
	font-weight: bold;
	text-transform: uppercase;
	font-size: var(--text-sm);
	margin-bottom: var(--space-xs);
	color: red;
}

h1.em-title {
	margin: 0;
}

.is-past .em-title {
	color: var(--text-gray);
}

.em-image {
	margin-top: var(--space-xl);
	overflow: hidden;
	border-radius: var(--radius-xl);
}

.em-image img {
	width: 100%;
}

.em-meta {
	margin-block: var(--space-xl);
	display: grid;
	gap: 12px;
}

.em-meta__item {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 12px;
}

.em-meta__item + .em-meta__item {
	border-top: 1px solid var(--border-color);
}

.em-meta__item i {
	font-size: 130%;
	font-size: 1.55rem;
	margin-top: .1em;
	margin-left: -.2rem;	
}

.em-actions {
	margin-top: var(--space-sm);
	margin-bottom: -.8em;
}


.em-content {
	margin-top: var(--space-lg);
}

.back-to-overview {
	margin-top: var(--space-xl);
}

/* @end */



/* @end */



/* @group BLOG */

/* BLOG
--------------------------------------------------------------------------------- */


/* post entries */


.post-entries {
	margin-top: var(--space-xxl);
	padding-top: 10px; /*balance*/
	display: grid;
	grid-template-columns: repeat(1, minmax(0,1fr));
	gap: clamp(60px, 7vw, 80px);
	container-type: inline-size;
}

.post-entry {
	position: relative;
	display: grid;
	AUS_grid-template-columns: repeat(2, minmax(0,1fr));
	grid-template-columns: min(40%, 480px) 1fr;
  	gap: clamp(30px, 4vw, 60px);
  	border-radius: var(--radius);
	
	@container (width < 650px) {
		grid-template-columns: 1fr;

	}
	
}


.post-entry__image {
	width: 100%;
	margin: 0;
	aspect-ratio: 4/3;
	border-radius: var(--radius);
	background: rgba(0,0,0, .04);
	overflow: hidden;
}


.post-entry__image a {
	display: block;
	height: 100%;
	border-radius: var(--radius);
}

.post-entry__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	margin: 0 auto;
	transition: all 600ms ease!important;
}

.post-entry__image a:hover img {
	transform: scale(1.05);
}

.post-entry__content {
	display: flex;
	flex-direction: column;
}

.post-entry__content > * {
	max-width: 65ch;
}


.post-entry__title {
	position: relative;
	font-size: ;
}

.post-entry__title a {
	font-size: clamp(32px, 3cqi, 42px);
	display: inline-block;
	line-height: 1.3;
	text-decoration: none;
}

.post-entry__title a:hover  {
}

.post-entry__date {
	margin-top: 10px;
	font-size: var(--text-sm);
	color: var(--color-text-muted);
}


.post-entry__button {
	margin-right: auto;
}


/* single post */


.section-kicker + :is(.post-title, h1, h2, h3, *) {
	margin-top: 1rem;
}

.section-kicker__link {
	position: relative;
	font-size: var(--text-sm);
	display: inline-flex;
	align-items: center;
	gap: 4px;
	color: var(--color-text-muted);
	text-decoration: none;
	text-decoration: underline;
	text-underline-offset: .3em;
	text-decoration-thickness: 1px;
	color: var(--text-base);
}

.is-root-container a.section-kicker__link {
	text-decoration: underline;
}

.section-kicker__link:hover {
	color: var(--text-base);
	color: var(--color-text-muted);
}

AUS_.section-kicker__link::after { 
	content: "\e910";
	font-family: 'icons';
	font-size: 1.4em;
	line-height: 1;
	transition: inherit;
	margin-left: -5px;
	opacity: 0;
	text-decoration: none;
}

.section-kicker__link:hover::after { 
	margin-left: 0;
	opacity: 1;
}

h1.post-title {
	margin: 0;
	font-size: clamp(2.4rem, 5vw, 3.5rem); /*reduced max h1 size*/
}

.post-date {
	margin-top: 16px;
	color: var(--color-text-muted);
	font-size: var(--text-sm);
}

.post-date + * {
	margin-top: var(--space-xl);
}

.post-image {
	position: relative;
	width: 100%;
	margin: 0;
	margin-block: var(--space-xl);
	overflow: hidden;
}

.post-image img {
	display: block;
	width: 100%;
	height: 100%;
	AUS_aspect-ratio: 4/3;
	object-fit: contain;
	border-radius: var(--radius);
}

.post-image .wp-caption-text {
	margin-bottom: 0;
}

.post-meta {
	margin-top: var(--space-lg);
}

.post-cats {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.post-cats span {
	display: none;
}

.post-cats a {
	padding: 8px 20px;
	background: var(--color-neutral-bg);
	font-size: var(--text-sm);
	text-decoration: none;
	border-radius: 10rem;
}

.post-cats a:hover {
	color: var(--color-text);
	background: var(--color-neutral-200);
}


.post-cats + .post-tags {
	margin-top: var(--space-sm);
}

.post-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.post-tags a {
	color: var(--color-text-muted);
	border-radius: 10rem;
	padding: .4em 1.1em;
	font-size: var(--text-xs);
	text-decoration: none;
	border: 1px solid var(--color-border);
}

.post-tags a:hover {
	color: var(--color-text);
	border-color: inherit;
}

.post-tags span {
	display: none;
}


.back-to-overview {
	display: flex;
	justify-content: center;
	margin-top: var(--space-lg);
	margin-bottom: var(--space-sm);
}


/*related posts */


.related-posts {
	margin-top: var(--space-xxl);
}

.related-posts__grid {
	margin-top: var(--space-lg);
	display: grid;
	grid-template-columns: repeat(3, minmax(0,1fr));
	gap: 30px;
}


/* post cards */


.post-card {
}

.post-card__image {
	margin: 0;
	aspect-ratio: 4/3;
	border-radius: var(--radius);
	background: rgba(0,0,0, .04);
}

.post-card__image a {
	display: block;
	height: 100%;
	overflow: hidden;
	border-radius: var(--radius);
}

.post-card__image img {
	display: block;
	aspect-ratio: 4/3;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	margin: 0 auto;
	transition: all 600ms ease!important;
}

.post-card__image a:hover img {
	transform: scale(1.05);
}

.post-card__content {
	padding: 20px;
}


.post-card__title {
	margin: 0;
	padding: 0;
	line-height: 1.2;
	font-size: var(--font-size-base);
	font-family: var(--font-sans);
	line-height: var(--line-height-base);
}

.post-card__title a {
	display: block;
	line-height: 1.5;
	text-decoration: none;
}

.post-card__title a:hover  {
}

.post-card__date {
	margin-top: 8px;
	font-size: var(--text-sm);
	color: var(--color-text-muted);
}

.post-card__more-btn {
	margin: 1rem 0 0 0;
}

@media screen and (max-width: 1024px) {
	.related-posts__grid {
		grid-template-columns: 1fr 1fr;
	}	
	
	.post-card__content {
		padding-inline: 4px;
	}
}

@media screen and (max-width: 600px) {
	.related-posts__grid {
		grid-template-columns: 1fr;
	}
}


/* Archive */


.show-tax {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px;
	position: relative;
	margin-top: var(--space-sm);	
	border: 0px solid #333;
}

.show-tax__tax {
	color: var(--color-text-muted);
}

.show-tax__title {
	color: var(--color-text);
	font-weight: bold;
}

a.show-tax__all {
	display: flex;
	justify-content: center;
	align-items: center;
	border: 1px solid;
	line-height: 1;
	font-size: 1rem;
	width: 2.0em;
	height: auto;
	aspect-ratio: 1;
	text-decoration: none;
	border-radius: 100%;
}


/* post-pagination */

.pagination {
	margin-top: var(--space-xl);
	padding-inline: var(--page-padding)
}

.pagination {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 8px;
}

.pagination .page-numbers {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	padding: 8px;
	font-size: var(--text-sm);
	font-weight: bold;
	line-height: 1;
	width: 5ch;
	height: auto;
	aspect-ratio: 1;
	border-radius: 100%;
	border: 1px solid;
	text-decoration: none;
}

.pagination .page-numbers.dots {
	border: none;
	font-weight: normal;
	margin-inline: -.6em;
}

.pagination .page-numbers.current {
	color: var(--color-primary);
	color: #FFF;
	background: var(--color-primary);
	border-color: var(--color-primary);
}

.pagination a:hover {
	color: var(--color-primary);
	border-color: inherit;
}

.pagination a.prev,
.pagination a.next {
	gap: 10px;
}

a.prev span,
a.next span {
	border: 1px solid #333;
}

body:not(.paged) .pagination a.next,
body:not(.paged) .pagination a.next {
}

.pagination a.prev:before,
.pagination a.next:after {
	font-family: 'icons';
	font-weight: normal;
	font-size: 1.5em;
}

.pagination a.prev:before {
	content: "\e914";
}

.pagination a.next:after {
	content: "\e915";
}


@media screen and (max-width: 600px) {

}



/* Post Navigation */

.post-nav-section {
}

.post-nav {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 30px;
	justify-content: space-between;
}


.post-nav.first-post {
	grid-template-columns: 1fr;
	justify-content: flex-end;
}

.post-nav .prev-post,
.post-nav .next-post {
	display: flex;
}

.post-nav .next-post {
	justify-content: flex-end;
}

.post-nav a {
	position: relative;
	display: flex;
	gap: 10px;
	font-weight: bold;
	max-width: 25rem;
}

.post-nav .prev-post a {

}

.post-nav .next-post a {
	justify-content: flex-end;
	text-align: right;
}


.post-nav .prev-post a::before,
.post-nav .next-post a::after {
	content: "\e907";
	font-family: 'icons';
	font-weight: normal;
	font-size: 1.25em;
	margin-top: -.1em;
	
}

.post-nav .prev-post a::before {
	content: "\e901";
	left: 0;
}

.post-nav .next-post a::after {
	right: 0;
}


.post-nav span {
	display: block;
	font-size: 0.75rem;
	margin: 0 0 0.5rem 0;
	display: none;
}

.post-nav a br {
	display: none;
}

.post-nav a:hover {
}



.post-nav.first-post .next-post a,
.post-nav.last-post .prev-post a {

}



/* Post Taxonomies  */

.post-tax-section {
	position: relative;
	margin-top: var(--space-xl);
}


.post-tax-section .container {
}

.post-tax-section__grid {
	display: grid;
	gap: 60px;
	
}

.post-tax {
}

.post-tax__title {
	margin-top: 0;
}


.post-tax__list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: var(--space-md);
}

.post-tax__list li a {
	display: block;
	padding: 2px 0;
	text-decoration: none;
	font-size: var(--text-sm);
	background: var(--color-neutral-bg);
	border-radius: 10rem;
	padding: 8px 20px;
}

.post-tax__list li a:hover {
	color: var(--color-text);
	background: var(--color-neutral-200);
}



/* @end */



/* @group SEARCH PAGE*/

/* Search Page
--------------------------------------------------------------------------------- */



.search-result {
	margin-bottom: var(--space-xl);
}

.search-result__title {

}

.search-result__title span {
	font-weight: bold;
	font-style: italic;
}

.search-result.no-result .searchform {

}

.searchform-wrap {
	position: relative;
	max-width: 100%;
	margin-top: var(--space-md);
	border: 0px solid #333;
}

.search-result .searchform {
	position: relative;
	border: 1px solid var(--color-border);
	border-radius: 15px;
}
.search-result .searchform input[type="text"] {
	width: 100%;
	padding: 20px;
	height: auto;
	font-size: var(--font-size-base);
	line-height: 1;
	color: var(--color-text);
	border:  none;
	border-radius: inherit;
	box-shadow: none /*remove red border */;
}

.search-result .searchform input::placeholder {
	font-style: italic;
	font-weight: normal;
}

.search-result .searchform .searchsubmit {
	position: absolute;
	top: 0;
	right: 0;
	border: none;
	padding: 0 0;
	text-transform: uppercase;
	overflow: hidden;
	width: 3rem;
	font-size: 1.4rem;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	background: transparent;
}

.search-result .searchform i {
	position: relative;
	text-align: center;
	background: transparent;
}


.search-result__list {
	margin-top: var(--space-md);
}


.search .hentry {
	border: 0;
	border-bottom: 1px solid var(--color-border);
	margin: 0;
}

.search-result__entry a {
	display: block;
	text-decoration: none;
	padding: 0.8rem 0;
}

.search-result__post-type {
	color: var(--color-text-muted);
	font-size: var(--text-sm);
	margin-left: 1ch;
}

.search-result__entry .type-page .entry-details {
	display: none;
}

.search .post-pagination {
	margin-top: 30px;
}


.search-results .entry-details span {
	display: none;
}


/* @end */




/* @group PW protected */

/* PW Protected
--------------------------------------------------------------------------------- */


.post-password-form {
	text-align: center;
	padding: var(--box-padding);
	background: var(--color-primary-bg);
}

.post-password-form p { /*WP info text*/
	display: none;
}

.post-password-form p + p {
	display: block;
	margin: 0;
}

.post-password-form label {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 20px
}

.post-password-form input {
	flex: 1 0 auto;
	font-size: 1rem;
	padding: 10px;
	max-width: 10rem;
	border: 1px solid var(--color-border);
}

.post-password-form input[type="submit"] {
	display: none;
}

/* @end */



/* @group BREVO FORM */

/* Brevo Newsletter Form 
--------------------------------------------------------------------------------- */


input[type=text],
input[type=email] {
  padding: 0.8em;
  font-size: var(--base-font-size);
  line-height: 1.3;
  color: var(--text-color);
  background-color: #FFF;
  width: 100%;
  box-sizing: border-box;
  border: none;
  border-radius: 0;
  -webkit-appearance: none;
  font-weight: normal;
  border: none;
  border: 1px solid var(--color-border);
  border-radius: var(--field-radius);
  transition: all 300ms ease;
}



.sib_signup_form {
	margin: 0;
}

.sib_signup_box_inside_2 {
}

.sib_signup_form p {
	display: block;
	margin: 10px 0 0 0;
}

.sib_signup_form input {
	display: block;
}

.sib_signup_form :is(input[type="checkbox"], input[type="radio"]) {
	--size: 24px;
	-webkit-appearance: none;
    appearance: none;
    position: relative;
    width: var(--size);
    height:  var(--size);
	margin-top: 0;
    border: 1px solid var(--color-border);
    line-height: 1;
    background: #FFF;
	border-radius: var(--field-radius);
}

  
.sib_signup_form input[type="checkbox"]::before {
	content: "";
	position: absolute;
	left: 7px;
	top: 2px;
	width: 9px;
	height: 14px;
	margin: 0;
	border: 1px solid #FFF;
	border-width: 0 3px 3px 0;
	transform: rotate(45deg);
	opacity: 0;
	cursor: pointer;
}

.sib_signup_form input[type="checkbox"]:checked {
	background: var(--color-primary);
	border-color: var(--color-primary);
}

.sib_signup_form input[type="checkbox"]:checked::before {
    opacity: 1;
 }



.sib_signup_form label {
  padding: 0 0;
  width: auto;
  text-transform: none;
  font-size: var(--text-sm);
  padding-right: 10px;
  margin: 0 0 0.3rem 0;
  display: inline-block;
  text-align: left;
  line-height: 140%;
  cursor: default;
  transition: all 350ms ease;
  font-weight: normal;
  color: var(--color-text);
}


p.sib-checkbox-field {
	margin-top: 20px;
	display: flex;
	font-size: var(--text-sm);
}
.sib-checkbox {
	display: block;
	flex: 0 0 auto;
	margin-top: .05em;
	margin-right: 10px;
}


.sib_signup_form .btn-submit{
	margin-top: 30px;
}


/* @end */


/* @group FLUENT FORMS  */

/* Fluent Forms
--------------------------------------------------------------------------------- */


.fluentform {
  --fluentform-primary: var(--color-primary);
  --fluentform-secondary :var(--blue);
  --fluentform-danger: red;
  --fluentform-border-color: var(--color-border);
  --fluentform-border-radius: 5px;
  --fluentform-input-select-height: auto;
  
  --color-border: rgba(0,0,0, .3);
  accent-color: var(--color-primary);
  
  padding: var(--box-padding-lg);
  border-radius: var(--radius);
  background: var(--color-primary-bg);
}

.fluentform form {
	margin: 0 auto;
	max-width: var(--default-width);
}

.is-root-container .fluentform form {
	pointer-events: none; /*editor only*/
}

.fluentform .ff_screen_reader_title {
	height: 0px;
}

.fluentform fieldset {
	margin: 0;
	padding: 0;
	border: none;
}

/* FF Landing Page */

.ff_landing_page_body .ff_landing_form_wrapper {
} 

.ff_landing_form {
	background: #FFF;
	border-radius: var(--radius);
	box-shadow: 0 30px 40px 0 rgba(0,0,0,.25)!important;
}

.ff_landing_form .fluentform {
	padding: 10px 0;
	background: transparent;
	border-radius: 0;
}


/* FF HTML */

.fluentform .ff-custom_html > *:first-child,
.fluentform .ff-custom_html .form-field > *:first-child {
	margin-top: 0;	
}

.fluentform .ff-custom_html h2 {
}


 .fluentform .frm-fluent-form .ff-t-container {
 	gap: 30px;
 }
 /* FF section break */

.fluentform .ff-el-section-break {
	margin-top: var(--block-gap);
	border-top: 1px solid var(--color-border);
}

.fluentform *:not(.ff-el-group) + .ff-el-group.ff-el-section-break {
	margin-top: 0;
	border: none;
}

.fluentform .ff-el-section-break hr {
	display: none;
}

.fluentform *.ff-el-section-title {
}

 /* FF fields */
  
 .fluentform .ff-el-group {
   margin-bottom: 15px; /*20*/
}


.fluentform:is(*, .ff-default) .ff-el-input--label label {
  font-weight: bold;
  font-size: var(--text-sm);
 }

.fluentform .ff-el-input--label.ff-el-is-required.asterisk-right label:after {
  color: var(--color-text);
  content: "*";
  margin-left: 3px
}


.fluentform .ff-el-form-control,
.fluentform.ff-default .ff-el-form-control,
.fluentform.ff-default .choices {
  font-family: var(--font-sans);
  font-size: var(--font-size-base);
  line-height: 1;
  margin-bottom:0;
  max-width: 100%;  
  padding: 10px;
  line-height: 1.3;
  color: var(--color-text);
  background-color: #FFF;
  width: 100%;
  box-sizing: border-box;
  font-weight: normal;
  border: none;
  border: 1px solid var(--color-border);
  transition: all 300ms ease;
}


.fluentform .ff-el-form-control:focus {
  color: var(--color-text);
  outline: revert;
}

.fluentform .ff-el-form-control:focus-visible {
} 


/*FF checkbox & radio */


.fluentform .ff-el-form-check label.ff-el-form-check-label {
  display: grid;
  grid-template-columns: 30px auto;
  gap: 8px;
}

.fluentform .ff-el-tc label.ff_tc_label > span {
  display: contents;
}


.fluentform:is(*, .ff-default) :is(input[type="checkbox"], input[type="radio"]) {
	--size: 24px;
	-webkit-appearance: none;
    appearance: none;
    position: relative;
    width: var(--size);
    height:  var(--size);
	margin-top: .25em;
    border: 1px solid var(--color-border);
    line-height: 1;
    background: #FFF;
}

/* FF checkbox */

 .fluentform input[type="checkbox"] {
	border-radius: var(--field-radius);
 }
  
 .fluentform input[type="checkbox"]::before {
	content: "";
	position: absolute;
	left: 7px;
	top:2px;
	width: 9px;
	height: 14px;
	margin: 0;
	border: solid #FFF;
	border-width: 0 3px 3px 0;
	transform: rotate(45deg);
	opacity: 0;
}

.fluentform input[type="checkbox"]:checked {
	background: var(--color-primary);
	border-color: var(--color-primary);
}

.fluentform input[type="checkbox"]:checked::before {
    opacity: 1;
 }


/* FF radio */


 .fluentform input[type="radio"] {
 	border-radius: 100%; 	
 }
 
 
  .fluentform input[type="radio"]::before {
  	--size: 16px;
	content: "";
	position: absolute;
	left: 3px;
	top: 3px;
	width: var(--size);
	height: var(--size);
	margin: 0;
	background: var(--color-primary);
	border-radius: 100%;
	opacity: 0;
}
 
 
 .fluentform input[type="radio"]:checked {
	border-color: var(--color-primary);
}

.fluentform input[type="radio"]:checked::before {
    opacity: 1;
 }
 
  /* FF GDPR Checkbox */
 
 
.fluentform  .ff-el-form-check-input.ff_gdpr_field {
	margin-right: 10px;
}
 
 
/* FF select */

/* https://codepen.io/chriscoyier/pen/zYYZaGP */
.fluentform select.ff-el-form-control {
	display: block;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	transition: all 200ms ease;
	background-color: #FFF;
	/* https://websemantics.uk/tools/svg-to-background-image-conversion */
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg width='14' height='9' viewBox='0 0 14 9' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolygon points='718 26 725 35 732 26' transform='translate(-718 -26)' fill='%23111111' fill-rule='evenodd'/%3E%3C/svg%3E");
	background-repeat: no-repeat, repeat;
	background-position: right .8em top 50%, 0 0;
	background-size: 0.7em auto, 100%;
	padding-right: 30px!important;
	/* clip overflowed content with … */
	text-overflow: ellipsis;
	overflow: hidden;
	white-space: nowrap;
}

.fluentform select::-ms-expand {
	display: none;
}

.fluentform .select-css:focus {
	/* It'd be nice to use -webkit-focus-ring-color here but it doesn't work on box-shadow */
	box-shadow: 0 0 0 3px -moz-mac-focusring;
	outline: none;
}

.fluentform select option {
	font-weight: normal;
	font-size: 1rem;
}

select:disabled, select[aria-disabled=true] {
	opacity: .5;
}

/* FF Select Multi */

.ff-default.fluentform .choices {
	padding: 5px 0;
	border-radius: var(--fluentform-border-radius);
}

.ff-default.fluentform .choices__inner {
	border: none;
}

.ff-default.fluentform input.choices__input {
	border: none!important;
}

.ff-default.fluentform  .choices__list .choices__item {
	font-size: var(--text-sm);
}



 /* FF Upload  */

.fluentform label.ff_file_upload_holder .ff_upload_btn.ff-btn {
	color: var(--color-text);
	font-size: var(--text-sm);
	background: #FFF;
	border: 1px dashed var(--color-text);
	border-radius: var( --fluentform-border-radius);
	transition: 200ms ease;
}

.fluentform .ff_file_upload_holder .ff_upload_btn.ff-btn:hover {
	color: var(--color-primary);
	border-color: var(--color-primary);
	background: #FFF;
}

.fluentform .ff_file_upload_holder:focus-within .ff_upload_btn.ff-btn {
	outline: solid var(--color-primary);
}


.fluentform .ff-upload-preview {
	background: #FFF;
}

.fluentform .ff-upload-details {
	font-size: var(--text-sm);
}

.fluentform .ff-uploaded-list:empty {
	margin-top: 0!important;
}


/* FF Checkable Grids */

.ff-default.fluentform table.ff-checkable-grids {
	font-size: var(--text-sm);
}

.ff-default.fluentform table.ff-table.ff-checkable-grids :is(th, td, tr)  {
	border: 1px solid var(--color-border);
}


.ff-default.fluentform table.ff-table.ff-checkable-grids :is(th, td, tr)  {
	background: #FFF;
	vertical-align: middle;
}


/* FF Steps */


.fluentform .fluentform-step {
}

.ff-default.fluentform .step-nav {
	margin-top: var(--block-gap);
}

.ff-default.fluentform .step-nav .ff-btn {
	background: transparent;
	color: var(--color-text);
	padding: 5px 15px;
	border: 1px solid var(--color-text);
	border-radius: var(--fluentform-border-radius);
	}

.ff-default.fluentform .step-nav .ff-btn:hover {
	background: transparent;
	color: var(--color-primary);
	border-color: var(--color-primary);
	}

/* FF Range Slider */

.fluentform .rangeslider__fill {
	background-color: var(--color-primary);
}

.fluentform .ff_slider_wrapper {
}

.fluentform .ff_range_value {
}


/* FF submit */

.fluentform .ff_submit_btn_wrapper{
	margin-top: var(--space-sm);
}

.fluentform .ff_submit_btn_wrapper:last-child {
	margin-bottom: 0;
}

.fluentform .ff-btn.ff-btn-submit,
.fluentform .ff-btn.ff-btn-save-progress {
  width: auto;
  height: auto;
  padding: 12px 36px;
  padding: .65em 1.8em;
  font-weight: normal;
  font-size: var(--font-size-base);
  display: inline-flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  line-height: 1.4;
  color: #FFF;
  letter-spacing: .1px;
  text-decoration: none;
  background: var(--color-primary);
  border: 2px solid var(--color-primary);
  border-radius: 10rem;
  outline-offset: 2px;
  outline: revert;
}

.fluentform .ff-btn.ff-btn-submit:hover,
.fluentform .ff-btn.ff-btn-save-progress:hover {
  background: var(--color-text);
  border-color: var(--color-text);
  color: #FFF;
  text-decoration: none;
  opacity: 1;
}

.fluentform .ff-btn:focus,
.fluentform .ff-btn:focus-visible {
	opacity: 1;
	outline: revert;	
}

.fluentform .ff_t_c {
  font-size: var(--text-sm)!important;	
}

.fluentform .has-small-font-size {
  font-size: var(--text-sm)!important;
}

/* FF Button Save Progress */

.fluentform .ff-btn.ff-btn-save-progress {
}

.fluentform .ff-saved-state-input .ff_input-group {
	flex-wrap: nowrap; /*fix*/
}


/* FF success */

.fluentform .ff-message-success {
	padding: 0;
	text-align: center;
	margin: 0;
	border: none;
	box-shadow: none;
}

.fluentform .ff-message-success > *:first-child {
	margin-top: 0;
}




/* @end */


/* @group SLIDER (swiperjs) */

/* SLIDER
--------------------------------------------------------------------------------- */


.swiper {
	--swiper-theme-color: var(--color-primary);
	
	/*navigation arrows*/
	--swiper-navigation-size: 50px;
	--swiper-navigation-color: #FFF;
	--swiper-navigation-top-offset: calc(50% - var(--swiper-padding-bottom)/2); /*!*/
	--swiper-navigation-sides-offset: 10px;
	
	/*pagination bullets*/
	--swiper-pagination-bullet-horizontal-gap: 5px;
    --swiper-pagination-bullet-vertical-gap: 5px;
    --swiper-pagination-bullet-size: 10px;
	--swiper-pagination-bullet-width: inherit;
	--swiper-pagination-bullet-height: inherit;
	--swiper-pagination-bullet-border-radius: 100px;
    --swiper-pagination-color: var(--color-primary);
	--swiper-pagination-bullet-inactive-color: var(--color-primary);
	--swiper-pagination-bullet-inactive-opacity: .2;
	
	/*custom*/
	--swiper-padding-bottom: 44px;
	
	width: 100%;
	height: 100%;
	padding-bottom: var(--swiper-padding-bottom); /*pagination outside swiper*/
}

.block-editor-block-list__block .swiper {
	pointer-events: none; /*disable in editor*/
}

.swiper:not(.swiper-initialized) .swiper-slide {
	margin-right: 30px; /*prevent layout if JS not loaded*/
}


.swiper-wrapper {
}

.swiper-slide {
	overflow: hidden;
	border-radius: var(--media-radius);
}

.swiper-button {
	--size: 50px;
	width: var(--size);
	height: var(--size);
	margin: 0;
	transition: all 250ms ease-in-out;
	color: var(--color-primary);
	background: rgba(255,255,255, .9);
	border-radius: 10rem;
	box-shadow: 0px 2px 15px 0 rgba(0,0,0, .1);
	opacity: 1; /* ON/OFF*/
}

.swiper-button svg {
	display: none;
}

.block-editor-block-list__block .swiper .swiper-button, 
.swiper:focus-within .swiper-button {
	opacity: 1;
}

.swiper:hover .swiper-button {
	opacity: 1;
}

.swiper-button:hover {
}

.swiper-button::after {
	font-family: 'icons';
	font-size: 36px;
}

.swiper-button-prev {
}

.swiper-button-prev::after {
	content: "\e914";
}

.swiper-button-next {

}

.swiper-button-next::after {
	content: "\e915";
	padding-left: 3px;
}

.swiper-button.swiper-button-disabled {
	opacity: 0!important;
}

.swiper-pagination {
}

.swiper-pagination:not(:has(*)) { /*hide if empty*/
	display: none;
}

.swiper > .swiper-pagination-bullets {
	bottom: 0;
	display: flex;
	justify-content: center;
	align-items: flex-start;
}

.swiper-pagination-bullet {
	transition: all 250ms ease;
}

.swiper-pagination-bullet-active,
.swiper-pagination-bullet-active-main {
	--swiper-pagination-bullet-width: calc(var(--swiper-pagination-bullet-size) * 3);
}

.swiper-pagination-bullet:only-child {
   visibility: hidden;
}

.swiper:has(.swiper-pagination-bullet:only-child) { /*no pagination if only 1 slide*/
	--swiper-padding-bottom: 0;
}

@media screen and (max-width: 600px) {

	.swiper {
	}
	
	.swiper-button {
		display: none;
	}
	
}





/* @end */



/* @group LIGHTBOX */

/* Lightbox PhotoSwipe Plugin
--------------------------------------------------------------------------------- */

.pswp {
	--pswp-bg: rgba(0,0,0, 1);
}


.pswp__caption {
	
}

.pswp__caption__text {
	font-size: var(--text-sm);
	line-height: 1.4;
}

.pswp__button.pswp__button--zoom {
	display: none;
}

/* @end */




/* @group FOOTER */

/* FOOTER
--------------------------------------------------------------------------------- */


#footer {
	--wide-width: 82rem;
	--page-padding: 80px
}

.site-footer {
	position: relative;
	width: 100%;
	padding: var(--space-xxxl) 0;
	background: var(--color-primary);
	font-size: calc(17/16 * 1rem);
	AUS_font-size: var(--text-sm);
	color: #FFF;
	border-radius: var(--radius-xl) var(--radius-xl) 0 0;
}

.site-footer:has(.footer-featured-button) {
	margin-top: var(--space-md);
}

:where(.site-footer) a {
	color: #FFF;
	text-decoration: none;
}

:where(.site-footer) a:hover {
	color: #FFF;
	opacity: .6;
	text-decoration: none;
}

.footer-top {
	position: absolute;
	top: 0;
	width: 100%;
}

.footer-featured-button {
	--size: 16ch;
	position: absolute;
	top: 0;
	right: clamp(40px, 8vw, 140px);
	aspect-ratio: 1;
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	padding: 30px;
	width: var(--size);
	height: var(--size);
	border-radius: 100%;
	background: var(--color-secondary);
	z-index: 1;
	
	font-size: clamp(19px, 2.5vw, 22px);
	font-family: var(--font-heading);
	line-height: 1.2;
	font-weight: bold;
	text-align: center;
	word-break: break-word;

	box-shadow: 0px 10px 45px -10px rgba(0,0,0, .1);
	transform: translateY(-50%);
	
}

.footer-featured-button span::after {
	content: "\e910";
	display: flex;
	width: 100%;
	font-family: 'icons';
	font-weight: normal;
	font-size: 32px;
	font-size: 1.6em;
	line-height: 1;
	justify-content: center;
	margin-bottom: -.4em;
	transform-origin: bottom right;
	transition: transform 250ms ease;
}

.footer-featured-button span {
}

.footer-featured-button:hover {
	opacity: 1;
	box-shadow: 0px 10px 45px -10px rgba(0,0,0, .2);
	transform: translateY(-50%) scale(1.03);
}

.footer-featured-button:hover::after {
	AUS_transform: translateX(4px);
}



.footer-columns {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(20rem, 100%), 1fr));
	gap: 60px 30px;
}

.footer-column {
	line-height: 1.8;
	border: 0px solid #333;
}

.footer-column--contact {
}

.footer-column :is(ul,li) {
	margin: 0;
	padding: 0;
	list-style: none;
}

.footer-column img {
	display: block;
	width: auto;
	max-width: min(60vw, 100%);
	max-height: 100px;
	justify-content: flex-start;
}

.footer-column a {
	display: inline-flex;
}


.footer-social {
	display: flex;
	align-items: center;
	gap: 16px;
	font-size: 2rem;
}

.footer-social a {
	display: flex;
	line-height: 1;
	padding: 12px;
	font-size: .9em;
	border-radius: 10rem;
	border: 1px solid;
}

.footer-social a:hover {
	text-decoration: none;
}

.footer-menu {
	margin-top: var(--space-xl);
}

.footer-menu ul {
	display: flex;
	flex-wrap: wrap;
	gap: 5px 30px;
}

.footer-menu a {
	display: block;
}



@media screen and (max-width: 600px) {
	#footer {
		--page-padding: 40px
	}
	.footer-menu ul {
		flex-direction: column;
	}
}



/* @end */


/* @group SCROLL TO TOP BUTTON */

/* Scroll to top button
--------------------------------------------------------------------------------- */

.scrolltopbtn {
	position: fixed;
	bottom: 20px;
	right: var(--page-padding);
	height: 50px;
	width: 50px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 28px;
	text-align: center;
	border-radius: 100%;
	transition: 300ms;
	transform: translateY(100%);
	opacity: 0;
	z-index: 5;
    color: var(--color-text);
	border: none;
	padding: 0;
	background: rgba(255,255,255, 1);
	box-shadow: 0px 3px 20px -5px rgba(0,0,0, .12);
}

.scrolltopbtn i {
	margin-bottom: 1px;
	transition: 250ms ease;
}

.scrolltopbtn.active:hover i {
}


.scrolltopbtn.active {
	transform: translateY(0);
	opacity: 1;
}

/* @end */


/* @group SMASH BALLOON Instagram Feed */

/* Smash Balloon Instagram Feed
--------------------------------------------------------------------------------- */


.sbi {
	container-type: inline-size;
	padding-bottom: 0!important;
}

#sb_instagram #sbi_images {
	padding: 0!important;
}

.sbi .sbi_item {
	box-shadow: 0px 3px 25px -10px rgba(0,0,0, .1)!important;
}

.sbi .sbi_item:focus-within {
	outline: 2px solid blue;
}

.sbi .sbi_item {
	border-radius: var(--radius);
}

.sbi .sbi_photo_wrap a {
	overflow: hidden;
	border-radius: var(--radius);
}

@container (width < 600px) {
	#sbi_images {
		gap: 15px!important;
	}
}


/* @end */


/* @group BORLABS COOKIE */

/* Borlabs Cookie Banner
--------------------------------------------------------------------------------- */


#BorlabsCookieBox,
.brlbs-cmpnt-container {
	--dialog-text-color: var(--color-text);
	
	--dialog-border-radius-bottom-left: var(--radius);
    --dialog-border-radius-bottom-right: var(--radius);
    --dialog-border-radius-top-left: var(--radius);
    --dialog-border-radius-top-right: var(--radius);
	
    --dialog-button-border-radius-bottom-left: 10rem;
    --dialog-button-border-radius-bottom-right: 10rem;
    --dialog-button-border-radius-top-left: 10rem;
    --dialog-button-border-radius-top-right: 10rem;
	
    --dialog-card-border-radius-bottom-left: 4px;
    --dialog-card-border-radius-bottom-right: 4px;
    --dialog-card-border-radius-top-left: 4px;
    --dialog-card-border-radius-top-right: 4px;
	
	--dialog-backdrop-background-color: #000;
	--dialog-backdrop-background-opacity: .7;
	
	
	--content-blocker-text-color: var(--color-text);
    
	--content-blocker-border-radius-top-left: var(--radius);
    --content-blocker-border-radius-top-right: var(--radius);
    --content-blocker-border-radius-bottom-left: var(--radius);
    --content-blocker-border-radius-bottom-right: var(--radius);
}


#BorlabsCookieBox .brlbs-cmpnt-container :is(.brlbs-text-2xl) {

}

.brlbs-cmpnt-container.brlbs-cmpnt-content-blocker .brlbs-cmpnt-cb-buttons .brlbs-cmpnt-cb-btn {
	border-radius: 10rem;
}



/* @end */


/* @group ACCESSIBILITY */

/* ACCESSIBILITY */


.sr-only {
	position: absolute;
	width: .0625rem;
	height: .0625rem;
	padding: 0;
	overflow: hidden;
	clip: rect(0,0,0,0);
	white-space: nowrap;
	border: 0;
}

.sr-only-focusable {
	transition: all 0s ease;
}

.sr-only-focusable:focus {
	position: static;
	width: auto;
	height: auto;
	margin: 0;
	overflow: visible;
	clip: auto;
}

.skip-link:focus {
	position: absolute;
	top: 0;
	left: 0;
	width: auto;
	height: auto;
	padding: 5px;
	margin: 0;
	overflow: visible;
	clip: auto;
	z-index: 100;
	color: #FFF;
	background: var(--color-text);
	line-height: 1;
}


/* @end */


/* @group ANIMATIONS */

/* ANIMATIONS
---------------------------------------------------------------------------------*/


/* scroll reveal */

.reveal {
  opacity: 0;
  transform: translate3d(0, 100px, 0);
  transition: opacity 700ms, transform 600ms;
}

.reveal-notransform,
.reveal-notransform.reveal-visible {
	opacity: 1;
	transform: none;
	transition: none;
}

.reveal--slow {
  transition: opacity 1000ms, transform 1000ms;
}

:where(.is-root-container) .reveal,
.reveal-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
    /*prevent old safari flicker*/
  -webkit-transform: translateZ(0);
  -webkit-backface-visibility: hidden;
}



/*  https://github.com/daneden/animate.css */


.animated {
	animation-duration: 1s;
	animation-fill-mode: both;
	animation-timing-function: ease-in-out;
}

.animated.infinite {
	animation-iteration-count: infinite;
}

@keyframes fadeIn {
  0% {opacity: 0;}
  100% {opacity: 1;}
}

.fadeIn {
  animation-name: fadeIn;
}


@keyframes fadeInDown {
  0% {
    opacity: 0;
   transform: translate3d(0, -100%, 0);
  }

  100% {
    opacity: 1;
    transform: none;
  }
}

.fadeInDown {
	animation-name: fadeInDown;
}


@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translate3d(0, 100%, 0);
  }

  100% {
    opacity: 1;
    transform: none;
  }
}

.fadeInUp {
  animation-name: fadeInUp;
}

/* @end */


/* @group UTILITES */

/* UTILITES
---------------------------------------------------------------------------------*/

.mt-0  { 	margin-top: 0!important; }
.mt-5  { 	margin-top: 5px!important; }
.mt-10 {	margin-top: 10px!important; }
.mt-20  {	margin-top: 20px!important; }
.mt-30  {	margin-top: 30px!important; }
.mt-40  {	margin-top: 40px!important; }
.mt-50  {	margin-top: 50px!important; }
.mt-60  {	margin-top: 60px!important; }
.mt-70  {	margin-top: 70px!important; }
.mt-80  {	margin-top: 80px!important; }
.mt-90  {	margin-top: 90px!important; }
.mt-100  {	margin-top: 100px!important; }
.mt-110  {	margin-top: 110px!important; }
.mt-120  {	margin-top: 120px!important; }
.mt-130  {	margin-top: 130px!important; }
.mt-140  {	margin-top: 140px!important; }
.mt-150  {	margin-top: 150px!important; }


.mb-0  { 	margin-bottom: 0!important; }
.mb-5  { 	margin-bottom: 5px!important; }
.mb-10 {	margin-bottom: 10px!important; }
.mb-20  {	margin-bottom: 20px!important; }
.mb-30  {	margin-bottom: 30px!important; }
.mb-40  {	margin-bottom: 40px!important; }
.mb-50  {	margin-bottom: 50px!important; }
.mb-60  {	margin-bottom: 60px!important; }
.mb-70  {	margin-bottom: 70px!important; }
.mb-80  {	margin-bottom: 80px!important; }
.mb-90  {	margin-bottom: 90px!important; }
.mb-100  {	margin-bottom: 100px!important; }
.mb-110  {	margin-bottom: 110px!important; }
.mb-120  {	margin-bottom: 120px!important; }
.mb-130  {	margin-bottom: 130px!important; }
.mb-140  {	margin-bottom: 140px!important; }
.mb-150  {	margin-bottom: 150px!important; }


.ratio-1 	{ aspect-ratio: 1;}
.ratio-1-1	{ aspect-ratio: 1;}
.ratio-3-2	{ aspect-ratio: 3/2;}
.ratio-3-1	{ aspect-ratio: 3/1;}
.ratio-2-3	{ aspect-ratio: 2/3;}
.ratio-3-4	{ aspect-ratio: 3/4;}
.ratio-4-3 	{ aspect-ratio: 4/3;}
.ratio-16-9 { aspect-ratio: 16/9;}


.min-w-100 { min-width: 100px; }
.min-w-200 { min-width: 200px; }
.min-w-300 { min-width: 300px; }
.min-w-400 { min-width: 300px; }
.min-w-500 { min-width: 500px; }
.min-w-600 { min-width: 600px; }
.min-w-700 { min-width: 700px; }
.min-w-800 { min-width: 800px; }
.min-w-900 { min-width: 900px; }

.rounded-none { border-radius: 0; }

.whitespace-nowrap {
	white-space: nowrap;
}



/* @end */




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

MEDIA QUERIES

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


@media screen and (max-width: 1136px) {
body::before {
	content: "<1136";
	position: fixed;
	top: 0;
	line-height: 1;
	padding: 5px;
	font-size: 11px;
	background: lawngreen;
	z-index: 1000;
	opacity: .8;

	visibility: hidden;
	display: none; /* AN/AUS*/
}

}


@media screen and (max-width: 1024px) {
body::before {
	content: "<1024";
	background: TAN;
}


}


@media screen and (max-width: 840px) {
body::before {
	content: "<840";
	background: PINK;
}

}


@media screen and (max-width: 600px) {
body::before {
	content: "<600";
	background: YELLOW;
}

}


@media screen and (max-width: 360px) {
body::before {
	content: "<360";
	background: MAGENTA;
}


}


/* END
---------------------------------------------------------------------------------*/
