/*
Theme Name: Zweiblut
Theme URI: https://www.zweiblut.ch
Author: Robert Blasche
Author URI: https://www.23b.de
Description: Wordpress FSE Theme. Design by Roger Moser, Freistil
Requires at least: 6.4
Tested up to: 6.4.2
Requires PHP: 7.2
Version: 1.06
Text Domain: zweiblut
*/


/* 
	fonts via
  https://gwfh.mranftl.com/fonts/inter?subsets=latin
*/

@font-face {
	font-display: swap;
	font-family: 'Inter';
	font-style: normal;
	font-weight: 500;
	src: url('assets/fonts/inter-v13-latin-500.woff2') format('woff2');
}

@font-face {
	font-display: swap;
	font-family: 'Inter';
	font-style: normal;
	font-weight: 600;
	src: url('assets/fonts/inter-v13-latin-600.woff2') format('woff2');
}

@font-face {
	font-display: swap;
	font-family: 'Inter';
	font-style: normal;
	font-weight: 700;
	src: url('assets/fonts/inter-v13-latin-700.woff2') format('woff2');
}

/* general */


* {
		text-rendering: optimizeLegibility;
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
}

body{
	font-weight: 500;
	line-height: 1.55;
	font-size: var(--wp--preset--font-size--normal);
	color: var(--wp--preset--color--foreground);
	font-family: "Inter";
	background-image: url('/wp-content/themes/zweiblut/assets/img/bg.jpg');
}


html.has-modal-open{
	overflow: auto;
}

@media (min-width: 400px) {
	body{
		--wp--preset--font-size--x-large: 30px;
	}
}
@media (min-width: 600px) {
	body{
		--wp--preset--font-size--small: 18px;
		--wp--preset--font-size--normal: 20px;
		--wp--preset--font-size--medium: 20px;
		--wp--preset--font-size--large: 24px;
		--wp--preset--font-size--x-large: 40px;
		--wp--preset--font-size--xx-large: 64px;
	}
}

strong{
	font-weight: 700;
}

a{
	color: inherit;
	text-decoration: underline;
}
a:hover{
	text-decoration: none;
}

h1,h2,h3,h4,h5,h6{
	line-height: 1em;
	font-weight: 700;
	margin-bottom: .6em;
}
h2{
	text-transform: uppercase;
	margin-bottom: -.7em;
}
h2::after{
	display: block;
	content: '––––';
}
.has-x-large-font-size{
	line-height: 1.3em;
	font-weight: 600;
}

.alignwide {
	width: calc(100vw - 4em);
}
.alignfull {
	width:  100vw;
	max-width:  100vw;
	margin-left:  calc(50% - 50vw);
}

/* splash screen */

html{
	overflow: hidden;
}
html.nosplash{
	overflow: auto;
}
html.nosplash #splash{
	display: none;
}
html header,
html main,
html footer{
	display: none;
}
html.nosplash header,
html.nosplash main,
html.nosplash footer{
	display: block;
}



/* header */

header{
	transition: backdrop-filter 1s, padding-top 1s, padding-bottom 1s;
	background: rgba(255,255,255,0.7);
	backdrop-filter: blur(0px);
	position: fixed;
	z-index: 10;
	top: 0;
	left: 0;
	width: 100%;
	padding-top: 2.5em;
	padding-bottom: 2.5em;
	margin-block-start: 0;
}
header.scrolled{
	backdrop-filter: blur(3px);
	padding-top: 1.5em;
	padding-bottom: 1.5em;
}
header #insta img{
	width: 2.5em!important;
	height: 2.5em!important;
}

/* header: safari flex gap workaround */
header ul.wp-block-navigation__container{
	display: block!important;
	/* 	gap: 34px; */
}
.wp-block-navigation .wp-block-navigation-item{
	display: inline-block;
	margin-left: 34px;
}

/* header: mobile nav */

.wp-block-navigation__responsive-container-close {
	transition: top 1s;
	top: -5.75em;
	right: 2em;
	position: fixed;
}

@media (min-width: 1320px) {
	.wp-block-navigation__responsive-container-close {
		right: calc( (100vw - var(--wp--style--global--wide-size))/2 );
	}
}
header.scrolled .wp-block-navigation__responsive-container-close {
	top: -4.75em;
}

.wp-block-navigation__responsive-container-close svg, 
.wp-block-navigation__responsive-container-open svg{
	width: 4em;
	height: 4em;
	margin: -.8em;
}

@media (min-width:600px) {
	.wp-block-navigation__responsive-container-close svg, 
	.wp-block-navigation__responsive-container-open svg{
		margin-left: .5em;
	}
}

header nav.wp-block-navigation li.wp-block-navigation-item:not(.current-menu-item) a.wp-block-navigation-item__content:hover,
header nav.wp-block-navigation li.current-menu-item a.wp-block-navigation-item__content{
	text-decoration: underline;
	text-decoration-thickness: 3px;
}
header nav.wp-block-navigation li.wp-block-navigation-item{
	margin-top: 15px;
	margin-bottom: 15px;
}
.wp-block-navigation .wp-block-navigation-item{
	margin-left: 0;
	font-size: 28px!important;
}
.wp-block-navigation__responsive-container.is-menu-open{
	transition: top 1s;
	top: 9em;
	bottom: auto;
}
header.scrolled .wp-block-navigation__responsive-container.is-menu-open{
	top: 7em;
}
.wp-block-navigation__responsive-container.is-menu-open{
	overflow: visible;
	padding: 2em;
}
.wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open{
	background: var(--wp--preset--color--background);
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{
	padding-top: 0;
}
.wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
	display:none;
	width:100%;
	position:fixed;
	z-index:auto;
	background-color:inherit;
}
.wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) .wp-block-navigation__responsive-container-close {
	display:block
}
.wp-block-navigation__responsive-container-open:not(.always-shown) {
	display:block;
}
.has-modal-open .wp-block-navigation__responsive-container-open {
	visibility: hidden;
}

/* logo */

header .wp-block-site-logo.is-default-size img{
	width: auto;
	height: 3em;
	padding-bottom: .5em;
	padding-top: .5em;
}
@media (min-width: 380px) {
	header .wp-block-site-logo.is-default-size img{
		height: 4em;
		padding: 0;
	}
}

/* main */

main{
	margin-top: 11em;
}

/* footer */

footer{
	background-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--background);
	padding-top: 2.65em;
	padding-bottom: 3.3em;
	line-height: 1.2em;
	margin-top: 2.86em !important;
	
	/* brighten color--primary to compensate for the multiply */
	background-color: #BF5014;
	mix-blend-mode: multiply;
}
footer .wp-block-columns{
	gap: 3em;
	margin-bottom: 0;
}
footer strong{
	font-weight: 500;
	padding-bottom: 10px;
	display: block;
}
footer a{
	color: inherit;
	text-decoration: none;
}
footer a:hover{
	text-decoration: underline;
}
footer p{
	margin-top: 0;
}


@media (min-width:782px) {
	/* increase column gap */
	.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column:not(:first-child) {
		margin-left: 30px;
	}
	footer .wp-block-columns{
		gap: inherit;
	}
}

/* container padding classes */

div.gap-top{
	margin-top: 4em;
}
div.gap-btm{
	margin-bottom: 4em;
}


/* content: hr */
hr.wp-block-separator.is-style-wide{
	margin-bottom: 40px;
	border-color: #141215;
	border-bottom-width: 6px;
}


/* content: summary */

.wp-block-details{
	border-top: 2px solid black;
	margin-block-start: 0;
}
.wp-block-details:first-of-type{
	margin-block-start: 1.5em;
}
.wp-block-details:last-of-type{
	border-bottom: 2px solid black;
}
.wp-block-details summary{
	list-style: none;
	position: relative;
	padding: 12px 0;
	font-weight: 700;
	text-transform: uppercase;
}
.wp-block-details summary:hover{
	text-decoration-line: underline;
	text-decoration-thickness: 2px;
}
.wp-block-details summary::after {
	font-size: 2em;
	display: block;
	content: '+';
	position: absolute;
	right: 0;
	top: -8px;
	font-weight: 500;
}
.wp-block-details[open] summary::after{
	content: '–';
	right: 3px;
}

/* content: table */

.wp-block-table td, 
.wp-block-table th{
	border: none;
	padding: 0 10px 0 0;
}
.wp-block-table td:last-of-type, 
.wp-block-table th:last-of-type{
	padding-right: 0;
}
.wp-block-table table{
	margin-bottom: 3em;
}
.wp-block-table table a{
	text-decoration: underline;
}
.wp-block-table table a:hover{
	text-decoration: none;
}
.wp-block-table.tablewide table{
	min-width: 700px;
}

/* content: button */

.wp-block-button .wp-block-button__link
{
	font-size: var(--wp--preset--font-size--medium);
	font-weight: 600;
	margin-top: 45px;
	margin-bottom: 30px;
	padding-top: .2em;
	padding-right: .8em;
	padding-bottom: .2em;
	padding-left: .8em;
	min-width: 100px;
	text-transform: initial;
}
.wp-block-button .wp-block-button__link:hover{
	color: var(--wp--preset--color--foreground);
	background-color: transparent;
	border-color: var(--wp--preset--color--foreground);
}

/* animation */

.js .animate{
	opacity: 0;
	transform: translateY(100px);
}
.js .animate.seen{
	animation: contentSlideIn cubic-bezier(0.7,0,0.3,1) 1s forwards;
}

@keyframes contentSlideIn{
	to{
		opacity: 1;
		transform: translateY(0);
	}
}