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


/*
Theme Name: HANSELHOF26
Theme URI:
Description: 
Version: 1.0
Author: ZH2
Author URI:
Tags:
*/



/* @group WEBFONTS */

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


/* Articulat CF */
/* regular, demibold */
@import url("https://use.typekit.net/qvk3ngv.css");




/* Honey Florist */
@font-face {
	font-family: 'Honey-Florist';
	font-style: normal;
	font-weight: 400;
	src: url('assets/fonts/Honey_Florist.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, object, embed {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: 800; vertical-align: bottom;}
td {font-weight: normal; vertical-align: top;}

input, select {vertical-align: middle;}

input[type="radio"] {vertical-align: text-bottom;}
input[type="checkbox"] {vertical-align: bottom; *vertical-align: baseline;}
input:focus, textarea:focus, select:focus { outline: none;}

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;}
small {font-size: 85%;}
strong, th {font-weight: 700;}
td, td img {vertical-align: top;}

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

/* Webkit browsers add a 2px margin outside the chrome of form elements */
button, input, select, textarea {margin: 0; border-radius: 0; font-family: inherit;}

/* make buttons play nice in IE */
button {width: auto; overflow: visible;}

/* let's clear some floats */
.clearfix:before, .clearfix:after { content: "\0020"; display: block; height: 0; overflow: hidden; }
.clearfix:after { clear: both; }
.clear { clear: both; height: 0px; overflow: hidden;}
.clr:after { content: ""; display: table; clear: both;}
.cf:after {	content: ""; display: table; clear: both; }

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

red				#922E50
green			#6B8F37
yellow			#E0AB00
lime (active)	#CDDF1B	

*/

:root {
	--base-font-size: 18px;
	--base-line-height: 1.6;
	
	--red: #922E50;
	--green: #6B8F37;
	--yellow	: #E0AB00;
	--lime: #CDDF1B;
	
	--body-bg: #FDFBF2;
	
	--text-color: #222;
	--link-color: var(--primary-color);
	--link-color-hover: var(--text-color);
	
	--border-color: #DDD;
	
	--primary-color: #922E50;
	--primary-bg: #F3F1E8;	
	
	--text-gray: #888;
	
	--font-sans: articulat-cf, sans-serif;
	--font-script: 'Honey-Florist', Georgia, serif;
	
	
	--text-tiny: calc(var(--base-font-size) * .70);
	--text-small: calc(var(--base-font-size) * .85);
	--text-base: var(--base-font-size); 
	--text-large: calc(var(--base-font-size) * 1.25);
	
	
	--default-width: calc((740/16) * 1rem);
	--wide-width: calc((1360/16) * 1rem);
	--semiwide-width: calc((1200/16) * 1rem);
	--full-width: 100%;
	
	--page-padding: 40px;
	
	--main-padding-top: clamp(80px, 10vw, 120px);
	--main-padding-bottom: clamp(200px, 28vw, 280px); 
	  
	--space-xs: 10px;
	--space-sm: 20px;
	--space-md: 30px; /*default block gap*/
	--space-lg: clamp(40px, 5vw, 50px);  
	--space-xl: clamp(60px, 10vw, 70px); 
	--space-xxl: clamp(80px, 12vw, 100px);
	--space-xxxl: clamp(80px, 10vw, 130px);
	
	
	--block-gap: 2rem; /*2rem*/
	--block-gap-text: 1.5rem;
	
	--columns-gap: clamp(30px, 5vw, 50px);
	
	--box-padding: clamp(20px, 5vw, 30px);
	
	--box-padding-sm: clamp(20px, 5vw, 30px);
	--box-padding-md: var(--box-padding);
	--box-padding-lg: clamp(20px, 5vw, 40px);
	--box-padding-xl: clamp(20px, 5vw, 60px);
	--box-padding-xxl: clamp(40px, 5vw, 80px);
	
	--radius: 15px;
	--field-radius: 5px;
	
	--header-height: 150px;
}


@media screen and (max-width: 1024px) {
   :root {
	--header-height: 130px;
	--default-width: calc((600/16) * 1rem);
  }
}

@media screen and (max-width: 600px) {
   :root {
	--base-font-size: 18px;
	--page-padding: 20px;
	--block-gap: 1.5rem;
	--header-height: 100px;
	--radius: 10px;
  }
}

@media screen and (max-width: 360px) {
   :root {
	--base-font-size: 16px;
  	}
}


/* @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(--base-font-size);
  line-height: var(--base-line-height);
  color: var(--text-color);
  background: var(--body-bg);
}


a {
  position: relative;
  color: var(--link-color);
  text-decoration: none;
}

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

a:visited {
}

a:active {
}

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


img {
  display: block;
  max-width: 100%;
}

svg {
  display: block;
  max-width: 100%;
}


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


h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
  margin-bottom: 0;
}


h1, .h1 {
	font-size: clamp(36px, 6vw, 46px);
	line-height: 1.35;
	--block-gap: var(--space-lg);
}


h2, .h2 {
	font-size: clamp(26px, 6vw, 30px);
	line-height: 1.35;
	--block-gap: var(--space-lg);
}

h3, .h3 {
  font-size: 24px;
  line-height: 1.3;
}

h4, .h4 {
  line-height: 1.4;
  font-size: 15px;
  letter-spacing: .2px;
  text-transform: uppercase;
}

: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(--border-color);
  margin: 3rem 0;
}


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

}


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

}


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

}


@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: lines */

ul.is-style-lines,
ul.is-style-lines ul {
  list-style: none;
  padding: 0;
}

ul.is-style-lines ul li {

}

ul.is-style-lines li:before {
  display: none;
}

ul.is-style-lines,
ul.is-style-lines li {
  padding: 0;
}

ul.is-style-lines li {
  padding: 0.8rem 0;
  margin: 0;
  border-top: 1px solid var(--border-color);
}

ul.is-style-lines > li:first-child {
  border-top: none;
}

ul.is-style-lines li ul {
  padding: 0;
  margin: 0;
}

ul.is-style-lines ul li {
  padding-left: 1.5em;
}

ul.is-style-lines ul li:first-child {
  margin-top: .8rem;
}

ul.is-style-lines ul li:last-child {
  padding-bottom: 0;
}


/* list style: icon */

ul[class*="is-style-icon"],
ul[class*="is-style-icon"] ul {
  --list-icon-width: 2.0rem;
  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: -.1em;
	top: -0.05em;
	font-family: 'icons';
	font-size: 1.6em;
	display: inline-flex;
	width: var(--list-icon-width);
	align-items: center;
	line-height: 1;
	color: var(--primary-color);
}

ul.is-style-icon-check li::before {
	content: '\e94a';
}

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

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


/* === Caption */


figcaption {
  font-size: var(--text-small);
  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(--text-gray)
}


/* 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(--link-color);
  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-small);
}

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


/* === Highlight Anchor Links */


.entry-content :target {
  AUS_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 {
}

.entry-content * {
	scroll-margin-top: 60px;
}


  


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

/* 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;
  padding: 0 0;
  height: var(--header-height);
  display: flex;
  align-items: center;
  background: transparent;
  z-index: 1;
}


#header.has-topper::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 300px;
	z-index: -1;
	background: linear-gradient(to bottom,  rgba(0,0,0,0.2) 0%,rgba(0,0,0,0) 100%);
	pointer-events: none;
}


/*header transparent style*/
:where(:has(.entry-content > .topper:first-child)) #header a {
}


#header > .container {
  position: relative;
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  height: 100%;
  max-width: 1540px;
}

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

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

/* Logo */


.logo {
	position: relative;
	width: 250px;
	width: clamp(200px, 20vw, 265px);
	padding-inline: 15px 30px;
    margin-top: 15px; /*optic*/

}


.logo::before { /*ribbon*/
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 500px;
	transform: translateY(10%) skew(0deg, -10deg);
	border-radius: 2px;
	background: var(--primary-color);
	transition: 300ms ease;
}

.logo a {
  position: relative;
  display: block;
}

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


@media screen and (max-width: 1024px) {
	#header {
		background: var(--primary-color);
	}
	
	#header.has-topper::after {
		display: none;
	}
	
	#header > .container {
	  justify-content: center;
	}
	.logo {
		padding: 0;
		width: 180px;
		margin: 0;
		margin-left: -3px;
	}
	.logo::before {
		display: none;
	}
}


@media screen and (max-width: 600px) {
  .logo {
	  width: 146px;
  }
}

/* @end */







/* @group MENU */

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


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


#nav ul {
  display: flex;
  gap: 0 clamp(40px, 4.5vw, 50px);
  flex-wrap: wrap;
}

#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;
	display: block;
	margin: 0;
	font-weight: bold;
	line-height: 1.4;
	text-decoration: none;
	font-size: clamp(18px, 1.5vw, 19px);
	font-size: var(--base-font-size);
	color: var(--primary-color);
}

#nav ul li a::first-letter { /*gtranslate*/
	text-transform: uppercase;
}

#nav li.menu-item-has-children > a {
  display: flex;
  align-items: center;
}

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


#nav ul li:hover > a {
}


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

#nav ul li a:hover {
  text-decoration: none;
  opacity: .6;
}

#nav ul li.menu-item-has-children.active > a {
  color: var(--secondary-color);

}

#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: block;
  position: absolute;
  top: 100%;
  margin-top: 10px;
  left: -30px;
  padding: 30px 30px;
  padding-top: 20px;

  z-index: 20;
  background: var(--body-bg);
  border-radius: var(--radius);
  AUS_box-shadow: 1px 20px 30px -10px rgba(0,0,0, .06);

  min-width: 20rem;

  opacity: 0;
  visibility: hidden;
  transition: all 300ms ease;
  border: 0px solid #333;
}

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

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

#nav ul ul li a {
  display: block;
  padding: 6px 0;
}

#nav ul ul li:first-child a {
  padding-top: 0;
}


#nav ul ul li:last-child a {
  padding-bottom: 0;
}

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

/* transparent header*/

.has-topper #nav ul li a {
	color: #FFF;
	text-shadow: 0 1px 8px rgba(0,0,0, .3);
}

.has-topper #nav ul ul {
	background: transparent;
	box-shadow: none;
}


/*gtranslate*/


.lang-menu { /*gtranslate dropdown*/
	position: relative;
	display: flex;
	AUS_align-items: center;
	color: inherit;
	min-width: 3.3ch;
	margin-left: 40px;
	cursor: pointer;
	color: var(--primary-color);
}

.lang-menu::before {
	content: "\e90b";
	font-family: "icons";
	margin-right: 2rem;
	line-height: 1.5;
	font-size: 1rem;
	color: inherit;
}

@-moz-document url-prefix() { /*firefox: adjust vertical position */
  .lang-menu::before {
	   AUS_line-height: 1.3;
  }
}

.lang-menu_links {
	position: absolute;
	top: 0px;
	right: 0;
	display: flex;
	gap: 10px;
	flex-direction: column;
	transition: all 200ms ease;
}

.lang-menu a {
	color: inherit;
	font-weight: bold;
	line-height: 1.4;
	display: block;
	opacity: 0;
	visibility: hidden;
	margin-top: 5px;
	color: inherit;

}
.lang-menu a.gt-current-lang {
	opacity: 1;
	visibility: visible;
	margin-top: 0;
	order: -1;
	pointer-events: none;
}

.lang-menu:hover a,
.lang-menu:focus-within a {
	opacity: 1;
	visibility: visible;
	margin-top: 0;
}

.lang-menu a:hover {
	opacity: .6;
}


.has-topper .lang-menu {
	color: #FFF;
	text-shadow: 0 1px 8px rgba(0,0,0, .3);
}







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


.mob-menu {
	display: none; /*js trigger*/
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 10;
	opacity: 0;
	background: var(--primary-color);
	animation: navfadeIn 400ms ease-in-out 1 forwards;
	box-shadow: 0px -10px 50px 0px rgba(0,0,0, .7);
	padding-bottom: 200px;
	overflow: hidden;
}


.mob-menu::after {
	content: "";
	position: absolute;
	bottom: 0px;
	left: 0;
	width: 100%;
	height: 250px;
	background: transparent url(assets/images/flower-meadow-black.webp) repeat-x center bottom;
	background-size: auto 150px;
	transition: 900ms ease;
	opacity: .3;
	pointer-events: none;
}


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



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

.mob-menu nav {
  margin-top: calc(var(--header-height) / 2);
}

.mob-menu nav li a {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 23px;
  font-weight: bold;
  line-height: 1.3;
  text-decoration: none;
  padding: 14px 0;
  text-align: left;
  color: #FFF;
}

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

.mob-menu nav li:first-child a {
  border-top: 0;
}

.mob-menu nav li a:hover {
	opacity: .6;
}

.mob-menu nav li.current-menu-item > a {
	opacity: .6;
}

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

.mob-menu nav li.menu-item-has-children > a::after {
  content: "\e93b";
  display: flex;
  align-items: flex-start;
  font-family: 'icons';
  font-weight: normal;
  font-size: 1.5rem;
  line-height: 0.5;
  opacity: .4;
  transition: all 300ms ease;
}

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

.mob-menu nav li.active > a {
		opacity: .6;
}

.mob-menu nav li ul {
  position: relative;
  padding: 0px 0 0 25px;
  margin-bottom: 5px;
}

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

.mob-menu nav li li a {
  text-transform: none;
  letter-spacing: 0;
  padding: 10px 0;
  font-size: 20px;
}

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

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


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

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


/* Mobile Menu Trigger */

.mob-menu-trigger {
  --hamburger-stroke-color: #FFF;
  --hamburger-stroke-width: 30px;
  --hamburger-stroke-height: 2px;
  --hamburger-stroke-gap: 8px;
  --hamburger-stroke-radius: 0px;
  
  display: none;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);

  border: none;
  width: 50px;
  height: 49px;
  margin: 0 0 0 0;
  z-index: 999;
  text-transform: uppercase;
  background: transparent;
  outline: none;
}

.mob-menu-trigger.open {
}


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

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

}


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

/* Menu Animation */

.mob-menu li {
opacity: 0;
animation: fadeLiIn 400ms ease-in-out 1 forwards;
}

.mob-menu li:nth-child(1) {
animation-delay: 100ms;
}

.mob-menu li:nth-child(2) {
animation-delay: 200ms;
}

.mob-menu li:nth-child(3) {
animation-delay: 300ms;
}

.mob-menu li:nth-child(4) {
animation-delay: 400ms;
}

.mob-menu li:nth-child(5) {
animation-delay: 500ms;
}

.mob-menu li:nth-child(6) {
animation-delay: 600ms;
}

.mob-menu li:nth-child(7) {
animation-delay: 700ms;
}

.mob-menu li:nth-child(8) {
animation-delay: 750ms;
}


/* mob-menu-lang */

.mob-lang-menu { /*gtranslate dropdown*/
	position: relative;
	display: flex;
	align-items: center;
	gap: 15px;
	min-width: 3.3ch;
	margin-bottom: 60px;
	transform: translateY(-48%);
}

.mob-lang-menu a {
	display: block;
	font-weight: bold;
	line-height: 1.4;
	color: #FFF;
	font-size: 16px;
	border-bottom: 2px solid transparent;
}

.mob-lang-menu a:hover {
	
}

.mob-lang-menu a.gt-current-lang {
	opacity: 1;
	border-color: #FFF;
}






/* @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: 60vh;
}


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

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


/* Helper - Block Outline */	


.block-editor-block-list__block.acf-block-preview.wp-block,
.block-editor-block-list__block.acf-block-preview .wp-block,
.block-editor-block-list__block:not([data-type*="acf"]):not(.is-reusable) {
  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 */
}


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


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

/*custom style: intro */

:where(p).is-style-intro { 
	font-weight: bold;
	font-size: clamp(22px, 3.8vw, 30px);
	line-height: 1.35;
	margin-block: var(--space-xxxl);
}


/* @end */



/* @group WP HEADING  */


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


/*custom style: script */

:where(h1,h2,h3).is-style-script { 
	font-family: var(--font-script);
	text-align: center;
	color: var(--primary-color);
	font-weight: normal;
	line-height: 0.85;
}

.is-style-script :is(strong,em) {
	font-weight: normal;
	font-style: normal;
}

:where(h1).is-style-script {
	font-size: 120px;
	font-size: clamp(70px, 48.5714px + 5.9524vw, 120px);	
	margin-block: var(--space-xxl);
}

:where(h2).is-style-script {
	font-size: clamp(70px, 28.3133px + 6.0241vw, 100px);
	margin-block: var(--space-xl);
}

:where(h3).is-style-script {
	font-size: clamp(50px, 23.7349px + 4.5181vw, 80px);
	margin-block: var(--space-lg);
}

:where(h1,h2,h3).is-style-script.has-white-color {
	text-shadow: 0 5px 0.2em rgba(0,0,0,.3);
}


/*custom style: block-label (internal use only) */

.is-style-block-label,
.is-style-block-label :where(strong,em) {
	margin-block: var(--block-gap);
	font-family: monospace, ui-monospace;
	font-size: 16px;
	font-weight: normal;
	font-style: normal;
	line-height: 1.4;
	color: hotpink;
	AUS_color: var(--text-gray);
	text-indent: -3ch;
}

.is-style-block-label::before {
	content: "\2014 \2014\00a0";
	
}



/* @end */



/* @group WP IMAGE  */


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


.wp-block-image {
}

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

.wp-block-image:not(.alignfull) img {
  border-radius: var(--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-small);
  line-height: 1.4;
  font-style: italic;
  margin: 10px 0 10px 0;
  text-align: left;
  word-break:break-word;
  overflow-wrap:break-word;
}

/*custom image styles*/

.is-style-image-shadow img {
  box-shadow: 0px 3px 20px -5px rgba(0,0,0, .2);
}


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


/* 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 > * {
	border-radius: var(--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 {
  --wp--style--gallery-gap-default: 10px;
  AUS_--block-gap: 4rem; /*override block gap for this block*/
}

.wp-block-gallery.is-style-no-gap { /*custom style*/
  gap: 0;
}

.wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
background: linear-gradient(0deg,rgba(0,0,0,.6) 0%,rgba(0,0,0,.0) 100%,transparent);
bottom:0;
box-sizing:border-box;
color:#fff;
font-size: var(--text-small);
padding: 10px 10px;

}



/* @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(--radius);

}

/* @end */


/* @group WP VIDEO  */


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


.wp-block-video {
}

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

/* @end */



/* @group WP COVER  */

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

.wp-block-cover {
}


.wp-block-cover:not(.alignfull) {
  border-radius: var(--radius);
}

/*custom style: size-xl*/

.wp-block-cover.is-style-size-xl {
	min-height: clamp(600px, 90vw, 880px)!important;
}



/* @end */



/* @group WP QUOTE  */

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

blockquote.wp-block-quote {
  margin-block: var(--space-lg);
  padding-left: 2ch;
  border-left: 4px solid var(--primary-color);
  max-width: 40rem;
}


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

.wp-block-quote p + p {
}

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

/* @end */


/* @group WP PULLQUOTE  */

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

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


.wp-block-pullquote blockquote p {
	font-family: var(--font-script);
	font-weight: normal;
	font-size: clamp(2rem, 10vw, 3.2rem);
	line-height: 1.1;
	color: var(--primary-color);
}

.wp-block-pullquote blockquote cite {
	font-size: var(--text-small);
	font-style: normal;	
}

/* @end */


/* @group WP COLUMNS  */

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

.wp-block-columns {
  --block-gap: var(--columns-gap);
}

.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(--primary-bg);
  background: transparent;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1ch 2ch;
  padding: 0 0 0 2.2rem;
}


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

}

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

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

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


.wp-block-file__button.wp-element-button {
	font-weight: bold;
	text-transform: uppercase;
	font-size: var(--text-tiny);
	border-radius: 0;
	padding: 4px 15px 2px 15px;
	margin: 0;
	border-radius: 10rem;
	background: transparent;
	color: var(--link-color);
	border: 2px solid var(--link-color);
}

.wp-block-file__button:hover {
	text-decoration: none;
	opacity: .6;
}


/* @end */


/* @group WP TABLE  */


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


.wp-block-table {
  line-height: 1.5;
}

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

table thead td {
  font-weight: bold;
}

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


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

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

.wp-block-table tr th {
}

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

.wp-block-table tr td:last-child {
  padding-right: 0;
}

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

.wp-block-table figcaption {
  margin: 1rem 0; 
}

/* 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 th,
.wp-block-table.is-style-stripes td {
  padding-left: 15px;
}

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

/* 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 th,
.wp-block-table.is-style-blank td {
  padding-block: 0;
  padding-left: 0;
  border: none;
}


/*for editor - show borders on select*/

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


/* @end */


/* @group WP GROUP  */

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

.wp-block-group {
  --block-gap: var(--columns-gap);
}

.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__link  {
  	width: auto;
	height: auto;
  padding: .8em 2.0em;
  font-weight: bold;
  font-size: var(--base-font-size);
  line-height: 1.3;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  color: var(--primary-color);
  text-decoration: none;
  background: transparent;
  border: 2px solid var(--primary-color);
  border-radius: 10rem;
}

.wp-block-button__link:hover {
  background: var(--primary-color);
  border-color: var(--primary-color);
  color: #FFF;
  text-decoration: none;
}


.wp-block-button__link {

}

.wp-block-button__link:hover {

}

/*custom style: btn-white*/

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

.wp-block-button.is-style-btn-white .wp-block-button__link:hover {
	opacity: .6;
}



/* @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 {
  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] {
  padding-bottom: var(--space-md);
}

.wp-block-details summary {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: var(--text-small);
  font-weight: bold;
  line-height: 1;
  color: var(--primary-color);
  transition: all 300ms ease;
}

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

.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: "";
  display: block; 
  width: 32px;
  height: 32px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' fill='none' viewBox='0 0 32 32'%3E%3Crect width='30' height='30' x='1' y='1' stroke='%23922E50' stroke-width='2' rx='15'/%3E%3Cpath stroke='%23922E50' stroke-width='2' d='M10.5 16h11M16 10.5v11'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  
}

.wp-block-details[open] > summary::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' fill='none' viewBox='0 0 32 32'%3E%3Crect width='30' height='30' x='1.1' y='1' stroke='%23922E50' stroke-width='2' rx='15'/%3E%3Cpath stroke='%23922E50' stroke-width='2' d='M10.6 16h11'/%3E%3C/svg%3E");
}


.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-tiny);
  padding-top: var(--space-sm);
  border-top: 1px solid var(--border-color);
}




/* @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(--text-color);
  border-radius: 5px;
  opacity: .1;
  margin: var(--space-lg) 0;
}


/* @end */






/* @end */


/* @group CUSTOM BLOCKS  */

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


/* @group BANNER */

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


.banner {
  display: flex;
  align-items: center;
  position: relative;
  height: 730px; /*the height*/
  height: clamp(700px, 60vw, 880px);
 }

.banner + * {
   margin-top: var(--space-xxl);
}

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

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


.banner__content {
  position: relative;
  width: 100%;
  height: 100%;
  justify-content: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-inline: var(--page-padding);
  margin: 0 auto;
  margin-bottom: .2em;
  max-width: var(--default-width);
}

.banner__content .container {
  display: flex;
  justify-content: center;
  text-align: center;
}


.banner__title {
  width: 100%;
  font-family: var(--font-script);
  font-size: clamp(70px, 48.5714px + 5.9524vw, 120px);	
  font-weight: normal;
  line-height: .85;
  text-align: center;
  color: #FFF;
  margin: 0;
  max-width: 70rem;
  text-shadow: 0px 2px 10px rgba(0,0,0, .2);
}

.banner__title-text { /*visual adjust*/
	display: inline-block;
	margin-left: -5%;
}

.banner__label {
	display: block;
	font-family: var(--font-sans);
	font-size: var(--base-font-size);
	font-weight: bold;
	letter-spacing: 1px;
	margin-bottom: clamp(20px, 3vw, 30px);
	line-height: 1.3;
	text-transform: uppercase;
}

.banner__image-wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0, .1);
}


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


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

.banner__overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0.3;
  pointer-events: none;
}


/* style: XL */

.banner.is-style-xl {
  min-height: 700px;
  height: 100vh;
}


@media screen and (max-width: 1024px) {
	.entry-content > .banner:first-child {
		margin-top: calc(var(--main-padding-top) * -1);
	}
	
	.banner {
		height: clamp(500px, 65vw, 600px);
	}

	.banner.is-style-xl {
		min-height: 500px;
		height: calc(100vh - var(--header-height));
	}


}

@media screen and (max-width: 600px) {
	.banner {
	  height: clamp( 380px, 115vw, 440px);
	}

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


/* @end */



/* @group IMAGE-SLIDER */

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

.image-slider {
}

.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) .image-slider__image img {
  border-radius: var(--radius);
}

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


.image-slider__caption {
  position: absolute;
  width: 100%;
  bottom: 0;
  left: 0;
  margin: 0;
  color: #FFF;
  font-size: var(--text-small);
  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%);
}


.image-slider .swiper-pagination-bullets {
  position: absolute;
}


/* style: is-contain */

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


/* style: is-overflow */

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


/* @end */





/* @group GALLERY */

/* Gallery
--------------------------------------------------------------------------------- */


.gallery {
}

.gallery__grid {
  --gallery-gap: clamp(10px, 2vw, 20px);
  display: flex;
  flex-wrap: wrap;
  gap: var(--gallery-gap) 0;
  margin-left: calc(var(--gallery-gap) * -.5); /*  offset gap */
  margin-right: calc(var(--gallery-gap) * -.5); /*  offset gap */
}

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

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

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

.gallery__item {
  position: relative;
  flex: 0 0 auto;
  width: calc(100% / 3); /*default 3 colums*/
  overflow: hidden;
  display: flex;
  flex-direction: column;
  margin: 0;	
  padding-right: calc(var(--gallery-gap) * .5);
  padding-left: calc(var(--gallery-gap) * .5);
  aspect-ratio: unset!important;
}

.gallery-columns-1 .gallery__item { width: calc(100% / 1); }
.gallery-columns-2 .gallery__item { width: calc(100% / 2); }
.gallery-columns-3 .gallery__item { width: calc(100% / 3); }
.gallery-columns-4 .gallery__item { width: calc(100% / 4); }
.gallery-columns-5 .gallery__item { width: calc(100% / 5); }
.gallery-columns-6 .gallery__item { width: calc(100% / 6); }


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

.gallery-columns-2 .gallery__item { width: calc(100% / 2); }
.gallery-columns-3 .gallery__item { width: calc(100% / 2); }
.gallery-columns-4 .gallery__item { width: calc(100% / 2); }
.gallery-columns-5 .gallery__item { width: calc(100% / 3); }
.gallery-columns-6 .gallery__item { width: calc(100% / 3); }

}

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

.gallery-columns-2 .gallery__item { width: calc(100% / 2); }
.gallery-columns-3 .gallery__item { width: calc(100% / 2); }
.gallery-columns-4 .gallery__item { width: calc(100% / 2); }
.gallery-columns-5 .gallery__item { width: calc(100% / 2); }
.gallery-columns-6 .gallery__item { width: calc(100% / 2); }

}


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

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

.gallery__image a {
  display: block;
  height: 100%;
}

.gallery__image img {
  display: block;
  margin: 0;
  width: 100%;
  transition: all 600ms ease!important;
}

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


/* gallery cropped */
.gallery__item.is-cropped  {
  flex: 1 0 auto; /* images in last row take remaining space*/
}

.gallery__item.is-cropped 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 {
  overflow: hidden;
  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: 0;
}



/* -- Gallery Masonry (JS) */


.gallery .is-masonry {
}

.gallery .is-masonry .gallery__item {
  padding: calc(var(--gallery-gap) / 2);
}


/* @end */


/* @group ACCORDION  */

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


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

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

.accordion-heading {
  margin: 0;
  padding: 0;
  border: none;
  border: 2px solid var(--primary-color);
  border-radius: var(--radius);
  text-transform: none;
}

.accordion-trigger {
  display: block;
  position: relative;
  border: none;
  text-align: left;
  width: 100%;
  padding: 20px;
  padding-right: 35px;
  font-size: var(--base-font-size);
  line-height: var(--base-line-height);
  color: var(--primary-color);
  background: transparent;
  font-weight: bold;
  outline-offset: 3px;
  transition: all 300ms ease;
}

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

.accordion-trigger.active {
}

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

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

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

.accordion-trigger:hover i::after {
  color: var(--text-color);
}

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

.accordion-content {
  position: relative;
  padding: var(--block-gap-text) 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;
  border-radius: var(--radius);
  background: rgba(0,0,0, .05);
}

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

/* Logo Gallery
--------------------------------------------------------------------------------- */


.logo-gallery {	
}

.logo-gallery__grid {
  container-type: inline-size;
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: clamp(20px, 3vw, 40px);
}

.logo-gallery__grid.columns-1 {	grid-template-columns: repeat(1, 1fr); }
.logo-gallery__grid.columns-2 {	grid-template-columns: repeat(2, 1fr); }
.logo-gallery__grid.columns-3 {	grid-template-columns: repeat(3, 1fr); }
.logo-gallery__grid.columns-4 {	grid-template-columns: repeat(4, 1fr); }
.logo-gallery__grid.columns-5 {	grid-template-columns: repeat(5, 1fr); }
.logo-gallery__grid.columns-6 {	grid-template-columns: repeat(6, 1fr); }

.logo-gallery__image {
  container-type: inline-size;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  aspect-ratio: 4/3; /*user adjust*/
}

.logo-gallery__image a {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0 auto;
}

.logo-gallery__image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  margin: auto;
}

/*option: border*/

.logo-gallery__image.style-border {
  background: #FFF;
}

.logo-gallery__image.style-border img {
	  padding: 15px;
	  padding: 15cqi;
	  border: 1px solid rgba(0,0,0, .08);
}

/*option: shadow*/

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

.logo-gallery__image.style-shadow img {
	  padding: 15px;
	  padding: 15cqi;
}


/*option: grayscale*/

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


@media (max-width: 840px) {
  .logo-gallery__grid.columns-6 {	grid-template-columns: repeat(3, 1fr); }	
}

  
@media (max-width: 600px) {
  .logo-gallery__grid {
	  --gap: 15px;
  }
  .logo-gallery__grid.columns-mob-1 {	grid-template-columns: repeat(1, 1fr); }
  .logo-gallery__grid.columns-mob-2 {	grid-template-columns: repeat(2, 1fr); }
  .logo-gallery__grid.columns-mob-3 {	grid-template-columns: repeat(3, 1fr); }
  .logo-gallery__grid.columns-mob-4 {	grid-template-columns: repeat(4, 1fr); }
  .logo-gallery__grid.columns-mob-5 {	grid-template-columns: repeat(5, 1fr); }
  .logo-gallery__grid.columns-mob-6 {	grid-template-columns: repeat(6, 1fr); }	

}


/* @end */



/* @group FEWO-CARDS */

/* Fewo Cards
--------------------------------------------------------------------------------- */


.fewo-cards {
  margin-block: var(--space-xxl);
}

.fewo-cards__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 40px;
}


.fewo-cards.alignwide {
}

.fewo-cards.alignwide .fewo-cards__grid{
  grid-template-columns: repeat(3, minmax(0,1fr));
}


.fewo-card {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border-radius: var(--radius);
	color: #FFF;
	background: var(--primary-color);
	box-shadow: 0px 3px 35px -10px rgba(0,0,0, .2);
}

.fewo-card.bg-green {
	background: var(--green);
}

.fewo-card.bg-yellow {
	background: var(--yellow);
}

.fewo-card__image {
	flex: 1 0 auto;
	aspect-ratio: 4/3;
	overflow: hidden;
	border-radius: var(--radius) var(--radius) 0 0;
	background: rgba(0,0,0,.05);
}


.fewo-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: 500ms ease;
}


.fewo-card__image a {
	display: block;
	height: 100%;
	overflow: hidden;
}

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

.fewo-card__content {
	display: flex;
	flex-direction: column;
	align-items: center;
	height: 100%;
	gap: var(--space-sm);
	text-align: center;
	padding: 60px var(--box-padding);
	margin: 0 auto;
}

.fewo-card__title {
	margin: 0;
}

.fewo-card__label {
	display: block;
	font-size: var(--text-small);
	text-transform: uppercase;
	letter-spacing: 1px;
}

.fewo-card__title-text {
	display: block;
	margin-top: 15px;
	margin-left: -.25em;
	font-weight: normal;
	font-family: var(--font-script);
	font-size: clamp(50px, 23.7349px + 4.5181vw, 80px);
	line-height: .85;
}

.fewo-card__content p {
	font-size: 1rem;
	margin: 0;
	max-width: 20rem;
}

.fewo-card__summary {
	
}

.fewo-card__price {
	margin-top: 15px;
	font-weight: bold;
}

AUS_.fewo-card__price::before {
	content: "";
	display: block;
	height: 1px;
	width: 30px;
	margin-inline: auto;
	margin-block: 15px;
	background: #FFF;
}

.fewo-card__button {
	padding-top: var(--space-sm);
	margin-top: auto;
}


@media screen and (max-width: 1024px) {
	.fewo-cards.alignwide {
	}
	.fewo-cards.alignwide .fewo-cards__grid {
	  max-width: 800px;
	  margin: 0 auto;
	  grid-template-columns: repeat(2, minmax(0,1fr));
	  gap: 30px
	}
}


@media screen and (max-width: 600px) {
	.fewo-cards .fewo-cards__grid,
	.fewo-cards.alignwide .fewo-cards__grid {
	  grid-template-columns: 1fr;
	}
	
	.fewo-card__title-text {
		font-size: 70px;
	}
	
}




/* @end */


/* @group FEWO-GALLERY */

/* Fewo Gallery
--------------------------------------------------------------------------------- */


.fewo-gallery {
  margin-block: var(--space-xxl);
}



.fewo-gallery {
	margin-top: var(--space-xxl);
}

.fewo-gallery__grid {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-template-rows: 1fr 1fr 1fr 1fr;
	gap: 30px;
	height: 800px;
	height: clamp(800px, 80vw, 1230px);
	/* https://grid.layoutit.com?id=sWoSaiE */
}

.fewo-gallery__image:nth-child(1) { grid-area: 1 / 1 / 2 / 2; }
.fewo-gallery__image:nth-child(2) { grid-area: 2 / 1 / 4 / 2; }
.fewo-gallery__image:nth-child(3) { grid-area: 4 / 1 / 5 / 2; }
.fewo-gallery__image:nth-child(4) { grid-area: 1 / 2 / 3 / 3; }
.fewo-gallery__image:nth-child(5) { grid-area: 3 / 2 / 5 / 3; }
.fewo-gallery__image:nth-child(6) { grid-area: 1 / 3 / 2 / 4; }
.fewo-gallery__image:nth-child(7) { grid-area: 2 / 3 / 4 / 4; }
.fewo-gallery__image:nth-child(8) { grid-area: 4 / 3 / 5 / 4; }


.fewo-gallery__image:nth-child(n+9) { /*hide all images after image nr.8*/
	display: none;
}

.fewo-gallery__image {
	position: relative;
	border-radius: var(--radius);
	overflow: hidden;
	transition: all 300ms ease;
	box-shadow: 0px 3px 30px -5px rgba(0,0,0,.05);
}

.fewo-gallery__image:hover {
	box-shadow: 0px 3px 30px -5px rgba(0,0,0,.2);
}

.fewo-gallery__image a {
	height: 100%;
	display: block;
}

.fewo-gallery__image:hover img {
	transform: scale(1.1);
}

.fewo-gallery__image:focus-within { /*focus default styles*/
	outline: 3px solid Highlight;
	outline: 5px auto -webkit-focus-ring-color;
}

.fewo-gallery__image img {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
	transition: all 600ms ease;
}

.fewo-gallery .show-all {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	color: #FFF;
	font-weight: bold;
	font-size: var(--text-tiny);
	font-size: clamp(14px, 2vw, 16px);
	letter-spacing: .2px;
	background: rgba(0,0,0, .4);
	pointer-events: none;
}


.fewo-gallery .show-all i {
	position: relative;
	font-style: normal;
	font-weight: normal;
	color: #FFF;
	font-size: 32px;
	margin-bottom: 10px;
}

.fewo-gallery .show-all span::before {
	content: "";
	--size: 45px;
	display: block;
	width: var(--size);
	height: var(--size);
	margin: 0 auto;
	margin-bottom: 10px;
	background-image: url("data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='45' height='45' fill='none' viewBox='0 0 45 45'%3E%3Crect width='43' height='43' x='1' y='1' stroke='%23fff' stroke-width='2' rx='21.5'/%3E%3Cpath stroke='%23fff' stroke-width='2' d='M15 23h16M23 15v16'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-size: contain;
	transition: 300ms ease;
}

.fewo-gallery__image:hover span::before {
	transform: scale(1.15);
}




@media screen and (max-width: 980px) {
	.fewo-gallery__grid {
		grid-template-columns: 1fr 1fr;
		grid-template-rows: auto;
		gap: 15px;
		height: auto;
		/* https://grid.layoutit.com?id=sWoSaiE */
	}
	
	.fewo-gallery__grid .fewo-gallery__image {
		aspect-ratio: 1/0.9;
		grid-area: auto;
	}
	
	.fewo-gallery__grid .fewo-gallery__image:nth-child(1),
	.fewo-gallery__grid .fewo-gallery__image:nth-child(2),
	.fewo-gallery__grid .fewo-gallery__image:nth-child(5),
	.fewo-gallery__grid .fewo-gallery__image:nth-child(6){
		aspect-ratio: 3/4;
	}

}


/* @end */



/* @group ANCHOR MENU */

/* Anchor Menu
--------------------------------------------------------------------------------- */

.anchor-menu {
	position: sticky;
	top: 0;
	z-index: 1;
	padding-block: 8px;
	background: var(--body-bg);
}

.anchor-menu ul {
	display: flex;
	justify-content: center;
	gap: clamp(15px, 3vw, 45px);
}


.anchor-menu a {
	display: block;
	font-weight: bold;
}


@media screen and (max-width: 840px) {
	.anchor-menu a {
		font-size: var(--text-small);
	}


}


/* @end */



/* @group TESTIMONIAL SLIDER */

/* Testimonial Slider
--------------------------------------------------------------------------------- */


.testimonial-slider {
}


.testimonial-slider .swiper-slide {
	max-width: 312px;
	box-shadow: 0px 3px 35px -10px rgba(0,0,0, .2);
}

.testimonial-card {
	padding: var(--box-padding);
	padding-block: var(--space-lg);
	text-align: center;
	border-radius: var(--radius);
	background: #FFF;
}

.testimonial-card__name {
	font-weight: bold;
	font-size: 1rem;
}

.testimonial-card__stars {
	position: relative;
	line-height: 20px;
	margin-top: var(--block-gap-text);
}

.testimonial-card__stars::after {
	content: "\e906 \e906 \e906 \e906 \e906";
	font-family: 'icons';
	line-height: 0;
	font-size: 20px;
	letter-spacing: 0px;
	color: var(--yellow);
}

.testimonial-card__text {
	font-size: 1rem;
	font-size: var(--text-small);
}


.testimonial-slider .swiper {
	padding-bottom: 40px;
}



/* @end */


/* @group TEASER-IMAGE-TEXT */

/* Teaser Image-Text
--------------------------------------------------------------------------------- */


.teaser-image-text {
	margin-block: var(--space-xxl);
}


.teaser-image-text__grid {
	display: grid;
	grid-template-columns: 1fr;
	overflow: hidden;
	border-radius: var(--radius);
}


.teaser-image-text__grid.has-image {
	grid-template-columns: 1fr 1fr;
}

.teaser-image-text__image {
	overflow: hidden;
	background: rgba(0,0,0, .05);
	
}

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

.teaser-image-text__content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: var(--space-xl) var(--space-lg);
}


/* when has-background */

.teaser-image-text.has-background {
	padding: 0!important;
}


.teaser-image-text.has-background .teaser-image-text__content *:not(.wp-block-button__link) {
	color: inherit;
}


/* option: order */

.teaser-image-text__grid.order-text-first .teaser-image-text__image {
	order:  2;
}



/* option: image ratio */

.teaser-image-text__image.image-ratio-3-2 img { aspect-ratio: 3/2; }
.teaser-image-text__image.image-ratio-1-1 img { aspect-ratio: 1; }



@media screen and (max-width: 840px) {
	.teaser-image-text {
		padding: 0!important;
	}
	
	.teaser-image-text__grid.has-image {
		grid-template-columns: 1fr;
	}
	
	.teaser-image-text__image {
		order: 0!important;
		margin: 0 auto!important;
		aspect-ratio: 4/3;
	}
		
	.teaser-image-text__content {
		margin: 0 auto;
		padding: var(--space-lg) var(--space-md);
	}

}

/* @end */



/* @group EASYBOOKING EMBED */

/* Easybooking Embed
--------------------------------------------------------------------------------- */


.easybooking-embed {
	background: #FFF;
	min-height: 150px;
	overflow: hidden;
	border-radius: var(--radius);
	box-shadow: 0px 3px 35px -10px rgba(0,0,0, .2);
}

/* method: iframe embed  */
.easybooking-embed #ebFrontEndFrame {
	padding: 30px;
}

.easybooking-embed iframe {
	padding-top: 20px;
	margin: 0!important;
}

/* method: direct embed  */
.easybooking-embed #ebFrontEndFrame {
	--ebCiBgColor: var(--primary-color);
	--ebPadding: 30px;
	--ebCiFontFamily: var(--font-sans);
}

.easybooking-embed .ebContainer {
}


 .ebContainer .btn-large {
 	border-radius: 10rem;
 }

.ebContainer .shoppingCartSum{
	border-radius: 10px;
}

.easybooking-embed p {
	padding-block: 50px; /*editor preview only*/
}


/* @end */



/* @end */









/* @group PW protected */

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


.post-password-form {
  text-align: center;
  padding: var(--box-padding);
  background: var(--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(--border-color);
}

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

/* @end */


/* @group FORMS */

/* FORMS (contact form 7)
--------------------------------------------------------------------------------- */


.wpcf7 {
  position: relative;
}

.wpcf7 .row {
   --gap-x: 30px;
  --gap-y: 0px;
}

.wpcf7-form {
  position: relative;
  margin: 0 auto;
  overflow: visible;
  display: flex;
  justify-content: center;
  max-width: 1000px;
}

.wpcf7-form .form-wrap {
  margin: 0 auto;
  overflow: hidden;
  width: 100%;
  border: 0px solid #333;
}

.wpcf7-form .form-wrap > *:first-child {
  margin-top: 0;
}

.wpcf7 [class*=col-] { /*for Editor - override WP backend CSS with columns.css */
  padding-right: calc(var(--gap-x) * .5);
  padding-left: calc(var(--gap-x) * .5);
}


.wpcf7 .form-title {
  margin: 0 0 1rem 0;
}

.wpcf7 .form-subtitle {
  margin: 1rem 0;
  font-size: var(--text-small);
  color: var(--text-color);
}

.wpcf7 hr {
  margin: 1.0rem 0 1.5rem 0;
  border-color: rgba(0,0,0, .2);
}

.wpcf7 br {
}

.wpcf7 .fieldset {
  overflow: hidden;
}

.wpcf7 .form-wrap .form-field {
	margin: 0; /*editor only*/
}

.wpcf7 :not(:first-child).form-field {
  z-index: 1;
  margin: 0;
  margin-top: 20px;
}

.wpcf7 .form-field:focus-within label,
.wpcf7 .form-field.select-focus label {
}

.wpcf7 label {
  padding: 0 0;
  width: auto;
  text-transform: none;
  padding-right: 10px;
  margin: 0 0 0.3rem 0;
  display: inline-block;
  text-align: left;
  line-height: 1.3;
  cursor: default;
  font-size: var(--text-small);
  font-weight: bold;
  color: var(--text-color);
}

.wpcf7 .form-field.form-field--mandatory {
  margin-top: 0;
  font-size: var(--text-tiny);
  text-align: right;
  color: var(--text-gray);
}


.wpcf7 .row-submit {
}

.wpcf7 .row.response {
  margin-bottom: 0;
}

.wpcf7 input.wpcf7-text,
.wpcf7 input.wpcf7-quiz,
.wpcf7-text,
.wpcf7 textarea,
.wpcf7 select,
.wpcf7-date,
.wpcf7-number,
.wpcf7-captchar,
.wpcf7-file,
.wpcf7-email {
  padding: 1.0rem;
  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(--border-color);
  border-radius: var(--field-radius);
  transition: all 300ms ease;
}

.wpcf7 input:focus,
.wpcf7 textarea:focus,
.wpcf7 select:focus {
  border-color: var(--text-color);

}

input::-webkit-input-placeholder,
input::-moz-placeholder,
input::-ms-input-placeholder,
input::-moz-placeholder {
}


.wpcf7 textarea {
  max-height: 230px;
  width: 100%;
}


.wpcf7 .form-field--submit {
  margin: 0;
}

.wpcf7 .submit-btn-wrap {
  position: relative;
  display: flex;
  align-items: center;
  margin-top: 1rem;
}


.wpcf7 input.wpcf7-submit {

}

.wpcf7 input.wpcf7-submit:hover {
}

.wpcf7 input.wpcf7-submit:active {
}


.wpcf7 .wpcf7-spinner {
  flex: 0 0 24px;
  background: rgba(0,0,0, .3);
  AUS_visibility: visible!important;

}

.wpcf7 .response {
  position: relative;
}

.wpcf7 .invalid .wpcf7-response-output {
  display: block;
  font-size: 0.9rem;
  padding: 1rem;
  margin: 1rem 0 0 0;
  clear: both;
  position: relative;
  text-align: left;
  background: #FFF;
}

.wpcf7 .wpcf7-response-output.wpcf7-validation-errors {
  border-color: transparent;
  color: RED;
  text-align: center;
}

.wpcf7 .wpcf7-form.sent {
}


.wpcf7 .sent .wpcf7-response-output {
  margin: 0 0 0 0;
  padding: var(--box-padding);
  padding-top: 100px;
  padding-bottom: 60px;
  text-align: center;
  color: var(--green);
  font-weight: bold;
  border: none;
  background: #FFF;
  border-radius: var(--radius);
}

.wpcf7 .sent .wpcf7-response-output:after { /*ok icon*/
  content: "";
  position: absolute;
  left: 50%;
  top: 2.5rem;
  width: 20px;
  height: 32px;
  border: solid var(--green);
  border-width: 0 4px 4px 0;
  -webkit-transform: rotate(45deg) translateX(-50%);
  -ms-transform: rotate(45deg) translateX(-50%);
  transform: rotate(45deg) translateX(-50%);
}



.wpcf7 span.wpcf7-not-valid-tip {
  background: red;
  color: #FFF;
  display: none;
}


.not-valid label {
  color: RED;
}

.wpcf7 input.wpcf7-not-valid,
.wpcf7 textarea.wpcf7-not-valid,
.wpcf7 select.wpcf7-not-valid {
  border-color: RED;
}


.wpcf7 .field-note {
  font-size: 0.7rem;
}


/* Checkbox & Radiobuttons */


.wpcf7 .wpcf7-checkbox {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
}


.wpcf7 .wpcf7-radio {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
}

.wpcf7 input[type="radio"] {
  -webkit-appearance: radio;
  -moz-appearance: radio;
}

.wpcf7 input[type="checkbox"] {
  -webkit-appearance: checkbox;
  -moz-appearance: checkbox;
}

.wpcf7-radio .wpcf7-list-item,
.wpcf7-checkbox .wpcf7-list-item,
.wpcf7-acceptance .wpcf7-list-item  {
	margin: 0 0 0 0;
	width: auto;
}

.wpcf7-radio input,
.wpcf7-checkbox input,
.wpcf7-acceptance input {
  display: none; /*custom*/
}

.wpcf7-radio label,
.wpcf7-checkbox label,
.wpcf7-acceptance label {
  margin: 0;
  padding: 0;
  display: block;
  cursor: pointer;
}

.wpcf7-radio .wpcf7-list-item-label,
.wpcf7-checkbox .wpcf7-list-item-label,
.wpcf7-acceptance .wpcf7-list-item-label {
  position: relative;
  display: flex;
  align-items: center;
  flex: 1 0 auto;
  font-size: 1rem;
  text-transform: none;
  font-weight: bold;
  padding: 5px 0;
  padding-right: 30px;
  color: var(--text-color);
  transition: all 300ms ease;
}

.wpcf7-radio .wpcf7-list-item-label:hover,
.wpcf7-checkbox .wpcf7-list-item-label:hover,
.wpcf7-acceptance .wpcf7-list-item-label:hover {
}

.wpcf7-radio .wpcf7-list-item-label:before,
.wpcf7-checkbox .wpcf7-list-item-label:before,
.wpcf7-acceptance .wpcf7-list-item-label:before {
  content: "";
  width: 26px;
  height: 26px;
  background: #FFF;
  opacity: 1;
  position: relative;
  margin: 0 15px 0 0;
  flex: 0 0 auto;
  border: 1px solid var(--border-color);
  border-radius: var(--field-radius);
}


.wpcf7-radio .wpcf7-list-item-label:before {
  border-radius: 50%;
}



.wpcf7-radio .wpcf7-list-item-label:after {  /*the dot*/
  content: "";
  position: absolute;
  top: 13px;
  left: 8px;
  width: 10px;
  height: 10px;
  background: #FFF;
  border-radius: 50%;
  opacity: 0;
}

.wpcf7-checkbox .wpcf7-list-item-label:after,
.wpcf7-acceptance .wpcf7-list-item-label:after  {  /*the checkmark*/
  content: "";
  position: absolute;
  left: 9px;
  top: 9px;
  width: 9px;
  height: 14px;
  border: solid #FFF;
  border-width: 0 3px 3px 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  opacity: 0;
}


.wpcf7-radio input:checked + .wpcf7-list-item-label,
.wpcf7-checkbox input:checked + .wpcf7-list-item-label,
.wpcf7-acceptance input:checked + .wpcf7-list-item-label {
}

.wpcf7-radio input:checked + .wpcf7-list-item-label:before,
.wpcf7-checkbox input:checked + .wpcf7-list-item-label:before,
.wpcf7-acceptance input:checked + .wpcf7-list-item-label:before {
  border-color: var(--primary-color);
  background: var(--primary-color);
}

.wpcf7-radio input:checked + .wpcf7-list-item-label:after,
.wpcf7-checkbox input:checked + .wpcf7-list-item-label:after,
.wpcf7-acceptance input:checked + .wpcf7-list-item-label:after {
  opacity: 1;
}


.wpcf7-radio.wpcf7-not-valid .wpcf7-list-item-label:before,
.wpcf7-checkbox.wpcf7-not-valid .wpcf7-list-item-label:before,
.wpcf7-acceptance.wpcf7-not-valid .wpcf7-list-item-label:before {
  border-color: RED;
}


/* Checkbox Acceptance (Datenschutz) */


.wpcf7-acceptance .wpcf7-list-item-label {
  font-size: var(--text-tiny);
  line-height: 1.5;
  font-weight: normal;
  align-items: flex-start;
}

.wpcf7-acceptance .acceptance-text {
}

.wpcf7 .form-field--datenschutz {
  margin-top: 5px;
}

.wpcf7 .form-field--datenschutz > label {
display: none;
}

.wpcf7-acceptance span a {
  font-weight: bold;
}


/* Select */
/* https://codepen.io/chriscoyier/pen/zYYZaGP */

.wpcf7 select {
  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='%231C4E60' fill-rule='evenodd'/%3E%3C/svg%3E");
  background-repeat: no-repeat, repeat;
  /* arrow icon position (1em from the right, 50% vertical) , then gradient position*/
  background-position: right .8em top 50%, 0 0;
  /* icon size, then gradient */
  background-size: 0.7em auto, 100%;
}
.wpcf7 select::-ms-expand {
  display: none;
}

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

.wpcf7 select option {
  font-weight: normal;
  font-size: 1rem;
}

/* Disabled styles */
select:disabled, select[aria-disabled=true] {
  opacity: .5;
}


/* @end */






/* @group SLIDER (swiperjs) */

/* SLIDER
--------------------------------------------------------------------------------- */


.swiper {
  --swiper-theme-color: var(--primary-color);
  
  /*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(--primary-color);
  --swiper-pagination-bullet-inactive-color: var(--text-color);
  --swiper-pagination-bullet-inactive-opacity: .2;
  
  /*custom*/
  --swiper-padding-bottom: 30px;
  
  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(--radius);
}

.swiper-button {
  --size: 50px;
  width: var(--size);
  height: var(--size);
  margin: 0;
  transform: translateY(-50%);
  transition: all 250ms ease-in-out;
  color: var(--primary-color);
  background: rgba(255,255,255, .9);
  border-radius: 10rem;
  box-shadow: 0px 2px 15px 0 rgba(0,0,0, .1);
  opacity: 0; /* ON/OFF*/
}

.swiper:focus-within .swiper-button {
  opacity: 1;
}

.swiper:hover .swiper-button {
  opacity: 1;
}

.swiper-button:hover {
}

.swiper-button::after {
  font-family: 'icons';
  font-size: 32px;
}

.swiper-button-prev {
}

.swiper-button-prev::after {
  content: "\e939";
}

.swiper-button-next {

}

.swiper-button-next::after {
  content: "\e93a";
  padding-left: 3px;
}

.swiper-button.swiper-button-disabled {
  opacity: 0!important;
}

.swiper > .swiper-pagination-bullets {
  bottom: 0;
  AUS_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) * 1);
}

.swiper-pagination-bullet:only-child {
 visibility: hidden;
}

.swiper:has(.swiper-pagination-bullet:only-child) { /*no pagination if only 1 slide*/
  --swiper-pagination-height: 0;
}

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

  .swiper {
  --swiper-pagination-bullet-size: 12px;
  --swiper-padding-bottom: 30px;
  }
  
  .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-small);
  line-height: 1.4;
}

.pswp__button.pswp__button--zoom {
  display: none;
}

/* @end */




/* @group BUTTERFLY ANIMATION */

/* BUTTERFLY 
--------------------------------------------------------------------------------- */



@property --progress {
  initial-value: 0;
  inherits: false;
  syntax: '<number>';
}

@keyframes progress {
  from {
    --progress: 0;
  }
  to {
    --progress: 1;
  }
}

/* regular code for moving along sine wave */

.shape-container {
  --PI: 3.1415;
  --WAVE-COUNT: 3; /* number of waves to do over the element's width */
  --TOTAL-ANGLE: calc(var(--WAVE-COUNT) * 2 * var(--PI)); /* one wave is 2PI radians */
  --UNIT: 1vw; /* we need to use the same unit for all calculations. Keep variables unit-less as long as possible, and only apply units when assigning to css properties */
  --r: 5; /* radius in --UNITs of circle we'll use as reference */
  --CONTAINER-WIDTH: 200; /* container's width in --UNITs # extend it to get delays between iteration -> use overflow hidden on container*/
  
  --x: calc(var(--progress) * var(--CONTAINER-WIDTH)); /* current x-position in --UNITs */
  --ROTATION-PER-LENGTH-UNIT: calc(var(--TOTAL-ANGLE) / var(--CONTAINER-WIDTH));
  --alpha-reference-angle: calc(var(--ROTATION-PER-LENGTH-UNIT) * var(--x) * 1rad); /* current angle of reference circle */
  --y: calc(-1 * var(--r) * sin(var(--alpha-reference-angle))); /* current y-position in --UNITs; multiply by -1 because in math positive values are upward, in css downwards */

  --x-with-unit: calc(var(--x) * var(--UNIT));
  --y-with-unit: calc(var(--y) * var(--UNIT));

  --tan: calc(-1 * var(--r) * var(--ROTATION-PER-LENGTH-UNIT) * cos(var(--alpha-reference-angle)));
  --beta-tangent-angle: atan(var(--tan));
  
  --animation-time: 8s;
  position: absolute;
  top: 0;
  left: 0;
  width: calc(var(--CONTAINER-WIDTH) * var(--UNIT));
  animation: progress var(--animation-time) linear infinite;
  border: 0px solid red;
}

@media screen and (max-width: 1200px) {
	.shape-container {
		--animation-time: 6s;
	}
}


@media screen and (max-width: 600px) {
	.shape-container {
		--animation-time: 3s;
	}
}



.shape {
  --shape-width: 30px; /*50*/
  --shape-height: 10px; /*10*/
  position: absolute;
  z-index: 1;
  top: calc( -0.5 * var(--shape-height));
  left: calc( -0.5 * var(--shape-width));
  width: var(--shape-width);
  height: var(--shape-height);
  background: hotpink;
  translate: var(--x-with-unit) var(--y-with-unit);
  rotate: var(--beta-tangent-angle);
}


@media screen and (max-width: 600px) {
	.shape {
		--shape-width: 24px;
	}
}



/* code that overrules shape-container's code to vary r value */
.butterfly-container {
  /* introduce 2nd reference circle to use angle of */
  --RADIUS-WAVE-COUNT: 0.5; /* use 0.5 wave, so sine-value is always positive */
  --RADIUS-TOTAL-ANGLE: calc(var(--RADIUS-WAVE-COUNT) * 2 * var(--PI));
  --r-min: 2; /* minimum radius */
  --r-max: 6; /* maximum radius */
  --delta-r: calc(var(--r-max) - var(--r-min));
  --gamma-reference-angle: calc(var(--progress) * var(--RADIUS-TOTAL-ANGLE));
  /* overwrite r we use in sine-wave-base */
  --r: calc(var(--r-min) + var(--delta-r) * sin(var(--gamma-reference-angle)));
  
  top: 50%;
}

/* CSS for the butterfly's fluttering animation */

@keyframes flutter {
  from {
    transform: rotateX(0);
  }
  to {
    transform: rotateX(80deg);
  }
}

.butterfly {
  background: none;
  color: var(--green);
}

.butterfly path {
    fill: currentColor;
}


.butterfly__wing {
  /* transform origin is based on the svg, not the wing's edge */
  transform-origin: center center;
  animation: flutter 100ms alternate infinite;
}


/* -- --- - -*/

.footer-butterfly {
	position: absolute;
	top: -380px;
	left: 0;
	width: 100%;
	height: 400px;
	overflow: hidden;
	pointer-events: none;
	border: 0px solid gold;
}


.banner-butterfly {
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	height: 400px;
	overflow: hidden;
	pointer-events: none;
	border: 0px solid gold;
	display: none;
}

.banner.is-style-xl .banner-butterfly {
	display: block;
}


.banner-butterfly .butterfly {
	color: var(--body-bg);
}

.banner-butterfly  .shape-container {
  animation: progress var(--animation-time) linear forwards;
  animation-delay: 250ms;
}








/* @end */




/* @group FOOTER */

/* FOOTER
--------------------------------------------------------------------------------- */


#footer {
}

.site-footer {
  position: relative;
  width: 100%;
  padding: var(--space-xxl) 20px;
  background: var(--green);
  font-size: calc(18/16 * 1rem);
}

.site-footer::before {
	content: "";
	position: absolute;
	top: -170px;
	left: 0;
	width: 100%;
	height: 180px;
	background: transparent url(assets/images/flower-meadow-green-no-butterfly.svg) repeat-x left bottom;
	background-size: auto 160px;
	border: 0px solid #333;
}

.site-footer::after { /*meadow light*/
	content: "";
	position: absolute;
	top: -230px;
	left: 0;
	width: 100%;
	height: 250px;
	background: transparent url(assets/images/flower-meadow-green-no-butterfly.svg) repeat-x left bottom;
	background-size: auto 250px;
	opacity: .2;
	z-index: -1;
}

.site-footer .container {
}

:where(.site-footer),
:where(.site-footer) a {
	color: #FFF;
	font-weight: 700;
	text-decoration: none;
}

:where(.footer-columns) a:hover {
	color: rgba(255,255,255, .5);
	text-decoration: none;
}

.footer-columns {
  display: flex;
  flex-wrap: nowrap;
  gap: 50px 30px;
}

.footer-column {
  line-height: 1.8;
  flex: 1 1 25%;
  max-width: 420px;
}


.footer-column--social {
}

.footer-column :where(ul,li) {
  margin: 0;
  padding: 0;
  list-style: none;
}

.footer-column > * {
	margin-top: 15px;
}

.footer-column * a {
	margin-top: 0;
}


.footer-column p:first-child strong {
	display: block;
	text-transform: uppercase;
	font-style: normal;
	font-size: var(--text-small);
	letter-spacing: .1em;
	opacity: .6;
}


.footer-column a {
  display: inline-block;
}

.footer-column a:hover {
}


.footer-social {
  justify-content: flex-end;
  margin-top: var(--space-lg);
  margin-left: -10px;
  display: flex;
  align-items: center;
  gap: 24px;
  font-size: 2.8rem;
}

.footer-social .icon-facebook {
	transform: scale(.9);
}

.footer-social a {
  display: flex;
  line-height: 1;
}


.footer-menu {
  margin-top: var(--space-xl);
}

.footer-menu ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 40px;
}

.footer-menu a {
  display: block;
  color: #FFF;
  font-size: calc(16/16 * 1rem);
  opacity: .6;
}

.footer-menu a:hover {
	opacity: 1;
	text-decoration: none;
}



.footer-support {
	padding: var(--space-xl) 0;
	AUS_background: #FFF;
}

.footer-support .container {
}

.footer-support__image {
	max-width: 500px;
	margin: 0 auto;
	border: 20px solid #fff;
	border-radius: 5px;
	box-shadow: 0px 3px 35px -10px rgba(0,0,0, .12);
}




@media screen and (max-width: 1024px) {
  .site-footer {
  }
  
    .footer-columns {
	   flex-wrap: wrap;
	}
  
   .footer-column--social {
   	flex-basis: 100%;
   }
  
  .footer-social {
  	justify-content: flex-start;
	}
}

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

	.footer-column {
		flex-basis: 100%;
		max-width: 100%;
	}
	
	.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: #FFF;
  border: none;
  padding: 0;
  background: var(--primary-color);
}

.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 {
	padding-bottom: 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_photo_wrap a {
	overflow: hidden;
	border-radius: var(--radius)!important;

}


@media screen and (max-width: 600px) {
	#sbi_images {
		gap: 15px!important;
	}
}


/* @end */


/* @group BORLABS COOKIE */

/* Borlabs Cookie Banner
--------------------------------------------------------------------------------- */

#BorlabsCookieBox,
.brlbs-cmpnt-container {
	--dialog-text-color: var(--text-color);
	
	--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(--text-color);
    
	--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(--primary-color);
  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:after {
  content: "<1136";
  position: fixed;
  top: 0;
  line-height: 1;
  padding: 5px;
  font-size: 11px;
  background: lawngreen;
  z-index: 1000;
  opacity: .8;

  display: none; /* AN/AUS*/
}

}


@media screen and (max-width: 1024px) {
body:after {
  content: "<1024";
  background: TAN;
}


}


@media screen and (max-width: 840px) {
body:after {
  content: "<840";
  background: PINK;
}

}


@media screen and (max-width: 600px) {
body:after {
  content: "<600";
  background: YELLOW;
}

}


@media screen and (max-width: 360px) {
body:after {
  content: "<360";
  background: MAGENTA;
}


}




/* END
---------------------------------------------------------------------------------*/
